Changeset 18384 for trunk/FACT++/.aux_dir/missing
- Timestamp:
- 12/10/15 10:45:35 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/FACT++/.aux_dir/missing
r10183 r18384 1 1 #! /bin/sh 2 # Common stub for a few missing GNU programs while installing. 3 4 scriptversion=2009-04-28.21; # UTC 5 6 # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, 7 # 2008, 2009 Free Software Foundation, Inc. 8 # Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. 2 # Common wrapper for a few potentially missing GNU programs. 3 4 scriptversion=2013-10-28.13; # UTC 5 6 # Copyright (C) 1996-2013 Free Software Foundation, Inc. 7 # Originally written by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996. 9 8 10 9 # This program is free software; you can redistribute it and/or modify … … 27 26 28 27 if test $# -eq 0; then 29 echo 1>&2 "Try \`$0 --help' for more information"28 echo 1>&2 "Try '$0 --help' for more information" 30 29 exit 1 31 30 fi 32 31 33 run=:34 sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'35 sed_minuso='s/.* -o \([^ ]*\).*/\1/p'36 37 # In the cases where this matters, `missing' is being run in the38 # srcdir already.39 if test -f configure.ac; then40 configure_ac=configure.ac41 else42 configure_ac=configure.in43 fi44 45 msg="missing on your system"46 47 32 case $1 in 48 --run) 49 # Try to run requested program, and just exit if it succeeds. 50 run= 51 shift 52 "$@" && exit 0 53 # Exit code 63 means version mismatch. This often happens 54 # when the user try to use an ancient version of a tool on 55 # a file that requires a minimum version. In this case we 56 # we should proceed has if the program had been absent, or 57 # if --run hadn't been passed. 58 if test $? = 63; then 59 run=: 60 msg="probably too old" 61 fi 62 ;; 33 34 --is-lightweight) 35 # Used by our autoconf macros to check whether the available missing 36 # script is modern enough. 37 exit 0 38 ;; 39 40 --run) 41 # Back-compat with the calling convention used by older automake. 42 shift 43 ;; 63 44 64 45 -h|--h|--he|--hel|--help) … … 66 47 $0 [OPTION]... PROGRAM [ARGUMENT]... 67 48 68 Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an 69 error status if there is no known handling for PROGRAM.49 Run 'PROGRAM [ARGUMENT]...', returning a proper advice when this fails due 50 to PROGRAM being missing or too old. 70 51 71 52 Options: 72 53 -h, --help display this help and exit 73 54 -v, --version output version information and exit 74 --run try to run the given command, and emulate it if it fails75 55 76 56 Supported PROGRAM values: 77 aclocal touch file \`aclocal.m4' 78 autoconf touch file \`configure' 79 autoheader touch file \`config.h.in' 80 autom4te touch the output file, or create a stub one 81 automake touch all \`Makefile.in' files 82 bison create \`y.tab.[ch]', if possible, from existing .[ch] 83 flex create \`lex.yy.c', if possible, from existing .c 84 help2man touch the output file 85 lex create \`lex.yy.c', if possible, from existing .c 86 makeinfo touch the output file 87 tar try tar, gnutar, gtar, then tar without non-portable flags 88 yacc create \`y.tab.[ch]', if possible, from existing .[ch] 89 90 Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and 91 \`g' are ignored when checking the name. 57 aclocal autoconf autoheader autom4te automake makeinfo 58 bison yacc flex lex help2man 59 60 Version suffixes to PROGRAM as well as the prefixes 'gnu-', 'gnu', and 61 'g' are ignored when checking the name. 92 62 93 63 Send bug reports to <bug-automake@gnu.org>." … … 101 71 102 72 -*) 103 echo 1>&2 "$0: Unknown \`$1' option"104 echo 1>&2 "Try \`$0 --help' for more information"73 echo 1>&2 "$0: unknown '$1' option" 74 echo 1>&2 "Try '$0 --help' for more information" 105 75 exit 1 106 76 ;; … … 108 78 esac 109 79 110 # normalize program name to check for. 111 program=`echo "$1" | sed ' 112 s/^gnu-//; t 113 s/^gnu//; t 114 s/^g//; t'` 115 116 # Now exit if we have it, but it failed. Also exit now if we 117 # don't have it and --version was passed (most likely to detect 118 # the program). This is about non-GNU programs, so use $1 not 119 # $program. 120 case $1 in 121 lex*|yacc*) 122 # Not GNU programs, they don't have --version. 123 ;; 124 125 tar*) 126 if test -n "$run"; then 127 echo 1>&2 "ERROR: \`tar' requires --run" 128 exit 1 129 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then 130 exit 1 131 fi 132 ;; 133 134 *) 135 if test -z "$run" && ($1 --version) > /dev/null 2>&1; then 136 # We have it, but it failed. 137 exit 1 138 elif test "x$2" = "x--version" || test "x$2" = "x--help"; then 139 # Could not run --version or --help. This is probably someone 140 # running `$TOOL --version' or `$TOOL --help' to check whether 141 # $TOOL exists and not knowing $TOOL uses missing. 142 exit 1 143 fi 144 ;; 145 esac 146 147 # If it does not exist, or fails to run (possibly an outdated version), 148 # try to emulate it. 149 case $program in 150 aclocal*) 151 echo 1>&2 "\ 152 WARNING: \`$1' is $msg. You should only need it if 153 you modified \`acinclude.m4' or \`${configure_ac}'. You might want 154 to install the \`Automake' and \`Perl' packages. Grab them from 155 any GNU archive site." 156 touch aclocal.m4 157 ;; 158 159 autoconf*) 160 echo 1>&2 "\ 161 WARNING: \`$1' is $msg. You should only need it if 162 you modified \`${configure_ac}'. You might want to install the 163 \`Autoconf' and \`GNU m4' packages. Grab them from any GNU 164 archive site." 165 touch configure 166 ;; 167 168 autoheader*) 169 echo 1>&2 "\ 170 WARNING: \`$1' is $msg. You should only need it if 171 you modified \`acconfig.h' or \`${configure_ac}'. You might want 172 to install the \`Autoconf' and \`GNU m4' packages. Grab them 173 from any GNU archive site." 174 files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}` 175 test -z "$files" && files="config.h" 176 touch_files= 177 for f in $files; do 178 case $f in 179 *:*) touch_files="$touch_files "`echo "$f" | 180 sed -e 's/^[^:]*://' -e 's/:.*//'`;; 181 *) touch_files="$touch_files $f.in";; 182 esac 183 done 184 touch $touch_files 185 ;; 186 187 automake*) 188 echo 1>&2 "\ 189 WARNING: \`$1' is $msg. You should only need it if 190 you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'. 191 You might want to install the \`Automake' and \`Perl' packages. 192 Grab them from any GNU archive site." 193 find . -type f -name Makefile.am -print | 194 sed 's/\.am$/.in/' | 195 while read f; do touch "$f"; done 196 ;; 197 198 autom4te*) 199 echo 1>&2 "\ 200 WARNING: \`$1' is needed, but is $msg. 201 You might have modified some files without having the 202 proper tools for further handling them. 203 You can get \`$1' as part of \`Autoconf' from any GNU 204 archive site." 205 206 file=`echo "$*" | sed -n "$sed_output"` 207 test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` 208 if test -f "$file"; then 209 touch $file 210 else 211 test -z "$file" || exec >$file 212 echo "#! /bin/sh" 213 echo "# Created by GNU Automake missing as a replacement of" 214 echo "# $ $@" 215 echo "exit 0" 216 chmod +x $file 217 exit 1 218 fi 219 ;; 220 221 bison*|yacc*) 222 echo 1>&2 "\ 223 WARNING: \`$1' $msg. You should only need it if 224 you modified a \`.y' file. You may need the \`Bison' package 225 in order for those modifications to take effect. You can get 226 \`Bison' from any GNU archive site." 227 rm -f y.tab.c y.tab.h 228 if test $# -ne 1; then 229 eval LASTARG="\${$#}" 230 case $LASTARG in 231 *.y) 232 SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` 233 if test -f "$SRCFILE"; then 234 cp "$SRCFILE" y.tab.c 235 fi 236 SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'` 237 if test -f "$SRCFILE"; then 238 cp "$SRCFILE" y.tab.h 239 fi 240 ;; 241 esac 242 fi 243 if test ! -f y.tab.h; then 244 echo >y.tab.h 245 fi 246 if test ! -f y.tab.c; then 247 echo 'main() { return 0; }' >y.tab.c 248 fi 249 ;; 250 251 lex*|flex*) 252 echo 1>&2 "\ 253 WARNING: \`$1' is $msg. You should only need it if 254 you modified a \`.l' file. You may need the \`Flex' package 255 in order for those modifications to take effect. You can get 256 \`Flex' from any GNU archive site." 257 rm -f lex.yy.c 258 if test $# -ne 1; then 259 eval LASTARG="\${$#}" 260 case $LASTARG in 261 *.l) 262 SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` 263 if test -f "$SRCFILE"; then 264 cp "$SRCFILE" lex.yy.c 265 fi 266 ;; 267 esac 268 fi 269 if test ! -f lex.yy.c; then 270 echo 'main() { return 0; }' >lex.yy.c 271 fi 272 ;; 273 274 help2man*) 275 echo 1>&2 "\ 276 WARNING: \`$1' is $msg. You should only need it if 277 you modified a dependency of a manual page. You may need the 278 \`Help2man' package in order for those modifications to take 279 effect. You can get \`Help2man' from any GNU archive site." 280 281 file=`echo "$*" | sed -n "$sed_output"` 282 test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` 283 if test -f "$file"; then 284 touch $file 285 else 286 test -z "$file" || exec >$file 287 echo ".ab help2man is required to generate this page" 288 exit $? 289 fi 290 ;; 291 292 makeinfo*) 293 echo 1>&2 "\ 294 WARNING: \`$1' is $msg. You should only need it if 295 you modified a \`.texi' or \`.texinfo' file, or any other file 296 indirectly affecting the aspect of the manual. The spurious 297 call might also be the consequence of using a buggy \`make' (AIX, 298 DU, IRIX). You might want to install the \`Texinfo' package or 299 the \`GNU make' package. Grab either from any GNU archive site." 300 # The file to touch is that specified with -o ... 301 file=`echo "$*" | sed -n "$sed_output"` 302 test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"` 303 if test -z "$file"; then 304 # ... or it is the one specified with @setfilename ... 305 infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'` 306 file=`sed -n ' 307 /^@setfilename/{ 308 s/.* \([^ ]*\) *$/\1/ 309 p 310 q 311 }' $infile` 312 # ... or it is derived from the source name (dir/f.texi becomes f.info) 313 test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info 314 fi 315 # If the file does not exist, the user really needs makeinfo; 316 # let's fail without touching anything. 317 test -f $file || exit 1 318 touch $file 319 ;; 320 321 tar*) 322 shift 323 324 # We have already tried tar in the generic part. 325 # Look for gnutar/gtar before invocation to avoid ugly error 326 # messages. 327 if (gnutar --version > /dev/null 2>&1); then 328 gnutar "$@" && exit 0 329 fi 330 if (gtar --version > /dev/null 2>&1); then 331 gtar "$@" && exit 0 332 fi 333 firstarg="$1" 334 if shift; then 335 case $firstarg in 336 *o*) 337 firstarg=`echo "$firstarg" | sed s/o//` 338 tar "$firstarg" "$@" && exit 0 339 ;; 340 esac 341 case $firstarg in 342 *h*) 343 firstarg=`echo "$firstarg" | sed s/h//` 344 tar "$firstarg" "$@" && exit 0 345 ;; 346 esac 347 fi 348 349 echo 1>&2 "\ 350 WARNING: I can't seem to be able to run \`tar' with the given arguments. 351 You may want to install GNU tar or Free paxutils, or check the 352 command line arguments." 353 exit 1 354 ;; 355 356 *) 357 echo 1>&2 "\ 358 WARNING: \`$1' is needed, and is $msg. 359 You might have modified some files without having the 360 proper tools for further handling them. Check the \`README' file, 361 it often tells you about the needed prerequisites for installing 362 this package. You may also peek at any GNU archive site, in case 363 some other package would contain this missing \`$1' program." 364 exit 1 365 ;; 366 esac 367 368 exit 0 80 # Run the given program, remember its exit status. 81 "$@"; st=$? 82 83 # If it succeeded, we are done. 84 test $st -eq 0 && exit 0 85 86 # Also exit now if we it failed (or wasn't found), and '--version' was 87 # passed; such an option is passed most likely to detect whether the 88 # program is present and works. 89 case $2 in --version|--help) exit $st;; esac 90 91 # Exit code 63 means version mismatch. This often happens when the user 92 # tries to use an ancient version of a tool on a file that requires a 93 # minimum version. 94 if test $st -eq 63; then 95 msg="probably too old" 96 elif test $st -eq 127; then 97 # Program was missing. 98 msg="missing on your system" 99 else 100 # Program was found and executed, but failed. Give up. 101 exit $st 102 fi 103 104 perl_URL=http://www.perl.org/ 105 flex_URL=http://flex.sourceforge.net/ 106 gnu_software_URL=http://www.gnu.org/software 107 108 program_details () 109 { 110 case $1 in 111 aclocal|automake) 112 echo "The '$1' program is part of the GNU Automake package:" 113 echo "<$gnu_software_URL/automake>" 114 echo "It also requires GNU Autoconf, GNU m4 and Perl in order to run:" 115 echo "<$gnu_software_URL/autoconf>" 116 echo "<$gnu_software_URL/m4/>" 117 echo "<$perl_URL>" 118 ;; 119 autoconf|autom4te|autoheader) 120 echo "The '$1' program is part of the GNU Autoconf package:" 121 echo "<$gnu_software_URL/autoconf/>" 122 echo "It also requires GNU m4 and Perl in order to run:" 123 echo "<$gnu_software_URL/m4/>" 124 echo "<$perl_URL>" 125 ;; 126 esac 127 } 128 129 give_advice () 130 { 131 # Normalize program name to check for. 132 normalized_program=`echo "$1" | sed ' 133 s/^gnu-//; t 134 s/^gnu//; t 135 s/^g//; t'` 136 137 printf '%s\n' "'$1' is $msg." 138 139 configure_deps="'configure.ac' or m4 files included by 'configure.ac'" 140 case $normalized_program in 141 autoconf*) 142 echo "You should only need it if you modified 'configure.ac'," 143 echo "or m4 files included by it." 144 program_details 'autoconf' 145 ;; 146 autoheader*) 147 echo "You should only need it if you modified 'acconfig.h' or" 148 echo "$configure_deps." 149 program_details 'autoheader' 150 ;; 151 automake*) 152 echo "You should only need it if you modified 'Makefile.am' or" 153 echo "$configure_deps." 154 program_details 'automake' 155 ;; 156 aclocal*) 157 echo "You should only need it if you modified 'acinclude.m4' or" 158 echo "$configure_deps." 159 program_details 'aclocal' 160 ;; 161 autom4te*) 162 echo "You might have modified some maintainer files that require" 163 echo "the 'autom4te' program to be rebuilt." 164 program_details 'autom4te' 165 ;; 166 bison*|yacc*) 167 echo "You should only need it if you modified a '.y' file." 168 echo "You may want to install the GNU Bison package:" 169 echo "<$gnu_software_URL/bison/>" 170 ;; 171 lex*|flex*) 172 echo "You should only need it if you modified a '.l' file." 173 echo "You may want to install the Fast Lexical Analyzer package:" 174 echo "<$flex_URL>" 175 ;; 176 help2man*) 177 echo "You should only need it if you modified a dependency" \ 178 "of a man page." 179 echo "You may want to install the GNU Help2man package:" 180 echo "<$gnu_software_URL/help2man/>" 181 ;; 182 makeinfo*) 183 echo "You should only need it if you modified a '.texi' file, or" 184 echo "any other file indirectly affecting the aspect of the manual." 185 echo "You might want to install the Texinfo package:" 186 echo "<$gnu_software_URL/texinfo/>" 187 echo "The spurious makeinfo call might also be the consequence of" 188 echo "using a buggy 'make' (AIX, DU, IRIX), in which case you might" 189 echo "want to install GNU make:" 190 echo "<$gnu_software_URL/make/>" 191 ;; 192 *) 193 echo "You might have modified some files without having the proper" 194 echo "tools for further handling them. Check the 'README' file, it" 195 echo "often tells you about the needed prerequisites for installing" 196 echo "this package. You may also peek at any GNU archive site, in" 197 echo "case some other package contains this missing '$1' program." 198 ;; 199 esac 200 } 201 202 give_advice "$1" | sed -e '1s/^/WARNING: /' \ 203 -e '2,$s/^/ /' >&2 204 205 # Propagate the correct exit status (expected to be 127 for a program 206 # not found, 63 for a program that failed due to version mismatch). 207 exit $st 369 208 370 209 # Local variables:
Note:
See TracChangeset
for help on using the changeset viewer.