The R Project SVN R

Rev

Rev 37959 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 37959 Rev 38381
Line 1... Line 1...
1
#! /bin/sh
1
#! /bin/sh
2
# Common stub for a few missing GNU programs while installing.
2
# Common stub for a few missing GNU programs while installing.
3
 
3
 
4
scriptversion=2006-01-12.21
4
scriptversion=2006-05-10.23
5
 
5
 
6
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
6
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
7
#   Free Software Foundation, Inc.
7
#   Free Software Foundation, Inc.
8
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
8
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
9
 
9
 
Line 31... Line 31...
31
  echo 1>&2 "Try \`$0 --help' for more information"
31
  echo 1>&2 "Try \`$0 --help' for more information"
32
  exit 1
32
  exit 1
33
fi
33
fi
34
 
34
 
35
run=:
35
run=:
-
 
36
sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
-
 
37
sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
36
 
38
 
37
# In the cases where this matters, `missing' is being run in the
39
# In the cases where this matters, `missing' is being run in the
38
# srcdir already.
40
# srcdir already.
39
if test -f configure.ac; then
41
if test -f configure.ac; then
40
  configure_ac=configure.ac
42
  configure_ac=configure.ac
Line 42... Line 44...
42
  configure_ac=configure.in
44
  configure_ac=configure.in
43
fi
45
fi
44
 
46
 
45
msg="missing on your system"
47
msg="missing on your system"
46
 
48
 
47
case "$1" in
49
case $1 in
48
--run)
50
--run)
49
  # Try to run requested program, and just exit if it succeeds.
51
  # Try to run requested program, and just exit if it succeeds.
50
  run=
52
  run=
51
  shift
53
  shift
52
  "$@" && exit 0
54
  "$@" && exit 0
Line 75... Line 77...
75
 
77
 
76
Supported PROGRAM values:
78
Supported PROGRAM values:
77
  aclocal      touch file \`aclocal.m4'
79
  aclocal      touch file \`aclocal.m4'
78
  autoconf     touch file \`configure'
80
  autoconf     touch file \`configure'
79
  autoheader   touch file \`config.h.in'
81
  autoheader   touch file \`config.h.in'
-
 
82
  autom4te     touch the output file, or create a stub one
80
  automake     touch all \`Makefile.in' files
83
  automake     touch all \`Makefile.in' files
81
  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
84
  bison        create \`y.tab.[ch]', if possible, from existing .[ch]
82
  flex         create \`lex.yy.c', if possible, from existing .c
85
  flex         create \`lex.yy.c', if possible, from existing .c
83
  help2man     touch the output file
86
  help2man     touch the output file
84
  lex          create \`lex.yy.c', if possible, from existing .c
87
  lex          create \`lex.yy.c', if possible, from existing .c
Line 104... Line 107...
104
esac
107
esac
105
 
108
 
106
# Now exit if we have it, but it failed.  Also exit now if we
109
# Now exit if we have it, but it failed.  Also exit now if we
107
# don't have it and --version was passed (most likely to detect
110
# don't have it and --version was passed (most likely to detect
108
# the program).
111
# the program).
109
case "$1" in
112
case $1 in
110
  lex|yacc)
113
  lex|yacc)
111
    # Not GNU programs, they don't have --version.
114
    # Not GNU programs, they don't have --version.
112
    ;;
115
    ;;
113
 
116
 
114
  tar)
117
  tar)
Line 133... Line 136...
133
    ;;
136
    ;;
134
esac
137
esac
135
 
138
 
136
# If it does not exist, or fails to run (possibly an outdated version),
139
# If it does not exist, or fails to run (possibly an outdated version),
137
# try to emulate it.
140
# try to emulate it.
138
case "$1" in
141
case $1 in
139
  aclocal*)
142
  aclocal*)
140
    echo 1>&2 "\
143
    echo 1>&2 "\
141
WARNING: \`$1' is $msg.  You should only need it if
144
WARNING: \`$1' is $msg.  You should only need it if
142
         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
145
         you modified \`acinclude.m4' or \`${configure_ac}'.  You might want
143
         to install the \`Automake' and \`Perl' packages.  Grab them from
146
         to install the \`Automake' and \`Perl' packages.  Grab them from
Line 162... Line 165...
162
         from any GNU archive site."
165
         from any GNU archive site."
163
    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
166
    files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
164
    test -z "$files" && files="config.h"
167
    test -z "$files" && files="config.h"
165
    touch_files=
168
    touch_files=
166
    for f in $files; do
169
    for f in $files; do
167
      case "$f" in
170
      case $f in
168
      *:*) touch_files="$touch_files "`echo "$f" |
