tl;dr: The main things I need help with: Installing 32-bit libcurl on 64-bit Debian, testing on 64-bit FreeBSD, and figuring out WTF is so screwed up on Windows.
It's almost finished, but I've hit some problems I'm having a hell of a time figuring out. I'm getting a kinda brain-fried and need some help with it: Here's what I have right now (it's named "create_dmd_release"): https://github.com/Abscissa/installer/tree/create-zip The "how to" documentation is at the top of the source file: https://github.com/Abscissa/installer/blob/create-zip/create_dmd_release/create_dmd_release.d Important note for trying it out: -------------------------------------- This tool depends on itself actually being in the official repo. Since this hasn't actually been pulled in yet (I don't think it's ready for a pull request just yet), you will need one small change to the instructions for step #2 to make it work right: Run the command line in step #2, but after it finishes cloning, go ahead and Ctrl-C kill it (or wait for it to end - either way). Then, copy the "create_dmd_release" directory tree into "[your temp dir]/.create_dmd_release/installer". You can check the temp dir it uses with "create_dmd_release --help". Finally, re-run the same original command, but add the flag "--skip-clone". DMD versions: ----------------------- This is intended for DMDs *after* v2.063.2, because it requires some changes in the "master" of the "tools" repo. However, you *can* coax it to work on v2.063.2 by halting it after the "clone" stage, then updating "[tmp-dir]/.create_dmd_release/tools/*.mak" with the latest versions from master, and then resuming the process by re-running with "--skip-clone". But additional hacking may be needed on Windows. The current status: ----------------------- - OSX 10.7: Works fine. (At least it did last time I tried it, a couple weeks ago. It *could* have regressed but I won't have access to the machine again until maybe Sunday.) - Debian 6 (32-bit OS): This tool isn't intended to support 32-bit OSes (since it must compile both 32-bit and 64-bit phobos), but it works fine up until it gets to the 64-bit stuff. If I manually comment out the 64-bit stuff, then everything else works fine. - Debian 6 (64-bit OS): It fails when linking the 32-bit phobos complaining that it can't link with libcurl. I'm fairly certain this is because I have no freaking idea how to install the 32-bit libcurl*-*-dev on a 64-bit Debian. (I *did* install "libcurl4-openssl-dev", but I'm pretty sure it only installed for 64-bit. And I can't figure out how to get the 32-bit.) - FreeBSD 9.1 (32-bit OS): Same as 32-bit Debian 6: It works, except for the 64-bit stuff. - FreeBSD 9.1 (64-bit OS): No idea, I don't have access to a 64-bit FreeBSD machine, and my stupid Intel CPU lacks the ability to run a 64-bit OS in a VM. - Windows 7 (64-bit OS): This is where I'm having the biggest trouble. I can coaxing it to handle v2.063.2 just fine (ie, if I update the "tools" makefiles as described above, and comment out all the "libcurl" and "chm" stuff.) However, on master, after it compiles DMD/druntime/phobos, the resulting DMD/phobos can't compile anything that uses phobos because OPTLINK will spew out a bunch of errors. I am *completely* at a loss on this one. It seems like an sc.ini issue, but I've spent days checking everything and I still can't make heads or tails of it.