]> git.saurik.com Git - bison.git/blob - djgpp/djunpack.bat
* src/location.h (boundary): Note that a line or column equal
[bison.git] / djgpp / djunpack.bat
1 @echo off
2 Rem
3 Rem WARNING WARNING WARNING: This file needs to have DOS CRLF end-of-line
4 Rem format, or else stock DOS/Windows shells will refuse to run it.
5 Rem
6 Rem This batch file unpacks the Bison distribution while simultaneously
7 Rem renaming some of the files whose names are invalid on DOS or conflict
8 Rem with other file names after truncation to DOS 8+3 namespace.
9 Rem
10 Rem Invoke like this:
11 Rem
12 Rem djunpack bison-XYZ.tar
13 Rem
14 Rem where XYZ is the version number. If the argument includes leading
15 Rem directories, it MUST use backslashes, not forward slashes.
16 Rem
17 Rem The following 2 lines need to be changed with each new Bison release, to
18 Rem be identical to the name of the top-level directory where the Bison
19 Rem distribution unpacks itself.
20 set ENVIRONMENT_SIZE_TEST_STRING=ENVIRONMENT_SIZE_TEST_STRING
21 if "%ENVIRONMENT_SIZE_TEST_STRING%"=="ENVIRONMENT_SIZE_TEST_STRING" GoTo EnvOk
22 Rem If their environment space is too small, re-exec with a larger one
23 command.com /e:4096 /c %0 %1
24 GoTo End
25 :EnvOk
26 set ENVIRONMENT_SIZE_TEST_STRING=
27 if "%1" == "" GoTo NoArgument
28 if not exist %1 GoTo NoArchive
29 Rem Extract top src dir from archive file.
30 djtar -t %1 > top_src.dir
31 Rem The following uses a feature of COPY whereby it does not copy
32 Rem empty files. We need that because the previous line will create
33 Rem an empty fnchange.tmp even if the command failed for some reason.
34 copy top_src.dir junk.tmp > nul
35 if not exist junk.tmp GoTo NoDjTar
36 del junk.tmp
37 sed "1{s/^.*bison-/djtar -x -p -o bison-/;s|$|djgpp/fnchange.lst %%1 > fnchange.tmp|};2,$d" top_src.dir > ext_list.bat
38 Rem See the comment above about the reason for using COPY.
39 copy ext_list.bat junk.tmp > nul
40 if not exist junk.tmp GoTo NoSed
41 del junk.tmp
42 Rem Extract fnchange.lst from archive.
43 call ext_list.bat %1
44 del ext_list.bat
45 sed "1{s|^.*bison-|s/@V@/bison-|;s|$|g|};2,$d" top_src.dir > version.sed
46 sed -f version.sed < fnchange.tmp > fnchange.lst
47 del version.sed
48 del fnchange.tmp
49 del top_src.dir
50 Rem unpack the source distribution
51 djtar -x -n fnchange.lst %1
52 del fnchange.lst
53 GoTo End
54 :NoSed
55 del junk.tmp
56 echo FAIL: Sed is not available.
57 GoTo End
58 :NoDjTar
59 del junk.tmp
60 echo FAIL: DJTAR is not available or no fnchange.lst file in %1.
61 GoTo End
62 :NoArchive
63 echo FAIL: the file %1 does not seem to exist.
64 echo Remember that %1 cannot use forward slashes, only backslashes.
65 GoTo End
66 :NoArgument
67 echo FAIL: no archive file has been specified.
68 echo Remember that the file name cannot use forward slashes, only backslashes.
69 :End