[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
gcc 2.7.2.3
Hi!
Some infos to the gcc 2.7.2.3 I've made.
It works under MiNT /and/ under TOS/MagiC.
With my gcc 2.7.2.3 you must use the util-40.lzh, because I've made some
changes on the interface gcc -> ld.
You can find all gcc-2.7.2.3 related files here:
ftp://ftp.rz.tu-harburg.de/pub/software/systems/atari/gnu/gcc/2.7.2.3
If you install it under MiNT on a minixfs, you can use the UNIX-like
path
structure. If you want to use an other path structure you had to set the
environment variables GNUEXEC, GNULIB, GNUINC and GXXINC.
If the linker found $GNULIB, he's using TOS names for the libs (c.olb)
otherwise he's using UNIX names (libc.a)
I've installed the gcc 2.7.2.3 on a TOS partition and it works correctly
under
MiNT /and/ MagiC.
On the TOS partition I've got the following structure (drive G:):
g/gnu:
drwxrwx--- 1 root wheel 0 Dec 9 1995 bin/
drwxrwx--- 1 root wheel 0 Dec 9 1995 include/
drwxrwx--- 1 root wheel 0 Dec 9 1995 lib/
g/gnu/bin:
-rwxrwx--- 1 root wheel 128233 Dec 9 1995 as.ttp
-rwxrwx--- 1 root wheel 1093496 Feb 2 09:41 cc1.ttp
-rwxrwx--- 1 root wheel 1439760 Feb 2 09:41
cc1plus.ttp
-rwxrwx--- 1 root wheel 99405 Feb 2 09:41 cpp.ttp
-rwxrwx--- 1 root wheel 39055 Feb 2 09:41 g++.ttp
-rwxrwx--- 1 root wheel 85454 Feb 2 12:06 gcc.ttp
-rwxrwx--- 1 root wheel 53983 Oct 21 13:41 ld.ttp
-rwxrwx--- 1 root wheel 52685 Oct 21 13:41
sym-ld.ttp
g/gnu/include:
[all headers from mintlib, gemlib, ...]
g/gnu/include/g++:
[all headers from libg++]
g/gnu/lib:
-r--r----- 1 root wheel 563 Oct 30 21:19 crt0.o
-rw-rw---- 1 root wheel 44304 Dec 9 1995
curses.olb
-rw-rw---- 1 root wheel 281622 Oct 12 19:11 g++.olb
-rw-rw---- 1 root wheel 47624 Nov 5 12:17 gem.olb
-rw-rw---- 1 root wheel 50954 Nov 5 12:39
gem_mt.olb
-rw-rw---- 1 root wheel 209884 Jan 22 09:31 gnu.olb
-rw-rw---- 1 root wheel 5740 Jan 17 18:42 iio.olb
-rw-rw---- 1 root wheel 34430 Dec 9 1995 pml.olb
-rw-rw---- 1 root wheel 26156 Jul 3 1995
portlib.olb
-rw-rw---- 1 root wheel 51918 Sep 7 1996
socket.olb
-rw-rw---- 1 root wheel 5895 Feb 1 20:01 specs
-rw-rw---- 1 root wheel 272468 Oct 12 19:11
stdc++.olb
To use this installation under MagiC with command shell Mupfel I must
set the
following environment:
export PATH=".;g:\gnu\bin"
export TMPDIR="p:\"
export GNUEXEC='g:/gnu/bin/'
export GNULIB='g:/gnu/lib'
export GNUINC='g:/gnu/include'
export GXXINC='g:/gnu/include/g++,g:/gnu/include'
To use the same installation unter MiNT, I've create the following path
structure with many soft-links on my minix partition:
/usr:
drwxr-xr-x 3 root wheel 4128 Nov 10 15:34 bin/
lrwxrwxrwx 1 root wheel 14 Sep 10 19:54 include
-> /g/gnu/include/
drwxr-xr-x 5 root wheel 928 Oct 28 12:17 lib/
drwxr-xr-x 3 root wheel 160 Oct 18 14:19
m68k-atari-mint/
usr/bin:
lrwxrwxrwx 1 root wheel 3 Oct 21 14:36 cc -> gcc
lrwxrwxrwx 1 root wheel 18 Sep 10 19:46 g++ ->
/g/gnu/bin/g++.ttp
lrwxrwxrwx 1 root wheel 17 Sep 10 20:00 gas ->
/g/gnu/bin/as.ttp
lrwxrwxrwx 1 root wheel 18 Jun 24 1997 gcc ->
/g/gnu/bin/gcc.ttp
lrwxrwxrwx 1 root wheel 17 Oct 21 14:40 ld ->
/g/gnu/bin/ld.ttp
usr/lib:
lrwxrwxrwx 1 root wheel 17 Sep 10 19:51 crt0.o ->
/g/gnu/lib/crt0.o
lrwxrwxrwx 1 root wheel 19 sep 24 18:47
g++-include -> /g/gnu/include/g++//
drwxrwxrwx 3 root wheel 96 Oct 17 17:30 gcc-lib/
lrwxrwxrwx 1 root wheel 21 Oct 28 12:17
libcurses.a -> /g/gnu/lib/curses.olb
lrwxrwxrwx 1 root wheel 18 Sep 10 19:51 libg++.a
-> /g/gnu/lib/g++.olb
lrwxrwxrwx 1 root wheel 18 Sep 10 19:51 libgem.a
-> /g/gnu/lib/gem.olb
lrwxrwxrwx 1 root wheel 21 Sep 10 19:51
libgem_mt.a -> /g/gnu/lib/gem_mt.olb
lrwxrwxrwx 1 root wheel 18 Oct 18 17:39 libgnu.a
-> /g/gnu/lib/gnu.olb
lrwxrwxrwx 1 root wheel 18 Oct 3 13:55 libiio.a
-> /g/gnu/lib/iio.olb
lrwxrwxrwx 1 root wheel 18 Oct 18 14:25 libpml.a
-> /g/gnu/lib/pml.olb
lrwxrwxrwx 1 root wheel 21 Sep 10 19:51
libstdc++.a -> /g/gnu/lib/stdc++.olb
usr/lib/gcc-lib:
drwxrwxrwx 4 root wheel 128 Jan 31 15:44
m68k-atari-mint/
usr/lib/gcc-lib/m68k-atari-mint:
drwxrwxrwx 2 root wheel 192 Oct 21 14:29 2.7.2.3/
usr/lib/gcc-lib/m68k-atari-mint/2.7.2.3:
lrwxrwxrwx 1 root wheel 18 Oct 21 14:29 cc1 ->
/g/gnu/bin/cc1.ttp
lrwxrwxrwx 1 root wheel 22 Oct 19 17:13 cc1plus
-> /g/gnu/bin/cc1plus.ttp
lrwxrwxrwx 1 root wheel 18 Oct 21 14:29 cpp ->
/g/gnu/bin/cpp.ttp
lrwxrwxrwx 1 root wheel 16 Oct 19 17:14 specs ->
/g/gnu/lib/specs
usr/m68k-atari-mint:
drwxrwxrwx 2 root wheel 224 Feb 4 11:36 bin/
usr/m68k-atari-mint/bin:
lrwxrwxrwx 1 root wheel 17 Sep 10 19:47 as ->
/g/gnu/bin/as.ttp
lrwxrwxrwx 1 root wheel 17 Sep 10 19:47 ld ->
/g/gnu/bin/ld.ttp
lrwxrwxrwx 1 root wheel 21 Oct 19 17:29 sym-ld ->
/g/gnu/bin/sym-ld.ttp
For this structure no environment variable must be set.
Now to the mystic specs file:
All parameters in gcc are handled with data structures calls 'spec'.
There are
specs for the platform-specific options, predefined symbols for the
preprocessor,
rules for generating the lib names and so on. Most of these specs are
defined in
the compiler sources but may be overwritten with the external
user-configurable
spec file.
For example take a look on the spec 'startfile':
*startfile:
%{mbaserel:b}%{mint:m}%{pg:g}%{p:m}crt0.o%s
The base name of the startfile is 'crt0.o'. If option '-maserel' is set,
you've
got 'bcrt0.o', when '-mint' is activ, 'mcrt0.o'.
If you need a special predefine for the preprocessor, you can add it to
the
'predefines'-spec:
*predefines:
-Dmy_personal_define -Dmc68000 -Datarist -Dgem -Asystem(tos) ...
You can generate a spec file with `gcc -dumpspecs`. Normaly you don't
make
changes to the spec file, just install it and gcc will be happy ;-))
Chris.
------------------------------------------------------------------------
Christian Felsch email: felsch@tu-harburg.d400.de (Big mails, uue)
Bevenser Weg 18 christian_felsch@hh.maus.de (Mails < 16K)
21079 Hamburg
Germany WWW : http://www.tu-harburg.de/~smcf1605/
------------------------------------------------------------------------