From b8d582b51ab6f7221d3f0d7da93a5aee5dd85b3c Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Wed, 12 Aug 2009 17:25:09 +0200 Subject: [PATCH] Ensure that getopt() gets declared by . --- ChangeLog | 10 ++++++++++ lib/unistd.in.h | 5 +++++ m4/getopt.m4 | 9 +++++++-- m4/unistd_h.m4 | 1 + modules/unistd | 1 + 5 files changed, 24 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index fccd8abf90..1f797cc1b7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2009-08-12 Bruno Haible + + Ensure that getopt() gets declared by . + * lib/unistd.in.h: Conditionally include getopt.h. + * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS. + Set GNULIB_UNISTD_H_GETOPT. + * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize + GNULIB_UNISTD_H_GETOPT. + * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT. + 2009-08-12 Bruno Haible Clarify logic. diff --git a/lib/unistd.in.h b/lib/unistd.in.h index 28d52e5a40..5cad6c8ad9 100644 --- a/lib/unistd.in.h +++ b/lib/unistd.in.h @@ -43,6 +43,11 @@ # include #endif +/* Get getopt(), optarg, optind, opterr, optopt. */ +#if @GNULIB_UNISTD_H_GETOPT@ +# include +#endif + #if @GNULIB_GETHOSTNAME@ /* Get all possible declarations of gethostname(). */ # if @UNISTD_H_HAVE_WINSOCK2_H@ diff --git a/m4/getopt.m4 b/m4/getopt.m4 index 52478ece45..66164c7abd 100644 --- a/m4/getopt.m4 +++ b/m4/getopt.m4 @@ -1,4 +1,4 @@ -# getopt.m4 serial 16 +# getopt.m4 serial 17 dnl Copyright (C) 2002-2006, 2008-2009 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -10,9 +10,14 @@ dnl with or without modifications, as long as this notice is preserved. AC_DEFUN([gl_GETOPT_SUBSTITUTE], [ + AC_REQUIRE([gl_UNISTD_H_DEFAULTS]) + dnl Arrange for getopt.h to be created. + gl_GETOPT_SUBSTITUTE_HEADER + dnl Arrange for unistd.h to include getopt.h. + GNULIB_UNISTD_H_GETOPT=1 + dnl Arrange to compile the getopt implementation. AC_LIBOBJ([getopt]) AC_LIBOBJ([getopt1]) - gl_GETOPT_SUBSTITUTE_HEADER gl_PREREQ_GETOPT ]) diff --git a/m4/unistd_h.m4 b/m4/unistd_h.m4 index 16c40e5390..d7a89e1302 100644 --- a/m4/unistd_h.m4 +++ b/m4/unistd_h.m4 @@ -52,6 +52,7 @@ AC_DEFUN([gl_UNISTD_H_DEFAULTS], GNULIB_LSEEK=0; AC_SUBST([GNULIB_LSEEK]) GNULIB_READLINK=0; AC_SUBST([GNULIB_READLINK]) GNULIB_SLEEP=0; AC_SUBST([GNULIB_SLEEP]) + GNULIB_UNISTD_H_GETOPT=0; AC_SUBST([GNULIB_UNISTD_H_GETOPT]) GNULIB_UNISTD_H_SIGPIPE=0; AC_SUBST([GNULIB_UNISTD_H_SIGPIPE]) GNULIB_WRITE=0; AC_SUBST([GNULIB_WRITE]) dnl Assume proper GNU behavior unless another module says otherwise. diff --git a/modules/unistd b/modules/unistd index 0091a1218b..06f77c5d34 100644 --- a/modules/unistd +++ b/modules/unistd @@ -44,6 +44,7 @@ unistd.h: unistd.in.h -e 's|@''GNULIB_LSEEK''@|$(GNULIB_LSEEK)|g' \ -e 's|@''GNULIB_READLINK''@|$(GNULIB_READLINK)|g' \ -e 's|@''GNULIB_SLEEP''@|$(GNULIB_SLEEP)|g' \ + -e 's|@''GNULIB_UNISTD_H_GETOPT''@|$(GNULIB_UNISTD_H_GETOPT)|g' \ -e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|$(GNULIB_UNISTD_H_SIGPIPE)|g' \ -e 's|@''GNULIB_WRITE''@|$(GNULIB_WRITE)|g' \ -e 's|@''HAVE_DUP2''@|$(HAVE_DUP2)|g' \ -- 2.30.2