SoftWire
via: http://diary.okotama.org/?date=20050220#p07
OpenBSD でも普通に動くようだ。
ところで、ctime の第一引数は long* ではなく、const time_t* ですぞ。
Assembler.cpp:196
const int t = time(0);
fprintf(file, "\n;%s\n", ctime((long*)&t))
ここ。 というか、この間違いどっかでみたと思ったらちょっと前までの Bigloo だった。 今は直ってるみたいだけど。
あ、そうそう。 Makefile.gcc を
CC= libtool --tag=CXX --mode=compile g++
LINK= libtool --tag=CXX --mode=link g++
OBJEXT = .lo
...
$(OUTPUT): $(OBJECTS)
$(LINK) -o $@ $(OBJECTS) -no-undefined -rpath ${prefix}/lib
...
$(TESTAPP): $(TESTOBJECTS)
$(LINK) -L$(LIBDIR) -o $@ $(TESTOBJECTS) -lSoftWire
...
%.lo: %.cpp
$(CC) $(CFLAGS) -c $<
...
clean:
libtool --mode=clean rm -f $(OUTPUT)
libtool --mode=clean rm -f $(TESTAPP)
libtool --mode=clean rm -f *$(OBJEXT)
にすると libtool を使った .so なライブラリができる。 Makefile しかないときはいつでもこの方法が使える。おすすめ。
まあそれは置いといて、なかなかおもしろいっす。 Gauche へポートしてごにょごにょするかね。それこそ Bigloo とか chicken なら簡単にできそう。
Posted at 10:52 | Permalink | Category | Comments