bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

relocatable-prog fix


From: Bruno Haible
Subject: relocatable-prog fix
Date: Sun, 4 Mar 2007 16:32:52 +0100
User-agent: KMail/1.5.4

The module description and macros of relocatable-prog still has a problem:
It compiles relocatable.c both as part of lib_SOURCES and as an AC_LIBOBJ.
This leads to a link error when creating a shared library. This fixes it.

2007-03-04  Bruno Haible  <address@hidden>

        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.

*** m4/relocatable-lib.m4       3 Mar 2007 17:49:27 -0000       1.2
--- m4/relocatable-lib.m4       4 Mar 2007 15:21:52 -0000
***************
*** 1,4 ****
! # relocatable-lib.m4 serial 2
  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,
--- 1,4 ----
! # 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,14 ****
--- 9,21 ----
  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,29 ****
--- 31,43 ----
    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],
  [
*** m4/relocatable.m4   3 Mar 2007 17:49:27 -0000       1.3
--- m4/relocatable.m4   4 Mar 2007 15:21:52 -0000
***************
*** 1,4 ****
! # relocatable.m4 serial 9
  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,
--- 1,4 ----
! # 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,21 ****
  AC_DEFUN([gl_RELOCATABLE],
  [
    AC_REQUIRE([gl_RELOCATABLE_BODY])
!   if test $RELOCATABLE = yes; then
!     AC_LIBOBJ([relocatable])
!   fi
    : ${RELOCATABLE_CONFIG_H_DIR='$(top_builddir)'}
    RELOCATABLE_SRC_DIR="\$(top_srcdir)/$gl_source_base"
    RELOCATABLE_BUILD_DIR="\$(top_builddir)/$gl_source_base"
--- 13,19 ----
  AC_DEFUN([gl_RELOCATABLE],
  [
    AC_REQUIRE([gl_RELOCATABLE_BODY])
!   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,38 ****
    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])
    is_noop=no
    use_elf_origin_trick=no
    if test $RELOCATABLE = yes; then
--- 30,36 ----
    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_BODY])
    is_noop=no
    use_elf_origin_trick=no
    if test $RELOCATABLE = yes; then
*** modules/relocatable-lib     3 Mar 2007 23:29:59 -0000       1.2
--- modules/relocatable-lib     4 Mar 2007 15:21:52 -0000
***************
*** 12,20 ****
  xalloc
  
  configure.ac:
  
  Makefile.am:
- lib_SOURCES += relocatable.c
  
  Include:
  "relocatable.h"
--- 12,20 ----
  xalloc
  
  configure.ac:
+ gl_RELOCATABLE_LIBRARY
  
  Makefile.am:
  
  Include:
  "relocatable.h"
*** modules/relocatable-lib-lgpl        3 Mar 2007 23:28:49 -0000       1.1
--- modules/relocatable-lib-lgpl        4 Mar 2007 15:21:52 -0000
***************
*** 11,20 ****
  Depends-on:
  
  configure.ac:
  
  Makefile.am:
  DEFS += -DNO_XMALLOC
- lib_SOURCES += relocatable.c
  
  Include:
  "relocatable.h"
--- 11,20 ----
  Depends-on:
  
  configure.ac:
+ gl_RELOCATABLE_LIBRARY
  
  Makefile.am:
  DEFS += -DNO_XMALLOC
  
  Include:
  "relocatable.h"
*** modules/relocatable-prog    3 Mar 2007 23:43:00 -0000       1.2
--- modules/relocatable-prog    4 Mar 2007 15:21:52 -0000
***************
*** 26,32 ****
  
  Makefile.am:
  DEFS += -DEXEEXT=\"$(EXEEXT)\"
! lib_SOURCES += relocatable.c progreloc.c
  
  Include:
  #include "relocatable.h"
--- 26,32 ----
  
  Makefile.am:
  DEFS += -DEXEEXT=\"$(EXEEXT)\"
! lib_SOURCES += progreloc.c
  
  Include:
  #include "relocatable.h"
*** modules/relocatable-prog-wrapper    3 Mar 2007 23:59:53 -0000       1.2
--- modules/relocatable-prog-wrapper    4 Mar 2007 15:21:52 -0000
***************
*** 43,49 ****
  gl_FUNC_READLINK_SEPARATE
  gl_CANONICALIZE_LGPL_SEPARATE
  gl_ALLOCSA
! gl_RELOCATABLE_LIBRARY
  gl_FUNC_SETENV_SEPARATE
  gl_FUNC_STRERROR_SEPARATE
  
--- 43,49 ----
  gl_FUNC_READLINK_SEPARATE
  gl_CANONICALIZE_LGPL_SEPARATE
  gl_ALLOCSA
! gl_RELOCATABLE_LIBRARY_SEPARATE
  gl_FUNC_SETENV_SEPARATE
  gl_FUNC_STRERROR_SEPARATE
  





reply via email to

[Prev in Thread] Current Thread [Next in Thread]