ObjFW  Check-in [c132c14ed7]

Overview
Comment:runtime: Add protos.h to generate ppcinline.h

cvinclude.pl was confused by ObjFW-RT.h, so have a separate file with
only the things it should process.

Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: c132c14ed7fe73c5683503d155d84c2ec73837b9255a7b45cb9fb29dcc3d709f
User & Date: js on 2017-07-16 20:33:05
Other Links: manifest | tags
Context
2017-07-17
23:02
runtime: Prepare for having a glue library check-in: d5706b7070 user: js tags: trunk
2017-07-16
20:33
runtime: Add protos.h to generate ppcinline.h check-in: c132c14ed7 user: js tags: trunk
18:28
Update buildsys check-in: 56c695ac5f user: js tags: trunk
Changes

Modified src/runtime/Makefile from [b92693efb0] to [2b063953cf].

34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
MORPHOS_LIB_OBJS_EXTRA = morphos-library.o ${LOOKUP_ASM_LOOKUP_ASM_A}

include ../../buildsys.mk

${MORPHOS_LIB}: ppcinline.h
ppcinline.h: ObjFW-RT.fd ObjFW-RT.h
	cvinclude.pl			\
		--root ObjFW-RT		\
		--fd ObjFW-RT.fd	\
		--clib ObjFW-RT.h	\
		--inline $@

CPPFLAGS += -I. -I.. -I../..				\
	    -DOBJFW_RT_LIB_MAJOR=${OBJFW_RT_LIB_MAJOR}	\
	    -DOBJFW_RT_LIB_MINOR=${OBJFW_RT_LIB_MINOR}
LD = ${OBJC}







|

|






34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
MORPHOS_LIB_OBJS_EXTRA = morphos-library.o ${LOOKUP_ASM_LOOKUP_ASM_A}

include ../../buildsys.mk

${MORPHOS_LIB}: ppcinline.h
ppcinline.h: ObjFW-RT.fd ObjFW-RT.h
	cvinclude.pl			\
		--root ObjFW_RT		\
		--fd ObjFW-RT.fd	\
		--clib protos.h		\
		--inline $@

CPPFLAGS += -I. -I.. -I../..				\
	    -DOBJFW_RT_LIB_MAJOR=${OBJFW_RT_LIB_MAJOR}	\
	    -DOBJFW_RT_LIB_MINOR=${OBJFW_RT_LIB_MINOR}
LD = ${OBJC}

Added src/runtime/protos.h version [5c7d2f9056].









































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/*
 * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017
 *   Jonathan Schleifer <js@heap.zone>
 *
 * All rights reserved.
 *
 * This file is part of ObjFW. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE.QPL included in
 * the packaging of this file.
 *
 * Alternatively, it may be distributed under the terms of the GNU General
 * Public License, either version 2 or 3, which can be found in the file
 * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
 * file.
 */

#error This file is only to generate ppcinline.h - do not use it!

SEL sel_registerName(const char *);
const char *sel_getName(SEL);
bool sel_isEqual(SEL, SEL);
Class objc_allocateClassPair(Class, const char *, size_t);
void objc_registerClassPair(Class);
id objc_lookUpClass(const char *);
id objc_getClass(const char *);
id objc_getRequiredClass(const char *);
unsigned int objc_getClassList(Class *, unsigned int);
Class *objc_copyClassList(unsigned int *);
bool class_isMetaClass(Class);
const char *class_getName(Class);
Class class_getSuperclass(Class);
unsigned long class_getInstanceSize(Class);
bool class_respondsToSelector(Class, SEL);
bool class_conformsToProtocol(Class, Protocol *);
IMP class_getMethodImplementation(Class, SEL);
IMP class_getMethodImplementation_stret(Class, SEL);
const char *class_getMethodTypeEncoding(Class, SEL);
bool class_addMethod(Class, SEL, IMP, const char *);
IMP class_replaceMethod(Class, SEL, IMP, const char *);
Class object_getClass(id);
Class object_setClass(id, Class);
const char *object_getClassName(id);
const char *protocol_getName(Protocol *);
bool protocol_isEqual(Protocol *, Protocol *);
bool protocol_conformsToProtocol(Protocol *, Protocol *);
void objc_exit(void);
objc_uncaught_exception_handler objc_setUncaughtExceptionHandler(
    objc_uncaught_exception_handler);
void objc_setForwardHandler(IMP, IMP);
void objc_zero_weak_references(id);

/*
 * Used by the compiler, but can also be called manually.
 */
void __objc_exec_class(void *);
IMP objc_msg_lookup(id, SEL);
IMP objc_msg_lookup_stret(id, SEL);
IMP objc_msg_lookup_super(struct objc_super *, SEL);
IMP objc_msg_lookup_super_stret(struct objc_super *, SEL);
void objc_exception_throw(id);
int objc_sync_enter(id);
int objc_sync_exit(id);
id objc_getProperty(id, SEL, ptrdiff_t, BOOL);
void objc_setProperty(id, SEL, ptrdiff_t, id, BOOL, signed char);
void objc_getPropertyStruct(void *, const void *, ptrdiff_t, BOOL, BOOL);
void objc_setPropertyStruct(void *, const void *, ptrdiff_t, BOOL, BOOL);
void objc_enumerationMutation(id);
void objc_setEnumerationMutationHandler(objc_enumeration_mutation_handler);