bug-gnulib
[Top][All Lists]
Advanced

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

gnulib-tool: new option --no-libtool


From: Bruno Haible
Subject: gnulib-tool: new option --no-libtool
Date: Mon, 31 Jul 2006 14:52:18 +0200
User-agent: KMail/1.9.1

Hi,

One thing is annoying about gnulib-tool's --libtool option: It defaults
to using --libtool if the configure.ac invokes AC_PROG_LIBTOOL. That's a
good guess, but it should be able to override it. Currently, the only
way to do so it to hand-edit gnulib-cache.m4; it is not possible from the
command line.

GNU libiconv has an AC_PROG_LIBTOOL but needs to build its gnulib portion
without libtool, because the installation rules for the 'iconv' program
are special and need to access srclib/libicrt.a directly.

I'm adding an option --no-libtool.

2006-07-29  Bruno Haible  <address@hidden>

        * gnulib-tool (func_usage): Document option --no-libtool.
        Handle option --no-libtool.
        (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
        for changed semantics of $libtool variable.
        (func_import): Likewise. If libtool is not used, show this through
        an option --no-libtool.
        (func_create_testdir): Update.

2006-07-29  Bruno Haible  <address@hidden>

        * gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.

*** gnulib-tool.bak     2006-07-29 15:29:02.000000000 +0200
--- gnulib-tool 2006-07-30 01:14:26.000000000 +0200
***************
*** 135,140 ****
--- 135,141 ----
        --lgpl                Abort if modules aren't available under the LGPL.
                              Also modify license template from GPL to LGPL.
        --libtool             Use libtool rules.
+       --no-libtool          Don't use libtool rules.
        --macro-prefix=PREFIX  Specify the prefix of the macros 'gl_EARLY' and
                              'gl_INIT'. Default is 'gl'.
        --no-changelog        don't update or create ChangeLog files
***************
*** 258,264 ****
  # - inctests        true if --with-tests was given, blank otherwise
  # - avoidlist       list of modules to avoid, from --avoid
  # - lgpl            true if --lgpl was given, blank otherwise
! # - libtool         true if --libtool was given, blank otherwise
  # - macro_prefix    from --macro-prefix
  # - autoconf_minversion  minimum supported autoconf version
  # - do_changelog    false if --no-changelog was given, : otherwise
--- 259,266 ----
  # - inctests        true if --with-tests was given, blank otherwise
  # - avoidlist       list of modules to avoid, from --avoid
  # - lgpl            true if --lgpl was given, blank otherwise
! # - libtool         true if --libtool was given, false if --no-libtool was
! #                   given, blank otherwise
  # - macro_prefix    from --macro-prefix
  # - autoconf_minversion  minimum supported autoconf version
  # - do_changelog    false if --no-changelog was given, : otherwise
***************
*** 405,410 ****
--- 407,415 ----
        --libtool )
          libtool=true
          shift ;;
+       --no-libtool )
+         libtool=false
+         shift ;;
        --macro-prefix )
          shift
          if test $# = 0; then
***************
*** 835,845 ****
  # Input:
  # - modules         list of modules, including dependencies
  # - libname         library name
