bug-gnulib
[Top][All Lists]
Advanced

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

Re: havelib module: '+' in library names


From: Bruno Haible
Subject: Re: havelib module: '+' in library names
Date: Sat, 5 Jun 2010 03:46:21 +0200
User-agent: KMail/1.9.9

Eric Blake wrote:
> we might as well fix poor quoting and use preferred macro spellings:
> 
> m4_pushdef([Name],m4_translit([[$1]],[./-+], [____]))
> m4_pushdef([NAME],m4_translit([[$1]],[abcdefghijklmnopqrstuvwxyz./-+],
>                               [ABCDEFGHIJKLMNOPQRSTUVWXYZ____]))

OK for m4_translit. Done through the attached patch.

Regarding the quoting: Each change requires explicit testing:
  1. determine the maximum number of brackets that yields a working configure,
  2. try to add   m4_define([foo], [undesired substitution])
     and see whether the expansion is picked up or not.
As it's low priority, I'm not doing it now. But I'll keep the technique in mind.

Bruno


2010-06-04  Bruno Haible  <address@hidden>

        Prefer documented low-level autoconf macro names.
        * m4/lib-link.m4: Use m4_translit instead of translit.
        * m4/environ.m4: Likewise.
        * m4/mathfunc.m4: Likewise.
        * m4/onceonly.m4: Likewise.
        * m4/stdint.m4: Likewise.
        Suggested by Eric Blake.

--- m4/environ.m4.orig  Sat Jun  5 03:38:17 2010
+++ m4/environ.m4       Sat Jun  5 03:36:21 2010
@@ -1,4 +1,4 @@
-# environ.m4 serial 3
+# environ.m4 serial 4
 dnl Copyright (C) 2001-2004, 2006-2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -29,7 +29,7 @@
       gt_cv_var=yes)])
   AC_MSG_RESULT([$gt_cv_var])
   if test $gt_cv_var = yes; then
