diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rwxr-xr-x | djunpack.bat | 52 | ||||
-rw-r--r-- | gdb/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/config/djgpp/README | 42 |
4 files changed, 87 insertions, 15 deletions
@@ -1,3 +1,7 @@ +2000-04-23 Eli Zaretskii <eliz@is.elta.co.il> + + * djunpack.bat: New file. + 2000-04-21 Michael Meissner <meissner@redhat.com> * config.sub (d30v): Add d30v as a basic machine type. diff --git a/djunpack.bat b/djunpack.bat new file mode 100755 index 0000000..1a9e4aa --- /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 928bab3..2ae2261 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2000-04-22 Eli Zaretskii <eliz@is.elta.co.il> + + * config/djgpp/README: Explain how to unpack using djunpack.bat. + Fri Apr 21 15:23:13 2000 Andrew Cagney <cagney@b1.cygnus.com> * stabsread.c (REG_STRUCT_HAS_ADDR): Delete default. diff --git a/gdb/config/djgpp/README b/gdb/config/djgpp/README index cced234..b45c003 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 |