Index: src/runtime/Makefile ================================================================== --- src/runtime/Makefile +++ src/runtime/Makefile @@ -32,10 +32,18 @@ OBJS_EXTRA = ${LOOKUP_ASM_LOOKUP_ASM_A} LIB_OBJS_EXTRA = ${LOOKUP_ASM_LOOKUP_ASM_LIB_A} 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} ADDED src/runtime/ObjFW-RT.fd Index: src/runtime/ObjFW-RT.fd ================================================================== --- src/runtime/ObjFW-RT.fd +++ src/runtime/ObjFW-RT.fd @@ -0,0 +1,53 @@ +##base _ObjFWRTBase +##bias 30 +##public +* Functions for the glue code +objc_set_exit()(sysv,r12base) +* Used by the compiler - these need glue code +__objc_exec_class()(sysv,r12base) +objc_msg_lookup()(sysv,r12base) +objc_msg_lookup_stret()(sysv,r12base) +objc_msg_lookup_super()(sysv,r12base) +objc_msg_lookup_super_stret()(sysv,r12base) +objc_lookUpClass()(sysv,r12base) +objc_getClass()(sysv,r12base) +objc_getRequiredClass()(sysv,r12base) +objc_exception_throw()(sysv,r12base) +objc_sync_enter()(sysv,r12base) +objc_sync_exit()(sysv,r12base) +objc_getProperty()(sysv,r12base) +objc_setProperty()(sysv,r12base) +objc_getPropertyStruct()(sysv,r12base) +objc_setPropertyStruct()(sysv,r12base) +objc_enumerationMutation()(sysv,r12base) +* Functions declared in ObjFW-RT.h +sel_registerName()(sysv,r12base) +sel_getName()(sysv,r12base) +sel_isEqual()(sysv,r12base) +objc_allocateClassPair()(sysv,r12base) +objc_registerClassPair()(sysv,r12base) +objc_getClassList()(sysv,r12base) +objc_copyClassList()(sysv,r12base) +class_isMetaClass()(sysv,r12base) +class_getName()(sysv,r12base) +class_getSuperclass()(sysv,r12base) +class_getInstanceSize()(sysv,r12base) +class_respondsToSelector()(sysv,r12base) +class_conformsToProtocol()(sysv,r12base) +class_getMethodImplementation()(sysv,r12base) +class_getMethodImplementation_stret()(sysv,r12base) +class_getMethodTypeEncoding()(sysv,r12base) +class_addMethod()(sysv,r12base) +class_replaceMethod()(sysv,r12base) +object_getClass()(sysv,r12base) +object_setClass()(sysv,r12base) +object_getClassName()(sysv,r12base) +protocol_getName()(sysv,r12base) +protocol_isEqual()(sysv,r12base) +protocol_conformsToProtocol()(sysv,r12base) +objc_exit()(sysv,r12base) +objc_setUncaughtExceptionHandler()(sysv,r12base) +objc_setForwardHandler()(sysv,r12base) +objc_zero_weak_references()(sysv,r12base) +objc_setEnumerationMutationHandler()(sysv,r12base) +##end