Mail Archives: djgpp-announce/1998/03/05/18:17:19
This is the announcement for the port of gcc 2.8.0 to DJGPP.
If you reply to this message, send it _NOT_ to
djgpp-announce AT delorie DOT com but use djgpp AT delorie DOT com instead.
The port includes the following archives:
- gcc280b.zip The binaries for gcc to compile C programs.
- gpp280b.zip The binaries to compile C++ programs and it
includes also libstdcxx.a (on unix known as
libstdc++.a)
- objc280b.zip The binaries to compile Objective C programs
- gcc280s.zip The sources to rebuild the binaries from the
archives above
- lgpp280b.zip The compiled library libgpp.a (on unix known
as libg++.a)
- lgpp280s.zip The sources for libgpp
All these archives are available on
ftp://ftp.simtel.net/pub/simtelnet/gnu/djgpp/v2gnu/
and mirrors of it.
The archive gcc280b.zip is needed in any case. That means it is not
enough to download only gpp280b.zip when you want to compile only
C++ programs.
All the sources are already configured. But to make them, please read
the file README.DJGPP which is part of the archive, since it contains
more details about rebuilding from the sources.
Here now the first part of the file README.DJGPP, which describes the
installation process and some common problems which may occour.
Before you install gcc 2.8.0
============================
The DJGPP distribution of gcc 2.8.0 is now different to the one used
by gcc 2.7.x. Now the directory structure is more similar to the
unix systems and also all the DJGPP standard directories are hardcoded
already.
To get no trouble, you should remove at least your old gcc installation
completely, especially the compilers (cc1.exe, cc1plus.exe ...) and
libgcc.a, because they will not overwritten by the new distribution.
If you don't remove them, and you don't modify your djgpp.env file,
gcc from gcc280b.zip will still uses these old binaries or the libgcc.a
because they are in directories, which are searched before the hardcoded
ones.
Additionally you can safely remove the [gcc] and [cpp] section from your
djgpp.env file, since the path-settings there are not longer needed,
because gcc (and cpp) is configured already in a way to search these
directories by default. If you have modified already these sections for
instance to have some of your own directories searched by default, you
should leave ony those directories there and remove the standard DJGPP
directories.
Modifying the djgpp.env is not really neccessary, but recommended by me.
How to install the binary archives?
===================================
Install them like any other DJGPP binary archive:
- change to your DJGPP base directory (normally c:/djgpp) and unzip
there the archive
unzip gcc280b.zip
(if you are using PKUNZIP, remember to use the -d switch!!)
and that's all.
Installing under Windows 95
===========================
If you want to install and use gcc under Windows 95 you should remember
that this OS can handle long and case sensetive filenames. Here are
three cases:
1. Only long filenames
----------------------
Unzip the binaries with an unzip program, which can restore the long
filenames stored in the zip archive.
2. Only short filenames
-----------------------
Unzip the binaries with an unzip program, which doesn't know about long
filenames, or if your unzipper knows about them, please follow at first
the steps descripbed in the DJGPP FAQ 2.01 in section 8.2
about setting the NameNumericTail to 0 __BEFORE__!!! unzipping the
archives.
3. Long and short filenames at the same time
--------------------------------------------
Use an unzip program which can restore the long filenames and do the
same like under 2. when the unzipper knows about long filenames.
DJGPP specific hints for C++
============================
Since there are still some long filename problems, which could not be
solved in an easy way, there are some tricks to get all the
functionallity in C++. Especially some headers are renamed to get no
confilcts with either each other or with existing heeader files from
libc.
I list here all the relevant header files and how they are named for
DJGPP
Complex.h -> _Complex.h
String.h -> _String.h
Regex.h -> _Regex.h
iostreamP.h -> _iostreamP.h
So there are now two ways to include these headers. Either use the DJGPP
specific name or use a new feature of the preprocessor cpp. It accepts
now a new commandline switch "-remap" which tells cpp to look in a
directory for a file named "header.gcc" and the it takes that file as a
translation table if a requested file was not found in the directory.
The DJGPP distribution of g++ and libg++ come already with these
translation files, but they are currently not used. To use them, you
have to modify your specs file to add the "-remap" switch to the call
for cpp, since this switch cannot passed to cpp from the gcc
comanndline. Here is now a possible line from the spec file in your
lib/ directory:
*cpp:
-remap %{posix:-D_POSIX_SOURCE}
Reporting bugs
==============
If you found a bug in gcc, please report it to the gcc bug adresses and
_NOT_ (or at least not only) in the DJGPP news group. But if you think
you found a bug in the DJGPP related things, the please report in
comp.os.msdos.djgpp (the news group) or mail it to djgpp AT delorie DOT com,
which is the gateway to the news group.
To get a hint, what could be a DJGPP related bug, you should remember
that in mostly any case, when you get the message, that an internal
error has occoured and it should be reported to the GNU bug address,
then this is mostly _NOT_ a DJGPP related bug but a core gcc bug.
DJGPP related bug are probably only because of wrong searched
directories (but please read at first the beginning of the file about
the installation) or some other things :-) Excuse, if I would know
such a bug, it wouldn't be there :-)
Please email me directly only in rare cases, if you think it is only of
interest for me, since I see the reports in comp.os.msdos.djgpp also.
Have fun with gcc, Robert Hoehne <robert DOT hoehne AT gmx DOT net>
--
******************************************************
* email: Robert Hoehne <robert DOT hoehne AT gmx DOT net> *
* Post: Am Berg 3, D-09573 Dittmannsdorf, Germany *
* WWW: http://www.tu-chemnitz.de/~sho/rho *
******************************************************
- Raw text -