From: Guy Harris Date: Thu, 1 Apr 2010 00:24:33 +0000 (-0700) Subject: Add a --with-arch-flags configuration option to specify target architectures. X-Git-Tag: tcpdump-4.2.1~126^2 X-Git-Url: https://git.tcpdump.org/tcpdump/commitdiff_plain/f7b185510a84ddc889afd4db12fafaaea293381d Add a --with-arch-flags configuration option to specify target architectures. They allow the user to specify flags to indicate the target architecture(s) (yes, possibly plural - think, for example, Mac OS X) for which we're building. Those might need to be used not only when compiling, but also when linking and when building a shared library. This is not for general cross-compiling, it's for use on platforms where versions of the native OS support more than one instruction set and where you want to build for the OS on which you're running but not for the default build architecture on the machine on which you're running. This may currently be less useful for tcpdump, as tcpdump currently builds no libraries, but it's there for compatibility with libpcap. --- diff --git a/Makefile.in b/Makefile.in index 08b9ebf2..a0286f85 100644 --- a/Makefile.in +++ b/Makefile.in @@ -44,9 +44,10 @@ PROG = tcpdump CCOPT = @V_CCOPT@ INCLS = -I. @V_INCLS@ DEFS = @DEFS@ @CPPFLAGS@ @V_DEFS@ +ARCHFLAGS = @ARCHFLAGS@ # Standard CFLAGS -CFLAGS = $(CCOPT) $(DEFS) $(INCLS) +CFLAGS = $(CCOPT) $(ARCHFLAGS) $(DEFS) $(INCLS) # Standard LDFLAGS LDFLAGS = @LDFLAGS@ diff --git a/configure b/configure index 7c4f5453..f62a08b1 100755 --- a/configure +++ b/configure @@ -667,6 +667,7 @@ CPPFLAGS ac_ct_CC EXEEXT OBJEXT +ARCHFLAGS CPP GREP EGREP @@ -1276,6 +1277,7 @@ Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --without-gcc don't use gcc + --with-arch-flags=FLAGS Use FLAGS to specify the target architecture(s) --with-smi link with libsmi (allows to load MIBs on the fly to decode SNMP packets. default=yes --without-smi don't link with libsmi --with-user=USERNAME drop privileges by default to USERNAME @@ -2824,6 +2826,21 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu +# Check whether --with-arch-flags was given. +if test "${with_arch_flags+set}" = set; then + withval=$with_arch_flags; + if test "$withval" = "yes" + then + { { echo "$as_me:$LINENO: error: No flags specified for --with-arch-flags" >&5 +echo "$as_me: error: No flags specified for --with-arch-flags" >&2;} + { (exit 1); exit 1; }; } + fi + ARCHFLAGS="$withval" + + +fi + + @@ -14882,6 +14899,7 @@ CPPFLAGS!$CPPFLAGS$ac_delim ac_ct_CC!$ac_ct_CC$ac_delim EXEEXT!$EXEEXT$ac_delim OBJEXT!$OBJEXT$ac_delim +ARCHFLAGS!$ARCHFLAGS$ac_delim CPP!$CPP$ac_delim GREP!$GREP$ac_delim EGREP!$EGREP$ac_delim @@ -14902,7 +14920,7 @@ INSTALL_DATA!$INSTALL_DATA$ac_delim LTLIBOBJS!$LTLIBOBJS$ac_delim _ACEOF - if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 71; then + if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 72; then break elif $ac_last_try; then { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5 diff --git a/configure.in b/configure.in index 1c1b63a7..6445738e 100644 --- a/configure.in +++ b/configure.in @@ -23,6 +23,28 @@ AC_CANONICAL_HOST AC_LBL_C_INIT_BEFORE_CC(V_CCOPT, V_INCLS) AC_PROG_CC +dnl +dnl Allow the user to specify flags to indicate the target architecture(s) +dnl (yes, possibly plural - think, for example, Mac OS X) for which we're +dnl building. Those might need to be used not only when compiling, but +dnl also when linking and when building a shared library. +dnl +dnl This is not for general cross-compiling, it's for use on platforms +dnl where versions of the native OS support more than one instruction +dnl set and where you want to build for the OS on which you're running +dnl but not for the default build architecture on the machine on which +dnl you're running. +dnl +AC_ARG_WITH(arch-flags, + AC_HELP_STRING([--with-arch-flags=FLAGS],[Use FLAGS to specify the target architecture(s)]), + [ + if test "$withval" = "yes" + then + AC_MSG_ERROR(No flags specified for --with-arch-flags) + fi + ARCHFLAGS="$withval" + AC_SUBST(ARCHFLAGS) + ]) AC_LBL_C_INIT(V_CCOPT, V_INCLS) AC_LBL_C_INLINE AC_C___ATTRIBUTE__