December 06, 2005
What should go in a binary package for GDC ?
(seems to be some demand recently, for such)

I'll give some examples from my gdcmac builds:
+ powerpc-apple-darwin6 (Mac OS X 10.2)
- i386-apple-darwin6 (TODO)
+ powerpc-apple-darwin7 (Mac OS X 10.3)
- i386-apple-darwin7 (TODO)
+ powerpc-apple-darwin8 (Mac OS X 10.4)
- i686-apple-darwin8 (TODO)


Currently I have two versions, depending on
whether using the system compilers - or if
bundling a custom copy of GCC and G++ as well.

The bundled copy is easiest, for that I just
did a --prefix=/opt/gdc and a "make install".
(since else it would conflict with system GCC)

It's also like a factor 10 or so bigger, though...


For the "dependent" version, here's a file list:
  bin/gdc
  bin/gdmd
  include/d/3.3.6/crc32.d
? include/d/3.3.6/etc/c/recls/*.h
? include/d/3.3.6/etc/c/stlsoft/*.h
? include/d/3.3.6/etc/c/zlib/*.h
  include/d/3.3.6/etc/gamma.d
  include/d/3.3.6/gcc/*
  include/d/3.3.6/gcstats.d
  include/d/3.3.6/object.d
  include/d/3.3.6/powerpc-apple-darwin6/*
  include/d/3.3.6/std/*
  lib/gcc/powerpc-apple-darwin6/3.3.6/cc1d
? lib/gcc/powerpc-apple-darwin6/3.3.6/crt2.o
? lib/gcc/powerpc-apple-darwin6/3.3.6/libgcc.a
  lib/libgphobos.a
  lib/libgphobos.spec
  share/man/man1/gdc.1.gz
  share/man/man1/gdmd.1.gz
? share/man/man7/fsf-funding.7.gz
? share/man/man7/gfdl.7.gz
? share/man/man7/gpl.7.gz

Similar list for "powerpc-apple-darwin7",
and probably for other targets as well ?
(for example: "i386-redhat-linux", etc.)

For "powerpc-apple-darwin8", I skipped
the: crt2.o, libgcc.a and "man7" pages.
(and it uses the 4.0.1 version instead)

For their earlier compilers, Apple patched
their crt2.o and libgcc.a stuff to go into:
/usr/lib/gcc/darwin/3.3/ instead. I didn't.


Q:
Did I forget something ? Or did I include too much ?
(usually, the above list goes into: /usr directory)

Should the etc/c headers, for C, be in the package ?
(know we argued this before, ended up leaving it in)


Will remove some of the cruft from my old gdc RPM,
and post a version similar to the packages above...
Probably just the source package, though, for now.
Otherwise one needs one "gdc" RPM for every distro ?

Could always make for one for a vanilla /opt/gdc
installation, and build it with some older glibc ?
But the idea behind the packages above is that you
already *have* a GCC, and just need the GDC front-end.

(I know that Apple's versions of GCC are pretty weird,
which is another reason I want to use *their* gcc/g++)

--anders


PS. For DMD, the D import modules ended up in:
    /usr/lib/phobos instead of /usr/include/d
    (has to be set in the /etc/dmd.conf anyway)
    But that's a *good* thing, since that means
    that they won't be conflicting with eachother.