171
      *:*) touch_files="$touch_files "`echo "$f" |
169
				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
172
				       sed -e 's/^[^:]*://' -e 's/:.*//'`;;
170
      *) touch_files="$touch_files $f.in";;
173
      *) touch_files="$touch_files $f.in";;
171
      esac
174
      esac
172
    done
175
    done
Line 190... Line 193...
190
         You might have modified some files without having the
193
         You might have modified some files without having the
191
         proper tools for further handling them.
194
         proper tools for further handling them.
192
         You can get \`$1' as part of \`Autoconf' from any GNU
195
         You can get \`$1' as part of \`Autoconf' from any GNU
193
         archive site."
196
         archive site."
194
 
197
 
195
    file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
198
    file=`echo "$*" | sed -n "$sed_output"`
196
    test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
199
    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
197
    if test -f "$file"; then
200
    if test -f "$file"; then
198
	touch $file
201
	touch $file
199
    else
202
    else
200
	test -z "$file" || exec >$file
203
	test -z "$file" || exec >$file
201
	echo "#! /bin/sh"
204
	echo "#! /bin/sh"
Line 212... Line 215...
212
WARNING: \`$1' $msg.  You should only need it if
215
WARNING: \`$1' $msg.  You should only need it if
213
         you modified a \`.y' file.  You may need the \`Bison' package
216
         you modified a \`.y' file.  You may need the \`Bison' package
214
         in order for those modifications to take effect.  You can get
217
         in order for those modifications to take effect.  You can get
215
         \`Bison' from any GNU archive site."
218
         \`Bison' from any GNU archive site."
216
    rm -f y.tab.c y.tab.h
219
    rm -f y.tab.c y.tab.h
217
    if [ $# -ne 1 ]; then
220
    if test $# -ne 1; then
218
        eval LASTARG="\${$#}"
221
        eval LASTARG="\${$#}"
219
	case "$LASTARG" in
222
	case $LASTARG in
220
	*.y)
223
	*.y)
221
	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
224
	    SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
222
	    if [ -f "$SRCFILE" ]; then
225
	    if test -f "$SRCFILE"; then
223
	         cp "$SRCFILE" y.tab.c
226
	         cp "$SRCFILE" y.tab.c
224
	    fi
227
	    fi
225
	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
228
	    SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
226
	    if [ -f "$SRCFILE" ]; then
229
	    if test -f "$SRCFILE"; then
227
	         cp "$SRCFILE" y.tab.h
230
	         cp "$SRCFILE" y.tab.h
228
	    fi
231
	    fi
229
	  ;;
232
	  ;;
230
	esac
233
	esac
231
    fi
234
    fi
232
    if [ ! -f y.tab.h ]; then
235
    if test ! -f y.tab.h; then
233
	echo >y.tab.h
236
	echo >y.tab.h
234
    fi
237
    fi
235
    if [ ! -f y.tab.c ]; then
238
    if test ! -f y.tab.c; then
236
	echo 'main() { return 0; }' >y.tab.c
239
	echo 'main() { return 0; }' >y.tab.c
237
    fi
240
    fi
238
    ;;
241
    ;;
239
 
242
 
240
  lex|flex)
243
  lex|flex)
Line 242... Line 245...
242
WARNING: \`$1' is $msg.  You should only need it if
245
WARNING: \`$1' is $msg.  You should only need it if
243
         you modified a \`.l' file.  You may need the \`Flex' package
246
         you modified a \`.l' file.  You may need the \`Flex' package
244
         in order for those modifications to take effect.  You can get
247
         in order for those modifications to take effect.  You can get
245
         \`Flex' from any GNU archive site."
248
         \`Flex' from any GNU archive site."
246
    rm -f lex.yy.c
249
    rm -f lex.yy.c
247
    if [ $# -ne 1 ]; then
250
    if test $# -ne 1; then
248
        eval LASTARG="\${$#}"
251
        eval LASTARG="\${$#}"
249
	case "$LASTARG" in
252
	case $LASTARG in
250
	*.l)
253
	*.l)
251
	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
254
	    SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
252
	    if [ -f "$SRCFILE" ]; then
255
	    if test -f "$SRCFILE"; then
253
	         cp "$SRCFILE" lex.yy.c
256
	         cp "$SRCFILE" lex.yy.c
254
	    fi
257
	    fi
255
	  ;;
258
	  ;;
256
	esac
259
	esac
257
    fi
260
    fi
258
    if [ ! -f lex.yy.c ]; then
261
    if test ! -f lex.yy.c; then
259
	echo 'main() { return 0; }' >lex.yy.c
262
	echo 'main() { return 0; }' >lex.yy.c
260
    fi
263
    fi
261
    ;;
264
    ;;
262
 
265
 
263
  help2man)
266
  help2man)
Line 265... Line 268...
265
WARNING: \`$1' is $msg.  You should only need it if
268
WARNING: \`$1' is $msg.  You should only need it if
266
	 you modified a dependency of a manual page.  You may need the
269
	 you modified a dependency of a manual page.  You may need the
267
	 \`Help2man' package in order for those modifications to take
270
	 \`Help2man' package in order for those modifications to take
268
	 effect.  You can get \`Help2man' from any GNU archive site."
271
	 effect.  You can get \`Help2man' from any GNU archive site."
269
 
272
 
270
    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
273
    file=`echo "$*" | sed -n "$sed_output"`
271
    if test -z "$file"; then
-
 
272
	file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
274
    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
273
    fi
-
 
274
    if [ -f "$file" ]; then
275
    if test -f "$file"; then
275
	touch $file
276
	touch $file
276
    else
277
    else
277
	test -z "$file" || exec >$file
278
	test -z "$file" || exec >$file
278
	echo ".ab help2man is required to generate this page"
279
	echo ".ab help2man is required to generate this page"
279
	exit 1
280
	exit 1
Line 287... Line 288...
287
         indirectly affecting the aspect of the manual.  The spurious
288
         indirectly affecting the aspect of the manual.  The spurious
288
         call might also be the consequence of using a buggy \`make' (AIX,
289
         call might also be the consequence of using a buggy \`make' (AIX,
289
         DU, IRIX).  You might want to install the \`Texinfo' package or
290
         DU, IRIX).  You might want to install the \`Texinfo' package or
290
         the \`GNU make' package.  Grab either from any GNU archive site."
291
         the \`GNU make' package.  Grab either from any GNU archive site."
291
    # The file to touch is that specified with -o ...
292
    # The file to touch is that specified with -o ...
292
    file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
293
    file=`echo "$*" | sed -n "$sed_output"`
-
 
294
    test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
293
    if test -z "$file"; then
295
    if test -z "$file"; then
294
      # ... or it is the one specified with @setfilename ...
296
      # ... or it is the one specified with @setfilename ...
295
      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
297
      infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
296
      file=`sed -n '
