changeset 8326:f5958c21416d

Compile relocatable.c only if --enable-relocatable was specified.
author Bruno Haible <bruno@clisp.org>
date Sun, 04 Mar 2007 15:33:48 +0000
parents c08f9990bf58
children ce1d4fb435ff
files ChangeLog m4/relocatable-lib.m4 m4/relocatable.m4 modules/relocatable-lib modules/relocatable-lib-lgpl modules/relocatable-prog modules/relocatable-prog-wrapper
diffstat 7 files changed, 41 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,22 @@
+2007-03-04  Bruno Haible  <bruno@clisp.org>
+
+	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  <bruno@clisp.org>
 
 	* modules/argmatch-tests: New file.
--- 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],
 [
--- 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
--- 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"
--- 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"
--- 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"
--- 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