From: Bruno Haible Date: Fri, 24 Jan 2025 21:03:29 +0000 (+0100) Subject: package-version: Simplify its use. X-Git-Url: https://gitweb.git.savannah.gnu.org/gitweb/?a=commitdiff_plain;h=bb0f82be83d43db9cd77049be32ffd0b92ab5bb7;p=gnulib.git package-version: Simplify its use. Reported by Basil L. Contovounesios in . * doc/package-version.texi (Propagating the package version): Recommend to pass the usual arguments to AC_INIT. * m4/init-package-version.m4: Likewise. (gl_INIT_PACKAGE): Define PACKAGE_VERSION and PACKAGE_STRING as needed. (gl_RPL_INIT_AUTOMAKE): Improve quoting. --- diff --git a/ChangeLog b/ChangeLog index ea015f81ca..f7f2698231 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2025-01-24 Bruno Haible + + package-version: Simplify its use. + Reported by Basil L. Contovounesios in + . + * doc/package-version.texi (Propagating the package version): Recommend + to pass the usual arguments to AC_INIT. + * m4/init-package-version.m4: Likewise. + (gl_INIT_PACKAGE): Define PACKAGE_VERSION and PACKAGE_STRING as needed. + (gl_RPL_INIT_AUTOMAKE): Improve quoting. + 2025-01-24 Bruno Haible tests: Fix a few compilation errors on Solaris 11 OmniOS with gcc 14. diff --git a/doc/package-version.texi b/doc/package-version.texi index fb050a8fcf..4075b98d03 100644 --- a/doc/package-version.texi +++ b/doc/package-version.texi @@ -118,7 +118,7 @@ a few lines are needed in @code{configure.ac}. The recommended code pattern is @example -AC_INIT +AC_INIT([@var{package}], [dummy]) AC_CONFIG_SRCDIR([@var{unique-file-in-source-dir}]) AC_CONFIG_AUX_DIR([build-aux]) VERSION_NUMBER=`cd $srcdir \ diff --git a/m4/init-package-version.m4 b/m4/init-package-version.m4 index 525dfe5bf5..69f7764892 100644 --- a/m4/init-package-version.m4 +++ b/m4/init-package-version.m4 @@ -1,5 +1,5 @@ # init-package-version.m4 -# serial 3 +# serial 4 dnl Copyright (C) 1992-2025 Free Software Foundation, Inc. dnl This file is free software, distributed under the terms of the GNU dnl General Public License. As a special exception to the GNU General @@ -57,7 +57,7 @@ dnl the same distribution terms as the rest of that program. # # With the macro defined in this file, the approach can be coded like this: # -# AC_INIT +# AC_INIT(PACKAGE, [dummy], [MORE OPTIONS]) # AC_CONFIG_SRCDIR(WITNESS) # . $srcdir/../version.sh # gl_INIT_PACKAGE(PACKAGE, $VERSION_NUMBER) @@ -102,8 +102,16 @@ AC_DEFUN([gl_INIT_PACKAGE], [AC_PACKAGE_NAME], [gl_INIT_DUMMY])), [AC_PACKAGE_TARNAME], [gl_INIT_EMPTY])), [AC_PACKAGE_VERSION], [gl_INIT_DUMMY]) - [AC_SUBST([PACKAGE], [$1]) - AC_SUBST([VERSION], [$2]) + [dnl Set variables documented in Automake. + AC_SUBST([PACKAGE], [$1]) + AC_SUBST([VERSION], ["$2"]) + dnl Set variables documented in Autoconf. + AC_SUBST([PACKAGE_VERSION], ["$2"]) + AC_SUBST([PACKAGE_STRING], ["$1 $2"]) + AC_DEFINE_UNQUOTED([PACKAGE_VERSION], ["$2"], + [Define to the version of this package.]) + AC_DEFINE_UNQUOTED([PACKAGE_STRING], ["$1 $2"], + [Define to the full name and version of this package.]) ]) m4_define([AM_INIT_AUTOMAKE], m4_defn([gl_RPL_INIT_AUTOMAKE])) @@ -118,7 +126,7 @@ AC_DEFUN([gl_RPL_INIT_AUTOMAKE], [ [m4_fatal([After gl_INIT_PACKAGE, the two-argument form of AM_INIT_AUTOMAKE cannot be used.])]) gl_AM_INIT_AUTOMAKE([$1 no-define]) m4_if(m4_index([ $1 ], [ no-define ]), [-1], - [AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package]) - AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]) + [AC_DEFINE_UNQUOTED([PACKAGE], ["$PACKAGE"], [Name of package]) + AC_DEFINE_UNQUOTED([VERSION], ["$VERSION"], [Version number of package]) ]) ])