mirror of
git://git.savannah.gnu.org/libtool.git
synced 2024-12-21 06:59:11 +08:00
75ca37e267
* 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.
109 lines
2.9 KiB
Bash
Executable File
109 lines
2.9 KiB
Bash
Executable File
#! /bin/sh
|
|
|
|
# Source required external libraries:
|
|
. `echo "$0" |${SED-sed} 's|[^/]*$||'`"funclib.sh"
|
|
. `echo "$0" |${SED-sed} 's|[^/]*$||'`"options-parser"
|
|
|
|
# Set a version string for *this* script.
|
|
scriptversion=2012-10-11.10; # UTC
|
|
|
|
# Output the contents of a file with sourced files inlined.
|
|
# Written by Gary V. Vaughan, 2012
|
|
|
|
# Copyright (C) 2012 Free Software Foundation, Inc.
|
|
# This is free software; see the source for copying conditions. There is NO
|
|
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
#
|
|
# This program 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 3 of the License, or
|
|
# (at your option) any later version.
|
|
|
|
# This program 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 this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
# Please report bugs or propose patches to bug-libtool@gnu.org.
|
|
|
|
|
|
: ${AWK="awk"}
|
|
|
|
|
|
## ------ ##
|
|
## Usage. ##
|
|
## ------ ##
|
|
|
|
# Run `build-aux/inline-source --help' for help with using this stript
|
|
# from the command line.
|
|
|
|
|
|
## ---------------- ##
|
|
## Options parsing. ##
|
|
## ---------------- ##
|
|
|
|
usage='$progpath [OPTION]... FILE'
|
|
|
|
# Short help message in response to `-h'.
|
|
usage_message='Options:
|
|
--debug enable verbose shell tracing
|
|
--version print version information and exit
|
|
-h, --help print help message and exit
|
|
'
|
|
|
|
long_help_message="\
|
|
Report bugs to <bug-libtool@gnu.org>
|
|
General help using GNU software: <http://www.gnu.org/gethelp/>."
|
|
|
|
func_options ${1+"$@"}
|
|
eval set dummy "$func_options_result"; shift
|
|
|
|
|
|
## --------------- ##
|
|
## Core functions. ##
|
|
## --------------- ##
|
|
|
|
# func_include LINE
|
|
# -----------------
|
|
# Output the contents of file included by LINE.
|
|
func_include ()
|
|
{
|
|
test -f "$1" \
|
|
|| func_fatal_error "file '$1' not found"
|
|
|
|
_G_scriptdir=`echo "$1" |$SED 's|[^/]*$||'`
|
|
test -n "$_G_scriptdir" || _G_scriptdir="./"
|
|
|
|
$AWK '
|
|
/^\. ['\''"].*['\''"]$/ {
|
|
file = substr ($2, 2, length ($2) -2);
|
|
system (sprintf ("'$progpath' %s", file));
|
|
next;
|
|
}
|
|
|
|
/^\. `echo [^`]*`['\''"][^'\''"]*['\''"]$/ {
|
|
tail = substr ($0, match ($0, /`['\''"]/));
|
|
file = substr (tail, 3, length (tail) -3);
|
|
system (sprintf ("'$progpath' '"$_G_scriptdir"'%s", file));
|
|
next;
|
|
}
|
|
|
|
{ print; }
|
|
' < "$1"
|
|
}
|
|
|
|
func_include "$1"
|
|
|
|
exit 0
|
|
|
|
# Local variables:
|
|
# mode: shell-script
|
|
# sh-indentation: 2
|
|
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
|
# time-stamp-pattern: "10/scriptversion=%:y-%02m-%02d.%02H; # UTC"
|
|
# time-stamp-time-zone: "UTC"
|
|
# End:
|