]> The Tcpdump Group git mirrors - tcpdump/commitdiff
Add a --with-arch-flags configuration option to specify target architectures.
authorGuy Harris <[email protected]>
Thu, 1 Apr 2010 00:24:33 +0000 (17:24 -0700)
committerGuy Harris <[email protected]>
Thu, 1 Apr 2010 00:24:33 +0000 (17:24 -0700)
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.

Makefile.in
configure
configure.in

index 08b9ebf2f8ae155bf0e58402e50cc13ffa9c77e8..a0286f85da46106550462d6d87b9f356fe533257 100644 (file)
@@ -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@
index 7c4f545364cb39976a52aa0a76d11afec96a4d07..f62a08b1f102f1b7fe40c684ccd11459d3bd1e49 100755 (executable)
--- 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
index 1c1b63a7969da8339aa943fe96762e4da6f4e7e3..6445738ee6b6bac193eca01c964f0fa18c81ef54 100644 (file)
@@ -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__