Message-Id: <199803052249.RAA29753@delorie.com> Date: Thu, 05 Mar 1998 22:06:25 +0100 From: Robert Hoehne Organization: none provided MIME-Version: 1.0 To: djgpp-announce AT delorie DOT com Subject: ANNOUNCE: gcc 2.8.0 and related things for DJGPP Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Precedence: bulk Precedence: bulk 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 -- ****************************************************** * email: Robert Hoehne * * Post: Am Berg 3, D-09573 Dittmannsdorf, Germany * * WWW: http://www.tu-chemnitz.de/~sho/rho * ******************************************************