D.gnu - What makes a GDC package ?
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.
Dec 06 2005