[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: AS_LITERAL_IF
From: |
Bruno Haible |
Subject: |
Re: AS_LITERAL_IF |
Date: |
Wed, 19 May 2010 23:30:21 +0200 |
User-agent: |
KMail/1.9.9 |
Eric Blake wrote:
> AS_LITERAL_IF has been available since 2.59. Whether
> or not it was documented that far back, it already had the right
> semantics that far back.
Thanks for this confirmation. So, I'm doing what Paolo suggested:
2010-05-19 Bruno Haible <address@hidden>
Clean up dead code in recent commit.
* m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
(gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
Suggested by Paolo Bonzini.
--- m4/libunistring-base.m4.orig Wed May 19 23:25:08 2010
+++ m4/libunistring-base.m4 Wed May 19 23:23:49 2010
@@ -1,4 +1,4 @@
-# libunistring-base.m4 serial 1
+# libunistring-base.m4 serial 2
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,
@@ -97,45 +97,43 @@
dnl gl_LIBUNISTRING_VERSION_CMP([VERSION])
dnl Expands to a shell statement that evaluates to true if LIBUNISTRING_VERSION
dnl is less than the VERSION argument.
-dnl This is the unoptimized variant:
-AC_DEFUN([gl_LIBUNISTRING_VERSION_CMP_ORIG],
-[ { test "$HAVE_LIBUNISTRING" != yes \
- || {
- requested_version_major=`echo '$1' | sed -n -e
"$gl_libunistring_sed_extract_major"`
- requested_version_minor=`echo '$1' | sed -n -e
"$gl_libunistring_sed_extract_minor"`
- requested_version_subminor=`echo '$1' | sed -n -e
"$gl_libunistring_sed_extract_subminor"`
- test $LIBUNISTRING_VERSION_MAJOR -lt $requested_version_major \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq $requested_version_major \
- && { test $LIBUNISTRING_VERSION_MINOR -lt
$requested_version_minor \
- || { test $LIBUNISTRING_VERSION_MINOR -eq
$requested_version_minor \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt
$requested_version_subminor
- }
- }
- }
- }
- }
-])
-dnl This is the optimized variant, that assumes the argument is a literal:
AC_DEFUN([gl_LIBUNISTRING_VERSION_CMP],
[ { test "$HAVE_LIBUNISTRING" != yes \
|| {
- m4_pushdef([requested_version_major],
- [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^\([0-9]*\).*],
[\1]), [])])
- m4_pushdef([requested_version_minor],
- [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1],
[^[0-9]*[.]\([0-9]*\).*], [\1]), [$1])])
- m4_pushdef([requested_version_subminor],
- [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1],
[^[0-9]*[.][0-9]*[.]\([0-9]*\).*], [\1]), [$1])])
- test $LIBUNISTRING_VERSION_MAJOR -lt requested_version_major \
- || { test $LIBUNISTRING_VERSION_MAJOR -eq requested_version_major \
- && { test $LIBUNISTRING_VERSION_MINOR -lt
requested_version_minor \
- || { test $LIBUNISTRING_VERSION_MINOR -eq
requested_version_minor \
- && test $LIBUNISTRING_VERSION_SUBMINOR -lt
requested_version_subminor
- }
- }
- }
- m4_popdef([requested_version_subminor])
- m4_popdef([requested_version_minor])
- m4_popdef([requested_version_major])
+ dnl AS_LITERAL_IF exists and works fine since autoconf-2.59 at least.
+ AS_LITERAL_IF([$1],
+ [dnl This is the optimized variant, that assumes the argument is a
literal:
+ m4_pushdef([requested_version_major],
+ [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1], [^\([0-9]*\).*],
[\1]), [])])
+ m4_pushdef([requested_version_minor],
+ [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1],
[^[0-9]*[.]\([0-9]*\).*], [\1]), [$1])])
+ m4_pushdef([requested_version_subminor],
+ [gl_LIBUNISTRING_ARG_OR_ZERO(m4_bpatsubst([$1],
[^[0-9]*[.][0-9]*[.]\([0-9]*\).*], [\1]), [$1])])
+ test $LIBUNISTRING_VERSION_MAJOR -lt requested_version_major \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq requested_version_major \
+ && { test $LIBUNISTRING_VERSION_MINOR -lt
requested_version_minor \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq
requested_version_minor \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt
requested_version_subminor
+ }
+ }
+ }
+ m4_popdef([requested_version_subminor])
+ m4_popdef([requested_version_minor])
+ m4_popdef([requested_version_major])
+ ],
+ [dnl This is the unoptimized variant:
+ requested_version_major=`echo '$1' | sed -n -e
"$gl_libunistring_sed_extract_major"`
+ requested_version_minor=`echo '$1' | sed -n -e
"$gl_libunistring_sed_extract_minor"`
+ requested_version_subminor=`echo '$1' | sed -n -e
"$gl_libunistring_sed_extract_subminor"`
+ test $LIBUNISTRING_VERSION_MAJOR -lt $requested_version_major \
+ || { test $LIBUNISTRING_VERSION_MAJOR -eq $requested_version_major
\
+ && { test $LIBUNISTRING_VERSION_MINOR -lt
$requested_version_minor \
+ || { test $LIBUNISTRING_VERSION_MINOR -eq
$requested_version_minor \
+ && test $LIBUNISTRING_VERSION_SUBMINOR -lt
$requested_version_subminor
+ }
+ }
+ }
+ ])
}
}
])
Re: [PATCH 00/15] Add libunistring-optional module, Bruno Haible, 2010/05/24