libtool/build-aux/inline-source
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

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: