build-sys: expand paths at make time
autoconf docs about *dir variables (e.g bindir): ... A corollary is that you should not use these variables except in makefiles... ...you should not rely on AC_CONFIG_FILES to replace bindir and friends in your shell scripts and other files; instead, let make manage their replacement. Signed-off-by: Karel Zak <kzak@redhat.com>
This commit is contained in:
parent
43f8915c51
commit
d4baf92e50
37
Makefile.am
37
Makefile.am
|
@ -43,6 +43,8 @@ ruman1_DATA =
|
|||
check_PROGRAMS =
|
||||
TESTS =
|
||||
|
||||
PATHFILES =
|
||||
|
||||
INSTALL_EXEC_HOOKS =
|
||||
UNINSTALL_HOOKS =
|
||||
INSTALL_DATA_HOOKS =
|
||||
|
@ -86,6 +88,41 @@ include fdisks/Makemodule.am
|
|||
|
||||
include tests/Makemodule.am
|
||||
|
||||
#
|
||||
# Don't rely on configure.ac AC_CONFIG_FILES for install paths.
|
||||
#
|
||||
# The paths should be expanded at make time rather than configure:
|
||||
# - to support 'make install prefix=/foo DESTDIR=/foo'
|
||||
# - to recursively expands the paths (e.g. AC_CONFIG_FILES expands
|
||||
# '@usrsbin_execdir@' to ${exec_prefix}/sbin')
|
||||
#
|
||||
edit_cmd = sed \
|
||||
-e 's|@prefix[@]|$(prefix)|g' \
|
||||
-e 's|@exec_prefix[@]|$(exec_prefix)|g' \
|
||||
-e 's|@sysconfdir[@]|$(sysconfdir)|g' \
|
||||
-e 's|@datadir[@]|$(datadir)|g' \
|
||||
-e 's|@sbindir[@]|$(sbindir)|g' \
|
||||
-e 's|@bindir[@]|$(bindir)|g' \
|
||||
-e 's|@includedir[@]|$(includedir)|g' \
|
||||
-e 's|@localstatedir[@]|$(localstatedir)|g' \
|
||||
-e 's|@usrlib_execdir[@]|$(usrlib_execdir)|g' \
|
||||
-e 's|@usrbin_execdir[@]|$(usrbin_execdir)|g' \
|
||||
-e 's|@usrsbin_execdir[@]|$(usrsbin_execdir)|g' \
|
||||
-e 's|@VERSION[@]|$(VERSION)|g' \
|
||||
-e 's|@LIBUUID_VERSION[@]|$(LIBUUID_VERSION)|g' \
|
||||
-e 's|@LIBMOUNT_VERSION[@]|$(LIBMOUNT_VERSION)|g' \
|
||||
-e 's|@LIBBLKID_VERSION[@]|$(LIBBLKID_VERSION)|g'
|
||||
|
||||
CLEANFILES += $(PATHFILES)
|
||||
EXTRA_DIST += $(PATHFILES:=.in)
|
||||
|
||||
$(PATHFILES): Makefile
|
||||
@ rm -f $@ $@.tmp
|
||||
$(AM_V_GEN) srcdir=''; \
|
||||
test -f ./$@.in || srcdir=$(srcdir)/; \
|
||||
$(edit_cmd) $${srcdir}$@.in >$@.tmp
|
||||
@ mv $@.tmp $@
|
||||
|
||||
# Arrange so that .tarball-version appears only in the distribution
|
||||
# tarball, and never in a checked-out repository.
|
||||
dist-hook:
|
||||
|
|
12
configure.ac
12
configure.ac
|
@ -1324,22 +1324,18 @@ LIBS=""
|
|||
|
||||
AC_CONFIG_HEADERS(config.h)
|
||||
|
||||
|
||||
#
|
||||
# Don't use configure.ac to replace install paths! See Makefile PATHFILES for
|
||||
# more details.
|
||||
#
|
||||
AC_CONFIG_FILES([
|
||||
Makefile
|
||||
libblkid/blkid.pc
|
||||
libblkid/docs/Makefile
|
||||
libblkid/docs/version.xml
|
||||
libblkid/src/blkid.h
|
||||
libmount/docs/Makefile
|
||||
libmount/docs/version.xml
|
||||
libmount/mount.pc
|
||||
libmount/src/libmount.h
|
||||
libuuid/uuid.pc
|
||||
misc-utils/uuidd.8
|
||||
misc-utils/uuidd.rc
|
||||
misc-utils/uuidd.service
|
||||
misc-utils/uuidd.socket
|
||||
po/Makefile.in
|
||||
])
|
||||
|
||||
|
|
|
@ -9,7 +9,8 @@ SUBDIRS += libblkid/docs
|
|||
endif
|
||||
|
||||
pkgconfig_DATA += libblkid/blkid.pc
|
||||
PATHFILES += libblkid/blkid.pc
|
||||
dist_man_MANS += libblkid/libblkid.3
|
||||
EXTRA_DIST += libblkid/blkid.pc.in libblkid/libblkid.3 libblkid/COPYING
|
||||
EXTRA_DIST += libblkid/libblkid.3 libblkid/COPYING
|
||||
|
||||
endif # BUILD_LIBBLKID
|
||||
|
|
|
@ -8,7 +8,8 @@ SUBDIRS += libmount/docs
|
|||
endif
|
||||
|
||||
pkgconfig_DATA += libmount/mount.pc
|
||||
EXTRA_DIST += libmount/mount.pc.in libmount/COPYING
|
||||
PATHFILES += libmount/mount.pc
|
||||
EXTRA_DIST += libmount/COPYING
|
||||
|
||||
|
||||
endif # BUILD_LIBMOUNT
|
||||
|
|
|
@ -4,6 +4,7 @@ include libuuid/man/Makemodule.am
|
|||
include libuuid/src/Makemodule.am
|
||||
|
||||
pkgconfig_DATA += libuuid/uuid.pc
|
||||
EXTRA_DIST += libuuid/uuid.pc.in libuuid/COPYING
|
||||
PATHFILES += libuuid/uuid.pc
|
||||
EXTRA_DIST += libuuid/COPYING
|
||||
|
||||
endif # BUILD_LIBUUID
|
||||
|
|
|
@ -106,12 +106,7 @@ systemdsystemunit_DATA += \
|
|||
endif
|
||||
endif # BUILD_UUIDD
|
||||
|
||||
EXTRA_DIST += \
|
||||
misc-utils/uuidd.8.in \
|
||||
misc-utils/uuidd.rc.in \
|
||||
misc-utils/uuidd.service.in \
|
||||
misc-utils/uuidd.socket.in
|
||||
CLEANFILES += \
|
||||
PATHFILES += \
|
||||
misc-utils/uuidd.8 \
|
||||
misc-utils/uuidd.rc \
|
||||
misc-utils/uuidd.service \
|
||||
|
|
Loading…
Reference in New Issue