changeset 7229:16163abcf553

* modules/configmake (Makefile.am): Add a comment, and omit the CONFIGMAKE_ prefix from generated macro names. Suggested by Bruno Haible.
author Paul Eggert <eggert@cs.ucla.edu>
date Tue, 29 Aug 2006 14:25:00 +0000
parents f9dbe0d2433c
children 1a8d338654d5
files ChangeLog modules/configmake
diffstat 2 files changed, 43 insertions(+), 23 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
+
+	* modules/configmake (Makefile.am): Add a comment, and omit
+	the CONFIGMAKE_ prefix from generated macro names.  Suggested
+	by Bruno Haible.
+
 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
 
 	* modules/fcntl: New file.
--- a/modules/configmake
+++ b/modules/configmake
@@ -8,32 +8,46 @@
 configure.ac:
 
 Makefile.am:
+# Retrieve values of the variables through 'configure' followed by
+# 'make', not directly through 'configure', so that a user who
+# sets some of these variables consistently on the 'make' command
+# line gets correct results.
+#
+# One advantage of this approach, compared to the classical
+# approach of adding -DLIBDIR=\"$(libdir)\" etc. to AM_CPPFLAGS,
+# is that it protects against the use of undefined variables.
+# If, say, $(libdir) is not set in the Makefile, LIBDIR is not
+# defined by this module, and code using LIBDIR gives a
+# compilation error.
+#
+# Another advantage is that 'make' output is shorter.
+#
 # Listed in the same order as the GNU makefile conventions.
 configmake.h:
 	( \
-	  echo '#define CONFIGMAKE_PREFIX "$(prefix)"'; \
-	  echo '#define CONFIGMAKE_EXEC_PREFIX "$(exec_prefix)"'; \
-	  echo '#define CONFIGMAKE_BINDIR "$(bindir)"'; \
-	  echo '#define CONFIGMAKE_SBINDIR "$(sbindir)"'; \
-	  echo '#define CONFIGMAKE_LIBEXECDIR "$(libexecdir)"'; \
-	  echo '#define CONFIGMAKE_DATAROOTDIR "$(datarootdir)"'; \
-	  echo '#define CONFIGMAKE_DATADIR "$(datadir)"'; \
-	  echo '#define CONFIGMAKE_SYSCONFDIR "$(sysconfdir)"'; \
-	  echo '#define CONFIGMAKE_SHAREDSTATEDIR "$(sharedstatedir)"'; \
-	  echo '#define CONFIGMAKE_LOCALSTATEDIR "$(localstatedir)"'; \
-	  echo '#define CONFIGMAKE_INCLUDEDIR "$(includedir)"'; \
-	  echo '#define CONFIGMAKE_OLDINCLUDEDIR "$(oldincludedir)"'; \
-	  echo '#define CONFIGMAKE_DOCDIR "$(docdir)"'; \
-	  echo '#define CONFIGMAKE_INFODIR "$(infodir)"'; \
-	  echo '#define CONFIGMAKE_HTMLDIR "$(htmldir)"'; \
-	  echo '#define CONFIGMAKE_DVIDIR "$(dvidir)"'; \
-	  echo '#define CONFIGMAKE_PDFDIR "$(pdfdir)"'; \
-	  echo '#define CONFIGMAKE_PSDIR "$(psdir)"'; \
-	  echo '#define CONFIGMAKE_LIBDIR "$(libdir)"'; \
-	  echo '#define CONFIGMAKE_LISPDIR "$(lispdir)"'; \
-	  echo '#define CONFIGMAKE_LOCALEDIR "$(localedir)"'; \
-	  echo '#define CONFIGMAKE_MANDIR "$(mandir)"'; \
-	  echo '#define CONFIGMAKE_MANEXT "$(manext)"'; \
+	  echo '#define PREFIX "$(prefix)"'; \
+	  echo '#define EXEC_PREFIX "$(exec_prefix)"'; \
+	  echo '#define BINDIR "$(bindir)"'; \
+	  echo '#define SBINDIR "$(sbindir)"'; \
+	  echo '#define LIBEXECDIR "$(libexecdir)"'; \
+	  echo '#define DATAROOTDIR "$(datarootdir)"'; \
+	  echo '#define DATADIR "$(datadir)"'; \
+	  echo '#define SYSCONFDIR "$(sysconfdir)"'; \
+	  echo '#define SHAREDSTATEDIR "$(sharedstatedir)"'; \
+	  echo '#define LOCALSTATEDIR "$(localstatedir)"'; \
+	  echo '#define INCLUDEDIR "$(includedir)"'; \
+	  echo '#define OLDINCLUDEDIR "$(oldincludedir)"'; \
+	  echo '#define DOCDIR "$(docdir)"'; \
+	  echo '#define INFODIR "$(infodir)"'; \
+	  echo '#define HTMLDIR "$(htmldir)"'; \
+	  echo '#define DVIDIR "$(dvidir)"'; \
+	  echo '#define PDFDIR "$(pdfdir)"'; \
+	  echo '#define PSDIR "$(psdir)"'; \
+	  echo '#define LIBDIR "$(libdir)"'; \
+	  echo '#define LISPDIR "$(lispdir)"'; \
+	  echo '#define LOCALEDIR "$(localedir)"'; \
+	  echo '#define MANDIR "$(mandir)"'; \
+	  echo '#define MANEXT "$(manext)"'; \
 	:) | sed '/""/d' >$@-t
 	mv $@-t $@
 BUILT_SOURCES += configmake.h