From 6cafa39f7c9e89b761cbc82b867e648255774188 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sun, 23 Apr 2000 07:23:05 +0000 Subject: [PATCH] * djunpack.bat: New file. * config/djgpp/README: Explain how to unpack using djunpack.bat. --- ChangeLog | 4 ++++ djunpack.bat | 52 +++++++++++++++++++++++++++++++++++++++++ gdb/ChangeLog | 4 ++++ gdb/config/djgpp/README | 42 +++++++++++++++++++++------------ 4 files changed, 87 insertions(+), 15 deletions(-) create mode 100755 djunpack.bat diff --git a/ChangeLog b/ChangeLog index a2576b431f..5da2a58b77 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2000-04-23 Eli Zaretskii + + * djunpack.bat: New file. + 2000-04-21 Michael Meissner * config.sub (d30v): Add d30v as a basic machine type. diff --git a/djunpack.bat b/djunpack.bat new file mode 100755 index 0000000000..1a9e4aa197 --- /dev/null +++ b/djunpack.bat @@ -0,0 +1,52 @@ +@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,^,%GDBVER%,' -e 's, *, %GDBVER%,' < 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= diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 928bab3aa4..2ae2261b55 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2000-04-22 Eli Zaretskii + + * config/djgpp/README: Explain how to unpack using djunpack.bat. + Fri Apr 21 15:23:13 2000 Andrew Cagney * stabsread.c (REG_STRUCT_HAS_ADDR): Delete default. diff --git a/gdb/config/djgpp/README b/gdb/config/djgpp/README index cced23473d..b45c00334a 100644 --- a/gdb/config/djgpp/README +++ b/gdb/config/djgpp/README @@ -65,21 +65,33 @@ use unzip32.exe available with the rest of DJGPP), and proceed to the section "How to build" below. Source distributions downloaded from one of the GNU FTP sites need -some more work to unpack. First, you MUST use the `djtar' program to -unzip the package. That's because some file names in the official -distributions need to be changed to avoid problems on the various -platforms supported by DJGPP. `djtar' can rename files on the fly -given a file with name mappings; the distribution includes a file -`gdb/config/djgpp/fnchange.lst' with the necessary mappings. So you -need first to retrieve that file, and then invoke `djtar' to unpack -the distribution. Here's how: - - - djtar -x -p -o gdb-5.0/gdb/config/djgpp/fnchange.lst gdb-5.0.tar.gz > lst - djtar -x -n lst gdb-5.0.tar.gz - -(The name of the distribution archive and the top-level directory will -be different for versions other than 5.0.) +some more work to unpack. First, you MUST use the `djunpack' batch +file to unzip the package. That's because some file names in the +official distributions need to be changed to avoid problems on the +various platforms supported by DJGPP. `djunpack' invokes the `djtar' +program (that is part of the basic DJGPP development kit) to rename +these files on the fly given a file with name mappings; the +distribution includes a file `gdb/config/djgpp/fnchange.lst' with the +necessary mappings. So you need first to retrieve that batch file, +and then invoke it to unpack the distribution. Here's how: + + djtar -x -p -o gdb-5.0/djunpack.bat gdb-5.0.tar.gz > djunpack.bat + djunpack gdb-5.0.tar.gz + +(The name of the distribution archive and the leading directory of the +path to `djunpack.bat' in the distribution will be different for +versions of GDB other than 5.0.) + +If the argument to `djunpack.bat' include leading directories, it MUST +be given with the DOS-style backslashes; Unix-style forward slashes +will NOT work. + +If the distribution comes as a .tar.bz2 archive, you need to unpack it +as follows: + + bnzip2 gdb-5.0.tar.bz2 + djtar -x -p -o gdb-5.0/djunpack.bat gdb-5.0.tar > djunpack.bat + djunpack gdb-5.0.tar 3. How to build -- 2.34.1