Gracefully degrade to getopt if getopt_long does not exist.
diff --git a/configure b/configure
index 0590c09..6528970 100755
--- a/configure
+++ b/configure
@@ -11554,6 +11554,7 @@
+
for ac_func in \
_lwp_create \
_pclose \
@@ -11570,6 +11571,7 @@
ftruncate64 \
getnetbyaddr \
getnetbyname \
+ getopt_long \
getpagesize \
getprotobyname \
getprotobynumber \
@@ -11745,6 +11747,7 @@
+
for ac_header in \
arpa/inet.h \
arpa/nameser.h \
@@ -11752,6 +11755,7 @@
direct.h \
elf.h \
float.h \
+ getopt.h \
ieeefp.h \
io.h \
libio.h \
diff --git a/configure.ac b/configure.ac
index e9135cc..f446767 100644
--- a/configure.ac
+++ b/configure.ac
@@ -932,6 +932,7 @@
ftruncate64 \
getnetbyaddr \
getnetbyname \
+ getopt_long \
getpagesize \
getprotobyname \
getprotobynumber \
@@ -980,6 +981,7 @@
direct.h \
elf.h \
float.h \
+ getopt.h \
ieeefp.h \
io.h \
libio.h \
diff --git a/include/config.h.in b/include/config.h.in
index a0124e6..6d03a8d 100644
--- a/include/config.h.in
+++ b/include/config.h.in
@@ -134,6 +134,12 @@
/* Define to 1 if you have the `getnetbyname' function. */
#undef HAVE_GETNETBYNAME
+/* Define to 1 if you have the <getopt.h> header file. */
+#undef HAVE_GETOPT_H
+
+/* Define to 1 if you have the `getopt_long' function. */
+#undef HAVE_GETOPT_LONG
+
/* Define to 1 if you have the `getpagesize' function. */
#undef HAVE_GETPAGESIZE
diff --git a/tools/wrc/wrc.c b/tools/wrc/wrc.c
index 96e39a3..098eee4 100644
--- a/tools/wrc/wrc.c
+++ b/tools/wrc/wrc.c
@@ -59,7 +59,9 @@
#include <assert.h>
#include <ctype.h>
#include <signal.h>
-#include <getopt.h>
+#ifdef HAVE_GETOPT_H
+# include <getopt.h>
+#endif
#include "wrc.h"
#include "utils.h"
@@ -284,6 +286,7 @@
static void rm_tempfile(void);
static void segvhandler(int sig);
+#ifdef HAVE_GETOPT_LONG
static struct option long_options[] = {
{ "input", 1, 0, 'i' },
{ "output", 1, 0, 'o' },
@@ -297,6 +300,7 @@
{ "version", 0, 0, 3 },
{ 0, 0, 0, 0 }
};
+#endif
int main(int argc,char *argv[])
{
@@ -327,7 +331,11 @@
strcat(cmdline, " ");
}
+#ifdef HAVE_GETOPT_LONG
while((optc = getopt_long(argc, argv, "a:AbB:cC:d:D:eEF:ghH:i:I:l:LmnNo:O:p:rstTVw:W", long_options, &opti)) != EOF)
+#else
+ while((optc = getopt(argc, argv, "a:AbB:cC:d:D:eEF:ghH:i:I:l:LmnNo:O:p:rstTVw:W")) != EOF)
+#endif
{
switch(optc)
{