Index: .gitignore ================================================================== --- .gitignore +++ .gitignore @@ -25,13 +25,13 @@ generators/gen_tables generators/gen_tables.exe src/Info.plist src/ObjFW.framework src/bridge/Info.plist -src/bridge/ObjFW_Bridge.framework +src/bridge/ObjFWBridge.framework src/objfw-defs.h -src/runtime/ObjFW_RT.framework +src/runtime/ObjFWRT.framework src/runtime/amiga-library-functable.inc src/runtime/inline.h tests/*.map tests/EBOOT.PBP tests/Info.plist Index: configure.ac ================================================================== --- configure.ac +++ configure.ac @@ -56,12 +56,12 @@ enable_files="yes" # Required for reading ENV: supports_amiga_lib="yes" ac_cv_snprintf_useful_ret="yes" AS_IF([test x"$enable_amiga_lib" != x"no"], [ - AC_SUBST(OBJFW_RT_AMIGA_LIB, - 'objfw_rt_${OBJFW_RT_LIB_MAJOR}_68k.library') + AC_SUBST(OBJFWRT_AMIGA_LIB, + 'objfwrt68k.library') AC_SUBST(SFDC_TARGET, m68k-amigaos) AC_SUBST(SFD_FILE, amigaos3.sfd) AC_SUBST(SFDC_INLINE_H, inline.h) dnl For 68000, GCC emits calls to helper functions that dnl do not work properly in a library. @@ -86,13 +86,12 @@ enable_files="yes" # Required for reading ENV: supports_amiga_lib="yes" check_pedantic="no" # Breaks generated inlines AS_IF([test x"$enable_amiga_lib" != x"no"], [ - t='objfw_rt_${OBJFW_RT_LIB_MAJOR}_morphos' - t="$t.library" - AC_SUBST(OBJFW_RT_AMIGA_LIB, $t) + t='objfwrt.library' + AC_SUBST(OBJFWRT_AMIGA_LIB, $t) AC_SUBST(CVINCLUDE_INLINE_H, inline.h) t="-mresident32 -ffreestanding" AC_SUBST(AMIGA_LIB_CFLAGS, $t) t="-mresident32 -nostartfiles -nodefaultlibs" t="$t -lc" @@ -512,38 +511,38 @@ ]) AC_SUBST(RUNTIME, "runtime") AS_IF([test x"$enable_shared" != x"no"], [ - AC_SUBST(OBJFW_RT_SHARED_LIB, - "${LIB_PREFIX}objfw_rt${LIB_SUFFIX}") + AC_SUBST(OBJFWRT_SHARED_LIB, + "${LIB_PREFIX}objfwrt${LIB_SUFFIX}") ]) AS_IF([test x"$enable_static" = x"yes"], [ - AC_SUBST(OBJFW_RT_STATIC_LIB, "libobjfw_rt.a") + AC_SUBST(OBJFWRT_STATIC_LIB, "libobjfwrt.a") ]) AS_IF([test x"$build_framework" = x"yes"], [ - AC_SUBST(OBJFW_RT_FRAMEWORK, "ObjFW_RT.framework") - AC_SUBST(RUNTIME_FRAMEWORK_LIBS, "-framework ObjFW_RT") + AC_SUBST(OBJFWRT_FRAMEWORK, "ObjFWRT.framework") + AC_SUBST(RUNTIME_FRAMEWORK_LIBS, "-framework ObjFWRT") ]) AS_IF([test x"$enable_amiga_lib" != x"no"], [ - AC_SUBST(RUNTIME_LIBS, "-lobjfw_rt.library") + AC_SUBST(RUNTIME_LIBS, "-lobjfwrt.library") AC_SUBST(LINKLIB, linklib) - tmp="../src/runtime/linklib/libobjfw_rt.library.a" - AC_SUBST(LIBOBJFW_RT_DEP, "$tmp") - AC_SUBST(LIBOBJFW_RT_DEP_LVL2, "../$tmp") + tmp="../src/runtime/linklib/libobjfwrt.library.a" + AC_SUBST(LIBOBJFWRT_DEP, "$tmp") + AC_SUBST(LIBOBJFWRT_DEP_LVL2, "../$tmp") ], [ - AC_SUBST(RUNTIME_LIBS, "-lobjfw_rt") + AC_SUBST(RUNTIME_LIBS, "-lobjfwrt") ]) AS_IF([test x"$enable_shared" = x"no" \ -a x"$enable_amiga_lib" = x"no"], [ - tmp="../src/runtime/libobjfw_rt.a" - AC_SUBST(LIBOBJFW_RT_DEP, "$tmp") - AC_SUBST(LIBOBJFW_RT_DEP_LVL2, "../$tmp") + tmp="../src/runtime/libobjfwrt.a" + AC_SUBST(LIBOBJFWRT_DEP, "$tmp") + AC_SUBST(LIBOBJFWRT_DEP_LVL2, "../$tmp") ]) AS_IF([test x"$enable_seluid24" = x"yes"], [ AC_DEFINE(OF_SELUID24, 1, [Whether to use 24 bit selector UIDs]) @@ -648,13 +647,13 @@ LDFLAGS="$LDFLAGS -Wl,-U,___gxx_personality_v0" ]) AS_IF([test x"$exception_type" = x"SjLj"], [ LDFLAGS="$LDFLAGS -Wl,-U,___gxx_personality_sj0" ]) - AC_SUBST(REEXPORT_RUNTIME, ["-Wl,-reexport-lobjfw_rt"]) + AC_SUBST(REEXPORT_RUNTIME, ["-Wl,-reexport-lobjfwrt"]) AC_SUBST(REEXPORT_RUNTIME_FRAMEWORK, - ["-Wl,-reexport_framework,ObjFW_RT"]) + ["-Wl,-reexport_framework,ObjFWRT"]) ]) AC_CHECK_HEADERS(sysdir.h) AC_CHECK_FUNCS(sysdir_start_search_path_enumeration) @@ -1433,20 +1432,20 @@ AC_CHECK_HEADER(Foundation/NSObject.h, [ AC_SUBST(FOUNDATION_COMPAT_M, "foundation-compat.m") AC_SUBST(BRIDGE, "bridge") AS_IF([test x"$enable_shared" != x"no"], [ - AC_SUBST(OBJFW_BRIDGE_SHARED_LIB, - "${LIB_PREFIX}objfw_bridge${LIB_SUFFIX}") + AC_SUBST(OBJFWBRIDGE_SHARED_LIB, + "${LIB_PREFIX}objfwbridge${LIB_SUFFIX}") ]) AS_IF([test x"$enable_static" = x"yes" \ -o x"$enable_shared" = x"no"], [ - AC_SUBST(OBJFW_BRIDGE_STATIC_LIB, "libobjfw_bridge.a") + AC_SUBST(OBJFWBRIDGE_STATIC_LIB, "libobjfwbridge.a") ]) AS_IF([test x"$build_framework" = x"yes"], [ - AC_SUBST(OBJFW_BRIDGE_FRAMEWORK, - "ObjFW_Bridge.framework") + AC_SUBST(OBJFWBRIDGE_FRAMEWORK, + "ObjFWBridge.framework") ]) ]) ]) dnl This needs to be after all other header checks, as they include unistd.h, Index: extra.mk.in ================================================================== --- extra.mk.in +++ extra.mk.in @@ -4,21 +4,21 @@ # When changing: Be sure to also change these in the Xcode project! OBJFW_LIB_MAJOR = 9 OBJFW_LIB_MINOR = 0 OBJFW_LIB_MAJOR_MINOR = ${OBJFW_LIB_MAJOR}.${OBJFW_LIB_MINOR} -OBJFW_RT_SHARED_LIB = @OBJFW_RT_SHARED_LIB@ -OBJFW_RT_STATIC_LIB = @OBJFW_RT_STATIC_LIB@ -OBJFW_RT_FRAMEWORK = @OBJFW_RT_FRAMEWORK@ -OBJFW_RT_AMIGA_LIB = @OBJFW_RT_AMIGA_LIB@ -OBJFW_RT_LIB_MAJOR = 0 -OBJFW_RT_LIB_MINOR = 0 -OBJFW_RT_LIB_MAJOR_MINOR = ${OBJFW_RT_LIB_MAJOR}.${OBJFW_RT_LIB_MINOR} - -OBJFW_BRIDGE_SHARED_LIB = @OBJFW_BRIDGE_SHARED_LIB@ -OBJFW_BRIDGE_STATIC_LIB = @OBJFW_BRIDGE_STATIC_LIB@ -OBJFW_BRIDGE_FRAMEWORK = @OBJFW_BRIDGE_FRAMEWORK@ +OBJFWRT_SHARED_LIB = @OBJFWRT_SHARED_LIB@ +OBJFWRT_STATIC_LIB = @OBJFWRT_STATIC_LIB@ +OBJFWRT_FRAMEWORK = @OBJFWRT_FRAMEWORK@ +OBJFWRT_AMIGA_LIB = @OBJFWRT_AMIGA_LIB@ +OBJFWRT_LIB_MAJOR = 0 +OBJFWRT_LIB_MINOR = 0 +OBJFWRT_LIB_MAJOR_MINOR = ${OBJFWRT_LIB_MAJOR}.${OBJFWRT_LIB_MINOR} + +OBJFWBRIDGE_SHARED_LIB = @OBJFWBRIDGE_SHARED_LIB@ +OBJFWBRIDGE_STATIC_LIB = @OBJFWBRIDGE_STATIC_LIB@ +OBJFWBRIDGE_FRAMEWORK = @OBJFWBRIDGE_FRAMEWORK@ AUTORELEASE_M = @AUTORELEASE_M@ BIN_PREFIX = @BIN_PREFIX@ BRIDGE = @BRIDGE@ CVINCLUDE_INLINE_H = @CVINCLUDE_INLINE_H@ @@ -40,14 +40,14 @@ INSTANCE_M = @INSTANCE_M@ INVOCATION_A = @INVOCATION_A@ INVOCATION_INVOCATION_A = @INVOCATION_INVOCATION_A@ INVOCATION_INVOCATION_LIB_A = @INVOCATION_INVOCATION_LIB_A@ INVOCATION_LIB_A = @INVOCATION_LIB_A@ +LIBOBJFWRT_DEP = @LIBOBJFWRT_DEP@ +LIBOBJFWRT_DEP_LVL2 = @LIBOBJFWRT_DEP_LVL2@ LIBOBJFW_DEP = @LIBOBJFW_DEP@ LIBOBJFW_DEP_LVL2 = @LIBOBJFW_DEP_LVL2@ -LIBOBJFW_RT_DEP = @LIBOBJFW_RT_DEP@ -LIBOBJFW_RT_DEP_LVL2 = @LIBOBJFW_RT_DEP_LVL2@ LINKLIB = @LINKLIB@ LOOKUP_ASM_A = @LOOKUP_ASM_A@ LOOKUP_ASM_LIB_A = @LOOKUP_ASM_LIB_A@ LOOKUP_ASM_LOOKUP_ASM_A = @LOOKUP_ASM_LOOKUP_ASM_A@ LOOKUP_ASM_LOOKUP_ASM_LIB_A = @LOOKUP_ASM_LOOKUP_ASM_LIB_A@ Index: generators/Makefile ================================================================== --- generators/Makefile +++ generators/Makefile @@ -6,14 +6,14 @@ .PHONY: run run: all rm -f libobjfw.so.${OBJFW_LIB_MAJOR} rm -f libobjfw.so.${OBJFW_LIB_MAJOR_MINOR} rm -f libobjfw.dll libobjfw.${OBJFW_LIB_MAJOR}.dylib - rm -f libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR} - rm -f libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR_MINOR} - rm -f libobjfw_rt.dll libobjfw_rt.${OBJFW_RT_LIB_MAJOR}.dylib - rm -f ${OBJFW_RT_AMIGA_LIB} + rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR} + rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR} + rm -f libobjfwrt.dll libobjfwrt.${OBJFWRT_LIB_MAJOR}.dylib + rm -f ${OBJFWRT_AMIGA_LIB} if test -f ../src/libobjfw.so; then \ ${LN_S} ../src/libobjfw.so libobjfw.so.${OBJFW_LIB_MAJOR}; \ ${LN_S} ../src/libobjfw.so \ libobjfw.so.${OBJFW_LIB_MAJOR_MINOR}; \ elif test -f ../src/libobjfw.so.${OBJFW_LIB_MAJOR_MINOR}; then \ @@ -25,28 +25,28 @@ fi if test -f ../src/libobjfw.dylib; then \ ${LN_S} ../src/libobjfw.dylib \ libobjfw.${OBJFW_LIB_MAJOR}.dylib; \ fi - if test -f ../src/runtime/libobjfw_rt.so; then \ - ${LN_S} ../src/runtime/libobjfw_rt.so \ - libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR}; \ - ${LN_S} ../src/runtime/libobjfw_rt.so \ - libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR_MINOR}; \ - elif test -f ../src/runtime/libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR_MINOR}; then \ - ${LN_S} ../src/runtime/libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR_MINOR} libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR_MINOR}; \ - fi - if test -f ../src/runtime/libobjfw_rt.dll; then \ - ${LN_S} ../src/runtime/libobjfw_rt.dll libobjfw_rt.dll; \ - fi - if test -f ../src/runtime/libobjfw_rt.dylib; then \ - ${LN_S} ../src/runtime/libobjfw_rt.dylib \ - libobjfw_rt.${OBJFW_RT_LIB_MAJOR}.dylib; \ - fi - if test -f ../src/runtime/${OBJFW_RT_AMIGA_LIB}; then \ - ${LN_S} ../src/runtime/${OBJFW_RT_AMIGA_LIB} \ - ${OBJFW_RT_AMIGA_LIB}; \ + if test -f ../src/runtime/libobjfwrt.so; then \ + ${LN_S} ../src/runtime/libobjfwrt.so \ + libobjfwrt.so.${OBJFWRT_LIB_MAJOR}; \ + ${LN_S} ../src/runtime/libobjfwrt.so \ + libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR}; \ + elif test -f ../src/runtime/libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR}; then \ + ${LN_S} ../src/runtime/libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR} libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR}; \ + fi + if test -f ../src/runtime/libobjfwrt.dll; then \ + ${LN_S} ../src/runtime/libobjfwrt.dll libobjfwrt.dll; \ + fi + if test -f ../src/runtime/libobjfwrt.dylib; then \ + ${LN_S} ../src/runtime/libobjfwrt.dylib \ + libobjfwrt.${OBJFWRT_LIB_MAJOR}.dylib; \ + fi + if test -f ../src/runtime/${OBJFWRT_AMIGA_LIB}; then \ + ${LN_S} ../src/runtime/${OBJFWRT_AMIGA_LIB} \ + ${OBJFWRT_AMIGA_LIB}; \ fi LD_LIBRARY_PATH=.$${LD_LIBRARY_PATH+:}$$LD_LIBRARY_PATH \ DYLD_FRAMEWORK_PATH=../src:../src/runtime$${DYLD_FRAMEWORK_PATH+:}$$DYLD_FRAMEWORK_PATH \ DYLD_LIBRARY_PATH=.$${DYLD_LIBRARY_PATH+:}$$DYLD_LIBRARY_PATH \ LIBRARY_PATH=.$${LIBRARY_PATH+:}$$LIBRARY_PATH \ @@ -53,15 +53,15 @@ ASAN_OPTIONS=allocator_may_return_null=1 \ ${WRAPPER} ./${PROG_NOINST}; EXIT=$$?; \ rm -f libobjfw.so.${OBJFW_LIB_MAJOR}; \ rm -f libobjfw.so.${OBJFW_LIB_MAJOR_MINOR} libobjfw.dll; \ rm -f libobjfw.${OBJFW_LIB_MAJOR}.dylib; \ - rm -f libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR}; \ - rm -f libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR_MINOR} libobjfw_rt.dll; \ - rm -f libobjfw_rt.${OBJFW_RT_LIB_MAJOR}.dylib; \ + rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR}; \ + rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR} libobjfwrt.dll; \ + rm -f libobjfwrt.${OBJFWRT_LIB_MAJOR}.dylib; \ exit $$EXIT include ../buildsys.mk CPPFLAGS += -I../src -I../src/exceptions -I../src/runtime -I.. LIBS := -L../src -lobjfw -L../src/runtime ${RUNTIME_LIBS} ${LIBS} LD = ${OBJC} Index: src/OFObject.m ================================================================== --- src/OFObject.m +++ src/OFObject.m @@ -45,11 +45,11 @@ #import "OFOutOfRangeException.h" #if defined(OF_APPLE_RUNTIME) && __OBJC2__ # import #elif defined(OF_OBJFW_RUNTIME) -# import "ObjFW_RT.h" +# import "ObjFWRT.h" #endif #ifdef OF_WINDOWS # include #endif Index: src/bridge/Info.plist.in ================================================================== --- src/bridge/Info.plist.in +++ src/bridge/Info.plist.in @@ -1,13 +1,13 @@ CFBundleExecutable - ObjFW_Bridge + ObjFWBridge CFBundleName - $ObjFW_Bridge + ObjFWBridge CFBundleIdentifier zone.heap.objfw.bridge CFBundleInfoDictionaryVersion 6.0 CFBundlePackageType Index: src/bridge/Makefile ================================================================== --- src/bridge/Makefile +++ src/bridge/Makefile @@ -1,12 +1,12 @@ include ../../extra.mk DISTCLEAN = Info.plist -SHARED_LIB = ${OBJFW_BRIDGE_SHARED_LIB} -STATIC_LIB = ${OBJFW_BRIDGE_STATIC_LIB} -FRAMEWORK = ${OBJFW_BRIDGE_FRAMEWORK} +SHARED_LIB = ${OBJFWBRIDGE_SHARED_LIB} +STATIC_LIB = ${OBJFWBRIDGE_STATIC_LIB} +FRAMEWORK = ${OBJFWBRIDGE_FRAMEWORK} LIB_MAJOR = ${OBJFW_LIB_MAJOR} LIB_MINOR = ${OBJFW_LIB_MINOR} SRCS = OFArray+NSObject.m \ OFException+Swift.m \ @@ -17,20 +17,20 @@ NSString+OFObject.m INCLUDES := ${SRCS:.m=.h} \ NSBridging.h \ OFBridging.h \ - ObjFW_Bridge.h + ObjFWBridge.h SRCS += NSArray_OFArray.m \ NSDictionary_OFDictionary.m \ OFArray_NSArray.m \ OFDictionary_NSDictionary.m \ -includesubdir = ObjFW_Bridge +includesubdir = ObjFWBridge include ../../buildsys.mk CPPFLAGS += -I. -I.. -I../.. -I../exceptions -DOF_BRIDGE_LOCAL_INCLUDES LD = ${OBJC} FRAMEWORK_LIBS := -framework Foundation -F.. -framework ObjFW ${LIBS} LIBS := -framework Foundation -L.. -lobjfw ${LIBS} Index: src/bridge/NSArray+OFObject.h ================================================================== --- src/bridge/NSArray+OFObject.h +++ src/bridge/NSArray+OFObject.h @@ -31,14 +31,14 @@ } #endif /*! * @category NSArray (OFObject) \ - * NSArray+OFObject.h ObjFW-Bridge/NSArray+OFObject.h + * NSArray+OFObject.h ObjFWBridge/NSArray+OFObject.h * * @brief Support for bridging NSArrays to OFArrays. */ @interface NSArray (OFObject) @property (readonly, nonatomic) OFArray *OFObject; @end OF_ASSUME_NONNULL_END Index: src/bridge/NSBridging.h ================================================================== --- src/bridge/NSBridging.h +++ src/bridge/NSBridging.h @@ -26,11 +26,11 @@ #endif OF_ASSUME_NONNULL_BEGIN /*! - * @protocol NSBridging NSBridging.h ObjFW-Bridge/NSBridging.h + * @protocol NSBridging NSBridging.h ObjFWBridge/NSBridging.h * * @brief A protocol implemented by classes supporting bridging Foundation * objects to ObjFW objects. */ @protocol NSBridging Index: src/bridge/NSDictionary+OFObject.h ================================================================== --- src/bridge/NSDictionary+OFObject.h +++ src/bridge/NSDictionary+OFObject.h @@ -31,14 +31,14 @@ } #endif /*! * @category NSDictionary (OFObject) \ - * NSDictionary+OFObject.h ObjFW-Bridge/NSDictionary+OFObject.h + * NSDictionary+OFObject.h ObjFWBridge/NSDictionary+OFObject.h * * @brief Support for bridging NSDictionaries to OFDictionaries. */ @interface NSDictionary (OFObject) @property (readonly, nonatomic) OFDictionary *OFObject; @end OF_ASSUME_NONNULL_END Index: src/bridge/NSString+OFObject.h ================================================================== --- src/bridge/NSString+OFObject.h +++ src/bridge/NSString+OFObject.h @@ -31,11 +31,11 @@ } #endif /*! * @category NSString (OFObject) - * NSString+OFObject.h ObjFW-Bridge/NSString+OFObject.h + * NSString+OFObject.h ObjFWBridge/NSString+OFObject.h * * @brief Support for bridging NSStrings to OFStrings. * * Unfortunately, they need to be copied, as NSString is not capable of * handling UCS-4 properly (a character of NSString is only 2 bytes, while a Index: src/bridge/OFArray+NSObject.h ================================================================== --- src/bridge/OFArray+NSObject.h +++ src/bridge/OFArray+NSObject.h @@ -37,13 +37,13 @@ } #endif /*! * @category OFArray (NSObject) \ - * OFArray+NSObject.h ObjFW-Bridge/OFArray+NSObject.h + * OFArray+NSObject.h ObjFWBridge/OFArray+NSObject.h * @brief Support for bridging OFArrays to NSArrays. */ @interface OFArray (NSObject) @property (readonly, nonatomic) NSArray *NSObject; @end OF_ASSUME_NONNULL_END Index: src/bridge/OFBridging.h ================================================================== --- src/bridge/OFBridging.h +++ src/bridge/OFBridging.h @@ -26,11 +26,11 @@ #endif OF_ASSUME_NONNULL_BEGIN /*! - * @protocol OFBridging OFBridging.h ObjFW-Bridge/OFBridging.h + * @protocol OFBridging OFBridging.h ObjFWBridge/OFBridging.h * * @brief A protocol implemented by classes supporting bridging ObjFW objects * to Foundation objects. */ @protocol OFBridging Index: src/bridge/OFDictionary+NSObject.h ================================================================== --- src/bridge/OFDictionary+NSObject.h +++ src/bridge/OFDictionary+NSObject.h @@ -37,14 +37,14 @@ } #endif /*! * @category OFDictionary (NSObject) \ - * OFDictionary+NSObject.h ObjFW-Bridge/OFDictionary+NSObject.h + * OFDictionary+NSObject.h ObjFWBridge/OFDictionary+NSObject.h * * @brief Support for bridging OFDictionaries to NSDictionaries. */ @interface OFDictionary (NSObject) @property (readonly, nonatomic) NSDictionary *NSObject; @end OF_ASSUME_NONNULL_END Index: src/bridge/OFString+NSObject.h ================================================================== --- src/bridge/OFString+NSObject.h +++ src/bridge/OFString+NSObject.h @@ -37,11 +37,11 @@ } #endif /*! * @category OFString (NSObject) \ - * OFString+NSObject.h ObjFW-Bridge/OFString+NSObject.h + * OFString+NSObject.h ObjFWBridge/OFString+NSObject.h * * @brief Support for bridging OFStrings to NSStrings. * * Unfortunately, they need to be copied, as NSString is not capable of * handling UCS-4 properly (a character of NSString is only 2 bytes, while a ADDED src/bridge/ObjFWBridge.h Index: src/bridge/ObjFWBridge.h ================================================================== --- src/bridge/ObjFWBridge.h +++ src/bridge/ObjFWBridge.h @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, + * 2018, 2019 + * Jonathan Schleifer + * + * 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. + */ + +#import "NSArray+OFObject.h" +#import "NSDictionary+OFObject.h" +#import "NSString+OFObject.h" + +#import "OFArray+NSObject.h" +#import "OFException+Swift.h" +#import "OFDictionary+NSObject.h" +#import "OFString+NSObject.h" DELETED src/bridge/ObjFW_Bridge.h Index: src/bridge/ObjFW_Bridge.h ================================================================== --- src/bridge/ObjFW_Bridge.h +++ src/bridge/ObjFW_Bridge.h @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, - * 2018, 2019 - * Jonathan Schleifer - * - * 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. - */ - -#import "NSArray+OFObject.h" -#import "NSDictionary+OFObject.h" -#import "NSString+OFObject.h" - -#import "OFArray+NSObject.h" -#import "OFException+Swift.h" -#import "OFDictionary+NSObject.h" -#import "OFString+NSObject.h" Index: src/bridge/module.modulemap ================================================================== --- src/bridge/module.modulemap +++ src/bridge/module.modulemap @@ -1,5 +1,5 @@ -framework module ObjFW_Bridge { - umbrella header "ObjFW_Bridge.h" +framework module ObjFWBridge { + umbrella header "ObjFWBridge.h" export * } Index: src/macros.h ================================================================== --- src/macros.h +++ src/macros.h @@ -35,13 +35,13 @@ #include "platform.h" #ifdef OF_OBJFW_RUNTIME # ifdef OF_COMPILING_OBJFW -# import "ObjFW_RT.h" +# import "ObjFWRT.h" # else -# import +# import # endif #endif #ifdef OF_APPLE_RUNTIME # import # import Index: src/runtime/Makefile ================================================================== --- src/runtime/Makefile +++ src/runtime/Makefile @@ -2,16 +2,16 @@ SUBDIRS = lookup-asm SUBDIRS_AFTER = ${LINKLIB} CLEAN = amiga-library-functable.inc inline.h -SHARED_LIB = ${OBJFW_RT_SHARED_LIB} -STATIC_LIB = ${OBJFW_RT_STATIC_LIB} -FRAMEWORK = ${OBJFW_RT_FRAMEWORK} -AMIGA_LIB = ${OBJFW_RT_AMIGA_LIB} -LIB_MAJOR = ${OBJFW_RT_LIB_MAJOR} -LIB_MINOR = ${OBJFW_RT_LIB_MINOR} +SHARED_LIB = ${OBJFWRT_SHARED_LIB} +STATIC_LIB = ${OBJFWRT_STATIC_LIB} +FRAMEWORK = ${OBJFWRT_FRAMEWORK} +AMIGA_LIB = ${OBJFWRT_AMIGA_LIB} +LIB_MAJOR = ${OBJFWRT_LIB_MAJOR} +LIB_MINOR = ${OBJFWRT_LIB_MINOR} SRCS = arc.m \ category.m \ class.m \ dtable.m \ @@ -27,12 +27,12 @@ static-instances.m \ synchronized.m \ ${USE_SRCS_THREADS} SRCS_THREADS = threading.m \ ../threading.m -INCLUDES = ObjFW_RT.h -includesubdir = ObjFW_RT +INCLUDES = ObjFWRT.h +includesubdir = ObjFWRT OBJS_EXTRA = ${LOOKUP_ASM_LOOKUP_ASM_A} LIB_OBJS_EXTRA = ${LOOKUP_ASM_LOOKUP_ASM_LIB_A} AMIGA_LIB_OBJS_START = amiga-library.amigalib.o AMIGA_LIB_OBJS_EXTRA = amiga-glue.amigalib.o \ @@ -39,20 +39,20 @@ ${LOOKUP_ASM_LOOKUP_ASM_A} \ amiga-end.amigalib.o include ../../buildsys.mk -${OBJFW_RT_AMIGA_LIB}: inline.h +${OBJFWRT_AMIGA_LIB}: inline.h ${SFDC_INLINE_H}: ${SFD_FILE} sfdc -q --target=${SFDC_TARGET} --mode=macros -o $@ $<; \ ${CVINCLUDE_INLINE_H}: morphos.fd morphos-clib.h cvinclude.pl --quiet --fd=morphos.fd --clib=morphos-clib.h --inlines=$@ CPPFLAGS += -I. -I.. -I../.. \ - -DOBJFW_RT_AMIGA_LIB=\"${OBJFW_RT_AMIGA_LIB}\" \ - -DOBJFW_RT_LIB_MAJOR=${OBJFW_RT_LIB_MAJOR} \ - -DOBJFW_RT_LIB_MINOR=${OBJFW_RT_LIB_MINOR} + -DOBJFWRT_AMIGA_LIB=\"${OBJFWRT_AMIGA_LIB}\" \ + -DOBJFWRT_LIB_MAJOR=${OBJFWRT_LIB_MAJOR} \ + -DOBJFWRT_LIB_MINOR=${OBJFWRT_LIB_MINOR} AMIGA_LIB_CFLAGS += -DOBJC_COMPILING_AMIGA_LIBRARY LD = ${OBJC} FRAMEWORK_LIBS = ${LIBS} ADDED src/runtime/ObjFWRT.h Index: src/runtime/ObjFWRT.h ================================================================== --- src/runtime/ObjFWRT.h +++ src/runtime/ObjFWRT.h @@ -0,0 +1,329 @@ +/* + * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, + * 2018, 2019 + * Jonathan Schleifer + * + * 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. + */ + +#ifndef __OBJFW_RUNTIME_H__ +#define __OBJFW_RUNTIME_H__ + +#ifndef __STDC_LIMIT_MACROS +# define __STDC_LIMIT_MACROS +#endif +#ifndef __STDC_CONSTANT_MACROS +# define __STDC_CONSTANT_MACROS +#endif + +#include +#include +#include + +#ifndef __has_feature +# define __has_feature(x) 0 +#endif + +#ifndef __has_attribute +# define __has_attribute(x) 0 +#endif + +#if !__has_feature(nullability) +# ifndef _Nonnull +# define _Nonnull +# endif +# ifndef _Nullable +# define _Nullable +# endif +# ifndef _Null_unspecified +# define _Null_unspecified +# endif +#endif + +#if !__has_feature(objc_arc) && !defined(__unsafe_unretained) +# define __unsafe_unretained +#endif + +#define Nil (Class _Null_unspecified)0 +#define nil (id _Null_unspecified)0 +#define YES true +#define NO false + +typedef struct objc_class *Class; +typedef struct objc_object *id; +typedef const struct objc_selector *SEL; +#if !defined(__wii__) && !defined(__amigaos__) +typedef bool BOOL; +#endif +typedef id _Nullable (*IMP)(id _Nonnull, SEL _Nonnull, ...); +typedef void (*objc_uncaught_exception_handler_t)(id _Nullable); +typedef void (*objc_enumeration_mutation_handler_t)(id _Nonnull); + +struct objc_class { + Class _Nonnull isa; + Class _Nullable superclass; + const char *_Nonnull name; + unsigned long version; + unsigned long info; + long instanceSize; + struct objc_ivar_list *_Nullable iVars; + struct objc_method_list *_Nullable methodList; + struct objc_dtable *_Nonnull DTable; + Class _Nullable *_Nullable subclassList; + void *_Nullable siblingClass; + struct objc_protocol_list *_Nullable protocols; + void *_Nullable GCObjectType; + unsigned long ABIVersion; + int32_t *_Nonnull *_Nullable iVarOffsets; + struct objc_property_list *_Nullable properties; +}; + +enum objc_class_info { + OBJC_CLASS_INFO_CLASS = 0x001, + OBJC_CLASS_INFO_METACLASS = 0x002, + OBJC_CLASS_INFO_NEW_ABI = 0x010, + OBJC_CLASS_INFO_SETUP = 0x100, + OBJC_CLASS_INFO_LOADED = 0x200, + OBJC_CLASS_INFO_DTABLE = 0x400, + OBJC_CLASS_INFO_INITIALIZED = 0x800 +}; + +struct objc_object { + Class _Nonnull isa; +}; + +struct objc_selector { + uintptr_t UID; + const char *_Nullable typeEncoding; +}; + +struct objc_super { + id __unsafe_unretained _Nullable self; +#ifdef __cplusplus + Class _Nonnull class_; +#else + Class _Nonnull class; +#endif +}; + +struct objc_method { + struct objc_selector selector; + IMP _Nonnull implementation; +}; + +struct objc_method_list { + struct objc_method_list *_Nullable next; + unsigned int count; + struct objc_method methods[1]; +}; + +struct objc_category { + const char *_Nonnull categoryName; + const char *_Nonnull className; + struct objc_method_list *_Nullable instanceMethods; + struct objc_method_list *_Nullable classMethods; + struct objc_protocol_list *_Nullable protocols; +}; + +struct objc_ivar { + const char *_Nonnull name; + const char *_Nonnull typeEncoding; + unsigned int offset; +}; + +struct objc_ivar_list { + unsigned int count; + struct objc_ivar iVars[1]; +}; + +enum objc_property_attributes { + OBJC_PROPERTY_READONLY = 0x01, + OBJC_PROPERTY_GETTER = 0x02, + OBJC_PROPERTY_ASSIGN = 0x04, + OBJC_PROPERTY_READWRITE = 0x08, + OBJC_PROPERTY_RETAIN = 0x10, + OBJC_PROPERTY_COPY = 0x20, + OBJC_PROPERTY_NONATOMIC = 0x40, + OBJC_PROPERTY_SETTER = 0x80 +}; + +enum objc_property_extended_attributes { + OBJC_PROPERTY_SYNTHESIZE = 0x1, + OBJC_PROPERTY_DYNAMIC = 0x2, + OBJC_PROPERTY_PROTOCOL = 0x3, + OBJC_PROPERTY_ATOMIC = 0x4, + OBJC_PROPERTY_WEAK = 0x8, + OBJC_PROPERTY_STRONG = 0x10, + OBJC_PROPERTY_UNSAFE_UNRETAINED = 0x20 +}; + +struct objc_property { + const char *_Nonnull name; + unsigned char attributes, extendedAttributes; + struct { + const char *_Nullable name; + const char *_Nullable typeEncoding; + } getter, setter; +}; + +struct objc_property_list { + unsigned int count; + struct objc_property_list *_Nullable next; + struct objc_property properties[1]; +}; + +#ifdef __OBJC__ +# if __has_attribute(__objc_root_class__) +__attribute__((__objc_root_class__)) +# endif +@interface Protocol +{ +@public +#else +typedef struct { +#endif + Class _Nonnull isa; + const char *_Nonnull name; + struct objc_protocol_list *_Nullable protocolList; + struct objc_abi_method_description_list *_Nullable instanceMethods; + struct objc_abi_method_description_list *_Nullable classMethods; +#ifdef __OBJC__ +} +@end +#else +} Protocol; +#endif + +struct objc_protocol_list { + struct objc_protocol_list *_Nullable next; + long count; + Protocol *__unsafe_unretained _Nonnull list[1]; +}; + +#ifdef __cplusplus +extern "C" { +#endif +extern SEL _Nonnull sel_registerName(const char *_Nonnull name); +extern const char *_Nonnull sel_getName(SEL _Nonnull selector); +extern bool sel_isEqual(SEL _Nonnull selector1, SEL _Nonnull selector2); +extern Class _Nonnull objc_allocateClassPair(Class _Nullable superclass, + const char *_Nonnull name, size_t extraBytes); +extern void objc_registerClassPair(Class _Nonnull class_); +extern unsigned int objc_getClassList(Class _Nonnull *_Nullable buffer, + unsigned int count); +extern Class _Nonnull *_Nonnull objc_copyClassList( + unsigned int *_Nullable length); +extern bool class_isMetaClass(Class _Nullable class_); +extern const char *_Nullable class_getName(Class _Nullable class_); +extern Class _Nullable class_getSuperclass(Class _Nullable class_); +extern unsigned long class_getInstanceSize(Class _Nullable class_); +extern bool class_respondsToSelector(Class _Nullable class_, + SEL _Nonnull selector); +extern bool class_conformsToProtocol(Class _Nullable class_, + Protocol *_Nonnull protocol); +extern IMP _Nullable class_getMethodImplementation(Class _Nullable class_, + SEL _Nonnull selector); +extern IMP _Nullable class_getMethodImplementation_stret(Class _Nullable class_, + SEL _Nonnull selector); +extern const char *_Nullable class_getMethodTypeEncoding(Class _Nullable class_, + SEL _Nonnull selector); +extern bool class_addMethod(Class _Nonnull class_, SEL _Nonnull selector, + IMP _Nonnull implementation, const char *_Nullable typeEncoding); +extern IMP _Nullable class_replaceMethod(Class _Nonnull class_, + SEL _Nonnull selector, IMP _Nonnull implementation, + const char *_Nullable typeEncoding); +extern Class _Nullable object_getClass(id _Nullable object); +extern Class _Nullable object_setClass(id _Nullable object, + Class _Nonnull class_); +extern const char *_Nullable object_getClassName(id _Nullable object); +extern const char *_Nonnull protocol_getName(Protocol *_Nonnull protocol); +extern bool protocol_isEqual(Protocol *_Nonnull protocol1, + Protocol *_Nonnull protocol2); +extern bool protocol_conformsToProtocol(Protocol *_Nonnull protocol1, + Protocol *_Nonnull protocol2); +extern void objc_exit(void); +extern _Nullable objc_uncaught_exception_handler_t + objc_setUncaughtExceptionHandler( + objc_uncaught_exception_handler_t _Nullable handler); +extern void objc_setForwardHandler(IMP _Nullable forward, + IMP _Nullable stretForward); +extern void objc_setEnumerationMutationHandler( + objc_enumeration_mutation_handler_t _Nullable handler); +extern void objc_zero_weak_references(id _Nonnull value); + +/* + * Used by the compiler, but can also be called manually. + * + * These declarations are also required to prevent Clang's implicit + * declarations which include __declspec(dllimport) on Windows. + */ +extern void __objc_exec_class(void *_Nonnull module); +extern IMP _Nonnull objc_msg_lookup(id _Nullable object, SEL _Nonnull selector); +extern IMP _Nonnull objc_msg_lookup_stret(id _Nullable object, + SEL _Nonnull selector); +extern IMP _Nonnull objc_msg_lookup_super(struct objc_super *_Nonnull super, + SEL _Nonnull selector); +extern IMP _Nonnull objc_msg_lookup_super_stret( + struct objc_super *_Nonnull super, SEL _Nonnull selector); +extern Class _Nullable objc_lookUpClass(const char *_Nonnull name); +extern Class _Nullable objc_getClass(const char *_Nonnull name); +extern Class _Nonnull objc_getRequiredClass(const char *_Nonnull name); +extern Class _Nullable objc_lookup_class(const char *_Nonnull name); +extern Class _Nonnull objc_get_class(const char *_Nonnull name); +extern void objc_exception_throw(id _Nullable object); +extern int objc_sync_enter(id _Nullable object); +extern int objc_sync_exit(id _Nullable object); +extern id _Nullable objc_getProperty(id _Nonnull self, SEL _Nonnull _cmd, + ptrdiff_t offset, bool atomic); +extern void objc_setProperty(id _Nonnull self, SEL _Nonnull _cmd, + ptrdiff_t offset, id _Nullable value, bool atomic, signed char copy); +extern void objc_getPropertyStruct(void *_Nonnull dest, + const void *_Nonnull src, ptrdiff_t size, bool atomic, bool strong); +extern void objc_setPropertyStruct(void *_Nonnull dest, + const void *_Nonnull src, ptrdiff_t size, bool atomic, bool strong); +extern void objc_enumerationMutation(id _Nonnull object); +#ifndef OBJC_NO_PERSONALITY_DECLARATION +/* + * No objfw-defs.h or config.h is available for the installed runtime headers, + * so we don't know which exceptions we have. + */ +extern int __gnu_objc_personality_v0(int version, int actions, + uint64_t exClass, void *_Nonnull ex, void *_Nonnull ctx); +extern int __gnu_objc_personality_sj0(int version, int actions, + uint64_t exClass, void *_Nonnull ex, void *_Nonnull ctx); +#endif +extern id _Nullable objc_retain(id _Nullable object); +extern id _Nullable objc_retainBlock(id _Nullable block); +extern id _Nullable objc_retainAutorelease(id _Nullable object); +extern void objc_release(id _Nullable object); +extern id _Nullable objc_autorelease(id _Nullable object); +extern id _Nullable objc_autoreleaseReturnValue(id _Nullable object); +extern id _Nullable objc_retainAutoreleaseReturnValue(id _Nullable object); +extern id _Nullable objc_retainAutoreleasedReturnValue(id _Nullable object); +extern id _Nullable objc_storeStrong(id _Nullable *_Nonnull object, + id _Nullable value); +extern id _Nullable objc_storeWeak(id _Nullable *_Nonnull object, + id _Nullable value); +extern id _Nullable objc_loadWeakRetained(id _Nullable *_Nonnull object); +extern _Nullable id objc_initWeak(id _Nullable *_Nonnull object, + id _Nullable value); +extern void objc_destroyWeak(id _Nullable *_Nonnull object); +extern id _Nullable objc_loadWeak(id _Nullable *_Nonnull object); +extern void objc_copyWeak(id _Nullable *_Nonnull dest, + id _Nullable *_Nonnull src); +extern void objc_moveWeak(id _Nullable *_Nonnull dest, + id _Nullable *_Nonnull src); +#ifdef __cplusplus +} +#endif + +#endif DELETED src/runtime/ObjFW_RT.h Index: src/runtime/ObjFW_RT.h ================================================================== --- src/runtime/ObjFW_RT.h +++ src/runtime/ObjFW_RT.h @@ -1,329 +0,0 @@ -/* - * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, - * 2018, 2019 - * Jonathan Schleifer - * - * 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. - */ - -#ifndef __OBJFW_RUNTIME_H__ -#define __OBJFW_RUNTIME_H__ - -#ifndef __STDC_LIMIT_MACROS -# define __STDC_LIMIT_MACROS -#endif -#ifndef __STDC_CONSTANT_MACROS -# define __STDC_CONSTANT_MACROS -#endif - -#include -#include -#include - -#ifndef __has_feature -# define __has_feature(x) 0 -#endif - -#ifndef __has_attribute -# define __has_attribute(x) 0 -#endif - -#if !__has_feature(nullability) -# ifndef _Nonnull -# define _Nonnull -# endif -# ifndef _Nullable -# define _Nullable -# endif -# ifndef _Null_unspecified -# define _Null_unspecified -# endif -#endif - -#if !__has_feature(objc_arc) && !defined(__unsafe_unretained) -# define __unsafe_unretained -#endif - -#define Nil (Class _Null_unspecified)0 -#define nil (id _Null_unspecified)0 -#define YES true -#define NO false - -typedef struct objc_class *Class; -typedef struct objc_object *id; -typedef const struct objc_selector *SEL; -#if !defined(__wii__) && !defined(__amigaos__) -typedef bool BOOL; -#endif -typedef id _Nullable (*IMP)(id _Nonnull, SEL _Nonnull, ...); -typedef void (*objc_uncaught_exception_handler_t)(id _Nullable); -typedef void (*objc_enumeration_mutation_handler_t)(id _Nonnull); - -struct objc_class { - Class _Nonnull isa; - Class _Nullable superclass; - const char *_Nonnull name; - unsigned long version; - unsigned long info; - long instanceSize; - struct objc_ivar_list *_Nullable iVars; - struct objc_method_list *_Nullable methodList; - struct objc_dtable *_Nonnull DTable; - Class _Nullable *_Nullable subclassList; - void *_Nullable siblingClass; - struct objc_protocol_list *_Nullable protocols; - void *_Nullable GCObjectType; - unsigned long ABIVersion; - int32_t *_Nonnull *_Nullable iVarOffsets; - struct objc_property_list *_Nullable properties; -}; - -enum objc_class_info { - OBJC_CLASS_INFO_CLASS = 0x001, - OBJC_CLASS_INFO_METACLASS = 0x002, - OBJC_CLASS_INFO_NEW_ABI = 0x010, - OBJC_CLASS_INFO_SETUP = 0x100, - OBJC_CLASS_INFO_LOADED = 0x200, - OBJC_CLASS_INFO_DTABLE = 0x400, - OBJC_CLASS_INFO_INITIALIZED = 0x800 -}; - -struct objc_object { - Class _Nonnull isa; -}; - -struct objc_selector { - uintptr_t UID; - const char *_Nullable typeEncoding; -}; - -struct objc_super { - id __unsafe_unretained _Nullable self; -#ifdef __cplusplus - Class _Nonnull class_; -#else - Class _Nonnull class; -#endif -}; - -struct objc_method { - struct objc_selector selector; - IMP _Nonnull implementation; -}; - -struct objc_method_list { - struct objc_method_list *_Nullable next; - unsigned int count; - struct objc_method methods[1]; -}; - -struct objc_category { - const char *_Nonnull categoryName; - const char *_Nonnull className; - struct objc_method_list *_Nullable instanceMethods; - struct objc_method_list *_Nullable classMethods; - struct objc_protocol_list *_Nullable protocols; -}; - -struct objc_ivar { - const char *_Nonnull name; - const char *_Nonnull typeEncoding; - unsigned int offset; -}; - -struct objc_ivar_list { - unsigned int count; - struct objc_ivar iVars[1]; -}; - -enum objc_property_attributes { - OBJC_PROPERTY_READONLY = 0x01, - OBJC_PROPERTY_GETTER = 0x02, - OBJC_PROPERTY_ASSIGN = 0x04, - OBJC_PROPERTY_READWRITE = 0x08, - OBJC_PROPERTY_RETAIN = 0x10, - OBJC_PROPERTY_COPY = 0x20, - OBJC_PROPERTY_NONATOMIC = 0x40, - OBJC_PROPERTY_SETTER = 0x80 -}; - -enum objc_property_extended_attributes { - OBJC_PROPERTY_SYNTHESIZE = 0x1, - OBJC_PROPERTY_DYNAMIC = 0x2, - OBJC_PROPERTY_PROTOCOL = 0x3, - OBJC_PROPERTY_ATOMIC = 0x4, - OBJC_PROPERTY_WEAK = 0x8, - OBJC_PROPERTY_STRONG = 0x10, - OBJC_PROPERTY_UNSAFE_UNRETAINED = 0x20 -}; - -struct objc_property { - const char *_Nonnull name; - unsigned char attributes, extendedAttributes; - struct { - const char *_Nullable name; - const char *_Nullable typeEncoding; - } getter, setter; -}; - -struct objc_property_list { - unsigned int count; - struct objc_property_list *_Nullable next; - struct objc_property properties[1]; -}; - -#ifdef __OBJC__ -# if __has_attribute(__objc_root_class__) -__attribute__((__objc_root_class__)) -# endif -@interface Protocol -{ -@public -#else -typedef struct { -#endif - Class _Nonnull isa; - const char *_Nonnull name; - struct objc_protocol_list *_Nullable protocolList; - struct objc_abi_method_description_list *_Nullable instanceMethods; - struct objc_abi_method_description_list *_Nullable classMethods; -#ifdef __OBJC__ -} -@end -#else -} Protocol; -#endif - -struct objc_protocol_list { - struct objc_protocol_list *_Nullable next; - long count; - Protocol *__unsafe_unretained _Nonnull list[1]; -}; - -#ifdef __cplusplus -extern "C" { -#endif -extern SEL _Nonnull sel_registerName(const char *_Nonnull name); -extern const char *_Nonnull sel_getName(SEL _Nonnull selector); -extern bool sel_isEqual(SEL _Nonnull selector1, SEL _Nonnull selector2); -extern Class _Nonnull objc_allocateClassPair(Class _Nullable superclass, - const char *_Nonnull name, size_t extraBytes); -extern void objc_registerClassPair(Class _Nonnull class_); -extern unsigned int objc_getClassList(Class _Nonnull *_Nullable buffer, - unsigned int count); -extern Class _Nonnull *_Nonnull objc_copyClassList( - unsigned int *_Nullable length); -extern bool class_isMetaClass(Class _Nullable class_); -extern const char *_Nullable class_getName(Class _Nullable class_); -extern Class _Nullable class_getSuperclass(Class _Nullable class_); -extern unsigned long class_getInstanceSize(Class _Nullable class_); -extern bool class_respondsToSelector(Class _Nullable class_, - SEL _Nonnull selector); -extern bool class_conformsToProtocol(Class _Nullable class_, - Protocol *_Nonnull protocol); -extern IMP _Nullable class_getMethodImplementation(Class _Nullable class_, - SEL _Nonnull selector); -extern IMP _Nullable class_getMethodImplementation_stret(Class _Nullable class_, - SEL _Nonnull selector); -extern const char *_Nullable class_getMethodTypeEncoding(Class _Nullable class_, - SEL _Nonnull selector); -extern bool class_addMethod(Class _Nonnull class_, SEL _Nonnull selector, - IMP _Nonnull implementation, const char *_Nullable typeEncoding); -extern IMP _Nullable class_replaceMethod(Class _Nonnull class_, - SEL _Nonnull selector, IMP _Nonnull implementation, - const char *_Nullable typeEncoding); -extern Class _Nullable object_getClass(id _Nullable object); -extern Class _Nullable object_setClass(id _Nullable object, - Class _Nonnull class_); -extern const char *_Nullable object_getClassName(id _Nullable object); -extern const char *_Nonnull protocol_getName(Protocol *_Nonnull protocol); -extern bool protocol_isEqual(Protocol *_Nonnull protocol1, - Protocol *_Nonnull protocol2); -extern bool protocol_conformsToProtocol(Protocol *_Nonnull protocol1, - Protocol *_Nonnull protocol2); -extern void objc_exit(void); -extern _Nullable objc_uncaught_exception_handler_t - objc_setUncaughtExceptionHandler( - objc_uncaught_exception_handler_t _Nullable handler); -extern void objc_setForwardHandler(IMP _Nullable forward, - IMP _Nullable stretForward); -extern void objc_setEnumerationMutationHandler( - objc_enumeration_mutation_handler_t _Nullable handler); -extern void objc_zero_weak_references(id _Nonnull value); - -/* - * Used by the compiler, but can also be called manually. - * - * These declarations are also required to prevent Clang's implicit - * declarations which include __declspec(dllimport) on Windows. - */ -extern void __objc_exec_class(void *_Nonnull module); -extern IMP _Nonnull objc_msg_lookup(id _Nullable object, SEL _Nonnull selector); -extern IMP _Nonnull objc_msg_lookup_stret(id _Nullable object, - SEL _Nonnull selector); -extern IMP _Nonnull objc_msg_lookup_super(struct objc_super *_Nonnull super, - SEL _Nonnull selector); -extern IMP _Nonnull objc_msg_lookup_super_stret( - struct objc_super *_Nonnull super, SEL _Nonnull selector); -extern Class _Nullable objc_lookUpClass(const char *_Nonnull name); -extern Class _Nullable objc_getClass(const char *_Nonnull name); -extern Class _Nonnull objc_getRequiredClass(const char *_Nonnull name); -extern Class _Nullable objc_lookup_class(const char *_Nonnull name); -extern Class _Nonnull objc_get_class(const char *_Nonnull name); -extern void objc_exception_throw(id _Nullable object); -extern int objc_sync_enter(id _Nullable object); -extern int objc_sync_exit(id _Nullable object); -extern id _Nullable objc_getProperty(id _Nonnull self, SEL _Nonnull _cmd, - ptrdiff_t offset, bool atomic); -extern void objc_setProperty(id _Nonnull self, SEL _Nonnull _cmd, - ptrdiff_t offset, id _Nullable value, bool atomic, signed char copy); -extern void objc_getPropertyStruct(void *_Nonnull dest, - const void *_Nonnull src, ptrdiff_t size, bool atomic, bool strong); -extern void objc_setPropertyStruct(void *_Nonnull dest, - const void *_Nonnull src, ptrdiff_t size, bool atomic, bool strong); -extern void objc_enumerationMutation(id _Nonnull object); -#ifndef OBJC_NO_PERSONALITY_DECLARATION -/* - * No objfw-defs.h or config.h is available for the installed runtime headers, - * so we don't know which exceptions we have. - */ -extern int __gnu_objc_personality_v0(int version, int actions, - uint64_t exClass, void *_Nonnull ex, void *_Nonnull ctx); -extern int __gnu_objc_personality_sj0(int version, int actions, - uint64_t exClass, void *_Nonnull ex, void *_Nonnull ctx); -#endif -extern id _Nullable objc_retain(id _Nullable object); -extern id _Nullable objc_retainBlock(id _Nullable block); -extern id _Nullable objc_retainAutorelease(id _Nullable object); -extern void objc_release(id _Nullable object); -extern id _Nullable objc_autorelease(id _Nullable object); -extern id _Nullable objc_autoreleaseReturnValue(id _Nullable object); -extern id _Nullable objc_retainAutoreleaseReturnValue(id _Nullable object); -extern id _Nullable objc_retainAutoreleasedReturnValue(id _Nullable object); -extern id _Nullable objc_storeStrong(id _Nullable *_Nonnull object, - id _Nullable value); -extern id _Nullable objc_storeWeak(id _Nullable *_Nonnull object, - id _Nullable value); -extern id _Nullable objc_loadWeakRetained(id _Nullable *_Nonnull object); -extern _Nullable id objc_initWeak(id _Nullable *_Nonnull object, - id _Nullable value); -extern void objc_destroyWeak(id _Nullable *_Nonnull object); -extern id _Nullable objc_loadWeak(id _Nullable *_Nonnull object); -extern void objc_copyWeak(id _Nullable *_Nonnull dest, - id _Nullable *_Nonnull src); -extern void objc_moveWeak(id _Nullable *_Nonnull dest, - id _Nullable *_Nonnull src); -#ifdef __cplusplus -} -#endif - -#endif Index: src/runtime/amiga-glue.m ================================================================== --- src/runtime/amiga-glue.m +++ src/runtime/amiga-glue.m @@ -15,11 +15,11 @@ * file. */ #include "config.h" -#import "ObjFW_RT.h" +#import "ObjFWRT.h" #import "private.h" #import "macros.h" extern bool objc_init(unsigned int, struct objc_libc *, FILE *, FILE *); Index: src/runtime/amiga-library.m ================================================================== --- src/runtime/amiga-library.m +++ src/runtime/amiga-library.m @@ -15,21 +15,21 @@ * file. */ #include "config.h" -#import "ObjFW_RT.h" +#import "ObjFWRT.h" #import "private.h" #include #include #include #include #define CONCAT_VERSION2(major, minor) #major "." #minor #define CONCAT_VERSION(major, minor) CONCAT_VERSION2(major, minor) -#define VERSION_STRING CONCAT_VERSION(OBJFW_RT_LIB_MAJOR, OBJFW_RT_LIB_MINOR) +#define VERSION_STRING CONCAT_VERSION(OBJFWRT_LIB_MAJOR, OBJFWRT_LIB_MINOR) #if defined(OF_AMIGAOS_M68K) # define DATA_OFFSET 0x7FFE #elif defined(OF_MORPHOS) # define DATA_OFFSET 0x8000 @@ -661,19 +661,19 @@ .rt_Flags = RTF_AUTOINIT #ifdef OF_MORPHOS | RTF_PPC | RTF_EXTENDED #endif , - .rt_Version = OBJFW_RT_LIB_MAJOR, + .rt_Version = OBJFWRT_LIB_MAJOR, .rt_Type = NT_LIBRARY, .rt_Pri = 0, - .rt_Name = (char *)OBJFW_RT_AMIGA_LIB, - .rt_IdString = (char *)"ObjFW_RT " VERSION_STRING + .rt_Name = (char *)OBJFWRT_AMIGA_LIB, + .rt_IdString = (char *)"ObjFWRT " VERSION_STRING " \xA9 2008-2019 Jonathan Schleifer", .rt_Init = &init_table, #ifdef OF_MORPHOS - .rt_Revision = OBJFW_RT_LIB_MINOR, + .rt_Revision = OBJFWRT_LIB_MINOR, .rt_Tags = NULL, #endif }; #ifdef OF_MORPHOS Index: src/runtime/amigaos3.sfd ================================================================== --- src/runtime/amigaos3.sfd +++ src/runtime/amigaos3.sfd @@ -1,8 +1,8 @@ ==base _ObjFWRTBase ==basetype struct Library * -==libname objfw_rt_0_68k.library +==libname objfwrt68k.library ==bias 30 ==public * Functions that are only for the linklib. bool objc_init(unsigned int version, struct objc_libc *libc, FILE *stdout, FILE *stderr)(d0,a0,a1,a2) * These have a built-in declaration in the compiler that does not use the Index: src/runtime/arc.m ================================================================== --- src/runtime/arc.m +++ src/runtime/arc.m @@ -15,11 +15,11 @@ * file. */ #include "config.h" -#import "ObjFW_RT.h" +#import "ObjFWRT.h" #import "private.h" #ifdef OF_HAVE_THREADS # import "threading.h" #endif Index: src/runtime/category.m ================================================================== --- src/runtime/category.m +++ src/runtime/category.m @@ -19,11 +19,11 @@ #include #include #include -#import "ObjFW_RT.h" +#import "ObjFWRT.h" #import "private.h" static struct objc_hashtable *categoriesMap = NULL; static void Index: src/runtime/class.m ================================================================== --- src/runtime/class.m +++ src/runtime/class.m @@ -20,11 +20,11 @@ #include #include #include #include -#import "ObjFW_RT.h" +#import "ObjFWRT.h" #import "private.h" static struct objc_hashtable *classes = NULL; static unsigned classesCount = 0; static Class *loadQueue = NULL; Index: src/runtime/dtable.m ================================================================== --- src/runtime/dtable.m +++ src/runtime/dtable.m @@ -18,11 +18,11 @@ #include "config.h" #include #include -#import "ObjFW_RT.h" +#import "ObjFWRT.h" #import "private.h" static struct objc_dtable_level2 *emptyLevel2 = NULL; #ifdef OF_SELUID24 static struct objc_dtable_level3 *emptyLevel3 = NULL; Index: src/runtime/exception.m ================================================================== --- src/runtime/exception.m +++ src/runtime/exception.m @@ -21,11 +21,11 @@ #include #include #include -#import "ObjFW_RT.h" +#import "ObjFWRT.h" #import "private.h" #import "macros.h" #ifdef OF_HAVE_THREADS # include "threading.h" Index: src/runtime/hashtable.m ================================================================== --- src/runtime/hashtable.m +++ src/runtime/hashtable.m @@ -21,11 +21,11 @@ #include #include #include #include -#import "ObjFW_RT.h" +#import "ObjFWRT.h" #import "private.h" struct objc_hashtable_bucket objc_deleted_bucket; uint32_t Index: src/runtime/init.m ================================================================== --- src/runtime/init.m +++ src/runtime/init.m @@ -15,11 +15,11 @@ * file. */ #include "config.h" -#import "ObjFW_RT.h" +#import "ObjFWRT.h" #import "private.h" void __objc_exec_class(void *module_) { Index: src/runtime/linklib/Makefile ================================================================== --- src/runtime/linklib/Makefile +++ src/runtime/linklib/Makefile @@ -1,12 +1,12 @@ include ../../../extra.mk -STATIC_LIB = libobjfw_rt.library.a +STATIC_LIB = libobjfwrt.library.a SRCS = linklib.m include ../../../buildsys.mk CPPFLAGS += -I.. -I../.. -I../../.. \ -DOBJC_COMPILING_AMIGA_LINKLIB \ - -DOBJFW_RT_AMIGA_LIB=\"${OBJFW_RT_AMIGA_LIB}\" \ - -DOBJFW_RT_LIB_MINOR=${OBJFW_RT_LIB_MINOR} + -DOBJFWRT_AMIGA_LIB=\"${OBJFWRT_AMIGA_LIB}\" \ + -DOBJFWRT_LIB_MINOR=${OBJFWRT_LIB_MINOR} LD = ${OBJC} Index: src/runtime/linklib/linklib.m ================================================================== --- src/runtime/linklib/linklib.m +++ src/runtime/linklib/linklib.m @@ -15,11 +15,11 @@ * file. */ #include "config.h" -#import "ObjFW_RT.h" +#import "ObjFWRT.h" #import "private.h" #import "macros.h" #include @@ -204,18 +204,18 @@ }; if (initialized) return; - if ((ObjFWRTBase = OpenLibrary(OBJFW_RT_AMIGA_LIB, - OBJFW_RT_LIB_MINOR)) == NULL) { - fputs("Failed to open " OBJFW_RT_AMIGA_LIB "!\n", stderr); + if ((ObjFWRTBase = OpenLibrary(OBJFWRT_AMIGA_LIB, + OBJFWRT_LIB_MINOR)) == NULL) { + fputs("Failed to open " OBJFWRT_AMIGA_LIB "!\n", stderr); abort(); } if (!objc_init(1, &libc, stdout, stderr)) { - fputs("Failed to initialize " OBJFW_RT_AMIGA_LIB "!\n", stderr); + fputs("Failed to initialize " OBJFWRT_AMIGA_LIB "!\n", stderr); abort(); } initialized = true; } Index: src/runtime/lookup.m ================================================================== --- src/runtime/lookup.m +++ src/runtime/lookup.m @@ -18,11 +18,11 @@ #include "config.h" #include #include -#import "ObjFW_RT.h" +#import "ObjFWRT.h" #import "private.h" #import "macros.h" static IMP forwardHandler = (IMP)0; static IMP stretForwardHandler = (IMP)0; Index: src/runtime/misc.m ================================================================== --- src/runtime/misc.m +++ src/runtime/misc.m @@ -18,11 +18,11 @@ #include "config.h" #include #include -#include "ObjFW_RT.h" +#include "ObjFWRT.h" #include "private.h" static objc_enumeration_mutation_handler_t enumerationMutationHandler = NULL; void Index: src/runtime/property.m ================================================================== --- src/runtime/property.m +++ src/runtime/property.m @@ -17,11 +17,11 @@ #include "config.h" #include -#import "ObjFW_RT.h" +#import "ObjFWRT.h" #import "private.h" #import "OFObject.h" #ifdef OF_HAVE_THREADS Index: src/runtime/protocol.m ================================================================== --- src/runtime/protocol.m +++ src/runtime/protocol.m @@ -17,11 +17,11 @@ #include "config.h" #include -#import "ObjFW_RT.h" +#import "ObjFWRT.h" #import "private.h" @implementation Protocol @end Index: src/runtime/selector.m ================================================================== --- src/runtime/selector.m +++ src/runtime/selector.m @@ -19,11 +19,11 @@ #include #include #include -#import "ObjFW_RT.h" +#import "ObjFWRT.h" #import "private.h" #import "macros.h" #ifdef OF_SELUID24 Index: src/runtime/sparsearray.m ================================================================== --- src/runtime/sparsearray.m +++ src/runtime/sparsearray.m @@ -18,11 +18,11 @@ #include "config.h" #include #include -#import "ObjFW_RT.h" +#import "ObjFWRT.h" #import "private.h" struct objc_sparsearray * objc_sparsearray_new(uint8_t indexSize) { Index: src/runtime/static-instances.m ================================================================== --- src/runtime/static-instances.m +++ src/runtime/static-instances.m @@ -18,11 +18,11 @@ #include "config.h" #include #include -#import "ObjFW_RT.h" +#import "ObjFWRT.h" #import "private.h" static struct objc_abi_static_instances **staticInstancesList = NULL; static size_t staticInstancesCount = 0; Index: src/runtime/synchronized.m ================================================================== --- src/runtime/synchronized.m +++ src/runtime/synchronized.m @@ -18,11 +18,11 @@ #include "config.h" #include #include -#import "ObjFW_RT.h" +#import "ObjFWRT.h" #import "private.h" #ifdef OF_HAVE_THREADS # import "threading.h" Index: src/runtime/threading.m ================================================================== --- src/runtime/threading.m +++ src/runtime/threading.m @@ -18,11 +18,11 @@ #include "config.h" #include #include -#import "ObjFW_RT.h" +#import "ObjFWRT.h" #import "private.h" #import "threading.h" static of_rmutex_t globalMutex; Index: tests/Makefile ================================================================== --- tests/Makefile +++ tests/Makefile @@ -76,14 +76,14 @@ .PHONY: run run-on-ios run-on-android run: rm -f libobjfw.so.${OBJFW_LIB_MAJOR} rm -f libobjfw.so.${OBJFW_LIB_MAJOR_MINOR} rm -f libobjfw.dll libobjfw.${OBJFW_LIB_MAJOR}.dylib - rm -f libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR} - rm -f libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR_MINOR} - rm -f libobjfw_rt.dll libobjfw_rt.${OBJFW_RT_LIB_MAJOR}.dylib - rm -f ${OBJFW_RT_AMIGA_LIB} + rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR} + rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR} + rm -f libobjfwrt.dll libobjfwrt.${OBJFWRT_LIB_MAJOR}.dylib + rm -f ${OBJFWRT_AMIGA_LIB} if test -f ../src/libobjfw.so; then \ ${LN_S} ../src/libobjfw.so libobjfw.so.${OBJFW_LIB_MAJOR}; \ ${LN_S} ../src/libobjfw.so \ libobjfw.so.${OBJFW_LIB_MAJOR_MINOR}; \ elif test -f ../src/libobjfw.so.${OBJFW_LIB_MAJOR_MINOR}; then \ @@ -95,28 +95,28 @@ fi if test -f ../src/libobjfw.dylib; then \ ${LN_S} ../src/libobjfw.dylib \ libobjfw.${OBJFW_LIB_MAJOR}.dylib; \ fi - if test -f ../src/runtime/libobjfw_rt.so; then \ - ${LN_S} ../src/runtime/libobjfw_rt.so \ - libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR}; \ - ${LN_S} ../src/runtime/libobjfw_rt.so \ - libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR_MINOR}; \ - elif test -f ../src/runtime/libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR_MINOR}; then \ - ${LN_S} ../src/runtime/libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR_MINOR} libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR_MINOR}; \ - fi - if test -f ../src/runtime/libobjfw_rt.dll; then \ - ${LN_S} ../src/runtime/libobjfw_rt.dll libobjfw_rt.dll; \ - fi - if test -f ../src/runtime/libobjfw_rt.dylib; then \ - ${LN_S} ../src/runtime/libobjfw_rt.dylib \ - libobjfw_rt.${OBJFW_RT_LIB_MAJOR}.dylib; \ - fi - if test -f ../src/runtime/${OBJFW_RT_AMIGA_LIB}; then \ - ${LN_S} ../src/runtime/${OBJFW_RT_AMIGA_LIB} \ - ${OBJFW_RT_AMIGA_LIB}; \ + if test -f ../src/runtime/libobjfwrt.so; then \ + ${LN_S} ../src/runtime/libobjfwrt.so \ + libobjfwrt.so.${OBJFWRT_LIB_MAJOR}; \ + ${LN_S} ../src/runtime/libobjfwrt.so \ + libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR}; \ + elif test -f ../src/runtime/libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR}; then \ + ${LN_S} ../src/runtime/libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR} libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR}; \ + fi + if test -f ../src/runtime/libobjfwrt.dll; then \ + ${LN_S} ../src/runtime/libobjfwrt.dll libobjfwrt.dll; \ + fi + if test -f ../src/runtime/libobjfwrt.dylib; then \ + ${LN_S} ../src/runtime/libobjfwrt.dylib \ + libobjfwrt.${OBJFWRT_LIB_MAJOR}.dylib; \ + fi + if test -f ../src/runtime/${OBJFWRT_AMIGA_LIB}; then \ + ${LN_S} ../src/runtime/${OBJFWRT_AMIGA_LIB} \ + ${OBJFWRT_AMIGA_LIB}; \ fi LD_LIBRARY_PATH=.$${LD_LIBRARY_PATH+:}$$LD_LIBRARY_PATH \ DYLD_FRAMEWORK_PATH=../src:../src/runtime$${DYLD_FRAMEWORK_PATH+:}$$DYLD_FRAMEWORK_PATH \ DYLD_LIBRARY_PATH=.$${DYLD_LIBRARY_PATH+:}$$DYLD_LIBRARY_PATH \ LIBRARY_PATH=.$${LIBRARY_PATH+:}$$LIBRARY_PATH \ @@ -123,13 +123,13 @@ ASAN_OPTIONS=allocator_may_return_null=1 \ ${WRAPPER} ./${PROG_NOINST}; EXIT=$$?; \ rm -f libobjfw.so.${OBJFW_LIB_MAJOR}; \ rm -f libobjfw.so.${OBJFW_LIB_MAJOR_MINOR} libobjfw.dll; \ rm -f libobjfw.${OBJFW_LIB_MAJOR}.dylib; \ - rm -f libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR}; \ - rm -f libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR_MINOR} libobjfw_rt.dll; \ - rm -f libobjfw_rt.${OBJFW_RT_LIB_MAJOR}.dylib; \ + rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR}; \ + rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR} libobjfwrt.dll; \ + rm -f libobjfwrt.${OBJFWRT_LIB_MAJOR}.dylib; \ exit $$EXIT run-on-ios: all if [ -z "${IOS_HOST}" ]; then \ echo "Please set IOS_HOST to the hostname of your iOS host!"; \ @@ -153,13 +153,13 @@ echo "Uploading files to Android device..." if test -f ../src/libobjfw.so; then \ adb push ../src/libobjfw.so \ /data/local/tmp/objfw/libobjfw.so.${OBJFW_LIB_MAJOR}; \ fi - if test -f ../src/runtime/libobjfw_rt.so; then \ - adb push ../src/runtime/libobjfw_rt.so \ - /data/local/tmp/objfw/libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR}; \ + if test -f ../src/runtime/libobjfwrt.so; then \ + adb push ../src/runtime/libobjfwrt.so \ + /data/local/tmp/objfw/libobjfwrt.so.${OBJFWRT_LIB_MAJOR}; \ fi adb push tests /data/local/tmp/objfw/tests adb push testfile.bin /data/local/tmp/objfw/testfile.bin adb push testfile.txt /data/local/tmp/objfw/testfile.txt adb push testfile.ini /data/local/tmp/objfw/testfile.ini @@ -178,11 +178,11 @@ pack-pbp $@ PARAM.SFO NULL NULL NULL NULL NULL ${PROG_NOINST} NULL boot.dol: ${PROG_NOINST} elf2dol ${PROG_NOINST} $@ -${PROG_NOINST}: ${LIBOBJFW_DEP} ${LIBOBJFW_RT_DEP} +${PROG_NOINST}: ${LIBOBJFW_DEP} ${LIBOBJFWRT_DEP} ${PROG_NOINST}.arm9: ${PROG_NOINST} arm-none-eabi-objcopy -O binary $< $@ ${PROG_NOINST}.nds: ${PROG_NOINST}.arm9 Index: tests/objc_sync/Makefile ================================================================== --- tests/objc_sync/Makefile +++ tests/objc_sync/Makefile @@ -10,13 +10,13 @@ .PHONY: run run: rm -f libobjfw.so.${OBJFW_LIB_MAJOR} rm -f libobjfw.so.${OBJFW_LIB_MAJOR_MINOR} rm -f libobjfw.dll libobjfw.${OBJFW_LIB_MAJOR}.dylib - rm -f libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR} - rm -f libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR_MINOR} - rm -f libobjfw_rt.dll libobjfw_rt.${OBJFW_RT_LIB_MAJOR}.dylib + rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR} + rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR} + rm -f libobjfwrt.dll libobjfwrt.${OBJFWRT_LIB_MAJOR}.dylib if test -f ../../src/libobjfw.so; then \ ${LN_S} ../../src/libobjfw.so libobjfw.so.${OBJFW_LIB_MAJOR}; \ ${LN_S} ../../src/libobjfw.so \ libobjfw.so.${OBJFW_LIB_MAJOR_MINOR}; \ elif test -f ../../src/libobjfw.so.${OBJFW_LIB_MAJOR_MINOR}; then \ @@ -28,35 +28,35 @@ fi if test -f ../../src/libobjfw.dylib; then \ ${LN_S} ../../src/libobjfw.dylib \ libobjfw.${OBJFW_LIB_MAJOR}.dylib; \ fi - if test -f ../../src/runtime/libobjfw_rt.so; then \ - ${LN_S} ../../src/runtime/libobjfw_rt.so \ - libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR}; \ - ${LN_S} ../../src/runtime/libobjfw_rt.so \ - libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR_MINOR}; \ - elif test -f ../../src/runtime/libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR_MINOR}; then \ - ${LN_S} ../../src/runtime/libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR_MINOR} libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR_MINOR}; \ - fi - if test -f ../../src/runtime/libobjfw_rt.dll; then \ - ${LN_S} ../../src/runtime/libobjfw_rt.dll libobjfw_rt.dll; \ - fi - if test -f ../../src/runtime/libobjfw_rt.dylib; then \ - ${LN_S} ../../src/runtime/libobjfw_rt.dylib \ - libobjfw_rt.${OBJFW_RT_LIB_MAJOR}.dylib; \ + if test -f ../../src/runtime/libobjfwrt.so; then \ + ${LN_S} ../../src/runtime/libobjfwrt.so \ + libobjfwrt.so.${OBJFWRT_LIB_MAJOR}; \ + ${LN_S} ../../src/runtime/libobjfwrt.so \ + libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR}; \ + elif test -f ../../src/runtime/libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR}; then \ + ${LN_S} ../../src/runtime/libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR} libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR}; \ + fi + if test -f ../../src/runtime/libobjfwrt.dll; then \ + ${LN_S} ../../src/runtime/libobjfwrt.dll libobjfwrt.dll; \ + fi + if test -f ../../src/runtime/libobjfwrt.dylib; then \ + ${LN_S} ../../src/runtime/libobjfwrt.dylib \ + libobjfwrt.${OBJFWRT_LIB_MAJOR}.dylib; \ fi LD_LIBRARY_PATH=.$${LD_LIBRARY_PATH+:}$$LD_LIBRARY_PATH \ DYLD_LIBRARY_PATH=.$${DYLD_LIBRARY_PATH+:}$$DYLD_LIBRARY_PATH \ LIBRARY_PATH=.$${LIBRARY_PATH+:}$$LIBRARY_PATH \ ${WRAPPER} ./${PROG_NOINST}; EXIT=$$?; \ rm -f libobjfw.so.${OBJFW_LIB_MAJOR}; \ rm -f libobjfw.so.${OBJFW_LIB_MAJOR_MINOR} libobjfw.dll; \ rm -f libobjfw.${OBJFW_LIB_MAJOR}.dylib; \ - rm -f libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR}; \ - rm -f libobjfw_rt.so.${OBJFW_RT_LIB_MAJOR_MINOR} libobjfw_rt.dll; \ - rm -f libobjfw_rt.${OBJFW_RT_LIB_MAJOR}.dylib; \ + rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR}; \ + rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR} libobjfwrt.dll; \ + rm -f libobjfwrt.${OBJFWRT_LIB_MAJOR}.dylib; \ exit $$EXIT CPPFLAGS += -I../../src/runtime -I../../src -I../.. LIBS := -L../../src -lobjfw ${LIBS} LD = ${OBJC} Index: utils/ofarc/Makefile ================================================================== --- utils/ofarc/Makefile +++ utils/ofarc/Makefile @@ -11,11 +11,11 @@ include ../../buildsys.mk PACKAGE_NAME = ofarc -${PROG}: ${LIBOBJFW_DEP_LVL2} ${LIBOBJFW_RT_DEP_LVL2} +${PROG}: ${LIBOBJFW_DEP_LVL2} ${LIBOBJFWRT_DEP_LVL2} CPPFLAGS += -I../../src \ -I../../src/runtime \ -I../../src/exceptions \ -I../.. \ Index: utils/ofdns/Makefile ================================================================== --- utils/ofdns/Makefile +++ utils/ofdns/Makefile @@ -5,11 +5,11 @@ include ../../buildsys.mk PACKAGE_NAME = ofdns -${PROG}: ${LIBOBJFW_DEP_LVL2} ${LIBOBJFW_RT_DEP_LVL2} +${PROG}: ${LIBOBJFW_DEP_LVL2} ${LIBOBJFWRT_DEP_LVL2} CPPFLAGS += -I../../src \ -I../../src/runtime \ -I../../src/exceptions \ -I../.. Index: utils/ofhash/Makefile ================================================================== --- utils/ofhash/Makefile +++ utils/ofhash/Makefile @@ -7,11 +7,11 @@ include ../../buildsys.mk PACKAGE_NAME = ofhash -${PROG}: ${LIBOBJFW_DEP_LVL2} ${LIBOBJFW_RT_DEP_LVL2} +${PROG}: ${LIBOBJFW_DEP_LVL2} ${LIBOBJFWRT_DEP_LVL2} CPPFLAGS += -I../../src \ -I../../src/runtime \ -I../../src/exceptions \ -I../.. \ Index: utils/ofhttp/Makefile ================================================================== --- utils/ofhttp/Makefile +++ utils/ofhttp/Makefile @@ -8,11 +8,11 @@ include ../../buildsys.mk PACKAGE_NAME = ofhttp -${PROG}: ${LIBOBJFW_DEP_LVL2} ${LIBOBJFW_RT_DEP_LVL2} +${PROG}: ${LIBOBJFW_DEP_LVL2} ${LIBOBJFWRT_DEP_LVL2} CPPFLAGS += -I../../src \ -I../../src/runtime \ -I../../src/exceptions \ -I../.. \