ObjFW  Diff

Differences From Artifact [1674316f0b]:

To Artifact [7b78df7df0]:


54
55
56
57
58
59
60
61
62


63
64
65
66
67
68
69
54
55
56
57
58
59
60


61
62
63
64
65
66
67
68
69







-
-
+
+







		enable_threads="no"
		enable_sockets="no"
		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.
			AC_SUBST(AMIGA_LIB_CFLAGS,
				"-mcpu=68020 -fbaserel -ffreestanding")
84
85
86
87
88
89
90
91
92
93


94
95
96
97
98
99
100
84
85
86
87
88
89
90



91
92
93
94
95
96
97
98
99







-
-
-
+
+







			OBJFW_OBJCFLAGS="$OBJFW_OBJCFLAGS -noixemul"
			LDFLAGS="$LDFLAGS -noixemul"
			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"
				AC_SUBST(AMIGA_LIB_LDFLAGS, $t)
			])
510
511
512
513
514
515
516
517
518


519
520
521
522

523
524
525
526
527


528
529
530
531

532
533
534
535



536
537

538
539
540
541
542
543
544



545
546
547
548
549
550
551
509
510
511
512
513
514
515


516
517
518
519
520

521
522
523
524


525
526
527
528
529

530
531



532
533
534
535

536
537
538
539
540



541
542
543
544
545
546
547
548
549
550







-
-
+
+



-
+



-
-
+
+



-
+

-
-
-
+
+
+

-
+




-
-
-
+
+
+







			AC_MSG_RESULT(no)
			old_compiler="yes"
		])

		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])
		])

646
647
648
649
650
651
652
653

654
655

656
657
658
659
660
661
662
645
646
647
648
649
650
651

652
653

654
655
656
657
658
659
660
661







-
+

-
+







		AS_IF([test x"$objc_runtime" = x"ObjFW runtime"], [
			AS_IF([test x"$exception_type" = x"DWARF"], [
				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)

		AS_IF([test x"$host_is_ios" = x"yes"], [
			AC_SUBST(TESTS_STATIC_LIB, tests.a)
1431
1432
1433
1434
1435
1436
1437
1438
1439


1440
1441
1442
1443

1444
1445
1446
1447


1448
1449
1450
1451
1452
1453
1454
1430
1431
1432
1433
1434
1435
1436


1437
1438
1439
1440
1441

1442
1443
1444


1445
1446
1447
1448
1449
1450
1451
1452
1453







-
-
+
+



-
+


-
-
+
+








AS_IF([test x"$objc_runtime" = x"Apple runtime"], [
	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,
dnl which in old glibc versions uses __block. This is worked around in the code
dnl by providing a wrapper for unistd.h which takes care of this.