diff options
author | João Valverde <joao.valverde@tecnico.ulisboa.pt> | 2017-10-15 12:16:46 +0100 |
---|---|---|
committer | João Valverde <j@v6e.pt> | 2017-10-16 18:38:20 +0000 |
commit | dbbaa41362647569c0087c212e908c2ac570cbb7 (patch) | |
tree | 4b0bed513820de7967caaff48c04d8206349ab23 /m4 | |
parent | 0d6c5a79eb75e10f1d13b160c18a32c0bf57a2d7 (diff) | |
download | wireshark-dbbaa41362647569c0087c212e908c2ac570cbb7.tar.gz wireshark-dbbaa41362647569c0087c212e908c2ac570cbb7.tar.bz2 wireshark-dbbaa41362647569c0087c212e908c2ac570cbb7.zip |
autotools: remove some macOS specific build options
This treats macOS/OSX like any other Unix-like build target, thus removing
autotools support for macOS-specific build options.
Anyone needing that is advised to use the fully-supported-on-macOS CMake
build.
Change-Id: I631464a90e16e3db89538801c741657a0a4a7451
Reviewed-on: https://code.wireshark.org/review/23911
Reviewed-by: Gerald Combs <gerald@wireshark.org>
Petri-Dish: Michael Mann <mmann78@netscape.net>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: João Valverde <j@v6e.pt>
Diffstat (limited to 'm4')
-rw-r--r-- | m4/ws_osx.m4 | 360 | ||||
-rw-r--r-- | m4/ws_osx_integration_check.m4 | 81 |
2 files changed, 81 insertions, 360 deletions
diff --git a/m4/ws_osx.m4 b/m4/ws_osx.m4 deleted file mode 100644 index 0e19b22616..0000000000 --- a/m4/ws_osx.m4 +++ /dev/null @@ -1,360 +0,0 @@ -# -# Autoconf script for Wireshark -# - -# -# AC_WIRESHARK_OSX_DEPLOY_TARGET -# -# Checks for macOS deployment target and selects version. -# -AC_DEFUN([AC_WIRESHARK_OSX_DEPLOY_TARGET], -[dnl -AC_ARG_ENABLE(osx-deploy-target, - AC_HELP_STRING( [--enable-osx-deploy-target], - [choose a macOS deployment target @<:@default=major release on which you're building@:>@]), -[ - # - # Is this macOS? - # - case "$host_os" in - darwin*) - # - # Yes. - # - # Let the user specify an macOS release to use as a - # deplayment target; if they specify that we should - # have a deployment target but don't specify the - # deployment target, then, if we have SDKs available, - # pick the OS version on which the build is being done. - # This also causes the build to be done against an SDK - # rather than against the headers and libraries in - # /usr/include and /usr/lib. - # - # Check for an macOS deployment target early, so that - # as many tests using the compiler are done using the - # flags that we'll be using when building. - # - if test $enableval = no - then - # - # The user explicitly said - # --disable-osx-deploy-target, so don't build - # against an SDK. - # - deploy_target= - elif test $enableval = yes - then - # - # The user said --enable-osx-deploy-target, but - # didn't say what version to target; target the - # major version number of the version of macOS on - # which we're running. - # - # (We quote the command so that we can use - # autoconf's M4 quoting characters, [ and ], in - # the sed expression.) - # - [deploy_target=`sw_vers -productVersion | sed 's/\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.[0-9]*/\1.\2/'`] - else - deploy_target="$enableval" - fi - ;; - - *) - # - # No. Fail, because whatever the user intended for us to - # do, we can't do it. - # - AC_MSG_ERROR([--enable-osx-deploy-target specified on an OS other than macOS]) - ;; - esac -],[ - # - # Is this macOS? - # - case "$host_os" in - darwin*) - # - # Yes. - # - # If we have SDKs available, default to targeting the major - # version number of the version of macOS on which we're - # running. - # - # (We quote the command so that we can use autoconf's - # M4 quoting characters, [ and ], in the sed expression.) - # - for i in /Developer/SDKs \ - /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs \ - /Library/Developer/CommandLineTools/SDKs - do - if test -d "$i" - then - [deploy_target=`sw_vers -productVersion | sed 's/\([0-9][0-9]*\)\.\([0-9][0-9]*\)\.[0-9]*/\1.\2/'`] - break - fi - done - ;; - - *) - # - # No. There's nothing to do. - # - ;; - esac -]) - -if test ! -z "$deploy_target" -then - # - # Avoid anachronisms. - # - case $deploy_target in - - 10.0|10.1|10.2|10.3|10.4|10.5|10.6|10.7) - osname="Mac OS X" - ;; - - 10.8|10.9|10.10|10.11) - osname="OS X" - ;; - - *) - osname="macOS" - ;; - esac - AC_MSG_CHECKING([whether we can build for $osname $deploy_target]) - case $deploy_target in - - 10.0|10.1|10.2) - # - # I'm not sure this would even work. - # - AC_MSG_RESULT(no) - AC_MSG_ERROR([We don't support building for Mac OS X $deploy_target]) - ;; - - 10.3) - # - # XXX - never tested. - # - AC_MSG_RESULT(yes) - SDKPATH="/Developer/SDKs/MacOSX10.3.9.sdk" - ;; - - *) - # - # Look for the oldest SDK we can find that's - # for an OS equal to or later than this one. - # - # XXX - for 10.4, do we need 10.4u? We're - # not currently doing fat builds (we'd need - # fat versions of the support libraries for - # that to be useful), but, if we do, we'd - # need to use 10.4u. - # - - # - # Get the real version - strip off the "10.". - # - deploy_real_version=`echo "$deploy_target" | sed -n 's/10\.\(.*\)/\1/p'` - - # - # Search each directory that might contain SDKs. - # - sdkpath="" - for sdksdir in /Developer/SDKs \ - /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs \ - /Library/Developer/CommandLineTools/SDKs - do - # - # Get a list of all the SDKs. - # - if ! test -d "$sdksdir" - then - # - # There is no directory with that name. - # Move on to the next one in the list, - # if any. - # - continue - fi - - # - # Get a list of all the SDKs in that directory, - # if any. - # - # We have to use @<:@ for [ and @:>@ for ] to - # avoid m4 removing the square brackets. - # - sdklist=`(cd "$sdksdir"; ls -d MacOSX10.@<:@0-9@:>@*.sdk 2>/dev/null)` - - for sdk in $sdklist - do - # - # Get the real version for this SDK. - # - sdk_real_version=`echo "$sdk" | sed -n 's/MacOSX10\.\(.*\)\.sdk/\1/p'` - - # - # Is it for the deployment target or - # some later release? - # - if test "$sdk_real_version" -ge "$deploy_real_version" - then - # - # Yes, use it. - # - sdkpath="$sdksdir/$sdk" - break 2 - fi - done - done - if test -z "$sdkpath" - then - AC_MSG_RESULT(no) - AC_MSG_ERROR([We couldn't find an SDK for $osname $deploy_target or later]) - fi - SDKPATH="$sdkpath" - AC_MSG_RESULT([yes, with the 10.$sdk_real_version SDK]) - ;; - esac - - # - # Add a -mmacosx-version-min flag to force tests that - # use the compiler, as well as the build itself, not to, - # for example, use compiler or linker features not supported - # by the minimum targeted version of the OS. - # - # Add an -isysroot flag to use the SDK. - # - WS_CFLAGS="-mmacosx-version-min=$deploy_target -isysroot $SDKPATH $WS_CFLAGS" - WS_CXXFLAGS="-mmacosx-version-min=$deploy_target -isysroot $SDKPATH $WS_CXXFLAGS" - WS_LDFLAGS="-mmacosx-version-min=$deploy_target -isysroot $SDKPATH $WS_LDFLAGS" - - # - # XXX - do we need this to build the Wireshark wrapper? - # XXX - is this still necessary with the -mmacosx-version-min - # flag being set? - # - OSX_DEPLOY_TARGET="MACOSX_DEPLOYMENT_TARGET=$deploy_target" - - # - # In the installer package XML file, give the deployment target - # as the minimum version. - # - OSX_MIN_VERSION="$deploy_target" - - case $deploy_target in - - 10.4|10.5) - # - # Only 32-bit builds are supported. 10.5 - # (and 10.4?) had a bug that causes some BPF - # functions not to work with 64-bit userland - # code, so capturing won't work. - # - WS_CFLAGS="-m32 $WS_CFLAGS" - WS_CXXFLAGS="-m32 $WS_CXXFLAGS" - WS_LDFLAGS="-m32 $WS_LDFLAGS" - ;; - esac -else - # - # Is this macOS? - # - case "$host_os" in - darwin*) - # - # Yes. - # - # In the installer package XML file, give the current OS - # version, minor version and all, as the minimum version. - # We can't guarantee that the resulting binary will work - # on older OS versions, not even older minor versions - # (original release or earlier software updates). - # - OSX_MIN_VERSION=`sw_vers -productVersion` - ;; - esac -fi -AC_SUBST(OSX_MIN_VERSION) -]) - -# -# AC_WIRESHARK_OSX_INTEGRATION_CHECK -# -# Checks for the presence of macOS integration functions in the GTK+ framework -# or as a separate library. -# -# GTK+ for macOS now lives on www.gtk.org at: -# -# http://www.gtk.org/download/macos.php -# -# Details on building with GTK-OSX are available at: -# -# http://live.gnome.org/GTK%2B/OSX/Building -# -# The GTK-OSX library has been renamed to gtkmacintegration. -# It was previously named igemacintegration. -# -# http://live.gnome.org/GTK%2B/OSX/Integration -# for the old Carbon-based integration functions -# -AC_DEFUN([AC_WIRESHARK_OSX_INTEGRATION_CHECK], -[dnl - AC_WIRESHARK_PUSH_FLAGS - ac_save_LIBS="$LIBS" - CFLAGS="$CFLAGS $GTK_CFLAGS" - LIBS="$GTK_LIBS $LIBS" - - # - # Check for the new integration functions in a -lgtkmacintegration - # library. - # - AC_CHECK_LIB(gtkmacintegration, gtkosx_application_set_menu_bar, - [ - AC_DEFINE(HAVE_GTKOSXAPPLICATION, 1, - [Define to 1 if -lgtkmacintegration includes the GtkOSXApplication Integration functions.]) - have_ige_mac=yes - # We don't want gtk stuff in LIBS (which is reset below) so - # manually set GTK_LIBS (which is more appropriate) - GTK_LIBS="$GTK_LIBS -lgtkmacintegration" - ]) - - if test x$have_ige_mac = x - then - # - # Not found - check for the old integration functions in - # the Gtk framework. - # - AC_CHECK_LIB(Gtk, gtk_mac_menu_set_menu_bar, - [ - AC_DEFINE(HAVE_IGE_MAC_INTEGRATION, 1, - [Define to 1 if the the Gtk+ framework or a separate library includes the Imendio IGE macOS Integration functions.]) - have_ige_mac=yes - # We don't want gtk stuff in LIBS (which is reset below) so - # manually set GTK_LIBS (which is more appropriate) - GTK_LIBS="$GTK_LIBS -lGtk" - ]) - fi - - if test x$have_ige_mac = x - then - # - # Not found - check for the old integration functions in - # a -lgtkmacintegration library. - # - AC_CHECK_LIB(gtkmacintegration, gtk_mac_menu_set_menu_bar, - [ - AC_DEFINE(HAVE_IGE_MAC_INTEGRATION, 1, - [Define to 1 if the the Gtk+ framework or a separate library includes the Imendio IGE macOS Integration functions.]) - have_ige_mac=yes - # We don't want gtk stuff in LIBS (which is reset below) so - # manually set GTK_LIBS (which is more appropriate) - GTK_LIBS="$GTK_LIBS -lgtkmacintegration" - ]) - fi - LIBS="$ac_save_LIBS" - AC_WIRESHARK_POP_FLAGS -]) diff --git a/m4/ws_osx_integration_check.m4 b/m4/ws_osx_integration_check.m4 new file mode 100644 index 0000000000..8c72538650 --- /dev/null +++ b/m4/ws_osx_integration_check.m4 @@ -0,0 +1,81 @@ +# +# Autoconf script for Wireshark +# + +# +# AC_WIRESHARK_OSX_INTEGRATION_CHECK +# +# Checks for the presence of macOS integration functions in the GTK+ framework +# or as a separate library. +# +# GTK+ for macOS now lives on www.gtk.org at: +# +# http://www.gtk.org/download/macos.php +# +# Details on building with GTK-OSX are available at: +# +# http://live.gnome.org/GTK%2B/OSX/Building +# +# The GTK-OSX library has been renamed to gtkmacintegration. +# It was previously named igemacintegration. +# +# http://live.gnome.org/GTK%2B/OSX/Integration +# for the old Carbon-based integration functions +# +AC_DEFUN([AC_WIRESHARK_OSX_INTEGRATION_CHECK], +[dnl + AC_WIRESHARK_PUSH_FLAGS + ac_save_LIBS="$LIBS" + CFLAGS="$CFLAGS $GTK_CFLAGS" + LIBS="$GTK_LIBS $LIBS" + + # + # Check for the new integration functions in a -lgtkmacintegration + # library. + # + AC_CHECK_LIB(gtkmacintegration, gtkosx_application_set_menu_bar, + [ + AC_DEFINE(HAVE_GTKOSXAPPLICATION, 1, + [Define to 1 if -lgtkmacintegration includes the GtkOSXApplication Integration functions.]) + have_ige_mac=yes + # We don't want gtk stuff in LIBS (which is reset below) so + # manually set GTK_LIBS (which is more appropriate) + GTK_LIBS="$GTK_LIBS -lgtkmacintegration" + ]) + + if test x$have_ige_mac = x + then + # + # Not found - check for the old integration functions in + # the Gtk framework. + # + AC_CHECK_LIB(Gtk, gtk_mac_menu_set_menu_bar, + [ + AC_DEFINE(HAVE_IGE_MAC_INTEGRATION, 1, + [Define to 1 if the the Gtk+ framework or a separate library includes the Imendio IGE macOS Integration functions.]) + have_ige_mac=yes + # We don't want gtk stuff in LIBS (which is reset below) so + # manually set GTK_LIBS (which is more appropriate) + GTK_LIBS="$GTK_LIBS -lGtk" + ]) + fi + + if test x$have_ige_mac = x + then + # + # Not found - check for the old integration functions in + # a -lgtkmacintegration library. + # + AC_CHECK_LIB(gtkmacintegration, gtk_mac_menu_set_menu_bar, + [ + AC_DEFINE(HAVE_IGE_MAC_INTEGRATION, 1, + [Define to 1 if the the Gtk+ framework or a separate library includes the Imendio IGE macOS Integration functions.]) + have_ige_mac=yes + # We don't want gtk stuff in LIBS (which is reset below) so + # manually set GTK_LIBS (which is more appropriate) + GTK_LIBS="$GTK_LIBS -lgtkmacintegration" + ]) + fi + LIBS="$ac_save_LIBS" + AC_WIRESHARK_POP_FLAGS +]) |