#! /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 . # 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 General help using GNU software: ." 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: