From: Alex P. <pe...@in...> - 2006-01-19 16:57:18
|
Michal Kubecek wrote: > On Thu, Jan 19, 2006 at 02:38:38PM -0200, Adriano dos Santos Fernandes wrote: > >>Alex Peshkov wrote: >> >>>And what's bad with this dependency? libfbclient.so is always present >>>in installation. I don't catch what problem do you want to solve. >> >>The embedded is also a client, but don't need to be named fbclient.dll. > > > For embedded, fbudf.so is built from another makefile so that it is > linked against -lfbembed. But I can see it linked only in win32 case: > > $(UDF)/fbudf.$(SHRLIB_EXT): $(FBUDF_Objects) $(FBUTIL_Objects) > ifeq ($(PLATFORM),win32) > $(LIB_LINK) $(LIB_LINK_OPTIONS) $(LIB_LINK_SONAME)fbudf.$(SHRLIB_EXT) -L$(LIB) -lfbembed -o $@ $^ > else > $(LIB_LINK) $(LIB_LINK_OPTIONS) $(LIB_LINK_SONAME)fbudf.$(SHRLIB_EXT) $(LIB_LINK_RPATH)$(FirebirdInstallPrefix)/lib -o $@ $^ > endif > > Is it correct? BTW, are these makefiles (generated from templates in > builds/posix/Makefile.in.*.fbudf) used on win32 platform? > Certainly, that's in general wrong, but practically OK. It's possible to have unresolved references in .so - is seems that ld hopes, that they will be resolved in some other libraries, already loaded when this particular is going to load. This is exactly our case - libfbembed is already loaded, because in classic case this is it who loads any UDF. And as long as this works fine, I prefer don't touch makefiles. What about win32 platform and posix build - it's used in MinGW build. |