ObjFW  Diff

Differences From Artifact [ddd2b4c359]:

To Artifact [38175aae93]:


149
150
151
152
153
154
155

156
157
158
159
160
161
162
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163







+







*)
	potential_compilers="clang egcc gcc"
	;;
esac
AC_PROG_OBJC($potential_compilers)
AC_PROG_OBJCPP
AC_PROG_EGREP
AC_PROG_AWK
AC_PROG_LN_S

BUILDSYS_CHECK_IOS

AC_ARG_WITH(wii,
	AS_HELP_STRING([--with-wii], [build for Wii]))
AS_IF([test x"$with_wii" = x"yes"], [
594
595
596
597
598
599
600
601
602
603

604
605
606
607


608
609
610
611


612
613
614
615
616
617
618
619
595
596
597
598
599
600
601



602




603
604




605
606

607
608
609
610
611
612
613







-
-
-
+
-
-
-
-
+
+
-
-
-
-
+
+
-







			@try {
				foo();
			} @finally {
				foo();
			}
		])
	], [
		AS_IF([tr -dc "[[:print:]]" <conftest.$ac_objext | \
		    $EGREP __gnu_objc_personality_v0 >/dev/null], [
			exception_type="DWARF"
		exception_type="$($AWK '
		])
		AS_IF([tr -dc "[[:print:]]" <conftest.$ac_objext | \
		    $EGREP __gnu_objc_personality_sj0 >/dev/null], [
			exception_type="SjLj"
		    /__gnu_objc_personality_v0/ { print "DWARF" }
		    /__gnu_objc_personality_sj0/ { print "SjLj" }
		])
		AS_IF([tr -dc "[[:print:]]" <conftest.$ac_objext | \
		    $EGREP __gnu_objc_personality_seh0 >/dev/null], [
			exception_type="SEH"
		    /__gnu_objc_personality_seh0/ { print "SEH" }' \
		    conftest.$ac_objext)"
		])

		case "$exception_type" in
		DWARF)
			AC_DEFINE(HAVE_DWARF_EXCEPTIONS, 1,
				[Whether DWARF exceptions are used])
			raise_exception="_Unwind_RaiseException"
			;;
807
808
809
810
811
812
813
814
815
816
817
818
819
820


821
822




823
824

825

826
827
828
829



830
831


832
833
834
835
836
837
838
801
802
803
804
805
806
807

808
809
810
811
812
813
814
815


816
817
818
819
820
821
822

823




824
825
826


827
828
829
830
831
832
833
834
835







-






+
+
-
-
+
+
+
+


+
-
+
-
-
-
-
+
+
+
-
-
+
+







AC_CHECK_SIZEOF(float)
AC_CHECK_SIZEOF(double)
AS_IF([test x"$ac_cv_sizeof_float" != x"4" -o x"$ac_cv_sizeof_double" != x"8"],
	[AC_MSG_ERROR(
		[Floating point implementation does not conform to IEEE 754!])])

AC_MSG_CHECKING(for floating point endianess)
fp_endianess="unknown"
AS_IF([test x"$ac_cv_c_bigendian" != x"universal"], [
	AC_COMPILE_IFELSE([
		AC_LANG_SOURCE([
			double endianess = 2.993700760838795055656993580068609688772747263874402942272934826871811872228512759832626847251963763755836687759498519784550143745834860002945223766052808125982053455555265216112722718870586961456110693379343178124592311441022662940307099598578775368547768968914916965731708568179631324904813506101190853720749196062963892799499230635163056742330563321122389331703618066046034494287335316842529021563862331183541255013987734473643350285400060357711238514186776429325214739886098119655678483017894951556639821088508565036657794343031121375178126860889964700274558728491825977274341798997758923017217660272136611938897932105874133412726223468780517578125e-259;
		])
	], [
		fp_endianess="$($AWK '
		    /BigEnd/ { print "big endian" }
		AS_IF([tr -dc "[[:print:]]" <conftest.$ac_objext | \
		    $EGREP BigEnd >/dev/null], [
		    /dnEgiB/ { print "little endian" }' conftest.$ac_objext)"

		case "$fp_endianess" in
		"big endian")
			AC_DEFINE(OF_FLOAT_BIG_ENDIAN, 1,
				[Whether floats are big endian])
			;;
			fp_endianess="big endian"
		"little endian")
		], [
			AS_IF([tr -dc "[[:print:]]" <conftest.$ac_objext | \
			    $EGREP dnEgiB >/dev/null], [
				fp_endianess="little endian"
			;;
		*)
			fp_endianess="unknown";
			])
		])
			;;
		esac
	])
], [
	fp_endianess="universal"
])
AC_MSG_RESULT($fp_endianess)
AS_IF([test x"$fp_endianess" = x"unknown"], [
	AC_MSG_ERROR(