[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: shared libraries for NetBSD/powerpc



>current の bsd.lib.mk は ELF はすべて SHLIB_LD{START,END}FILE
>が crt{begin,end}S.o に set されてるみたいですが…

このあたりも含めて、もう一度パッチをまとめます。
# COPT+=-fPIC ってなんだろなー。typo かな。

X はかなりいいかげんですが、NetBSD.cf の最後にでも

#ifdef UseInstalled  
#define LinkBuildSonameLibrary(lib) true
#else
#define LinkBuildSonameLibrary(lib) (RemoveFile($(BUILDLIBDIR)/lib); \
	cd $(BUILDLIBDIR); $(LN) $(BUILDINCTOP)/$(CURRENT_DIR)/lib .)
#endif

#undef SharedLibraryTarget
#define SharedLibraryTarget(libname,rev,solist,down,up)			@@\
AllTarget(Concat(lib,libname.so.rev))					@@\
									@@\
Concat(lib,libname.so.rev):  solist					@@\
	$(RM) $@~							@@\
	$(RM) Concat3(lib,libname,_pic.a)				@@\
	$(AR) Concat3(lib,libname,_pic.a) solist			@@\
	SONAME=`echo $@ | sed 's/\.[^\.]*$$//'`; \			@@\
		(cd down; $(LD) -o up/$@~ -Bshareable -Bsymbolic \	@@\
		 -soname $$SONAME \					@@\
		 --whole-archive up/Concat3(lib,libname,_pic.a)); \	@@\
		$(RM) $$SONAME; $(LN) $@ $$SONAME; \			@@\
		LinkBuildSonameLibrary($$SONAME)			@@\
	$(RM) $@							@@\
	$(MV) $@~ $@							@@\
	$(RM) Concat(lib,libname.so)					@@\
	$(LN) $@ Concat(lib,libname.so)					@@\
	LinkBuildLibrary($@)						@@\
	LinkBuildLibrary(Concat(lib,libname.so))			@@\
									@@\
clean::									@@\
	$(RM) Concat(lib,libname.so.rev)



みたいに書いておくとそれなりにできるようです。面倒になったのでこれ以上
ちゃんとまとめていないのですけど。

話は変わりますが、だれか CardBus のテストしませんか? PowerBook 2400c/180
の TI1130 はついさっき動くようになりました。(って私が書いたんじゃないけど)

# クラッシュさせてもいい PowerMac 8500 があることに気づいたので
# これから shlib化してみます。:-)