298
      file=`sed -n '
297
	/^@setfilename/{
299
	/^@setfilename/{
Line 320... Line 322...
320
    if (gtar --version > /dev/null 2>&1); then
322
    if (gtar --version > /dev/null 2>&1); then
321
       gtar "$@" && exit 0
323
       gtar "$@" && exit 0
322
    fi
324
    fi
323
    firstarg="$1"
325
    firstarg="$1"
324
    if shift; then
326
    if shift; then
325
	case "$firstarg" in
327
	case $firstarg in
326
	*o*)
328
	*o*)
327
	    firstarg=`echo "$firstarg" | sed s/o//`
329
	    firstarg=`echo "$firstarg" | sed s/o//`
328
	    tar "$firstarg" "$@" && exit 0
330
	    tar "$firstarg" "$@" && exit 0
329
	    ;;
331
	    ;;
330
	esac
332
	esac
331
	case "$firstarg" in
333
	case $firstarg in
332
	*h*)
334
	*h*)
333
	    firstarg=`echo "$firstarg" | sed s/h//`
335
	    firstarg=`echo "$firstarg" | sed s/h//`
334
	    tar "$firstarg" "$@" && exit 0
336
	    tar "$firstarg" "$@" && exit 0
335
	    ;;
337
	    ;;
336
	esac
338
	esac