]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
build: simplify: get rid of some indirection variables
authorStefano Lattarini <stefano.lattarini@gmail.com>
Fri, 31 Aug 2012 23:46:47 +0000 (01:46 +0200)
committerJim Meyering <meyering@redhat.com>
Sat, 1 Sep 2012 19:28:12 +0000 (21:28 +0200)
The code deciding which coreutils programs to build (depending on
defaults, system capabilities, and user requests) is overly complex
and rather confusing.  Let's begin simplifying it by removing some
non-strictly-necessary indirection variables.

* configure.ac: Adjust and improve few comments.
(OPTIONAL_BIN_PROGS, OPTIONAL_PKGLIB_PROGS): Rename ...
(bin_PROGRAMS, pkglibexec_PROGRAMS): ... like these, respectively.
Ensure they aren't initialized in all Makefiles (which would lead
to spurious errors), by calling AM_SUBST_NOTMAKE on them.
* src/local.mk: Adjust and improve few comments.
(bin_PROGRAMS, pkglibexec_PROGRAMS): Simply define
to the corresponding '@substitution@'.

configure.ac
src/local.mk

index f169a44a92bbe6af45b19be2d97203c6ecfe8714..bfc5219a4590ed7b78a3d8c1c0f12489600faee5 100644 (file)
@@ -440,22 +440,25 @@ MAN=`
   done`
 
 NO_INSTALL_PROGS_DEFAULT=$no_install_progs_default
-OPTIONAL_PKGLIB_PROGS=`
-  for p in $optional_pkglib_progs; do echo src/$p; done`
+
+# The programs built and installed by "make && make install".
 # Since this is AC_SUBST'd, Automake won't be able to perform rewrite
-# with $(EXEEXT) appending on it, so we have to do it ourselves.
-OPTIONAL_BIN_PROGS=`
+# with $(EXEEXT) appending on it, so we have to do it ourselves -- in
+# this case, only for $(bin_PROGRAMS).
+bin_PROGRAMS=`
   for p in $optional_bin_progs; do echo "src/$p\$(EXEEXT)"; done`
+pkglibexec_PROGRAMS=`
+  for p in $optional_pkglib_progs; do echo src/$p; done`
 
 # Normalize whitespace.
 MAN=`echo $MAN`
 NO_INSTALL_PROGS_DEFAULT=`echo $NO_INSTALL_PROGS_DEFAULT`
-OPTIONAL_BIN_PROGS=`echo $OPTIONAL_BIN_PROGS`
-OPTIONAL_PKGLIB_PROGS=`echo $OPTIONAL_PKGLIB_PROGS`
+bin_PROGRAMS=`echo $bin_PROGRAMS`
+pkglibexec_PROGS=`echo $pkglibexec_PROGRAMS`
 
 AC_SUBST([NO_INSTALL_PROGS_DEFAULT])
-AC_SUBST([OPTIONAL_BIN_PROGS])
-AC_SUBST([OPTIONAL_PKGLIB_PROGS])
+AC_SUBST([bin_PROGRAMS])        AM_SUBST_NOTMAKE([bin_PROGRAMS])
+AC_SUBST([pkglibexec_PROGRAMS]) AM_SUBST_NOTMAKE([pkglibexec_PROGRAMS])
 
 AM_CONDITIONAL([CROSS_COMPILING], [test "$cross_compiling" = yes])
 
index df09f0241ea2e6b15c6c8a96d2eb2f652f890315..e127c749751bbb3ea23ea6c6d33349db17dd4af0 100644 (file)
@@ -29,12 +29,13 @@ EXTRA_PROGRAMS = \
    $(build_if_possible__progs) \
    $(default__progs)
 
-bin_PROGRAMS = $(OPTIONAL_BIN_PROGS)
+# The user can tweak these lists at configure time.
+bin_PROGRAMS = @bin_PROGRAMS@
+pkglibexec_PROGRAMS = @pkglibexec_PROGRAMS@
 
+# Needed by the testsuite.
 noinst_PROGRAMS = src/setuidgid src/getlimits
 
-pkglibexec_PROGRAMS = $(OPTIONAL_PKGLIB_PROGS)
-
 noinst_HEADERS =               \
   src/chown-core.h             \
   src/copy.h                   \