aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2006-02-15 19:20:36 +0000
committerGuy Harris <guy@alum.mit.edu>2006-02-15 19:20:36 +0000
commit3442ed9e325921c56935c08254f428673650a509 (patch)
tree1c1d556e61c5e36588a51342d5469102336e3aa1
parent1ee7aa4476b30e99bd137394907a968bf5669479 (diff)
Check for getopt in the configure script, as we do for other routines
not available on all platforms. Include getopt.c in EXTRA_ethereal_SOURCES and include getopt.h in EXTRA_ethereal_INCLUDES, as we do with the other files that supply routines not available on all platforms, rather than always including them in the source for dumpcap. svn path=/trunk/; revision=17311
-rw-r--r--Makefile.am4
-rw-r--r--Makefile.common8
-rw-r--r--configure.in13
3 files changed, 18 insertions, 7 deletions
diff --git a/Makefile.am b/Makefile.am
index d984a1058d..47030c2751 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -268,7 +268,7 @@ endif # HAVE_PLUGINS
# we should probably split this into stuff needed both
# by ethereal and tethereal and stuff needed only by one or the
# other.
-ethereal_optional_objects = @SNPRINTF_O@ @STRERROR_O@ \
+ethereal_optional_objects = @GETOPT_O@ @SNPRINTF_O@ @STRERROR_O@ \
@STRCASECMP_O@ @STRNCASECMP_O@ @MKSTEMP_O@ @STRPTIME_O@
# Additional libs that I know how to build. These will be
@@ -565,8 +565,6 @@ EXTRA_DIST = \
ethereal_be.py \
ethereal_gen.py \
ethereal.desktop \
- getopt.c \
- getopt.h \
idl2eth.sh \
image/Ethereal.icns \
image/Makefile.nmake \
diff --git a/Makefile.common b/Makefile.common
index de033c0bd5..1af16d7413 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -116,19 +116,21 @@ TETHEREAL_TAP_SRC = \
# helpers already available on some platforms (and on others not)
EXTRA_ethereal_SOURCES = \
+ getopt.c \
+ mkstemp.c \
snprintf.c \
strerror.c \
strcasecmp.c \
strncasecmp.c \
- mkstemp.c \
strptime.c
# corresponding headers
EXTRA_ethereal_INCLUDES = \
+ getopt.h \
+ mkstemp.h \
snprintf.h \
snprintf-imp.h \
strerror.h \
- mkstemp.h \
strptime.h
# ethereal specifics
@@ -218,7 +220,6 @@ dumpcap_SOURCES = \
clopts_common.c \
conditions.c \
dumpcap.c \
- getopt.c \
ringbuffer.c \
tempfile.c \
version_info.c
@@ -229,4 +230,3 @@ noinst_HEADERS = \
$(ETHEREAL_COMMON_INCLUDES) \
$(ethereal_INCLUDES) \
$(EXTRA_ethereal_INCLUDES)
-
diff --git a/configure.in b/configure.in
index 4ad5e2ad8c..b435430ae5 100644
--- a/configure.in
+++ b/configure.in
@@ -1033,6 +1033,19 @@ AC_C_BIGENDIAN
# XXX - do we need this?
AC_PROG_GCC_TRADITIONAL
+GETOPT_C=""
+GETOPT_O=""
+AC_CHECK_FUNC(getopt, GETOPT_O="",
+ [GETOPT_O="getopt.o"
+ AC_DEFINE(NEED_GETOPT_H, 1, [Define if getopt.h needs to be included])
+])
+if test "$ac_cv_func_getopt" = no ; then
+ GETOPT_C="getopt.c"
+ GETOPT_O="getopt.o"
+fi
+AC_SUBST(GETOPT_C)
+AC_SUBST(GETOPT_O)
+
# If there's a system out there that has snprintf and _doesn't_ have vsnprintf,
# then this won't work.
SNPRINTF_C=""