]>
Commit | Line | Data |
---|---|---|
b09a18c5 JMG |
1 | @echo off\r |
2 | Rem\r | |
3 | Rem WARNING WARNING WARNING: This file needs to have DOS CRLF end-of-line\r | |
4 | Rem format, or else stock DOS/Windows shells will refuse to run it.\r | |
5 | Rem\r | |
6 | Rem This batch file unpacks the Bison distribution while simultaneously\r | |
7 | Rem renaming some of the files whose names are invalid on DOS or conflict\r | |
8 | Rem with other file names after truncation to DOS 8+3 namespace.\r | |
9 | Rem\r | |
401b73af JD |
10 | Rem Copyright (C) 2005, 2006, 2007, 2008-2009 Free Software Foundation,\r |
11 | Rem Inc.\r | |
02650b7f | 12 | Rem\r |
f16b0819 | 13 | Rem This program is free software: you can redistribute it and/or modify\r |
02650b7f | 14 | Rem it under the terms of the GNU General Public License as published by\r |
f16b0819 PE |
15 | Rem the Free Software Foundation, either version 3 of the License, or\r |
16 | Rem (at your option) any later version.\r | |
02650b7f PE |
17 | Rem\r |
18 | Rem This program is distributed in the hope that it will be useful,\r | |
19 | Rem but WITHOUT ANY WARRANTY; without even the implied warranty of\r | |
20 | Rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\r | |
21 | Rem GNU General Public License for more details.\r | |
22 | Rem\r | |
23 | Rem You should have received a copy of the GNU General Public License\r | |
f16b0819 | 24 | Rem along with this program. If not, see <http://www.gnu.org/licenses/>.\r |
02650b7f PE |
25 | Rem\r |
26 | Rem\r | |
b09a18c5 JMG |
27 | Rem Invoke like this:\r |
28 | Rem\r | |
f6a6af95 JMG |
29 | Rem djunpack bison-XYZ.tar.gz\r |
30 | Rem or\r | |
31 | Rem djunpack bison-XYZ.tar.bz2\r | |
b09a18c5 JMG |
32 | Rem\r |
33 | Rem where XYZ is the version number. If the argument includes leading\r | |
34 | Rem directories, it MUST use backslashes, not forward slashes.\r | |
35 | Rem\r | |
f6a6af95 | 36 | \r |
b09a18c5 JMG |
37 | set ENVIRONMENT_SIZE_TEST_STRING=ENVIRONMENT_SIZE_TEST_STRING\r |
38 | if "%ENVIRONMENT_SIZE_TEST_STRING%"=="ENVIRONMENT_SIZE_TEST_STRING" GoTo EnvOk\r | |
39 | Rem If their environment space is too small, re-exec with a larger one\r | |
40 | command.com /e:4096 /c %0 %1\r | |
41 | GoTo End\r | |
f6a6af95 | 42 | \r |
b09a18c5 JMG |
43 | :EnvOk\r |
44 | set ENVIRONMENT_SIZE_TEST_STRING=\r | |
45 | if "%1" == "" GoTo NoArgument\r | |
46 | if not exist %1 GoTo NoArchive\r | |
47 | Rem Extract top src dir from archive file.\r | |
48 | djtar -t %1 > top_src.dir\r | |
49 | Rem The following uses a feature of COPY whereby it does not copy\r | |
50 | Rem empty files. We need that because the previous line will create\r | |
51 | Rem an empty fnchange.tmp even if the command failed for some reason.\r | |
52 | copy top_src.dir junk.tmp > nul\r | |
53 | if not exist junk.tmp GoTo NoDjTar\r | |
54 | del junk.tmp\r | |
55 | sed "1{s/^.*bison-/djtar -x -p -o bison-/;s|$|djgpp/fnchange.lst %%1 > fnchange.tmp|};2,$d" top_src.dir > ext_list.bat\r | |
56 | Rem See the comment above about the reason for using COPY.\r | |
57 | copy ext_list.bat junk.tmp > nul\r | |
58 | if not exist junk.tmp GoTo NoSed\r | |
59 | del junk.tmp\r | |
60 | Rem Extract fnchange.lst from archive.\r | |
61 | call ext_list.bat %1\r | |
62 | del ext_list.bat\r | |
63 | sed "1{s|^.*bison-|s/@V@/bison-|;s|$|g|};2,$d" top_src.dir > version.sed\r | |
64 | sed -f version.sed < fnchange.tmp > fnchange.lst\r | |
65 | del version.sed\r | |
66 | del fnchange.tmp\r | |
67 | del top_src.dir\r | |
68 | Rem unpack the source distribution\r | |
69 | djtar -x -n fnchange.lst %1\r | |
70 | del fnchange.lst\r | |
71 | GoTo End\r | |
f6a6af95 | 72 | \r |
b09a18c5 JMG |
73 | :NoSed\r |
74 | del junk.tmp\r | |
75 | echo FAIL: Sed is not available.\r | |
76 | GoTo End\r | |
77 | :NoDjTar\r | |
78 | del junk.tmp\r | |
79 | echo FAIL: DJTAR is not available or no fnchange.lst file in %1.\r | |
80 | GoTo End\r | |
81 | :NoArchive\r | |
82 | echo FAIL: the file %1 does not seem to exist.\r | |
83 | echo Remember that %1 cannot use forward slashes, only backslashes.\r | |
84 | GoTo End\r | |
85 | :NoArgument\r | |
86 | echo FAIL: no archive file has been specified.\r | |
87 | echo Remember that the file name cannot use forward slashes, only backslashes.\r | |
88 | :End\r |