! # - libtool         true if libtool will be used, blank otherwise
  # - actioncmd       (optional) command that will reproduce this invocation
  func_emit_lib_Makefile_am ()
  {
!   if test -n "$libtool"; then
      libext=la
      perhapsLT=LT
    else
--- 840,850 ----
  # Input:
  # - modules         list of modules, including dependencies
  # - libname         library name
! # - libtool         true if libtool will be used, false or blank otherwise
  # - actioncmd       (optional) command that will reproduce this invocation
  func_emit_lib_Makefile_am ()
  {
!   if test "$libtool" = true; then
      libext=la
      perhapsLT=LT
    else
***************
*** 909,921 ****
  # Input:
  # - modules         list of modules, including dependencies
  # - libname         library name
! # - libtool         true if libtool will be used, blank otherwise
  # - sourcebase      relative directory containing lib source code
  # - m4base          relative directory containing autoconf macros
  # - testsbase       relative directory containing unit test code
  func_emit_tests_Makefile_am ()
  {
!   if test -n "$libtool"; then
      libext=la
    else
      libext=a
--- 914,926 ----
  # Input:
  # - modules         list of modules, including dependencies
  # - libname         library name
! # - libtool         true if libtool will be used, false or blank otherwise
  # - sourcebase      relative directory containing lib source code
  # - m4base          relative directory containing autoconf macros
  # - testsbase       relative directory containing unit test code
  func_emit_tests_Makefile_am ()
  {
!   if test "$libtool" = true; then
      libext=la
    else
      libext=a
***************
*** 996,1003 ****
  # - inctests        true if --with-tests was given, blank otherwise
  # - avoidlist       list of modules to avoid, from --avoid
  # - lgpl            true if library's license shall be LGPL, blank otherwise
! # - libtool         true if libtool will be used, blank otherwise
! # - guessed_libtool true if the configure.ac file uses libtool, blank 
otherwise
  # - macro_prefix    prefix of gl_EARLY, gl_INIT macros to use
  # - autoconf_minversion  minimum supported autoconf version
  # - doit            : if actions shall be executed, false if only to be 
printed
--- 1001,1009 ----
  # - inctests        true if --with-tests was given, blank otherwise
  # - avoidlist       list of modules to avoid, from --avoid
  # - lgpl            true if library's license shall be LGPL, blank otherwise
! # - libtool         true if --libtool was given, false if --no-libtool was
! #                   given, blank otherwise
! # - guessed_libtool true if the configure.ac file uses libtool, false 
otherwise
  # - macro_prefix    prefix of gl_EARLY, gl_INIT macros to use
  # - autoconf_minversion  minimum supported autoconf version
  # - doit            : if actions shall be executed, false if only to be 
printed
***************
*** 1017,1022 ****
--- 1023,1029 ----
    cached_macro_prefix=
    cached_files=
    if test -f "$destdir"/$m4base/gnulib-cache.m4; then
+     cached_libtool=false
      my_sed_traces='
        s,#.*$,,
        s,^dnl .*$,,
***************
*** 1376,1383 ****
    if test -n "$lgpl"; then
      actioncmd="$actioncmd --lgpl"
    fi
!   if test -n "$libtool"; then
      actioncmd="$actioncmd --libtool"
    fi
    actioncmd="$actioncmd --macro-prefix=$macro_prefix"
    actioncmd="$actioncmd `echo $specified_modules`"
--- 1383,1392 ----
    if test -n "$lgpl"; then
      actioncmd="$actioncmd --lgpl"
    fi
!   if test "$libtool" = true; then
      actioncmd="$actioncmd --libtool"
+   else
+     actioncmd="$actioncmd --no-libtool"
    fi
    actioncmd="$actioncmd --macro-prefix=$macro_prefix"
    actioncmd="$actioncmd `echo $specified_modules`"
***************
*** 1431,1437 ****
      echo "gl_TESTS_BASE([$testsbase])"
      echo "gl_LIB([$libname])"
      test -z "$lgpl" || echo "gl_LGPL"
!     test -z "$libtool" || echo "gl_LIBTOOL"
      echo "gl_MACRO_PREFIX([$macro_prefix])"
    ) > "$tmpfile"
    if test -f "$destdir"/$m4base/gnulib-cache.m4; then
--- 1440,1448 ----
      echo "gl_TESTS_BASE([$testsbase])"
      echo "gl_LIB([$libname])"
      test -z "$lgpl" || echo "gl_LGPL"
!     if test "$libtool" = true; then
!       echo "gl_LIBTOOL"
!     fi
      echo "gl_MACRO_PREFIX([$macro_prefix])"
    ) > "$tmpfile"
    if test -f "$destdir"/$m4base/gnulib-cache.m4; then
***************
*** 1495,1504 ****
      echo "# \"Check for header files, types and library functions\"."
      echo "AC_DEFUN([${macro_prefix}_INIT],"
      echo "["
!     if test -z "$libtool"; then
!       echo "  AM_CONDITIONAL([GL_COND_LIBTOOL], [false])"
!     else
        echo "  AM_CONDITIONAL([GL_COND_LIBTOOL], [true])"
      fi
      if test "$auxdir" != "build-aux"; then
        sed_replace_build_aux='
--- 1506,1515 ----
      echo "# \"Check for header files, types and library functions\"."
      echo "AC_DEFUN([${macro_prefix}_INIT],"
      echo "["
!     if test "$libtool" = true; then
        echo "  AM_CONDITIONAL([GL_COND_LIBTOOL], [true])"
+     else
+       echo "  AM_CONDITIONAL([GL_COND_LIBTOOL], [false])"
      fi
      if test "$auxdir" != "build-aux"; then
        sed_replace_build_aux='
***************
*** 1518,1524 ****
            | sed -e '/^$/d;' -e 's/^/  /' \
                  -e 's/AM_GNU_GETTEXT(\[external\])/dnl you must add 
AM_GNU_GETTEXT([external]) or similar to configure.ac./' \
                  -e "$sed_replace_build_aux"
!         if test "$module" = 'alloca' && test -n "$libtool"; then
            echo 'changequote(,)dnl'
            echo 'LTALLOCA=`echo "$ALLOCA" | sed '"'"'s/\.[^.]* /.lo 
/g;s/\.[^.]*$/.lo/'"'"'`'
            echo 'changequote([, ])dnl'
--- 1529,1535 ----
            | sed -e '/^$/d;' -e 's/^/  /' \
                  -e 's/AM_GNU_GETTEXT(\[external\])/dnl you must add 
AM_GNU_GETTEXT([external]) or similar to configure.ac./' \
                  -e "$sed_replace_build_aux"
!         if test "$module" = 'alloca' && test "$libtool" = true; then
            echo 'changequote(,)dnl'
            echo 'LTALLOCA=`echo "$ALLOCA" | sed '"'"'s/\.[^.]* /.lo 
/g;s/\.[^.]*$/.lo/'"'"'`'
            echo 'changequote([, ])dnl'
***************
*** 1748,1757 ****
         echo "gl_LOCK"
         echo
       fi
!      if test -z "$libtool"; then
!        echo "AM_CONDITIONAL([GL_COND_LIBTOOL], [false])"
!      else
         echo "AM_CONDITIONAL([GL_COND_LIBTOOL], [true])"
       fi
       if test "$auxdir" != "build-aux"; then
         sed_replace_build_aux='
--- 1759,1768 ----
         echo "gl_LOCK"
         echo
       fi
!      if test "$libtool" = true; then
         echo "AM_CONDITIONAL([GL_COND_LIBTOOL], [true])"
+      else
+        echo "AM_CONDITIONAL([GL_COND_LIBTOOL], [false])"
       fi
       if test "$auxdir" != "build-aux"; then
         sed_replace_build_aux='
***************
*** 1829,1838 ****
       echo "gl_LOCK"
       echo
     fi
!    if test -z "$libtool"; then
!      echo "AM_CONDITIONAL([GL_COND_LIBTOOL], [false])"
!    else
       echo "AM_CONDITIONAL([GL_COND_LIBTOOL], [true])"
     fi
     if test "$auxdir" != "build-aux"; then
       sed_replace_build_aux='
--- 1840,1849 ----
       echo "gl_LOCK"
       echo
     fi
!    if test "$libtool" = true; then
       echo "AM_CONDITIONAL([GL_COND_LIBTOOL], [true])"
+    else
+      echo "AM_CONDITIONAL([GL_COND_LIBTOOL], [false])"
     fi
     if test "$auxdir" != "build-aux"; then
       sed_replace_build_aux='
***************
*** 1976,1982 ****
  
      # Analyze configure.ac.
      guessed_auxdir="."
!     guessed_libtool=
      my_sed_traces='
        s,#.*$,,
        s,^dnl .*$,,
--- 1987,1993 ----
  
      # Analyze configure.ac.
      guessed_auxdir="."
!     guessed_libtool=false
      my_sed_traces='
        s,#.*$,,
        s,^dnl .*$,,
*** doc/gnulib-tool.texi.bak    2006-07-11 13:54:17.000000000 +0200
--- doc/gnulib-tool.texi        2006-07-30 01:16:31.000000000 +0200
***************
*** 289,295 ****
  
  @item gl_LIBTOOL
  The presence of this macro corresponds to the @samp{--libtool} command line
! argument.  It takes no arguments.
  
  @item gl_MACRO_PREFIX
  The argument is the prefix to use for macros in the @file{gnulib-comp.m4}
--- 289,296 ----
  
  @item gl_LIBTOOL
  The presence of this macro corresponds to the @samp{--libtool} command line
! argument and to the absence of the @samp{--no-libtool} command line argument.
! It takes no arguments.
  
  @item gl_MACRO_PREFIX
  The argument is the prefix to use for macros in the @file{gnulib-comp.m4}




reply via email to

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