aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rwxr-xr-xdjunpack.bat52
-rw-r--r--gdb/ChangeLog4
-rw-r--r--gdb/config/djgpp/README42
4 files changed, 87 insertions, 15 deletions
diff --git a/ChangeLog b/ChangeLog
index a2576b4..5da2a58 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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