From 78730d4c71c08909d4c8f6f7de84d0148906040b Mon Sep 17 00:00:00 2001 From: bjarni Date: Sun, 27 Jul 2008 20:43:21 +0000 Subject: [PATCH] (svn r13852) -Fix (r13849): [OSX] fixed universal binary building without breaking anything this time --- config.lib | 42 +++++++++++++++++++++++++----------------- src/unix.cpp | 2 +- 2 files changed, 26 insertions(+), 18 deletions(-) diff --git a/config.lib b/config.lib index 32ba6565fd..b35c34d674 100644 --- a/config.lib +++ b/config.lib @@ -594,7 +594,6 @@ check_params() { detect_png detect_freetype detect_fontconfig - detect_iconv detect_pspconfig detect_libtimidity @@ -893,6 +892,10 @@ check_params() { 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 @@ make_cflags_and_ldflags() { 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 @@ check_lipo() { 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 @@ -2229,6 +2245,8 @@ detect_cputype() { } 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 @@ make_sed() { # 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" diff --git a/src/unix.cpp b/src/unix.cpp index 75dc25bd87..7fafd3d679 100644 --- a/src/unix.cpp +++ b/src/unix.cpp @@ -144,7 +144,7 @@ static const char *convert_tofrom_fs(iconv_t convd, const char *name) /* 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;