dmdのtrunkを自動でビルドする(Mac編)

以下のRakefileを使えば出来ます!PLATFORMとか作ってるけど他の環境全然意識してません(Windows以外は動くかも?).せっかく作ったし,D言語友の会にでも後で貼っておくか.

汚いのは勘弁して下さい.

パッチ

今のtrunkはspell checkerが入ってwin32.makしか更新されてないので,dmd\src\osx.makにパッチを当てる必要がある.

--- osx.mak.orig	2010-03-06 02:46:04.000000000 +0900
+++ osx.mak	2010-03-06 02:15:28.000000000 +0900
@@ -45,7 +45,7 @@
 	unialpha.o toobj.o toctype.o toelfdebug.o entity.o doc.o macro.o \
 	hdrgen.o delegatize.o aa.o ti_achar.o toir.o interpret.o traits.o \
 	builtin.o clone.o aliasthis.o \
-	man.o arrayop.o port.o response.o async.o json.o \
+	man.o arrayop.o port.o response.o async.o json.o speller.o \
 	libmach.o machobj.o
 
 SRC = win32.mak linux.mak osx.mak freebsd.mak solaris.mak \
@@ -88,7 +88,7 @@
 	$(ROOT)/rmem.h $(ROOT)/rmem.c $(ROOT)/port.h $(ROOT)/port.c \
 	$(ROOT)/gnuc.h $(ROOT)/gnuc.c $(ROOT)/man.c \
 	$(ROOT)/stringtable.h $(ROOT)/stringtable.c \
-	$(ROOT)/response.c $(ROOT)/async.h $(ROOT)/async.c
+	$(ROOT)/response.c $(ROOT)/async.h $(ROOT)/async.c $(ROOT)/speller.h $(ROOT)/speller.c
 
 
 all: dmd
@@ -447,6 +447,9 @@
 staticassert.o: staticassert.h staticassert.c
 	$(CC) -c $(CFLAGS) staticassert.c
 
+speller.o: $(ROOT)/speller.c
+	$(CC) -c $(GFLAGS) -I$(ROOT) $<
+
 stringtable.o: $(ROOT)/stringtable.c
 	$(CC) -c $(GFLAGS) -I$(ROOT) $<

このパッチを当てたosx.makをRakefileと同じ階層に置いておけば,勝手に入れ替えてくれます.dmd 2.040は何故か俺の環境ではセグフォで全く動かなかったんだけど,ソースから入れたら動くようになった.これでMacでもdmdで遊べるようになった.

追記

上のパッチはもう要りません.それとソースをgistと入れ替え.