www.digitalmars.com         C & C++   DMDScript  

D.gnu - GDC RPMS, cleaned up and updated

http://www.algonet.se/~afb/d/gdc.spec
(builds the SRPM gdc-0.15-0.nosrc.rpm)

Major changes:
- now updated to GDC 0.15, and GCC 3.4.4
- no longer including the "java" tarball
- moved Prefix - from /opt/gdc, to /usr
- using David's setup script for patching
- removed all sources / patches from SRPM
- not linking against system zlib anymore
- removed the unittest and other %checks
- including all the C/C++ cruft in etc.c

It should now be possible to install just D,
it will now install e.g. the following files:

/usr/bin/gdc
/usr/bin/gdmd
/usr/include/d/3.4.4/*
/usr/lib/gcc/i686-redhat-linux/3.4.4/crt*.o
/usr/lib/gcc/i686-redhat-linux/3.4.4/libgcc.a
/usr/libexec/gcc/i686-redhat-linux/3.4.4/cc1d
/usr/lib/libgcc_s.so
/usr/lib/libgphobos.a
/usr/lib/libgphobos.spec
/usr/share/man/man1/gdc.1.gz
/usr/share/man/man1/gdmd.1.gz

The platform varies where you build it, though.
(for example: "ppc-yellowdog-linux", for YDL)


You can still change the spec back to the
old Prefix, for instance if you want to use
the gcc and g++ compilers that it builds...

Otherwise it should work "OK" - mixing GDC
with the system GCC compilers, assuming that
it is some kind of GCC 3.x version that is ?


Distfile and resulting binary RPM sizes:

8.0K    SRPMS/gdc-0.15-0.nosrc.rpm
16M     SRPMS/gdc-0.15-0.src.rpm
8.0K    SPECS/gdc-0.15.spec

844K    SOURCES/gdc-0.15.tar.bz2
13M     SOURCES/gcc-core-3.4.4.tar.bz2
2.4M    SOURCES/gcc-g++-3.4.4.tar.bz2

2.2M    RPMS/i386/gdc-0.15-0.i386.rpm
2.6M    RPMS/i386/gdc-c-0.15-0.i386.rpm
9.8M    RPMS/i386/gdc-c++-0.15-0.i386.rpm

2.3M    RPMS/i686/gdc-0.15-0.i686.rpm
2.7M    RPMS/i686/gdc-c-0.15-0.i686.rpm
9.9M    RPMS/i686/gdc-c++-0.15-0.i686.rpm


BUGS:

Currently it is *not* building for PowerPC.
(see other post, about GDC segfaulting...)

I haven't bothered testing it on Darwin yet,
but it *should* work (famous last words...)

The c and c++ RPMS will most likely conflict
with the regular "gcc" RPMS from your distro.

Configure almost always gets the platform name
wrong, so one might as well set it explicitly...

Libiberty absolutely hates the -mcpu flag, and
fails to build with it (-mtune does *not* work)

Recls doesn't build with concurrent Make it seems ?
(when adding make -j2, it messes up the headers)

--anders
Jul 16 2005