# HG changeset patch # User Bruno Haible # Date 1173022428 0 # Node ID f5958c21416d7062622ed352095b95b6e65b6952 # Parent c08f9990bf589ab90b2eddf687e765fe079aed2d Compile relocatable.c only if --enable-relocatable was specified. diff --git a/ChangeLog b/ChangeLog --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,22 @@ +2007-03-04 Bruno Haible + + Compile relocatable.c only if --enable-relocatable is specified. + * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from + gl_RELOCATABLE_LIBRARY. + (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros. + * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY. + (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of + gl_RELOCATABLE_LIBRARY. + * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY. + (Makefile.am): Remove lib_SOURCES. + * modules/relocatable-lib-lgpl (configure.ac): Invoke + gl_RELOCATABLE_LIBRARY. + (Makefile.am): Remove lib_SOURCES. + * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c + always. + * modules/relocatable-prog-wrapper (configure.ac): Invoke + gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY. + 2007-03-04 Bruno Haible * modules/argmatch-tests: New file. diff --git a/m4/relocatable-lib.m4 b/m4/relocatable-lib.m4 --- a/m4/relocatable-lib.m4 +++ b/m4/relocatable-lib.m4 @@ -1,4 +1,4 @@ -# relocatable-lib.m4 serial 2 +# relocatable-lib.m4 serial 3 dnl Copyright (C) 2003, 2005-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -9,6 +9,13 @@ dnl Support for relocatable libraries. AC_DEFUN([gl_RELOCATABLE_LIBRARY], [ + AC_REQUIRE([gl_RELOCATABLE_LIBRARY_BODY]) + if test $RELOCATABLE = yes; then + AC_LIBOBJ([relocatable]) + fi +]) +AC_DEFUN([gl_RELOCATABLE_LIBRARY_BODY], +[ AC_REQUIRE([gl_RELOCATABLE_NOP]) dnl Easier to put this here once, instead of into the DEFS of each Makefile. if test "X$prefix" = "XNONE"; then @@ -24,6 +31,13 @@ fi ]) +dnl Like gl_RELOCATABLE_LIBRARY, except prepare for separate compilation +dnl (no AC_LIBOBJ). +AC_DEFUN([gl_RELOCATABLE_LIBRARY_SEPARATE], +[ + AC_REQUIRE([gl_RELOCATABLE_LIBRARY_BODY]) +]) + dnl Support for relocatable packages for which it is a nop. AC_DEFUN([gl_RELOCATABLE_NOP], [ diff --git a/m4/relocatable.m4 b/m4/relocatable.m4 --- a/m4/relocatable.m4 +++ b/m4/relocatable.m4 @@ -1,4 +1,4 @@ -# relocatable.m4 serial 9 +# relocatable.m4 serial 10 dnl Copyright (C) 2003, 2005-2007 Free Software Foundation, Inc. dnl This file is free software; the Free Software Foundation dnl gives unlimited permission to copy and/or distribute it, @@ -13,9 +13,7 @@ AC_DEFUN([gl_RELOCATABLE], [ AC_REQUIRE([gl_RELOCATABLE_BODY]) - if test $RELOCATABLE = yes; then - AC_LIBOBJ([relocatable]) - fi + gl_RELOCATABLE_LIBRARY : ${RELOCATABLE_CONFIG_H_DIR='$(top_builddir)'} RELOCATABLE_SRC_DIR="\$(top_srcdir)/$gl_source_base" RELOCATABLE_BUILD_DIR="\$(top_builddir)/$gl_source_base" @@ -32,7 +30,7 @@ dnl macro's setting of INSTALL_PROGRAM to persist. AC_BEFORE([AC_PROG_INSTALL],[gl_RELOCATABLE_BODY]) AC_REQUIRE([AC_LIB_LIBPATH]) - AC_REQUIRE([gl_RELOCATABLE_LIBRARY]) + AC_REQUIRE([gl_RELOCATABLE_LIBRARY_BODY]) is_noop=no use_elf_origin_trick=no if test $RELOCATABLE = yes; then diff --git a/modules/relocatable-lib b/modules/relocatable-lib --- a/modules/relocatable-lib +++ b/modules/relocatable-lib @@ -12,9 +12,9 @@ xalloc configure.ac: +gl_RELOCATABLE_LIBRARY Makefile.am: -lib_SOURCES += relocatable.c Include: "relocatable.h" diff --git a/modules/relocatable-lib-lgpl b/modules/relocatable-lib-lgpl --- a/modules/relocatable-lib-lgpl +++ b/modules/relocatable-lib-lgpl @@ -11,10 +11,10 @@ Depends-on: configure.ac: +gl_RELOCATABLE_LIBRARY Makefile.am: DEFS += -DNO_XMALLOC -lib_SOURCES += relocatable.c Include: "relocatable.h" diff --git a/modules/relocatable-prog b/modules/relocatable-prog --- a/modules/relocatable-prog +++ b/modules/relocatable-prog @@ -26,7 +26,7 @@ Makefile.am: DEFS += -DEXEEXT=\"$(EXEEXT)\" -lib_SOURCES += relocatable.c progreloc.c +lib_SOURCES += progreloc.c Include: #include "relocatable.h" diff --git a/modules/relocatable-prog-wrapper b/modules/relocatable-prog-wrapper --- a/modules/relocatable-prog-wrapper +++ b/modules/relocatable-prog-wrapper @@ -43,7 +43,7 @@ gl_FUNC_READLINK_SEPARATE gl_CANONICALIZE_LGPL_SEPARATE gl_ALLOCSA -gl_RELOCATABLE_LIBRARY +gl_RELOCATABLE_LIBRARY_SEPARATE gl_FUNC_SETENV_SEPARATE gl_FUNC_STRERROR_SEPARATE