Build universal on OS X by default; add an option to disable that.
Instead of requiring the user to specify -arch options on OS X to build a universal version of libpcap, just default to universal on OS X by default. Pick the particular targets to match the way libpcap is built for the OS for which we're building.
This commit is contained in:
parent
814e55d448
commit
8416cc897b
|
@ -51,7 +51,6 @@ INCLS = -I. @V_INCLS@
|
|||
DEFS = @DEFS@ @V_DEFS@
|
||||
ADDLOBJS = @ADDLOBJS@
|
||||
ADDLARCHIVEOBJS = @ADDLARCHIVEOBJS@
|
||||
ARCHFLAGS = @ARCHFLAGS@
|
||||
LIBS = @LIBS@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
DYEXT = @DYEXT@
|
||||
|
@ -59,7 +58,7 @@ V_RPATH_OPT = @V_RPATH_OPT@
|
|||
PROG=libpcap
|
||||
|
||||
# Standard CFLAGS
|
||||
CFLAGS = $(CCOPT) $(ARCHFLAGS) $(INCLS) $(DEFS)
|
||||
CFLAGS = $(CCOPT) $(INCLS) $(DEFS)
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
|
@ -376,7 +375,7 @@ libpcap.dylib: $(OBJ)
|
|||
MAJOR_VER=A; \
|
||||
COMPAT_VER=1; \
|
||||
CURRENT_VER=`sed 's/[^0-9.].*$$//' $(srcdir)/VERSION`; \
|
||||
$(CC) $(ARCHFLAGS) -dynamiclib -undefined error $(LDFLAGS) \
|
||||
$(CC) -dynamiclib -undefined error $(LDFLAGS) \
|
||||
-o libpcap.$$VER.dylib $(OBJ) $(ADDLOBJS) $(LIBS) \
|
||||
-install_name $(libdir)/libpcap.$$MAJOR_VER.dylib \
|
||||
-compatibility_version $$COMPAT_VER \
|
||||
|
|
|
@ -671,7 +671,6 @@ CPPFLAGS
|
|||
ac_ct_CC
|
||||
EXEEXT
|
||||
OBJEXT
|
||||
ARCHFLAGS
|
||||
CPP
|
||||
GREP
|
||||
EGREP
|
||||
|
@ -1294,6 +1293,7 @@ Optional Features:
|
|||
getaddrinfo available]
|
||||
--enable-optimizer-dbg build optimizer debugging code
|
||||
--enable-yydebug build parser debugging code
|
||||
--disable-universal don't build universal
|
||||
--enable-bluetooth enable Bluetooth support [default=yes, if support
|
||||
available]
|
||||
--enable-can enable CAN support [default=yes, if support
|
||||
|
@ -1303,7 +1303,6 @@ 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-sita include SITA support
|
||||
--with-pcap=TYPE use packet capture TYPE
|
||||
--without-libnl disable libnl support [default=yes, on Linux, if
|
||||
|
@ -2907,21 +2906,6 @@ 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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -9557,6 +9541,29 @@ echo "${ECHO_T}yes" >&6; }
|
|||
darwin*)
|
||||
DYEXT="dylib"
|
||||
V_CCOPT="$V_CCOPT -fno-common"
|
||||
# Check whether --enable-universal was given.
|
||||
if test "${enable_universal+set}" = set; then
|
||||
enableval=$enable_universal;
|
||||
fi
|
||||
|
||||
if test "$enable_universal" != "no"; then
|
||||
case "$host_os" in
|
||||
|
||||
darwin10.3*)
|
||||
#
|
||||
# Snow Leopard. Build for x86-64, x86, and
|
||||
# PPC, with x86-64 first. (That's what Apple
|
||||
# does, even though Snow Leopard doesn't
|
||||
# run on PPC, so PPC libpcap runs under
|
||||
# Rosetta, and Rosetta doesn't support BPF
|
||||
# ioctls, so PPC programs can't do live
|
||||
# captures.
|
||||
#
|
||||
V_CCOPT="$V_CCOPT -arch x86_64 -arch i386 -arch ppc"
|
||||
LDFLAGS="$LDFLAGS -arch x86_64 -arch i386 -arch ppc"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
|
||||
hpux9*)
|
||||
|
@ -11425,7 +11432,6 @@ 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
|
||||
|
@ -11461,7 +11467,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` = 91; then
|
||||
if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 90; then
|
||||
break
|
||||
elif $ac_last_try; then
|
||||
{ { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
|
||||
|
|
42
configure.in
42
configure.in
|
@ -23,28 +23,6 @@ AC_CANONICAL_SYSTEM
|
|||
|
||||
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_SHLIBS_INIT
|
||||
AC_LBL_C_INLINE
|
||||
|
@ -1191,6 +1169,26 @@ aix*)
|
|||
darwin*)
|
||||
DYEXT="dylib"
|
||||
V_CCOPT="$V_CCOPT -fno-common"
|
||||
AC_ARG_ENABLE(universal,
|
||||
AC_HELP_STRING([--disable-universal],[don't build universal]))
|
||||
if test "$enable_universal" != "no"; then
|
||||
case "$host_os" in
|
||||
|
||||
darwin10.3*)
|
||||
#
|
||||
# Snow Leopard. Build for x86-64, x86, and
|
||||
# PPC, with x86-64 first. (That's what Apple
|
||||
# does, even though Snow Leopard doesn't
|
||||
# run on PPC, so PPC libpcap runs under
|
||||
# Rosetta, and Rosetta doesn't support BPF
|
||||
# ioctls, so PPC programs can't do live
|
||||
# captures.
|
||||
#
|
||||
V_CCOPT="$V_CCOPT -arch x86_64 -arch i386 -arch ppc"
|
||||
LDFLAGS="$LDFLAGS -arch x86_64 -arch i386 -arch ppc"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
;;
|
||||
|
||||
hpux9*)
|
||||
|
|
Reference in New Issue