2011-11-24 19:36:04 +08:00
|
|
|
# bootstrap.conf (GNU Libtool) version 2011-11-24
|
2010-09-25 05:26:00 +08:00
|
|
|
#
|
2012-09-16 14:10:09 +08:00
|
|
|
# Copyright (C) 2010-2012 Free Software Foundation, Inc.
|
2010-09-25 05:26:00 +08:00
|
|
|
# Written by Gary V. Vaughan, 2010
|
|
|
|
|
|
|
|
# This is free software; see the source for copying conditions. There is NO
|
|
|
|
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
|
|
#
|
|
|
|
# GNU Libtool is free software; you can redistribute it and/or
|
|
|
|
# modify it under the terms of the GNU General Public License as
|
|
|
|
# published by the Free Software Foundation; either version 2 of
|
|
|
|
# the License, or (at your option) any later version.
|
|
|
|
#
|
|
|
|
# GNU Libtool is distributed in the hope that it will be useful,
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
#
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
# along with GNU Libtool; see the file COPYING. If not, a copy
|
|
|
|
# can be downloaded from http://www.gnu.org/licenses/gpl.html,
|
|
|
|
# or obtained by writing to the Free Software Foundation, Inc.,
|
|
|
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
|
|
|
|
|
|
|
|
## -------------------------------- ##
|
|
|
|
## User overrideable command paths. ##
|
|
|
|
## -------------------------------- ##
|
|
|
|
|
|
|
|
: "${MAKE=make}"
|
|
|
|
|
|
|
|
export MAKE
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## -------------- ##
|
|
|
|
## Configuration. ##
|
|
|
|
## -------------- ##
|
|
|
|
|
2011-10-26 13:58:35 +08:00
|
|
|
# File that should exist in the top directory of a checked out hierarchy,
|
|
|
|
# but not in a distribution tarball.
|
|
|
|
checkout_only_file=HACKING
|
|
|
|
|
2010-09-25 05:26:00 +08:00
|
|
|
# List of programs (and minimum versions) required to bootstrap, maintain
|
|
|
|
# and release Libtool.
|
|
|
|
buildreq="
|
2012-10-19 15:12:59 +08:00
|
|
|
help2man 1.29 http://www.gnu.org/s/help2man
|
|
|
|
make 3.81 http://www.gnu.org/s/make
|
|
|
|
makeinfo 4.8 http://www.gnu.org/s/texinfo
|
2010-09-25 05:26:00 +08:00
|
|
|
xz 4.999.8beta http://tukaani.org/xz
|
|
|
|
"
|
|
|
|
|
|
|
|
# Instructions on how to install packages in $buildreq.
|
|
|
|
buildreq_readme=HACKING
|
|
|
|
|
|
|
|
# Non-default gnulib directory options.
|
|
|
|
local_gl_dir=gl
|
|
|
|
|
|
|
|
# Additional gnulib-tool options to use.
|
|
|
|
gnulib_tool_options=$gnulib_tool_options"
|
2011-10-19 12:48:56 +08:00
|
|
|
--avoid=dummy
|
2010-09-25 05:26:00 +08:00
|
|
|
--libtool
|
|
|
|
--macro-prefix=GL
|
|
|
|
"
|
|
|
|
|
|
|
|
# gnulib modules used by this package.
|
|
|
|
gnulib_modules='
|
2011-10-19 00:24:53 +08:00
|
|
|
announce-gen
|
|
|
|
do-release-commit-and-tag
|
|
|
|
gendocs
|
2011-10-20 23:17:23 +08:00
|
|
|
git-version-gen
|
2011-10-22 17:46:31 +08:00
|
|
|
gitlog-to-changelog
|
2011-10-19 00:24:53 +08:00
|
|
|
gnu-web-doc-update
|
|
|
|
gnupload
|
2011-10-19 12:48:56 +08:00
|
|
|
maintainer-makefile
|
2011-10-19 00:24:53 +08:00
|
|
|
readme-release
|
2012-09-16 14:04:23 +08:00
|
|
|
update-copyright
|
2010-09-25 05:26:00 +08:00
|
|
|
'
|
|
|
|
|
2011-10-18 22:23:31 +08:00
|
|
|
# Extra gnulib files that are not in modules, which override files of
|
|
|
|
# the same name installed by other bootstrap tools.
|
syntax-check: fix violations and implement sc_useless_quotes_in_assignment.
Contrary to popular belief, Bourne shell does not resplit RHS of
assignments after expansion, so if there are no unquoted shell
metacharacters or whitespace, the quotes are useless.
* cfg.mk (_sc_search_regexp_or_exclude): A variation of gnulib's
_sc_search_regexp that also allows individual exclusions at the
site of what would otherwise match by adding a comment.
(sc_useless_quotes_in_assignment): New syntax-check rule to
ensure we don't reintroduce useless quoted assignments.
* bootstrap, bootstrap.conf, build-aux/edit-readme-alpha,
build-aux/general.m4sh, build-aux/getopt.m4sh,
build-aux/ltmain.m4sh, build-aux/options-parser, configure.ac,
doc/libtool.texi, libtoolize.m4sh, m4/libtool.m4, m4/ltdl.m4,
m4/ltoptions.m4, tests/cwrapper.at, tests/defs.m4sh,
tests/lalib-syntax.at, tests/libtoolize.at,
tests/lt_dlopenext.at, tests/mdemo/configure.ac,
tests/mdemo2/configure.ac, tests/need_lib_prefix.at,
tests/no-executables.at, tests/quote.test, tests/suffix.test:
Remove spurious quotes.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-16 19:59:01 +08:00
|
|
|
gnulib_non_module_files=$gnulib_non_module_files'
|
2011-10-18 22:23:31 +08:00
|
|
|
doc/COPYINGv2
|
2011-10-19 13:22:12 +08:00
|
|
|
doc/fdl.texi
|
2011-10-18 22:23:31 +08:00
|
|
|
'
|
|
|
|
|
2010-09-25 05:26:00 +08:00
|
|
|
# What ignore files to maintain.
|
syntax-check: fix violations and implement sc_useless_quotes_in_assignment.
Contrary to popular belief, Bourne shell does not resplit RHS of
assignments after expansion, so if there are no unquoted shell
metacharacters or whitespace, the quotes are useless.
* cfg.mk (_sc_search_regexp_or_exclude): A variation of gnulib's
_sc_search_regexp that also allows individual exclusions at the
site of what would otherwise match by adding a comment.
(sc_useless_quotes_in_assignment): New syntax-check rule to
ensure we don't reintroduce useless quoted assignments.
* bootstrap, bootstrap.conf, build-aux/edit-readme-alpha,
build-aux/general.m4sh, build-aux/getopt.m4sh,
build-aux/ltmain.m4sh, build-aux/options-parser, configure.ac,
doc/libtool.texi, libtoolize.m4sh, m4/libtool.m4, m4/ltdl.m4,
m4/ltoptions.m4, tests/cwrapper.at, tests/defs.m4sh,
tests/lalib-syntax.at, tests/libtoolize.at,
tests/lt_dlopenext.at, tests/mdemo/configure.ac,
tests/mdemo2/configure.ac, tests/need_lib_prefix.at,
tests/no-executables.at, tests/quote.test, tests/suffix.test:
Remove spurious quotes.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-16 19:59:01 +08:00
|
|
|
vc_ignore=.gitignore
|
2010-09-25 05:26:00 +08:00
|
|
|
|
|
|
|
# Running the installed `libtoolize' will trash the local (newer) libtool.m4
|
|
|
|
# among others. Don't use `:', since autoreconf can't exec it!
|
|
|
|
LIBTOOLIZE=true
|
|
|
|
|
|
|
|
# List of file droppings from old releases of Libtool.
|
|
|
|
libtool_obsolete_files="
|
|
|
|
acinclude.m4
|
|
|
|
argz.c
|
|
|
|
libltdl/config.h
|
|
|
|
lt__dirent.c
|
|
|
|
lt__strl.c
|
|
|
|
"
|
|
|
|
|
|
|
|
# The not-synced with gnulib warning is bogus until upstream adopts
|
|
|
|
# the saner bootstrap script.
|
|
|
|
require_bootstrap_uptodate=:
|
|
|
|
|
|
|
|
|
|
|
|
## ------------------- ##
|
|
|
|
## Override functions. ##
|
|
|
|
## ------------------- ##
|
|
|
|
|
|
|
|
# func_reconfigure
|
2011-11-03 16:23:45 +08:00
|
|
|
# ------------------
|
2011-11-24 19:36:04 +08:00
|
|
|
# In addition to needing to autoreconf two directories, Libtool provides
|
|
|
|
# `libtoolize' and doesn't use `autopoint', so we can use a somewhat
|
|
|
|
# simpler `func_reconfigure' implementation than bootstrap's version.
|
2010-09-25 05:26:00 +08:00
|
|
|
func_reconfigure ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
$require_autoheader
|
|
|
|
$require_build_aux
|
2011-11-24 19:36:04 +08:00
|
|
|
$require_ltdl_dir
|
2010-09-25 05:26:00 +08:00
|
|
|
$require_macro_dir
|
|
|
|
|
|
|
|
# Only need this from the top level directory
|
|
|
|
func_gnulib_tool
|
|
|
|
|
|
|
|
export LIBTOOLIZE
|
|
|
|
func_verbose "export LIBTOOLIZE='$LIBTOOLIZE'"
|
|
|
|
|
2011-11-24 19:36:04 +08:00
|
|
|
my_autoreconf_options=
|
|
|
|
$opt_copy || func_append my_autoreconf_options " --symlink"
|
|
|
|
$opt_force && func_append my_autoreconf_options " --force"
|
|
|
|
$opt_verbose && func_append my_autoreconf_options " --verbose"
|
2010-09-25 05:26:00 +08:00
|
|
|
|
2011-11-24 19:36:04 +08:00
|
|
|
func_show_eval "$AUTORECONF$my_autoreconf_options --install ." \
|
|
|
|
'exit $?'
|
2010-09-25 05:26:00 +08:00
|
|
|
|
2011-11-24 19:36:04 +08:00
|
|
|
# Also bootstrap libltdl ready for installation.
|
|
|
|
func_show_eval "$AUTORECONF$my_autoreconf_options --install $ltdl_dir" \
|
|
|
|
'exit $?'
|
2010-09-25 05:26:00 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## ---------------------------- ##
|
|
|
|
## Libtool bootstrap functions. ##
|
|
|
|
## ---------------------------- ##
|
|
|
|
|
|
|
|
# libtool_prep
|
|
|
|
# ------------
|
|
|
|
# Libtool bootstrap initialisation after successful option parse and
|
|
|
|
# validation.
|
|
|
|
libtool_prep ()
|
|
|
|
{
|
|
|
|
# initial clean-up of checked out tree
|
|
|
|
find . -depth \( -name autom4te.cache -o -name libtool \) -print \
|
|
|
|
| grep -v '{arch}' \
|
|
|
|
| xargs rm -rf
|
|
|
|
|
|
|
|
# remove obsolete file droppings from old Libtool versions
|
|
|
|
for file in $libtool_obsolete_files; do
|
|
|
|
rm -f $file
|
|
|
|
done
|
|
|
|
}
|
|
|
|
func_add_hook func_prep libtool_prep
|
|
|
|
|
|
|
|
|
2011-10-19 00:24:53 +08:00
|
|
|
# libtool_add_libltdl_copying
|
|
|
|
# ---------------------------
|
|
|
|
# Use the canonical COPYING.LESSERv2 from gnulib.
|
|
|
|
libtool_add_libltdl_copying ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
func_gnulib_tool_copy_file doc/COPYING.LESSERv2 libltdl/COPYING.LIB
|
|
|
|
}
|
|
|
|
func_add_hook func_gnulib_tool libtool_add_libltdl_copying
|
|
|
|
|
|
|
|
|
2010-09-25 05:26:00 +08:00
|
|
|
# libtool_build_prerequisites
|
|
|
|
# ---------------------------
|
|
|
|
# Libtool generates some files that are required before any autotools
|
|
|
|
# can be run successfully.
|
|
|
|
libtool_build_prerequisites ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
$require_build_aux
|
2011-11-24 19:36:04 +08:00
|
|
|
$require_ltdl_dir
|
2010-09-25 05:26:00 +08:00
|
|
|
$require_macro_dir
|
|
|
|
$require_package
|
|
|
|
$require_package_bugreport
|
|
|
|
$require_package_name
|
|
|
|
$require_package_url
|
|
|
|
$require_package_version
|
|
|
|
|
|
|
|
# Whip up a dirty Makefile:
|
2011-11-01 13:29:48 +08:00
|
|
|
makes='Makefile.am libltdl/ltdl.mk'
|
2010-09-25 05:26:00 +08:00
|
|
|
rm -f Makefile
|
|
|
|
{
|
|
|
|
echo "aux_dir = $build_aux"
|
|
|
|
echo "ltdl_dir = $ltdl_dir"
|
|
|
|
echo "macro_dir = $macro_dir"
|
|
|
|
$SED '/^if /,/^endif$/d;/^else$/,/^endif$/d;/^include /d' $makes
|
|
|
|
} > Makefile
|
|
|
|
|
|
|
|
# Building distributed files from configure is bad for automake, so we
|
|
|
|
# generate them here, and have Makefile rules to keep them up to date.
|
|
|
|
func_echo "running: $MAKE bootstrap-deps ..."
|
|
|
|
$opt_dry_run || {
|
|
|
|
output=`$MAKE bootstrap-deps \
|
2012-10-11 13:43:03 +08:00
|
|
|
PACKAGE="$package" PACKAGE_BUGREPORT="$package_bugreport" \
|
|
|
|
PACKAGE_NAME="$package_name" PACKAGE_URL="$package_url" \
|
|
|
|
SED="$SED" srcdir=. VERSION="$package_version" 2>&1`
|
2010-09-25 05:26:00 +08:00
|
|
|
}
|
|
|
|
status=$?
|
|
|
|
|
|
|
|
test 0 -eq "$status" || echo "$output"
|
|
|
|
rm -f Makefile
|
|
|
|
test 0 -eq "$status" ||exit $EXIT_FAILURE
|
|
|
|
}
|
2011-10-19 00:24:53 +08:00
|
|
|
func_add_hook func_gnulib_tool libtool_build_prerequisites
|
2010-09-25 05:26:00 +08:00
|
|
|
|
|
|
|
|
2012-09-16 12:34:19 +08:00
|
|
|
# libtool_force_changelog
|
|
|
|
# -----------------------
|
|
|
|
# Automake requires that ChangeLog exist.
|
|
|
|
libtool_force_changelog ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
echo "Autogenerated by \`make dist'" > ChangeLog || exit 1
|
|
|
|
}
|
|
|
|
func_add_hook func_gnulib_tool libtool_force_changelog
|
|
|
|
|
|
|
|
|
2011-10-19 00:24:53 +08:00
|
|
|
# libtool_readme_release_package_substitutions
|
|
|
|
# --------------------------------------------
|
|
|
|
# Show our own package details instead of generic strings.
|
|
|
|
libtool_readme_release_package_substitutions ()
|
2011-10-18 22:23:31 +08:00
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
2011-10-19 00:24:53 +08:00
|
|
|
$require_build_aux
|
|
|
|
$require_package
|
|
|
|
|
|
|
|
my_readme=README-release
|
|
|
|
|
|
|
|
test -f "$my_readme" \
|
|
|
|
|| func_fatal_error "error: \`$my_readme' does not exist"
|
|
|
|
|
|
|
|
# Perform substitutions to a temporary file
|
|
|
|
$SED -e "\
|
syntax-check: fix violations and implement sc_prohibit_sed_s_comma.
I like to name temporary directories that I will remove shortly
with two leading commas so that they sort lexicographically at
the top of `ls' output. Now, `./configure
--prefix=`pwd`/,,inst' works again, for the first time in
several years.
* cfg.mk (sc_prohibit_sed_s_comma): Comma is too common a
character to use routinely as the separator for sed
substitutions on file paths and other variables determined by
the user, causing bugs like the one I describe above. Make sure
we don't accidentally reintroduce any comma separators in
future.
* Makefile.am, bootstrap, bootstrap.conf, build-aux/extract-trace,
build-aux/general.m4sh, build-aux/git-hooks/commit-msg,
build-aux/git-log-fix, build-aux/ltmain.m4sh, libtoolize.m4sh,
m4/libtool.m4, m4/ltdl.m4, tests/cdemo-undef.test,
tests/cmdline_wrap.at, tests/darwin.at, tests/defs.m4sh,
tests/getopt-m4sh.at, tests/install.at, tests/libtoolize.at,
tests/mdemo/Makefile.am, tests/need_lib_prefix.at,
tests/sysroot.at, tests/tagdemo-undef.test, tests/testsuite.at:
Try to use `|' as the default separator wherever possible,
otherwise something else that doesn't occur in the substitution
expression.
* NEWS: Updated.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-21 19:02:23 +08:00
|
|
|
s|\@PACKAGE\@|$package|g
|
2011-10-19 00:24:53 +08:00
|
|
|
" "$my_readme" > "${my_readme}T" \
|
|
|
|
&& mv "${my_readme}T" "$my_readme"
|
2011-10-18 22:23:31 +08:00
|
|
|
}
|
2011-10-19 00:24:53 +08:00
|
|
|
func_add_hook func_fini libtool_readme_release_package_substitutions
|
2011-10-18 22:23:31 +08:00
|
|
|
|
|
|
|
|
2010-09-25 05:26:00 +08:00
|
|
|
# libtool_fudge_timestamps
|
|
|
|
# ------------------------
|
|
|
|
# Autoheader valiantly tries to prevent needless reconfigurations by
|
|
|
|
# not changing the timestamp of config-h.in unless the file contents
|
|
|
|
# are updated. Unfortunately config-h.in depends on aclocal.m4 which
|
|
|
|
# *is* updated, so running 'libtoolize --ltdl=. && configure && make'
|
|
|
|
# causes autoheader to be called... undesireable for users that do not
|
|
|
|
# have it! Fudge the timestamp to prevent that:
|
|
|
|
libtool_fudge_timestamps ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
sleep 2 && touch libltdl/config-h.in
|
|
|
|
}
|
|
|
|
func_add_hook func_fini libtool_fudge_timestamps
|
|
|
|
|
|
|
|
|
|
|
|
# libtool_cleanup
|
|
|
|
# ---------------
|
|
|
|
libtool_cleanup ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
# These files can cause an infinite configure loop if left behind.
|
|
|
|
rm -f Makefile libltdl/Makefile libtool vcl.tmp
|
|
|
|
}
|
|
|
|
func_add_hook func_fini libtool_cleanup
|
|
|
|
|
|
|
|
|
|
|
|
# libtool_check_for_bogus_macros
|
|
|
|
# ------------------------------
|
|
|
|
# Try to catch the case where `aclocal' pulls installed libtool macro
|
|
|
|
# file contents from another version of libtool into the current package
|
|
|
|
# `aclocal.m4'.
|
|
|
|
libtool_check_for_bogus_macros ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
|
|
|
$opt_dry_run ||
|
|
|
|
for macro in LT_INIT AC_PROG_LIBTOOL AM_PROG_LIBTOOL; do
|
|
|
|
if grep $macro aclocal.m4 libltdl/aclocal.m4; then
|
|
|
|
func_fatal_error "Bogus $macro macro contents in an aclocal.m4 file"
|
|
|
|
else :; fi
|
|
|
|
done
|
|
|
|
}
|
|
|
|
func_add_hook func_fini libtool_check_for_bogus_macros
|
|
|
|
|
|
|
|
|
|
|
|
# libtool_cleanup_empty_dirs
|
|
|
|
# --------------------------
|
|
|
|
# Gnulib leaves behind a few files we don't need.
|
|
|
|
libtool_cleanup_empty_dirs ()
|
|
|
|
{
|
|
|
|
$debug_cmd
|
|
|
|
|
syntax-check: fix violations and implement sc_useless_quotes_in_assignment.
Contrary to popular belief, Bourne shell does not resplit RHS of
assignments after expansion, so if there are no unquoted shell
metacharacters or whitespace, the quotes are useless.
* cfg.mk (_sc_search_regexp_or_exclude): A variation of gnulib's
_sc_search_regexp that also allows individual exclusions at the
site of what would otherwise match by adding a comment.
(sc_useless_quotes_in_assignment): New syntax-check rule to
ensure we don't reintroduce useless quoted assignments.
* bootstrap, bootstrap.conf, build-aux/edit-readme-alpha,
build-aux/general.m4sh, build-aux/getopt.m4sh,
build-aux/ltmain.m4sh, build-aux/options-parser, configure.ac,
doc/libtool.texi, libtoolize.m4sh, m4/libtool.m4, m4/ltdl.m4,
m4/ltoptions.m4, tests/cwrapper.at, tests/defs.m4sh,
tests/lalib-syntax.at, tests/libtoolize.at,
tests/lt_dlopenext.at, tests/mdemo/configure.ac,
tests/mdemo2/configure.ac, tests/need_lib_prefix.at,
tests/no-executables.at, tests/quote.test, tests/suffix.test:
Remove spurious quotes.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-16 19:59:01 +08:00
|
|
|
my_gnulib_source=${source_base-'lib'}
|
2011-10-26 13:58:35 +08:00
|
|
|
if test -d "$my_gnulib_source"; then
|
|
|
|
rm -f "$my_gnulib_source/.gitignore" "$my_gnulib_source/Makefile.am" || exit 1
|
|
|
|
rmdir "$my_gnulib_source" || exit 1
|
|
|
|
fi
|
2010-09-25 05:26:00 +08:00
|
|
|
}
|
|
|
|
func_add_hook func_fini libtool_cleanup_empty_dirs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## -------------------- ##
|
|
|
|
## Resource management. ##
|
|
|
|
## -------------------- ##
|
|
|
|
|
2011-11-24 19:36:04 +08:00
|
|
|
# require_ltdl_dir
|
|
|
|
# ----------------
|
|
|
|
# Extract libtool's ltdl directory from configure.ac.
|
|
|
|
require_ltdl_dir=func_require_ltdl_dir
|
|
|
|
func_require_ltdl_dir ()
|
|
|
|
{
|
|
|
|
$require_configure_ac
|
|
|
|
|
|
|
|
func_extract_trace LT_CONFIG_LTDL_DIR
|
|
|
|
|
|
|
|
save_ifs=$IFS
|
|
|
|
IFS=:
|
|
|
|
set dummy $func_extract_trace_result
|
|
|
|
IFS=$save_ifs
|
|
|
|
shift
|
|
|
|
|
|
|
|
ltdl_dir=$1
|
|
|
|
func_check_configuration ltdl_dir \
|
|
|
|
"LT_CONFIG_LTDL_DIR([name of your libltdl directory])"
|
|
|
|
|
|
|
|
func_verbose "ltdl_dir='$ltdl_dir'"
|
|
|
|
|
|
|
|
require_ltdl_dir=:
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2010-09-25 05:26:00 +08:00
|
|
|
# require_package_url
|
|
|
|
# -------------------
|
|
|
|
# Ensure that package_url has a sensible default.
|
|
|
|
require_package_url=libtool_require_package_url
|
|
|
|
libtool_require_package_url ()
|
|
|
|
{
|
|
|
|
$require_configure_ac
|
|
|
|
|
|
|
|
func_extract_trace AC_INIT
|
syntax-check: fix violations and implement sc_trailing_blank-non-rfc3676.
* cfg.mk (local-checks-to-fix): Move sc_trailing_blank from
here...
(local-checks-to-skip): ...to here, because otherwise it flags
valid RFC3676 signature blocks.
(sc_trailing_blank-non-rfc3676): An improved sc_trailing_blank
implementation that doesn't flag signature blocks as violations.
* Makefile.am, bootstrap.conf, doc/PLATFORMS,
libltdl/config/ltmain.m4sh, libltdl/m4/libtool.m4,
libltdl/m4/lt~obsolete.m4, tests/archive-in-archive.at,
tests/convenience.at, tests/darwin.at, tests/depdemo/l1/l1.c,
tests/depdemo/l2/l2.c, tests/depdemo/l3/l3.c,
tests/depdemo/l4/l4.c, tests/f77demo/README,
tests/f77demo/cprogram.c, tests/f77demo/foof.f,
tests/f77demo/foof2.f, tests/f77demo/foof3.f,
tests/f77demo/fprogram.f, tests/fcdemo/README,
tests/fcdemo/cprogram.c, tests/fcdemo/foof.f90,
tests/fcdemo/foof2.f90, tests/fcdemo/foof3.f90,
tests/fcdemo/fprogram.f90, tests/mdemo/README,
tests/mdemo/main.c, tests/mdemo/mlib.c, tests/objectlist.test,
tests/static.at, tests/template.at, tests/testsuite.at: Remove
trailing blanks.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-10-25 12:16:02 +08:00
|
|
|
|
syntax-check: fix violations and implement sc_useless_quotes_in_assignment.
Contrary to popular belief, Bourne shell does not resplit RHS of
assignments after expansion, so if there are no unquoted shell
metacharacters or whitespace, the quotes are useless.
* cfg.mk (_sc_search_regexp_or_exclude): A variation of gnulib's
_sc_search_regexp that also allows individual exclusions at the
site of what would otherwise match by adding a comment.
(sc_useless_quotes_in_assignment): New syntax-check rule to
ensure we don't reintroduce useless quoted assignments.
* bootstrap, bootstrap.conf, build-aux/edit-readme-alpha,
build-aux/general.m4sh, build-aux/getopt.m4sh,
build-aux/ltmain.m4sh, build-aux/options-parser, configure.ac,
doc/libtool.texi, libtoolize.m4sh, m4/libtool.m4, m4/ltdl.m4,
m4/ltoptions.m4, tests/cwrapper.at, tests/defs.m4sh,
tests/lalib-syntax.at, tests/libtoolize.at,
tests/lt_dlopenext.at, tests/mdemo/configure.ac,
tests/mdemo2/configure.ac, tests/need_lib_prefix.at,
tests/no-executables.at, tests/quote.test, tests/suffix.test:
Remove spurious quotes.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-16 19:59:01 +08:00
|
|
|
save_IFS=$IFS
|
2010-09-25 05:26:00 +08:00
|
|
|
IFS=:
|
|
|
|
set dummy $func_extract_trace_result
|
syntax-check: fix violations and implement sc_useless_quotes_in_assignment.
Contrary to popular belief, Bourne shell does not resplit RHS of
assignments after expansion, so if there are no unquoted shell
metacharacters or whitespace, the quotes are useless.
* cfg.mk (_sc_search_regexp_or_exclude): A variation of gnulib's
_sc_search_regexp that also allows individual exclusions at the
site of what would otherwise match by adding a comment.
(sc_useless_quotes_in_assignment): New syntax-check rule to
ensure we don't reintroduce useless quoted assignments.
* bootstrap, bootstrap.conf, build-aux/edit-readme-alpha,
build-aux/general.m4sh, build-aux/getopt.m4sh,
build-aux/ltmain.m4sh, build-aux/options-parser, configure.ac,
doc/libtool.texi, libtoolize.m4sh, m4/libtool.m4, m4/ltdl.m4,
m4/ltoptions.m4, tests/cwrapper.at, tests/defs.m4sh,
tests/lalib-syntax.at, tests/libtoolize.at,
tests/lt_dlopenext.at, tests/mdemo/configure.ac,
tests/mdemo2/configure.ac, tests/need_lib_prefix.at,
tests/no-executables.at, tests/quote.test, tests/suffix.test:
Remove spurious quotes.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-16 19:59:01 +08:00
|
|
|
IFS=$save_IFS
|
2010-09-25 05:26:00 +08:00
|
|
|
shift
|
|
|
|
|
syntax-check: fix violations and implement sc_useless_quotes_in_assignment.
Contrary to popular belief, Bourne shell does not resplit RHS of
assignments after expansion, so if there are no unquoted shell
metacharacters or whitespace, the quotes are useless.
* cfg.mk (_sc_search_regexp_or_exclude): A variation of gnulib's
_sc_search_regexp that also allows individual exclusions at the
site of what would otherwise match by adding a comment.
(sc_useless_quotes_in_assignment): New syntax-check rule to
ensure we don't reintroduce useless quoted assignments.
* bootstrap, bootstrap.conf, build-aux/edit-readme-alpha,
build-aux/general.m4sh, build-aux/getopt.m4sh,
build-aux/ltmain.m4sh, build-aux/options-parser, configure.ac,
doc/libtool.texi, libtoolize.m4sh, m4/libtool.m4, m4/ltdl.m4,
m4/ltoptions.m4, tests/cwrapper.at, tests/defs.m4sh,
tests/lalib-syntax.at, tests/libtoolize.at,
tests/lt_dlopenext.at, tests/mdemo/configure.ac,
tests/mdemo2/configure.ac, tests/need_lib_prefix.at,
tests/no-executables.at, tests/quote.test, tests/suffix.test:
Remove spurious quotes.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-16 19:59:01 +08:00
|
|
|
test -n "$package_url " || package_url=$5
|
2010-09-25 05:26:00 +08:00
|
|
|
test -n "$package_url" || {
|
|
|
|
# How to extract the parameters for `make bootstrap-deps' from
|
|
|
|
# configure.ac. This is very specific to the way Libtool's
|
|
|
|
# configure.ac layout.
|
syntax-check: fix violations and implement sc_prohibit_sed_s_comma.
I like to name temporary directories that I will remove shortly
with two leading commas so that they sort lexicographically at
the top of `ls' output. Now, `./configure
--prefix=`pwd`/,,inst' works again, for the first time in
several years.
* cfg.mk (sc_prohibit_sed_s_comma): Comma is too common a
character to use routinely as the separator for sed
substitutions on file paths and other variables determined by
the user, causing bugs like the one I describe above. Make sure
we don't accidentally reintroduce any comma separators in
future.
* Makefile.am, bootstrap, bootstrap.conf, build-aux/extract-trace,
build-aux/general.m4sh, build-aux/git-hooks/commit-msg,
build-aux/git-log-fix, build-aux/ltmain.m4sh, libtoolize.m4sh,
m4/libtool.m4, m4/ltdl.m4, tests/cdemo-undef.test,
tests/cmdline_wrap.at, tests/darwin.at, tests/defs.m4sh,
tests/getopt-m4sh.at, tests/install.at, tests/libtoolize.at,
tests/mdemo/Makefile.am, tests/need_lib_prefix.at,
tests/sysroot.at, tests/tagdemo-undef.test, tests/testsuite.at:
Try to use `|' as the default separator wherever possible,
otherwise something else that doesn't occur in the substitution
expression.
* NEWS: Updated.
Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-21 19:02:23 +08:00
|
|
|
sed_extract_package_url='s|#.*$||; s|^dnl .*$||; s| dnl .*$||;
|
2010-09-25 05:26:00 +08:00
|
|
|
/AC_SUBST([[]*PACKAGE_URL/{
|
|
|
|
s|.*AC_SUBST([[ ]*PACKAGE_URL[] ]*,[[ ]*|package_url="|
|
|
|
|
s|[]) ]*$|"|
|
|
|
|
p
|
|
|
|
}'
|
|
|
|
|
|
|
|
# Extract package_url setting from configure.ac.
|
|
|
|
eval `$SED -n "$sed_extract_package_url" < configure.ac`
|
|
|
|
}
|
|
|
|
|
|
|
|
test -n "$package_url" \
|
|
|
|
|| func_fatal_error "unable to determine \`package_url' from \`$configure_ac'."
|
|
|
|
|
|
|
|
func_verbose "package_url='$package_url'"
|
|
|
|
|
|
|
|
require_package_url=:
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
# Local variables:
|
|
|
|
# mode: shell-script
|
|
|
|
# sh-indentation: 2
|
|
|
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
|
|
|
# time-stamp-start: "# bootstrap.conf (GNU Libtool) version "
|
|
|
|
# time-stamp-format: "%:y-%02m-%02d"
|
|
|
|
# time-stamp-end: "$"
|
|
|
|
# End:
|