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 GDB 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 gdb-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 GDB release, to |
---|
18 | Rem be identical to the name of the top-level directory where the GDB |
---|
19 | Rem distribution unpacks itself. |
---|
20 | set GDBVER=gdb-5.0 |
---|
21 | if "%GDBVER%"=="gdb-5.0" 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 | if not exist %1 GoTo NoArchive |
---|
27 | djtar -x -p -o %GDBVER%/gdb/config/djgpp/fnchange.lst %1 > fnchange.tmp |
---|
28 | Rem The following uses a feature of COPY whereby it does not copy |
---|
29 | Rem empty files. We need that because the previous line will create |
---|
30 | Rem an empty fnchange.tmp even if the command failed for some reason. |
---|
31 | copy fnchange.tmp junk.tmp > nul |
---|
32 | if not exist junk.tmp GoTo NoDjTar |
---|
33 | del junk.tmp |
---|
34 | sed -e "s,@V@,%GDBVER%,g" < fnchange.tmp > fnchange.lst |
---|
35 | Rem See the comment above about the reason for using COPY. |
---|
36 | copy fnchange.lst junk.tmp > nul |
---|
37 | if not exist junk.tmp GoTo NoSed |
---|
38 | del junk.tmp |
---|
39 | djtar -x -n fnchange.lst %1 |
---|
40 | GoTo End |
---|
41 | :NoSed |
---|
42 | echo FAIL: Sed is not available. |
---|
43 | GoTo End |
---|
44 | :NoDjTar |
---|
45 | echo FAIL: DJTAR is not available or no fnchange.lst file in %1. |
---|
46 | GoTo End |
---|
47 | :NoArchive |
---|
48 | echo FAIL: the file %1 does not seem to exist. |
---|
49 | echo Remember that %1 cannot use forward slashes, only backslashes. |
---|
50 | GoTo End |
---|
51 | :End |
---|
52 | set GDBVER= |
---|