From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,fc52e709d921e852,start X-Google-Attributes: gid103376,public From: nospam.jmcoltat@hol.fr (Alain Bizzi) Subject: Good news: how to compile Gnat 3.10p with gcc 2.7.2.3 Date: 1998/05/05 Message-ID: <354d8913.451276@news.hol.fr>#1/1 X-Deja-AN: 350338877 Newsgroups: comp.lang.ada Date: 1998-05-05T00:00:00+00:00 List-Id: First: Sorry for my english, by I am french. After hours and hours of trys for compiling GNAT-3.10p with a version of GCC greater than 2.7.2.1, I have find why we don't be able to compile GNAT?. The reason is very simple. During the installation of the GNAT compiler, the files "cc1" and "cpp" are not copied into the GNAT directory (/usr/lib/gcc-lib/$target/2.7.2.1/). So, when installing the GNAT compiler with GCC-2.7.2.1, at the end of the installation, copy these two files from the binaries GNAT distribution into this directory. Here is the procedure to compile GNAT-3.10p with GCC-2.7.2.3. BUILDING GNAT It seems that the current version of GNAT can be built directly with GCC 2.7.2.3. The sources for GNAT reside in a subdirectory named ada under the top level GCC source directory. The directory named src in this GNAT distribution contains the subdirectory ada which should be copied to the GCC source directory. When applying the patches be sure to use the "-p0" option of the patch program. gcc-2721.dif can be applied to GCC 2.7.2.3 sources. The procedures described here presume that you have GCC and the previous version of GNAT installed. The steps here will build and install new C and Ada compilers on the Linux distribution. This installation starts from the sources of GCC 2.7.2.3. -- Apply patch gcc-2721.dif from the src directory. -- Copy the ada directory into the GCC distribution. -- Apply patch gcc-2.7.2.2-ada.dif from the ada src directory. -- In the ada directory do: 'touch treeprs.ads a-[es]info.h nmake.ad[bs]' -- From the GCC top level directory follow the GCC directions for configure and then: make CC=gcc CFLAGS="-O2" LANGUAGES="c c++ proto ada" make CC=gcc CFLAGS="-O2" LANGUAGES="c c++ proto ada" bootstrap make CC=gcc CFLAGS="-O2" gnattools To build a version using just native threads on Linux (using LinuxThreads doing the following is sufficient. make CC=gcc CFLAGS="-O2" GNATLIBCFLAGS="-O2" gnatlib make install LANGUAGES="c c++ proto ada" To build only the version with FSU threads make CC=gcc CFLAGS="-O2" GNATLIBCFLAGS="-O2" THREAD_KIND=fsu gnatlib make install LANGUAGES="c c++ proto ada" To build and install systems for both thread libraries: make CC=gcc CFLAGS="-O2" GNATLIBCFLAGS="-O2" gnatlib make install LANGUAGES="c c++ proto ada" cd .../lib/gcc-lib/$target/2.7.2.3/ mkdir rts-native mkdir rts-fsu mv adalib adainclude rts-native cd src make CC=gcc CFLAGS="-O2" GNATLIBCFLAGS="-O2" THREAD_KIND=fsu gnatlib make install LANGUAGES="c c++ proto ada" mv adalib adainclude rts-fsu ln -s rts-fsu/adalib . ln -s rts-fsu/adainclude . cd [GCC top level directory] One thing more: If during the compilation, you got this message: ./: No such file or directory and the file or the directory exists, this meens that the loader trys to load a library which don't exists. To find which library the load wants, use an utility program like 'mc' and see at the beginning of the program