| 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 GDB 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 Invoke like this:\r |
| 11 | Rem\r |
| 12 | Rem djunpack gdb-XYZ.tar\r |
| 13 | Rem\r |
| 14 | Rem where XYZ is the version number. If the argument includes leading\r |
| 15 | Rem directories, it MUST use backslashes, not forward slashes.\r |
| 16 | Rem\r |
| 17 | Rem The following 2 lines need to be changed with each new GDB release, to\r |
| 18 | Rem be identical to the name of the top-level directory where the GDB\r |
| 19 | Rem distribution unpacks itself.\r |
| 20 | set GDBVER=gdb-5.0\r |
| 21 | if "%GDBVER%"=="gdb-5.0" GoTo EnvOk\r |
| 22 | Rem If their environment space is too small, re-exec with a larger one\r |
| 23 | command.com /e:4096 /c %0 %1\r |
| 24 | GoTo End\r |
| 25 | :EnvOk\r |
| 26 | if not exist %1 GoTo NoArchive\r |
| 27 | djtar -x -p -o %GDBVER%/gdb/config/djgpp/fnchange.lst %1 > fnchange.tmp\r |
| 28 | Rem The following uses a feature of COPY whereby it does not copy\r |
| 29 | Rem empty files. We need that because the previous line will create\r |
| 30 | Rem an empty fnchange.tmp even if the command failed for some reason.\r |
| 31 | copy fnchange.tmp junk.tmp > nul\r |
| 32 | if not exist junk.tmp GoTo NoDjTar\r |
| 33 | del junk.tmp\r |
| 34 | sed -e 's,@V@,%GDBVER%,g' < fnchange.tmp > fnchange.lst\r |
| 35 | Rem See the comment above about the reason for using COPY.\r |
| 36 | copy fnchange.lst junk.tmp > nul\r |
| 37 | if not exist junk.tmp GoTo NoSed\r |
| 38 | del junk.tmp\r |
| 39 | djtar -x -n fnchange.lst %1\r |
| 40 | GoTo End\r |
| 41 | :NoSed\r |
| 42 | echo FAIL: Sed is not available.\r |
| 43 | GoTo End\r |
| 44 | :NoDjTar\r |
| 45 | echo FAIL: DJTAR is not available or no fnchange.lst file in %1.\r |
| 46 | GoTo End\r |
| 47 | :NoArchive\r |
| 48 | echo FAIL: the file %1 does not seem to exist.\r |
| 49 | echo Remember that %1 cannot use forward slashes, only backslashes.\r |
| 50 | GoTo End\r |
| 51 | :End\r |
| 52 | set GDBVER=\r |