]>
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, 2006 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 2, or (at your option)\r | |
15 | Rem 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, write to the Free Software Foundation,\r | |
24 | Rem Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\r | |
25 | Rem\r | |
26 | Rem\r | |
27 | Rem Invoke like this:\r | |
28 | Rem\r | |
29 | Rem djunpack bison-XYZ.tar.gz\r | |
30 | Rem or\r | |
31 | Rem djunpack bison-XYZ.tar.bz2\r | |
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 | |
36 | \r | |
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 | |
42 | \r | |
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 | |
72 | \r | |
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 |