-    AC_DEFINE([HAVE_]translit($2, [a-z], [A-Z])[_DECL], 1,
+    AC_DEFINE([HAVE_]m4_translit($2, [a-z], [A-Z])[_DECL], 1,
               [Define if you have the declaration of $2.])
   fi
   undefine([gt_cv_var])
--- m4/lib-link.m4.orig Sat Jun  5 03:38:17 2010
+++ m4/lib-link.m4      Sat Jun  5 03:34:17 2010
@@ -1,4 +1,4 @@
-# lib-link.m4 serial 22 (gettext-0.18.2)
+# lib-link.m4 serial 23 (gettext-0.18.2)
 dnl Copyright (C) 2001-2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -18,9 +18,9 @@
 [
   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
   AC_REQUIRE([AC_LIB_RPATH])
-  pushdef([Name],[translit([$1],[./+-], [____])])
-  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
-                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  pushdef([Name],[m4_translit([$1],[./+-], [____])])
+  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
   AC_CACHE_CHECK([how to link with lib[]$1], [ac_cv_lib[]Name[]_libs], [
     AC_LIB_LINKFLAGS_BODY([$1], [$2])
     ac_cv_lib[]Name[]_libs="$LIB[]NAME"
@@ -58,9 +58,9 @@
 [
   AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
   AC_REQUIRE([AC_LIB_RPATH])
-  pushdef([Name],[translit([$1],[./+-], [____])])
-  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
-                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  pushdef([Name],[m4_translit([$1],[./+-], [____])])
+  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
 
   dnl Search for lib[]Name and define LIB[]NAME, LTLIB[]NAME and INC[]NAME
   dnl accordingly.
@@ -157,13 +157,13 @@
 dnl macro call that searches for libname.
 AC_DEFUN([AC_LIB_FROMPACKAGE],
 [
-  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
-                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
   define([acl_frompackage_]NAME, [$2])
   popdef([NAME])
   pushdef([PACK],[$2])
-  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
-                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+                                     [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
   define([acl_libsinpackage_]PACKUP,
     m4_ifdef([acl_libsinpackage_]PACKUP, [acl_libsinpackage_]PACKUP[[, 
]],)[lib$1])
   popdef([PACKUP])
@@ -178,14 +178,14 @@
 AC_DEFUN([AC_LIB_LINKFLAGS_BODY],
 [
   AC_REQUIRE([AC_LIB_PREPARE_MULTILIB])
-  pushdef([NAME],[translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
-                                [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  pushdef([NAME],[m4_translit([$1],[abcdefghijklmnopqrstuvwxyz./+-],
+                                   [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
   pushdef([PACK],[m4_ifdef([acl_frompackage_]NAME, [acl_frompackage_]NAME, 
lib[$1])])
-  pushdef([PACKUP],[translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
-                                  [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
+  pushdef([PACKUP],[m4_translit(PACK,[abcdefghijklmnopqrstuvwxyz./+-],
+                                     [ABCDEFGHIJKLMNOPQRSTUVWXYZ____])])
   pushdef([PACKLIBS],[m4_ifdef([acl_frompackage_]NAME, 
[acl_libsinpackage_]PACKUP, lib[$1])])
   dnl Autoconf >= 2.61 supports dots in --with options.
-  
pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[translit(PACK,[.],[_])],PACK)])
+  
pushdef([P_A_C_K],[m4_if(m4_version_compare(m4_defn([m4_PACKAGE_VERSION]),[2.61]),[-1],[m4_translit(PACK,[.],[_])],PACK)])
   dnl By default, look in $includedir and $libdir.
   use_additional=yes
   AC_LIB_WITH_FINAL_PREFIX([
--- m4/mathfunc.m4.orig Sat Jun  5 03:38:17 2010
+++ m4/mathfunc.m4      Sat Jun  5 03:37:24 2010
@@ -1,4 +1,4 @@
-# mathfunc.m4 serial 3
+# mathfunc.m4 serial 4
 dnl Copyright (C) 2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -17,8 +17,8 @@
   dnl are inlined by the compiler, therefore linking of these calls does not
   dnl require -lm, but taking the function pointer of 'fabs' does.
   m4_pushdef([func], [$1])
-  m4_pushdef([FUNC], [translit([$1],[abcdefghijklmnopqrstuvwxyz],
-                                    [ABCDEFGHIJKLMNOPQRSTUVWXYZ])])
+  m4_pushdef([FUNC], [m4_translit([$1],[abcdefghijklmnopqrstuvwxyz],
+                                       [ABCDEFGHIJKLMNOPQRSTUVWXYZ])])
   FUNC[]_LIBM=
   AC_CACHE_CHECK([whether func() can be used without linking with libm],
     [gl_cv_func_]func[_no_libm],
@@ -71,8 +71,8 @@
 AC_DEFUN([gl_COMMON_DOUBLE_MATHFUNC],
 [
   AC_REQUIRE([gl_COMMON_DOUBLE_MATHFUNC_TEST])
-  m4_pushdef([FUNC], [translit([$1],[abcdefghijklmnopqrstuvwxyz],
-                                    [ABCDEFGHIJKLMNOPQRSTUVWXYZ])])
+  m4_pushdef([FUNC], [m4_translit([$1],[abcdefghijklmnopqrstuvwxyz],
+                                       [ABCDEFGHIJKLMNOPQRSTUVWXYZ])])
   FUNC[]_LIBM="$POW_LIBM"
   AC_SUBST(FUNC[_LIBM])
   m4_popdef([FUNC])
--- m4/onceonly.m4.orig Sat Jun  5 03:38:17 2010
+++ m4/onceonly.m4      Sat Jun  5 03:37:03 2010
@@ -1,4 +1,4 @@
-# onceonly.m4 serial 6
+# onceonly.m4 serial 7
 dnl Copyright (C) 2002-2003, 2005-2006, 2008-2010 Free Software Foundation,
 dnl Inc.
 dnl This file is free software, distributed under the terms of the GNU
@@ -39,16 +39,16 @@
 AC_DEFUN([AC_CHECK_HEADERS_ONCE], [
   :
   m4_foreach_w([gl_HEADER_NAME], [$1], [
-    AC_DEFUN([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME,
-                                                 [./-], [___])), [
+    AC_DEFUN([gl_CHECK_HEADER_]m4_quote(m4_translit(gl_HEADER_NAME,
+                                                    [./-], [___])), [
       m4_divert_text([INIT_PREPARE],
         [gl_header_list="$gl_header_list gl_HEADER_NAME"])
       gl_HEADERS_EXPANSION
       AH_TEMPLATE(AS_TR_CPP([HAVE_]m4_defn([gl_HEADER_NAME])),
         [Define to 1 if you have the <]m4_defn([gl_HEADER_NAME])[> header 
file.])
     ])
-    AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(translit(gl_HEADER_NAME,
-                                                   [./-], [___])))
+    AC_REQUIRE([gl_CHECK_HEADER_]m4_quote(m4_translit(gl_HEADER_NAME,
+                                                      [./-], [___])))
   ])
 ])
 m4_define([gl_HEADERS_EXPANSION], [
--- m4/stdint.m4.orig   Sat Jun  5 03:38:17 2010
+++ m4/stdint.m4        Sat Jun  5 03:35:10 2010
@@ -1,4 +1,4 @@
-# stdint.m4 serial 34
+# stdint.m4 serial 35
 dnl Copyright (C) 2001-2010 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -309,7 +309,7 @@
   dnl   config.h.in,
   dnl - extra AC_SUBST calls, so that the right substitutions are made.
   m4_foreach_w([gltype], [$1],
-    [AH_TEMPLATE([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz 
],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]),
+    [AH_TEMPLATE([BITSIZEOF_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz 
],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]),
        [Define to the number of bits in type ']gltype['.])])
   for gltype in $1 ; do
     AC_CACHE_CHECK([for bit size of $gltype], [gl_cv_bitsizeof_${gltype}],
@@ -334,7 +334,7 @@
     eval BITSIZEOF_${GLTYPE}=\$result
   done
   m4_foreach_w([gltype], [$1],
-    [AC_SUBST([BITSIZEOF_]translit(gltype,[abcdefghijklmnopqrstuvwxyz 
],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))])
+    [AC_SUBST([BITSIZEOF_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz 
],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))])
 ])
 
 dnl gl_CHECK_TYPES_SIGNED(TYPES, INCLUDES)
@@ -347,7 +347,7 @@
   dnl   config.h.in,
   dnl - extra AC_SUBST calls, so that the right substitutions are made.
   m4_foreach_w([gltype], [$1],
-    [AH_TEMPLATE([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz 
],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]),
+    [AH_TEMPLATE([HAVE_SIGNED_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz 
],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]),
        [Define to 1 if ']gltype[' is a signed integer type.])])
   for gltype in $1 ; do
     AC_CACHE_CHECK([whether $gltype is signed], [gl_cv_type_${gltype}_signed],
@@ -367,7 +367,7 @@
     fi
   done
   m4_foreach_w([gltype], [$1],
-    [AC_SUBST([HAVE_SIGNED_]translit(gltype,[abcdefghijklmnopqrstuvwxyz 
],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))])
+    [AC_SUBST([HAVE_SIGNED_]m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz 
],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_]))])
 ])
 
 dnl gl_INTEGER_TYPE_SUFFIX(TYPES, INCLUDES)
@@ -380,7 +380,7 @@
   dnl   config.h.in,
   dnl - extra AC_SUBST calls, so that the right substitutions are made.
   m4_foreach_w([gltype], [$1],
-    [AH_TEMPLATE(translit(gltype,[abcdefghijklmnopqrstuvwxyz 
],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX],
+    [AH_TEMPLATE(m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz 
],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX],
        [Define to l, ll, u, ul, ull, etc., as suitable for
         constants of type ']gltype['.])])
   for gltype in $1 ; do
@@ -419,7 +419,7 @@
     AC_DEFINE_UNQUOTED([${GLTYPE}_SUFFIX], [$result])
   done
   m4_foreach_w([gltype], [$1],
-    [AC_SUBST(translit(gltype,[abcdefghijklmnopqrstuvwxyz 
],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])])
+    [AC_SUBST(m4_translit(gltype,[abcdefghijklmnopqrstuvwxyz 
],[ABCDEFGHIJKLMNOPQRSTUVWXYZ_])[_SUFFIX])])
 ])
 
 dnl gl_STDINT_INCLUDES



reply via email to

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