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