diff --git a/configure b/configure index 0590c09f4f2973f758e699960061337765524a5b..6528970cc2444ffc87667da53eb0466966c9d5f7 100755 --- a/configure +++ b/configure @@ -11552,6 +11552,7 @@ fi + for ac_func in \ @@ -11570,6 +11571,7 @@ for ac_func in \ ftruncate64 \ getnetbyaddr \ getnetbyname \ + getopt_long \ getpagesize \ getprotobyname \ getprotobynumber \ @@ -11743,6 +11745,7 @@ done + for ac_header in \ @@ -11752,6 +11755,7 @@ for ac_header in \ direct.h \ elf.h \ float.h \ + getopt.h \ ieeefp.h \ io.h \ libio.h \ diff --git a/configure.ac b/configure.ac index e9135cc265da1c16d9257fbe34253424b240adfa..f446767f854684cad4cafb13d4763caae9e96763 100644 --- a/configure.ac +++ b/configure.ac @@ -932,6 +932,7 @@ AC_CHECK_FUNCS(\ ftruncate64 \ getnetbyaddr \ getnetbyname \ + getopt_long \ getpagesize \ getprotobyname \ getprotobynumber \ @@ -980,6 +981,7 @@ AC_CHECK_HEADERS(\ 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 a0124e6b63a2ca3e9d3be09a6aa6eb30290b099b..6d03a8d2c663c97e16e581d1cefc1bd99de9960e 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 96e39a36988cfc77bb46b008fa28e7be75e59901..098eee4163c599ec0451c3076994f9778b760ab6 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 @@ int getopt (int argc, char *const *argv, const char *optstring); 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 @@ static struct option long_options[] = { { "version", 0, 0, 3 }, { 0, 0, 0, 0 } }; +#endif int main(int argc,char *argv[]) { @@ -327,7 +331,11 @@ int main(int argc,char *argv[]) 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) {