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