bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: autoconf enhancement for Interix


From: Bruno Haible
Subject: Re: autoconf enhancement for Interix
Date: Thu, 13 Sep 2007 01:23:25 +0200
User-agent: KMail/1.5.4

Eric Blake wrote:
> >   m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.62]),[-1],
> >     [AC_REQUIRE([AC_GNU_SOURCE])],
> >     [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])])
> 
> Why not the simpler:
> 
> m4_ifndef([AC_USE_SYSTEM_EXTENSIONS],
>           [AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], [AC_GNU_SOURCE])])

After verifying that AC_USE_SYSTEM_EXTENSIONS subsumed AC_GNU_SOURCE from
the beginning, this is as good. Indeed, no need to use m4_PACKAGE_VERSION
in this case.

> ***************
> *** 35,41 ****
>     AC_BEFORE([$0], [gl_ARGP])dnl
>   
>     AC_REQUIRE([AC_CANONICAL_HOST])
> !   AC_REQUIRE([AC_GNU_SOURCE]) dnl needed for pthread_rwlock_t on glibc 
> systems
>     dnl Check for multithreading.
>     AC_ARG_ENABLE(threads,
>   AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify 
> multithreading API])
> --- 35,41 ----
>     AC_BEFORE([$0], [gl_ARGP])dnl
>   
>     AC_REQUIRE([AC_CANONICAL_HOST])
> !   AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl needed for pthread_rwlock_t on 
> glibc systems
>     dnl Check for multithreading.
>     AC_ARG_ENABLE(threads,
>   AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify 
> multithreading API])
> ***************
> *** 257,262 ****
> --- 257,270 ----
>     AC_REQUIRE([AC_C_INLINE])
>   ])
>   
> + # AC_USE_SYSTEM_EXTENSIONS was only added in autoconf 2.60, but lock.m4
> + # wants to work with autoconf 2.54.  Add a fallback until such time as
> + # a newer autoconf is standard, if one is not already provided by gnulib
> + # extensions.m4.
> + m4_if(m4_version_compare(m4_PACKAGE_VERSION, [2.60]), [-1],
> +       [m4_ifndef([AC_USE_SYSTEM_EXTENSIONS],
> +                  [AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], [AC_GNU_SOURCE])])])
> + 
>   dnl Survey of platforms:
>   dnl
>   dnl Platform          Available   Compiler    Supports   test-lock

This is more fragile than a simple 'ifdef'. I don't want gettext's lock.m4
to compete with gnulib's extensions.m4 - otherwise it means that in some
circumstances, gnulib's extensions.m4 will not work. Changing it like this:


2007-09-12  Bruno Haible  <address@hidden>

        * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
        (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
        is not defined.

--- m4/lock.m4  12 Sep 2007 15:59:57 -0000      1.10
+++ m4/lock.m4  12 Sep 2007 23:22:42 -0000
@@ -1,4 +1,4 @@
-# lock.m4 serial 7 (gettext-0.16)
+# lock.m4 serial 7 (gettext-0.16.2)
 dnl Copyright (C) 2005-2007 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -35,7 +35,12 @@
   AC_BEFORE([$0], [gl_ARGP])dnl
 
   AC_REQUIRE([AC_CANONICAL_HOST])
-  AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS]) dnl needed for pthread_rwlock_t on 
glibc systems
+  dnl _GNU_SOURCE is needed for pthread_rwlock_t on glibc systems.
+  dnl AC_USE_SYSTEM_EXTENSIONS was introduced in autoconf 2.60 and obsoletes
+  dnl AC_GNU_SOURCE.
+  m4_ifdef([AC_USE_SYSTEM_EXTENSIONS],
+    [AC_REQUIRE([AC_USE_SYSTEM_EXTENSIONS])],
+    [AC_REQUIRE([AC_GNU_SOURCE])])
   dnl Check for multithreading.
   AC_ARG_ENABLE(threads,
 AC_HELP_STRING([--enable-threads={posix|solaris|pth|win32}], [specify 
multithreading API])
@@ -257,14 +262,6 @@
   AC_REQUIRE([AC_C_INLINE])
 ])
 
-# AC_USE_SYSTEM_EXTENSIONS was only added in autoconf 2.60, but lock.m4
-# wants to work with autoconf 2.54.  Add a fallback until such time as
-# a newer autoconf is standard, if one is not already provided by gnulib
-# extensions.m4.
-m4_if(m4_version_compare(m4_PACKAGE_VERSION, [2.60]), [-1],
-      [m4_ifndef([AC_USE_SYSTEM_EXTENSIONS],
-                 [AC_DEFUN([AC_USE_SYSTEM_EXTENSIONS], [AC_GNU_SOURCE])])])
-
 dnl Survey of platforms:
 dnl
 dnl Platform          Available   Compiler    Supports   test-lock





reply via email to

[Prev in Thread] Current Thread [Next in Thread]