From: Michael Wetherell Date: Thu, 10 Aug 2006 13:38:23 +0000 (+0000) Subject: Add parameter to the --enable-universal_binary option for the path to the SDK. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/957685357920ac9bd95c8355d2776972235f562f Add parameter to the --enable-universal_binary option for the path to the SDK. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40549 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/acinclude.m4 b/acinclude.m4 index 4f4ecb9682..dcd3a5ecf7 100644 --- a/acinclude.m4 +++ b/acinclude.m4 @@ -415,6 +415,47 @@ AC_DEFUN([WX_ARG_ENABLE], ]) +dnl Like WX_ARG_ENABLE but accepts a parameter. +dnl +dnl Usage: +dnl WX_ARG_ENABLE_PARAM(option, helpmessage, variable-name, enablestring) +dnl +dnl Example: +dnl WX_ARG_ENABLE_PARAM(foo, [[ --enable-foo[=bar] use foo]], wxUSE_FOO) +dnl +dnl --enable-foo wxUSE_FOO=yes +dnl --disable-foo wxUSE_FOO=no +dnl --enable-foo=bar wxUSE_FOO=bar +dnl value from configarg.cache or wxUSE_FOO=no +dnl +AC_DEFUN([WX_ARG_ENABLE_PARAM], + [ + enablestring=$4 + AC_MSG_CHECKING([for --${enablestring:-enable}-$1]) + no_cache=0 + AC_ARG_ENABLE($1, [$2], + [ + wx_cv_use_$1="$3='$enableval'" + ], + [ + LINE=`grep "$3" ${wx_arg_cache_file}` + if test "x$LINE" != x ; then + eval "DEFAULT_$LINE" + wx_cv_use_$1='$3='$DEFAULT_$3 + else + no_cache=1 + wx_cv_use_$1="$3=no" + fi + ]) + + eval "$wx_cv_use_$1" + if test "$no_cache" != 1; then + echo $wx_cv_use_$1 >> ${wx_arg_cache_file}.tmp + fi + + AC_MSG_RESULT([$$3]) + ]) + dnl =========================================================================== dnl Linker features test dnl =========================================================================== diff --git a/configure b/configure index f0932740d1..c4d9216d37 100755 --- a/configure +++ b/configure @@ -889,7 +889,7 @@ Optional Features: --enable-no_exceptions create code without C++ exceptions handling --enable-permissive compile code disregarding strict ANSI --enable-no_deps create code without dependency information - --enable-universal_binary create Mac PowerPC and Intel Universal binary (not yet working) + --enable-universal_binary[=SDK] create Mac PowerPC and Intel Universal binary (not yet working) --enable-compat24 enable wxWidgets 2.4 compatibility --disable-compat26 disable wxWidgets 2.6 compatibility --disable-rpath disable use of rpath for uninstalled builds @@ -4260,7 +4260,7 @@ echo "${ECHO_T}no" >&6 fi - enablestring= + enablestring= echo "$as_me:$LINENO: checking for --${enablestring:-enable}-universal_binary" >&5 echo $ECHO_N "checking for --${enablestring:-enable}-universal_binary... $ECHO_C" >&6 no_cache=0 @@ -4268,37 +4268,28 @@ echo $ECHO_N "checking for --${enablestring:-enable}-universal_binary... $ECHO_C if test "${enable_universal_binary+set}" = set; then enableval="$enable_universal_binary" - if test "$enableval" = yes; then - ac_cv_use_universal_binary='wxUSE_UNIVERSAL_BINARY=yes' - else - ac_cv_use_universal_binary='wxUSE_UNIVERSAL_BINARY=no' - fi + wx_cv_use_universal_binary="wxUSE_UNIVERSAL_BINARY='$enableval'" else LINE=`grep "wxUSE_UNIVERSAL_BINARY" ${wx_arg_cache_file}` if test "x$LINE" != x ; then eval "DEFAULT_$LINE" + wx_cv_use_universal_binary='wxUSE_UNIVERSAL_BINARY='$DEFAULT_wxUSE_UNIVERSAL_BINARY else no_cache=1 + wx_cv_use_universal_binary="wxUSE_UNIVERSAL_BINARY=no" fi - ac_cv_use_universal_binary='wxUSE_UNIVERSAL_BINARY='$DEFAULT_wxUSE_UNIVERSAL_BINARY - fi; - eval "$ac_cv_use_universal_binary" + eval "$wx_cv_use_universal_binary" if test "$no_cache" != 1; then - echo $ac_cv_use_universal_binary >> ${wx_arg_cache_file}.tmp + echo $wx_cv_use_universal_binary >> ${wx_arg_cache_file}.tmp fi - if test "$wxUSE_UNIVERSAL_BINARY" = yes; then - echo "$as_me:$LINENO: result: yes" >&5 -echo "${ECHO_T}yes" >&6 - else - echo "$as_me:$LINENO: result: no" >&5 -echo "${ECHO_T}no" >&6 - fi + echo "$as_me:$LINENO: result: $wxUSE_UNIVERSAL_BINARY" >&5 +echo "${ECHO_T}$wxUSE_UNIVERSAL_BINARY" >&6 @@ -45686,15 +45677,20 @@ if test "$wxUSE_WINE" = "yes"; then fi if test "$wxUSE_MAC" = 1 ; then - if test "$wxUSE_UNIVERSAL_BINARY" = "yes" ; then - CXXFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $CXXFLAGS" - CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $CFLAGS" - LDFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $LDFLAGS" + if test "x$wxUSE_UNIVERSAL_BINARY" != xno ; then + if test "x$wxUSE_UNIVERSAL_BINARY" == xyes; then + OSX_UNIV_OPTS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk" + else + OSX_UNIV_OPTS=${wxUSE_UNIVERSAL_BINARY:+"-isysroot '$wxUSE_UNIVERSAL_BINARY'"} + fi + OSX_UNIV_OPTS="$OSX_UNIV_OPTS -arch ppc -arch i386" + CXXFLAGS="$OSX_UNIV_OPTS $CXXFLAGS" + CFLAGS="$OSX_UNIV_OPTS $CFLAGS" + LDFLAGS="$OSX_UNIV_OPTS $LDFLAGS" bk_use_pch=no fi # TODO: where do we add "-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" for libtool (static builds only)? # The makefile currently uses AR and RANLIB, which libtool apparently supercedes. - # TODO: how can we avoid a hardwired reference to the SDK, above? (Someone used -lSystemStubs to avoid it) fi @@ -48627,7 +48623,7 @@ echo "$as_me: error: Versions of Bakefile used to generate makefiles ($BAKEFILE_ if test "$wxUSE_MAC" = 1 ; then - if test "$wxUSE_UNIVERSAL_BINARY" = "yes" ; then + if test "x$wxUSE_UNIVERSAL_BINARY" != "xno" ; then sed "s/DEPSMODE=gcc/DEPSMODE=none/" < bk-deps > temp mv temp bk-deps chmod +x bk-deps diff --git a/configure.in b/configure.in index 4368d689c6..88a29df436 100644 --- a/configure.in +++ b/configure.in @@ -898,7 +898,7 @@ WX_ARG_ENABLE(no_rtti, [ --enable-no_rtti create code without RTTI WX_ARG_ENABLE(no_exceptions, [ --enable-no_exceptions create code without C++ exceptions handling], wxUSE_NO_EXCEPTIONS) WX_ARG_ENABLE(permissive, [ --enable-permissive compile code disregarding strict ANSI], wxUSE_PERMISSIVE) WX_ARG_ENABLE(no_deps, [ --enable-no_deps create code without dependency information], wxUSE_NO_DEPS) -WX_ARG_ENABLE(universal_binary, [ --enable-universal_binary create Mac PowerPC and Intel Universal binary (not yet working)], wxUSE_UNIVERSAL_BINARY) +WX_ARG_ENABLE_PARAM(universal_binary, [[ --enable-universal_binary[=SDK] create Mac PowerPC and Intel Universal binary (not yet working)]], wxUSE_UNIVERSAL_BINARY) WX_ARG_ENABLE(compat24, [ --enable-compat24 enable wxWidgets 2.4 compatibility], WXWIN_COMPATIBILITY_2_4, enable) WX_ARG_ENABLE(compat26, [ --disable-compat26 disable wxWidgets 2.6 compatibility], WXWIN_COMPATIBILITY_2_6, disable) @@ -7346,15 +7346,24 @@ dnl Note we don't do this earlier because adding these cpp/ld flags could dnl cause configure tests to fail. dnl --------------------------------------------------------------------------- if test "$wxUSE_MAC" = 1 ; then - if test "$wxUSE_UNIVERSAL_BINARY" = "yes" ; then - CXXFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $CXXFLAGS" - CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $CFLAGS" - LDFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 $LDFLAGS" + if test "x$wxUSE_UNIVERSAL_BINARY" != xno ; then + dnl --enable-universal_binary uses a default SDK (currently 10.4u) + dnl --enable-universal_binary=SDK names a path to an SDK + if test "x$wxUSE_UNIVERSAL_BINARY" == xyes; then + OSX_UNIV_OPTS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk" + else + dnl '' would mean universal with no SDK, which may be the case if + dnl the compiler uses a sysroot by default + OSX_UNIV_OPTS=${wxUSE_UNIVERSAL_BINARY:+"-isysroot '$wxUSE_UNIVERSAL_BINARY'"} + fi + OSX_UNIV_OPTS="$OSX_UNIV_OPTS -arch ppc -arch i386" + CXXFLAGS="$OSX_UNIV_OPTS $CXXFLAGS" + CFLAGS="$OSX_UNIV_OPTS $CFLAGS" + LDFLAGS="$OSX_UNIV_OPTS $LDFLAGS" bk_use_pch=no fi # TODO: where do we add "-syslibroot,/Developer/SDKs/MacOSX10.4u.sdk" for libtool (static builds only)? # The makefile currently uses AR and RANLIB, which libtool apparently supercedes. - # TODO: how can we avoid a hardwired reference to the SDK, above? (Someone used -lSystemStubs to avoid it) fi AC_BAKEFILE([m4_include(autoconf_inc.m4)]) @@ -7366,7 +7375,7 @@ dnl The next version of Bakefile will have the correct fix for this dnl at which time, this hack can be removed. if test "$wxUSE_MAC" = 1 ; then - if test "$wxUSE_UNIVERSAL_BINARY" = "yes" ; then + if test "x$wxUSE_UNIVERSAL_BINARY" != "xno" ; then sed "s/DEPSMODE=gcc/DEPSMODE=none/" < bk-deps > temp mv temp bk-deps chmod +x bk-deps diff --git a/docs/changes.txt b/docs/changes.txt index 8a82d7ded4..060487d33c 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -52,6 +52,11 @@ All (GUI): - Added wxID_PAGE_SETUP standard id +wxMac: + +- Add parameter to the --enable-universal_binary configure option for the path + to the SDK. + 2.7.0 -----