12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- @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=
|