Commit Graph

112 Commits

Author SHA1 Message Date
Gary V. Vaughan
64c02af9f1 extract-trace: only source funclib.sh when $progname is extract-trace.
* build-aux/extract-trace: $usage is too generic, and can cause
sourced extract-trace to re-source options-parser.  We already
require that funclib.sh be sourced before sourcing options-parser,
so it's safer to check that $progname is correct before sourcing
options-parser again from here.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-18 23:41:53 +07:00
Peter Rosin
cfcb7afd26 libtool: fix spelling nit
* build-aux/ltmain.in (func_generate_dlsyms): Fix spelling nit.
* libltdl/libltdl/lt_system.h: Likewise.
* m4/libtool.m4 (_LT_CMD_GLOBAL_SYMBOLS): Likewise.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2012-10-18 14:27:10 +02:00
Gary V. Vaughan
bbfb7d0580 maint: remove m4sh support.
Now that the code base has coalesced around a single option
parser, there's no need for the unused getopt.m4sh and support.
* build-aux/getopt.m4sh, build-aux/general.m4sh,
tests/getopt-m4sh.at: Remove.
* Makefile.am (m4sh_dir, LT_M4SH, general_m4sh, getopt_m4sh)
(sh_files): Remove.
(TESTSUITE_AT): Remove tests/getopt-m4sh.at.
(TESTS_ENVIRONMENT): Remove M4SH.
* bootstrap.conf (libtool_build_prerequisites): Remove M4SH.
* configure.ac (M4SH): Remove.
* HACKING (Editing `.m4sh' Files): Remove and renumber following
sections.
2012-10-12 20:18:30 +07:00
Gary V. Vaughan
0a42997c60 libtool: rewritten over funclib.sh instead of general.m4sh.
* Makefile.am (ltmain_m4sh, ltmain_sh_edit): Remove.
(ltmain_in): Path to ltmain.in.
(ltmain_sh): Generate ltmain.sh from ltmain.in using
$(bootstrap_edit).
* build-aux/ltmain.m4sh: Remove.
* build-aux/ltmain.in: Rewritten as a client of funclib.sh.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-12 20:18:29 +07:00
Gary V. Vaughan
75ca37e267 libtoolize: inline sourced helper scripts during install.
* build-aux/inline-source: New file.
* Makefile.am (inline_source): Path to inline-source script.
(EXTRA_DIST): Distribute inline-source too.
(helper_scripts): Remove.
(install-data-local): Inline sourced helper scripts during
installation.
Don't install helper_scripts.
(uninstall-hook): Don't uninstall helper_scripts.
2012-10-12 20:18:29 +07:00
Gary V. Vaughan
4930ebf6b1 options-parser: correctly quote shell meta-characters in arguments.
When any argument contains a shell meta-character, it needs to be
quoted when passed around.  We already pass parameter lists as
space delimited strings of arguments, and pass the string through
eval to turn it back into a list before re-assigning using `set'.
To prevent the shell from interpreting any meta-characters during
an `eval set dummy $argumentlist', they must be quoted again
inside the quoted argument list.
* build-aux/funclib.sh (func_quote_for_eval): Be careful to keep
a separate tally of quoted and unquoted argument lists, to
conform to the API of the single argument func_quote_for_eval
implementation in build-aux/general.m4sh.
* bulid-aux/options-parser (func_run_hooks): To account for the
doubly quoted meta-character argument lists, we must eval the
parameter reassignment `set' call separately from evaluating the
dynamically named hook results variable.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-12 20:18:28 +07:00
Gary V. Vaughan
a73a99b88a maint: factor common shell code into build-aux/funclib.sh.
Moving potentially reusable code into a common file that can
be sourced by clients, and adjusting for impedance mismatch
or necessary renames during integration.
* build-aux/funclib.sh: New file.
* build-aux/options-parser (Shell normalisation)
(User overrideable command paths, Global variables, func_append)
(require_term_colors, func_echo, func_echo_infix_1, func_warn)
(func_error, func_fatal_error, func_quote_for_eval, func_verbose):
Move from here...
* build-aux/funclib.sh (Shell normalisation, User overrideable
command paths, Global variables, func_append)
(require_term_colors, func_echo, func_echo_infix_1)
(func_warn_and_continue, func_error, func_fatal_error)
(func_quote_for_eval, func_verbose): ...to here.
* build-aux/general.m4sh (func_arith, func_basename)
(func_dirname, func_dirname_and_basename, func_echo_all)
(func_grep, func_len, func_mkdir_p, func_mktempdir)
(func_normal_abspath, func_relative_path, func_quote_for_expand)
(func_stripname, func_show_eval, func_tr_sh): Move from here...
* build-aux/funclib.sh(func_arith, func_basename)
(func_dirname, func_dirname_and_basename, func_echo_all)
(func_grep, func_len, func_mkdir_p, func_mktempdir)
(func_normal_abspath, func_relative_path, func_quote_for_expand)
(func_stripname, func_show_eval, func_tr_sh): ...to here.
* bootstrap (usage message): Document `-no-warn' option.
(func_append_u, func_warning): Move from here...
* build-aux/funclib.sh (func_append_uniq, func_warning): ...to
here.
* bootstrap, build-aux/extract-trace: Source build-aux/funclib.sh
before build-aux/options-parser.
* build-aux/options-parser (usage, long_help_message): Set
default values to match what is parsed by the unmodified parser.
* build-aux/extract-trace (usage, long_help_message): Only set
from func_main, so that clients sourcing this file can still use
the correct defaults from build-aux/options-parser.
* bootstrap (bootstrap_options_prep, bootstrap_parse_options):
Move warning option parsing from here...
* build-aux/option-parser (func_options_prep)
(func_parse_options): ...to here, where all clients can benefit.
* Makefile.am (funclib_sh): New macro; path to funclib.sh.
(EXTRA_DIST): Add $(funclib_sh).

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-12 20:18:28 +07:00
Gary V. Vaughan
125eb722e4 options-parser: employ fork minimisation.
* build-aux/options-parser (_G_HAVE_XSI_OPS): Environment
overrideable defaults for bash and zsh, which are known to
support XSI extensions.
(_G_HAVE_PLUSEQ_OP): Similarly for new enough versions of bash,
which are known to have += support.
(func_append): Only perform the shell += probe when state of
support is unknown.
(func_split_equals, func_split_short_opt): Similarly for XSI
probe to select fastest working implementation.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-12 18:36:37 +07:00
Gary V. Vaughan
95e3f5ee75 options-parser: keep non-option arguments separate!
* build-aux/options-parser (func_parse_options): When there is
more than one non-option argument, "$*" forces all of them into
a single string.  Use ${1+"$@"} to set arguments correctly.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-12 18:36:37 +07:00
Gary V. Vaughan
ff7555a5aa options-parser: prefix usage message with "Usage: ".
* build-aux/options-parser (func_usage_message): Prefix usage
message with "Usage: ".

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-12 18:36:37 +07:00
Gary V. Vaughan
941797e273 maint: simplify "Local variables:" footer with time-stamp-pattern.
* bootstrap, build-aux/extract-trace, build-aux/options-parser
(Local variables): Use time-stamp-pattern to set number of
searched lines to 10, and to replace time-stamp-start,
time-stamp-end and time-stamp-format.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-12 18:36:36 +07:00
Gary V. Vaughan
9847559cef syntax-check: fix violations and implement sc_prohibit_space_semicolon.
No need for a spurious space before a command ending semi-colon.
* cfg.mk (sc_prohibit_space_semicolon): New test to catch
accidental reintroduction of spurious spaces removed by this
changeset.
* bootstrap, build-aux/general.m4sh, build-aux/ltmain.m4sh,
libltdl/lt__strl.c, m4/libtool.m4, m4/ltdl.m4, tests/bindir.at:
Remove spurious spaces.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-04 20:11:04 +07:00
Gary V. Vaughan
aab8048367 libtool: unroll complex nested compound statements
* build-aux/ltmain.m4sh: Use an if statement instead of ugified
compound statements.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:08:00 +07:00
Gary V. Vaughan
a252d59d91 libtool: unroll nested if into a single case statement.
* build-aux/ltmain.m4sh (func_mode_link): Unroll a hard to
understad nested if statement into a more readable single case
statement.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:07:56 +07:00
Gary V. Vaughan
c0228e02d1 libtool: simplify $skipped_export blocks
* build-aux/ltmain.m4sh (func_mode_link): Save an if statement
with '$skipped_export && { block; }' instead of 'if $skipped_export;
then block; fi'.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:07:52 +07:00
Gary V. Vaughan
2e7ba6d709 libtool: simplify an if statement
* build-aux/ltmain.m4sh (func_mode_link): Reverse the branch
order for an if statement for readability.
* m4/libtool.m4: Likewise.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:07:48 +07:00
Gary V. Vaughan
9053a05940 libtool: save an if statement, with a compound statement.
* build-aux/ltmain.m4sh (func_mode_link): Simplify.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:07:44 +07:00
Gary V. Vaughan
59ec249278 libtool: simplify multiple string tests
* build-aux/ltmain.m4sh (func_mode_link): Save test invocations
by using 'test x,y = "$a,$b"' instead of 'test x = "$a" && test y
= "$b"'.
* m4/libtool.m4: Likewise.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:07:39 +07:00
Gary V. Vaughan
8f0ee8aeeb libtool: fold if into a compound OR statement when more readable
* build-aux/ltmain.m4sh (func_mode_link): For readability, use
'test string = "$var" || { stuff; }' in preference to
'if test string != "$var"; then stuff; fi'.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:07:34 +07:00
Gary V. Vaughan
9a4cac8342 libtool: use false or : for $rmforce, and simplify
* build-aux/ltmain.m4sh (func_mode_uninstall): Save a string
comparison by setting $rmforce to false or : and using it
directly as the first argument to if.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:07:30 +07:00
Gary V. Vaughan
0d3ae55697 libtool: use false or : for $wrappers_required, and simplify
* build-aux/ltmain.m4sh (func_mode_link): Save a string
comparison by setting $wrappers_required to false or : and using
it directly with a ored block rather than an if statement.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:07:26 +07:00
Gary V. Vaughan
d61e83993b libtool: use false or : for $linkalldeplibs, and simplify
* build-aux/ltmain.m4sh (func_mode_link): Save a string
comparison by setting $linkalldeplibs to false or : and using it
directly as the first argument to if.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:07:22 +07:00
Gary V. Vaughan
3b802dd319 libtool: use false or : for $valid_a_lib, and simplify
* build-aux/ltmain.m4sh (func_mode_link): Save a string
comparison by setting $valid_a_lib to false or : and using it
directly as the first argument to if.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:07:13 +07:00
Gary V. Vaughan
de7482d17c libtool: use false or : for $found, and simplify
* build-aux/ltmain.m4sh (func_mode_link): Save a string
comparison by setting $found to false or : and using it directly
as the first argument to if.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:06:47 +07:00
Gary V. Vaughan
934c0382de libtool: use false or : for $alldeplibs, and simplify
* build-aux/ltmain.m4sh (func_mode_link): Save a string
comparison by setting $alldeplibs to false or : and using it
directly as the first argument to if.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:06:41 +07:00
Gary V. Vaughan
fd1151fe85 libtool: use false or : for $preload, and simplify
* build-aux/ltmain.m4sh (func_mode_link): Save a string
comparison by setting $preload to false or : and using it directly
instead of if statements.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:06:37 +07:00
Gary V. Vaughan
4e05284e51 libtool: use false or : for $my_pic_p, and simplify
* build-aux/ltmain.m4sh (func_generate_dlsyms): Save a string
comparison by setting $my_pic_p to false or : and using it directly
instead of calling if.
Adjust all callers.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:06:32 +07:00
Gary V. Vaughan
7ce429c527 libtool: use false or : for $finalize, and simplify
* build-aux/ltmain.m4sh (func_mode_install): Save a string
comparison by setting $finalize to false or : and using it
directly as the first argument to if.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:06:27 +07:00
Gary V. Vaughan
7510fd8bed libtool: use false or : for $isdir, and simplify
* build-aux/ltmain.m4sh (func_mode_install): Save a string
comparison by setting $isdir to false or : and using it directly
as the first argument to if.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:06:13 +07:00
Gary V. Vaughan
692bc68dc9 syntax-check: remove useless_braces_in_variable_derefs.
* build-aux/general.m4sh: Remove spurious braces around
${ZSH_VERSION} dereference.
* build-aux/ltmain.m4sh (func_mode_link): Likewise for ${wl}.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:06:06 +07:00
Gary V. Vaughan
ae68608314 maint: remove unused cvsu script.
* build-aux/cvsu: Remove. This script is not useful now that
Libtool's repository is hosted in git.
* Makefile.am (build_scripts): Remove cvsu reference.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:05:53 +07:00
Gary V. Vaughan
d576fa9da1 maint: run update-copyright for missing 2011 and 2012 years.
See maintain.texi (Copyright Notices) for rules for maintaining
the years in copyright notices.
* All Files (Copyright): Updated with missing 2011 and 2012.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:05:50 +07:00
Gary V. Vaughan
3cbc0e26f0 bootstrap: use gnulib update-copyright script.
See maintain.texi (Copyright Notices) for rules for maintaining
the years in copyright notices.
* bootstrap.conf (gnulib_modules): Add update-copyright.
* cfg.mk (update-copyright-env): Set environment variables for
update-copyright script.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:05:47 +07:00
Gary V. Vaughan
83d52fd6d2 bootstrap: update bootstrap script to latest upstream.
* bootstrap, build-aux/options-parser: apply upstream fixes and
enhancements.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:05:41 +07:00
Gary V. Vaughan
1e70622d7c git: don't complain about new parallel tests driver and file droppings.
* build-aux/.gitignore: Ignore parallel `test-driver' script.
* tests/.gitignore: Ignore `test-driver' .trs file droppings.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:05:28 +07:00
Andreas Schwab
59f8a3a6e1 Pass through -g* so that debugging information is not dropped
* ltmain.m4sh (func_mode_link): Pass through -g*.
2012-10-02 21:05:15 +07:00
Peter Rosin
d702946c65 libtool: quote progpath properly
Attempt to handle spaces in paths better.

* build-aux/ltmain.m4sh (func_mode_install, func_mode_link): Quote
$progpath.
* THANKS: Update.
2012-10-02 21:05:10 +07:00
Titus von Boxberg
8f975a1368 Accept clang's -stdlib linker flag.
build-aux/ltmain.m4sh: Don't drop the -stdlib= flag.
2012-10-02 21:04:15 +07:00
Juergen Reuter
f8a4b90f9a Enable nagfor fortran compiler support
* build-aux/ltmain.m4sh: nagfor compatible version string.
* m4/libtool.m4: nagfor support.
2012-10-02 21:04:04 +07:00
Peter Rosin
baffe66191 cwrapper: avoid surplus strlen calculations.
* build-aux/ltmain.m4sh (func_emit_cwrapperexe_src:lt_update_exe_path):
Avoid surplus strlen calculations.

Signed-off-by: Peter Rosin <peda@lysator.liu.se>
2012-10-02 21:03:17 +07:00
Gary V. Vaughan
822881fe3c bootstrap: fix Autoconf version typo.
* build-aux/options-parses: s/2\.62/2.68/

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:03:15 +07:00
Gary V. Vaughan
c03789b8ee libtool: make fork minimisation compatible with dash and zsh.
* build-aub/general.m4sh (lt_HAVE_PLUSEQ_OP): Instead of using
$((..)) arithmetic, which causes an error on dash, use a case
based bash version check.
(lt_HAVE_ARITH_OP, lt_HAVE_XSI_OPS): Also short circuit the
feature probing forks and set these automatically when zsh is
detected.
Reported by Stefano Lattarini.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:03:11 +07:00
Gary V. Vaughan
78385ffd8a bootstrap: adopt autoconf echo normalization code.
Dash shipped with Ubutu-11.10 as /bin/sh, among others, still
has a crippled echo builtin that mis-handles backslashes.
* build-aux/options-parser (bs_echo): Adopt the autoconf echo
normalization code to find a suitable replacement for buggy echo
commands.
Adjust all uses of echo to $bs_echo.
* build-aux/extract-trace (func_extract_trace, func_main):
Likewise.
* bootstrap: To retain some execution speed on platforms with
buggy builtin echo, replace most occurrences of `echo' with
`$bs_echo' - except where its arguments will obviously never
contain backslashes or be overly long.
Reported by Reuben Thomas.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:03:09 +07:00
Gary V. Vaughan
7d25536e80 libtool: minimise forks per invocation under bash.
* build-aux/general.m4sh (lt_HAVE_PLUSEQ_OP, lt_HAVE_ARITH_OP)
(lt_HAVE_XSI_OPS): Set these without forking a test script when
running under bash, to avoid a few unnecessary forks.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:03:07 +07:00
Gary V. Vaughan
d56683630a maint: pick XSI funcs at runtime, not configure time.
Determine, on a function by function basis, what XSI features
are available in the shell that is actually running the script,
rather than the one that was picked at configure time by the
re-execution engine.
* m4/libtool.m4 (_LT_PROG_FUNCTION_REPLACE)
(_LT_PROG_REPLACE_SHELLFNS): Remove.
(_LT_CHECK_SHELL_FEATURES): Remove tests for XSI and += support.
* build-aux/general.m4sh (func_append, func_append_quoted)
(func_arith, func_len, func_basename, func_dirname)
(func_dirname_and_basename, func_stripname): List both enhanced
and fallback implementations, and choose one based on whether
the enhanced features required by the fastest version are
available.
* build-aux/getopt.m4sh (func_split_short_opt)
(func_split_long_opt): Ditto.
* build-aux/ltmain.m4sh (func_lo2o, func_xform): Ditto.
* tests/getopt-m4sh.at: Add tests for enhanced and fallback
implementations of func_arith, func_len, func_stripname and
func_dirname_and_basename.
* NEWS: Updated.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:02:50 +07:00
Gary V. Vaughan
ca82143600 maint: share useful functions from general.m4sh.
* build-aux/ltmain.m4sh (func_append, func_append_quoted)
(func_arith, func_len): Removed from here...
* build-aux/general.m4sh (func_append, func_append_quoted)
(func_arith, func_len): ...and added to here.
(func_dirname, func_dirname_and_basename, func_normal_abspath)
(func_relative_path): Use func_append.
* tests/getopt-m4sh.at (_LT_AT_FALLBACK_FUNC_EXTRACT): Removed.
Fallback functions are now in any m4sh generated file
automatically.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:02:48 +07:00
Gary V. Vaughan
006695fed2 maint: Fix generated ChangeLog typos.
* build-aux/git-log-fix: Spell Stefano Lattarini's name
correctly.
Don't use my home email address for GNU commits.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:02:22 +07:00
Gary V. Vaughan
ff3b32aed7 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>
2012-10-02 21:02:16 +07:00
Gary V. Vaughan
d43b40113e syntax-check: [REDO] fix violations and implement sc_prohibit_test_const_follows_var.
To safely use a non-literal fist argument to 'test', you must
always prepend a literal non-'-' character, but often the second
operand is a constant that doesn't begin with a '-' already, so
always use 'test a = "$b"' instead of the noisy 'test "X$b" = Xa'.
* cf.mk (sc_prohibit_test_const_follws_var): New syntax-check
rule to ensure we don't reintroduce noisy test operands.
bootstrap, build-aux/extract-trace, build-aux/general.m4sh,
build-aux/ltmain.m4sh, configure.ac, doc/libtool.texi, libtoolize.m4sh,
m4/argz.m4, m4/libtool.m4, m4/ltdl.m4, tests/bindir.at, tests/defs.m4sh,
tests/demo-relink.test, tests/demo/configure.ac,
tests/depdemo-relink.test, tests/destdir.at, tests/duplicate_conv.at,
tests/fail.at, tests/getopt-m4sh.at, tests/help.at, tests/libtoolize.at,
tests/link-2.test, tests/link-order2.at, tests/lt_dlopenext.at,
tests/mdemo/configure.ac, tests/mdemo2/configure.ac,
tests/need_lib_prefix.at, tests/nocase.at, tests/pdemo/configure.ac,
tests/pic_flag.at, tests/search-path.at, tests/shlibpath.at,
tests/static.at, tests/sysroot.at, tests/tagtrace.test,
tests/testsuite.at, tests/with-pic.at: Swap operands to avoid useless
noise.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2012-10-02 21:02:16 +07:00
Gary V. Vaughan
8fad6be03e syntax-check: fix violations and implement sc_useless_braces_in_variable_derefs.
Until now, libtool sources have used braced variable names
seemingly at random! Almost always the braces are just noise, so
remove all the unnecessary ones.
* cfg.mk (sc_useless_braces_in_variable_derefs): New syntax
check rule to ensure we only reintroduce braced variable
dereferences if they are followed by a valid variable name
character.
build-aux/general.m4sh, build-aux/git-hooks/commit-msg,
build-aux/ltmain.m4sh, build-aux/options-parser, configure.ac,
libltdl/configure.ac, m4/libtool.m4, m4/ltdl.m4,
m4/ltoptions.m4, tests/defs.m4sh, tests/demo-nopic.test,
tests/depdemo/configure.ac, tests/flags.at, tests/link.test,
tests/objectlist.test, tests/quote.test, tests/static.at: Remove
spurious braces.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-25 14:53:42 +07:00
Gary V. Vaughan
4757bf0637 syntax-check: fix violations and implement sc_prohibit_bare_basename.
* cfg.mk (sc_prohibit_bare_basename, sc_prohibit_basename_with_sed):
Make sure not to go back to using occasional `|$basename' or
`|$dirname' syntax.
* build-aux/git-hooks/commit-msg, build-aux/ltmain.m4sh,
* build-aux/options-parser, tests/fcdemo-conf.test,
* tests/fcdemo-shared.test, tests/fcdemo-static.test,
* tests/libtoolize.at: Fix violations.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-25 14:53:41 +07:00
Gary V. Vaughan
a53d6cc498 tests: migrate tests/sh.test checks to syntax-checks.
Some modernization of the legacy testsuite.
* tests/sh.test: Remove.
* Makefile.am (COMMON_TESTS): Adjust.
* cfg.mk (sc_libtool_m4_cc_basename, sc_prohibit_bracket_as_test)
(sc_prohibit_nested_quotes, sc_prohibit_set_dummy_without_shift)
(sc_prohibit_set_minus_minus, sc_prohibit_test_binary_operators)
(sc_prohibit_test_dollar, sc_prohibit_test_minus_e)
(sc_prohibit_test_unary_operators, sc_prohibit_test_X)
(sc_prohibit_Xsed_withou_X, sc_require_function_nl_brace):
Functionally identical tests to what used to be performed by
sh.test, only with coverage of all files.
* bootstrap, build-aux/edit-readme-alpha,
build-aux/extract-trace, build-aux/getopt.m4sh,
build-aux/ltmain.m4sh, configure.ac, m4/libtool.m4, m4/ltdl.m4,
tests/bindir.at, tests/configure-iface.at, tests/cwrapper.at,
tests/darwin.at, tests/defs.m4sh, tests/demo-hardcode.test,
tests/dlloader-api.at, tests/exceptions.at,
tests/getopt-m4sh.at, tests/lalib-syntax.at, tests/link-2.test,
tests/link-order2.at, tests/loadlibrary.at,
tests/lt_dladvise.at, tests/lt_dlexit.at, tests/lt_dlopen_a.at,
tests/lt_dlopenext.at, tests/need_lib_prefix.at,
tests/nonrecursive.at, tests/recursive.at, tests/resident.at,
tests/standalone.at, tests/static.at, tests/stresstest.at,
tests/subproject.at, tests/sysroot.at, tests/tagtrace.test,
tests/testsuite.at: Fix violations of the new syntax checks.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-25 14:53:41 +07:00
Gary V. Vaughan
06c6555d4a 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-25 14:53:41 +07:00
Gary V. Vaughan
59e09030ae syntax-check: fix violations and implement sc_useless_quotes_in_case.
Contrary to popular belief, Bourne shell does not resplit case
expressions after expansion, so if there are no unquoted shell
metacharacters or whitespace, the quotes are useless.
* cfg.mk (sc_useless_quotes_in_case): New syntax-check rule to
ensure we don't reintroduce useless quoted case expressions.
* build-aux/ltmain.m4sh, m4/libtool.m4, tests/bindir.at,
tests/darwin.at, tests/defs.m4sh, tests/demo-hardcode.test,
tests/demo-nopic.test, tests/link-2.test, tests/quote.test,
tests/sysroot.at: Remove spurious quotes.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-25 14:53:41 +07:00
Gary V. Vaughan
460eb0638a syntax-check: fix violations and re-enable sc_useless_cpp_parens.
* cfg.mk (local-checks-to-fix): Remove sc_useless_cpp_parens
from list of disabled checks.
* doc/libtool.texi, libltdl/argz.c, libltdl/argz_.h,
build-aux/ltmain.m4sh, libltdl/libltdl/lt__alloc.h,
libltdl/libltdl/lt__dirent.h, libltdl/libltdl/lt__glibc.h,
libltdl/libltdl/lt__private.h, libltdl/libltdl/lt__strl.h,
libltdl/libltdl/lt_dlloader.h, libltdl/libltdl/lt_error.h,
libltdl/libltdl/lt_system.h, libltdl/libltdl/slist.h,
libltdl/loaders/dld_link.c, libltdl/loaders/dlopen.c,
libltdl/loaders/dyld.c, libltdl/loaders/loadlibrary.c,
libltdl/loaders/shl_load.c, libltdl/lt__dirent.c, libltdl/lt__strl.c,
libltdl/ltdl.c, libltdl/ltdl.h, libltdl/m4/libtool.m4, tests/demo/foo.h,
tests/depdemo/sysdep.h, tests/exceptions.at, tests/export.at,
tests/pdemo/foo.h, tests/stresstest.at: Remove useless parens in cpp
`#if defined(foo)' statements.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 19:22:16 +07:00
Gary V. Vaughan
e628dd85c1 syntax-check: fix violations and re-enable sc_space_tab.
* cfg.mk (local-checks-to-fix): Remove sc_space_tab from list of
disabled checks.
(exclude_file_name_regexp--sc_space_tab): Don't flag space-tab
sequences in diff files as an error.
* Makefile.am, build-aux/general.m4sh, build-aux/git-hooks/commit-msg,
build-aux/ltmain.m4sh, libltdl/loaders/dyld.c,
libltdl/loaders/shl_load.c, libltdl/ltdl.h, libltdl/ltdl.mk,
libltdl/slist.c, libtoolize.m4sh, m4/ltoptions.m4, tests/demo/dlmain.c,
tests/depdemo/main.c, tests/libtoolize.at, tests/lt_dladvise.at,
tests/pdemo/longer_file_name_dlmain.c, tests/sh.test, tests/static.at,
tests/stresstest.at, tests/template.at: Fix space-tab sequences by
reversing them in regexps, and deleting leading spaces in indentation.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 19:22:14 +07:00
Gary V. Vaughan
42c96694c1 syntax-check: fix violations and re-enable sc_prohibit_undesirable_word_seq.
* cfg.mk (local-checks-to-fix): Remove
sc_prohibit_undesirable_word_seq from list of disabled checks.
* doc/libtool.texi, build-aux/ltmain.m4sh,
libltdl/m4/libtool.m4, libtoolize.m4sh: Replace all uses of "can
not" with "cannot".

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 19:21:45 +07:00
Gary V. Vaughan
2c0e68f058 syntax-check: fix violations and re-enable sc_prohibit_strcmp.
* cfg.mk (local-checks-to-fix): Remove sc_prohibit_strcmp
from list of disabled checks.
(exclude_file_name_regexp--sc_prohibit_strcmp): Ignore
violations in libtool.texi and any demo C files.
* libltdl/libltdl/lt__private.h (strneq, streq): Renamed from
this...
(STRNEQ, STREQ): ..to this.  Adjust all callers.
* tests/slist.at: Add STREQ definition. Change all !strcmp calls
to STREQ.
* build-aux/ltmain.m4sh (func_emit_cwrapperexe_src): Add and use
STREQ definition.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 19:21:10 +07:00
Gary V. Vaughan
407cea5ebb syntax-check: fix violations and re-enable sc_prohibit_doubled_word.
* cfg.mk (local-checks-to-fix): Remove sc_prohibit_doubled_word
from list of disabled checks.
* build-aux/general.m4sh (func_quote_for_eval): Remove one of a
 pair of "and"s in a comment.
* tests/lt_dladvise.at (hint_global): Remove one of a pair of
consecutive "to"s split across lines in a comment.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 19:20:28 +07:00
Gary V. Vaughan
40adfb1b85 syntax-check: fix violations and re-enable sc_file_system.
* cfg.mk (local-checks-to-fix): Remove sc_file_system from list
of disabled checks.
(VC_LIST_ALWAYS_EXCLUDE_REGEX): Match mail directory correctly
to avoid running its contents through syntax-check.
* build-aux/ltmain.m4sh (func_mode_link): Use correct spelling
for "file system".
* libltdl/ltdl.c (try_dlopen): Ditto.
* tests/dlloader-api.at: Ditto.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 19:19:54 +07:00
Gary V. Vaughan
f3e71d08e8 syntax-check: fix violations and re-enable sc_cast_of_argument_to_free.
* cfg.mk (local-checks-to-fix): Remove
sc_cast_of_argument_to_free from list of disabled checks.
* build-aux/ltmain.m4sh, libltdl/libltdl/lt__alloc.h,
libltdl/lt__dirent.c: Casting argument to free is never
necessary.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 19:11:12 +07:00
Gary V. Vaughan
aa2b2b71fa libtoolize: rename libltdl/config' directory to standard build-aux'.
In addition to moving the autoconf auxiliary script directory
into the place expected by GNU developers ($top_srcdir/build-aux)
we also simplify libtoolize somewhat by having libltdl use
whatever directory was specified by the parent project.  This is
much more flexible, allows libltdl client projects to also use a
single canonical `$top_srcdir/build-aux' auxiliary script
directory, and maintains backward compatibility with existing
projects that wish to continue using $ltdl_dir/config.
* libltdl/config: Moved whole directory from here...
* build-aux: ...to here.
* libtoolize.m4sh (func_install_pkgaux_subproject): Remove.
(func_install_pkgaux_parent): Remove.
(func_install_pkgaux_files): Considerably simplified now that we
have only a single auxiliary directory to worry about.
(subproject_aux_dir): Remove.
* bootstrap.conf (libtool_readme_release_package_substitutions):
No need to substitute our old unusual aux_dir location into
README-release any more.
* cfg.mk (_build-aux): Now that we use the standard location for
this directory, no need to set this variable either.
* configure.ac (AC_INIT): git-version-gen has moved.
(AC_CONFIG_AUX_DIR): Adjust.
* Makefile.am (stamp-mk, auxexefiles, auxfiles)
(install-data-local): Use build-aux instead of config.
(libltdl/stamp-mk): Ditto.
* libltdl/configure.ac, tests/cdemo/configure.ac,
tests/demo/configure.ac, tests/depdemo/configure.ac,
tests/f77demo/configure.ac, tests/fcdemo/configure.ac,
tests/mdemo/configure.ac, tests/mdemo2/configure.ac,
tests/pdemo/configure.ac, tests/tagdemo/configure.ac
(AC_CONFIG_AUX_DIR): Ditto.
* tests/defs.m4sh (aux_dir): Ditto.
* tests/configure-iface.at, tests/getopt-m4sh.at,
tests/libtoolize.at, tests/subproject.at, tests/testsuite.at:
Ditto.
* Makefile.am (ltdl_ac_aux_dir): Extract at build-time...
* libtoolize.m4sh (require_ltdl_ac_aux_dir): ...so that
libtoolize can access it at runtime without requiring GNU M4 via
the extract-trace script.
(require_Makefile_am_filter): Use it to determine whether the
aux_dir declared in the current (parent) project configure is
compatible with the declarations in installed ltdl autotools
source files.
(require_configure_ac_filter): New function to perform similar
checks and rewrite configure.ac during installation if necessary.
* NEWS: Updated.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>
2011-11-17 17:56:40 +07:00