changeset 9727:75c2985630f8 draft

(svn r13852) -Fix (r13849): [OSX] fixed universal binary building without breaking anything this time
author bjarni <bjarni@openttd.org>
date Sun, 27 Jul 2008 20:43:21 +0000
parents 06221034cf54
children e3d8ea8e7db4
files config.lib src/unix.cpp
diffstat 2 files changed, 26 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/config.lib
+++ b/config.lib
@@ -594,7 +594,6 @@
 	detect_png
 	detect_freetype
 	detect_fontconfig
-	detect_iconv
 	detect_pspconfig
 	detect_libtimidity
 
@@ -893,6 +892,10 @@
 		fi
 	fi
 
+	# "set_universal_binary_flags" needs to be before "detect_iconv"
+	set_universal_binary_flags
+	detect_iconv
+
 	if [ -n "$personal_dir" ]
 	then
 		log 1 "personal home directory... $personal_dir"
@@ -1284,11 +1287,6 @@
 		CFLAGS="$CFLAGS -mtune=970 -mcpu=970 -mpowerpc-gpopt"
 	fi
 
-	if [ "$with_osx_sysroot" != "0" ] && [ "$with_osx_sysroot" != "3" ]; then
-		CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX$with_osx_sysroot.sdk"
-		LDFLAGS="$LDFLAGS -Wl,-syslibroot,/Developer/SDKs/MacOSX$with_osx_sysroot.sdk -mmacosx-version-min=10.4"
-	fi
-
 	if [ -n "$personal_dir" ]; then
 		CFLAGS="$CFLAGS -DWITH_PERSONAL_DIR -DPERSONAL_DIR=\\\\\"$personal_dir\\\\\""
 	fi
@@ -1505,6 +1503,24 @@
 	fi
 }
 
+set_universal_binary_flags() {
+    if [ -n "osx_target_version" ]; then
+		# if we don't speficy a target version then we presume 10.4
+		osx_target_version=10.4
+	fi
+
+	if [ "$osx_target_version" = "10.4" ]; then
+		osx_sysroot_version=10.4u
+	else
+		osx_sysroot_version="$osx_target_version"
+	fi
+
+	if [ "$with_osx_sysroot" = "3" ]; then
+		CFLAGS="$CFLAGS -isysroot /Developer/SDKs/MacOSX$osx_sysroot_version.sdk -mmacosx-version-min=$osx_target_version"
+		LDFLAGS="$LDFLAGS -Wl,-syslibroot,/Developer/SDKs/MacOSX$osx_sysroot_version.sdk -mmacosx-version-min=$osx_target_version"
+	fi
+}
+
 check_direct_music() {
 	echo "
 		#include <windows.h>
@@ -2229,6 +2245,8 @@
 }
 
 make_sed() {
+	T_CFLAGS="$CFLAGS"
+
 	# We check here if we are PPC, because then we need to enable FOUR_BYTE_BOOL
 	#  We do this here, and not sooner, so universal builds also have this
 	#  automatically correct
@@ -2237,17 +2255,7 @@
 	#  bytes too, but only for PPC.
 	ppc=`$cc_host -dumpmachine | egrep "powerpc|ppc"`
 	if [ -n "$ppc" ]; then
-		T_CFLAGS="$CFLAGS -DFOUR_BYTE_BOOL"
-		osx_sysroot_version=10.4u
-	else
-		T_CFLAGS="$CFLAGS"
-		osx_sysroot_version=10.4u
-	fi
-
-	T_LDFLAGS="$LDFLAGS"
-	if [ "$with_osx_sysroot" = "3" ]; then
-		T_CFLAGS="$T_CFLAGS -isysroot /Developer/SDKs/MacOSX$osx_sysroot_version.sdk"
-		T_LDFLAGS="$T_LDFLAGS -Wl,-syslibroot,/Developer/SDKs/MacOSX$osx_sysroot_version.sdk -mmacosx-version-min=10.4"
+		T_CFLAGS="$T_CFLAGS -DFOUR_BYTE_BOOL"
 	fi
 
 	SRC_OBJS_DIR="$BASE_SRC_OBJS_DIR/$OBJS_SUBDIR"
--- a/src/unix.cpp
+++ b/src/unix.cpp
@@ -144,7 +144,7 @@
 	/* Work around buggy iconv implementation where inbuf is wrongly typed as
 	 * non-const. Correct implementation is at
 	 * http://www.opengroup.org/onlinepubs/007908799/xsh/iconv.html */
-#if defined(HAVE_BROKEN_ICONV) && !defined(__APPLE__)
+#ifdef HAVE_BROKEN_ICONV
 	char *inbuf = (char*)name;
 #else
 	const char *inbuf = name;