| @echo off | |
| Rem | |
| Rem WARNING WARNING WARNING: This file needs to have DOS CRLF end-of-line | |
| Rem format, or else stock DOS/Windows shells will refuse to run it. | |
| Rem | |
| Rem This batch file unpacks the GDB distribution while simultaneously | |
| Rem renaming some of the files whose names are invalid on DOS or conflict | |
| Rem with other file names after truncation to DOS 8+3 namespace. | |
| Rem | |
| Rem Invoke like this: | |
| Rem | |
| Rem djunpack gdb-XYZ.tar | |
| Rem | |
| Rem where XYZ is the version number. If the argument includes leading | |
| Rem directories, it MUST use backslashes, not forward slashes. | |
| Rem | |
| Rem The following 2 lines need to be changed with each new GDB release, to | |
| Rem be identical to the name of the top-level directory where the GDB | |
| Rem distribution unpacks itself. | |
| set GDBVER=gdb-5.0 | |
| if "%GDBVER%"=="gdb-5.0" GoTo EnvOk | |
| Rem If their environment space is too small, re-exec with a larger one | |
| command.com /e:4096 /c %0 %1 | |
| GoTo End | |
| :EnvOk | |
| if not exist %1 GoTo NoArchive | |
| djtar -x -p -o %GDBVER%/gdb/config/djgpp/fnchange.lst %1 > fnchange.tmp | |
| Rem The following uses a feature of COPY whereby it does not copy | |
| Rem empty files. We need that because the previous line will create | |
| Rem an empty fnchange.tmp even if the command failed for some reason. | |
| copy fnchange.tmp junk.tmp > nul | |
| if not exist junk.tmp GoTo NoDjTar | |
| del junk.tmp | |
| sed -e "s,@V@,%GDBVER%,g" < fnchange.tmp > fnchange.lst | |
| Rem See the comment above about the reason for using COPY. | |
| copy fnchange.lst junk.tmp > nul | |
| if not exist junk.tmp GoTo NoSed | |
| del junk.tmp | |
| djtar -x -n fnchange.lst %1 | |
| GoTo End | |
| :NoSed | |
| echo FAIL: Sed is not available. | |
| GoTo End | |
| :NoDjTar | |
| echo FAIL: DJTAR is not available or no fnchange.lst file in %1. | |
| GoTo End | |
| :NoArchive | |
| echo FAIL: the file %1 does not seem to exist. | |
| echo Remember that %1 cannot use forward slashes, only backslashes. | |
| GoTo End | |
| :End | |
| set GDBVER= |