Thomas Hallgren schrieb:
I have a minor issue with Makefile.shlib. Compiling with win32 it spits out these warnings (the same is true for Cygwin)

Makefile.shlib:327: warning: overriding commands for target `libpljava.a'
Makefile.shlib:262: warning: ignoring old commands for target `libpljava.a'


As it turns out, the rule to make the lib$(NAME).a actually has commands defined in multiple places when Cygwin or win32 is used. In global scope we find the following at line 260:

  lib$(NAME).a: $(OBJS)
  ifdef MK_NO_LORDER
    $(LINK.static) $@ $^
  else
    $(LINK.static) $@ `$(LORDER) $^ | tsort`
  endif
    $(RANLIB) $@


Then, further down and win32 specific on line 325:

$(shlib) lib$(NAME).a: $(OBJS)
             ^^^^^^^^^^^^^

This is wrong. Those static import libs should be called
lib$(NAME).dll.a and are a completely different beast than the pure static lib from above. But it will only bite when ever a module wants both, static AND shared libs.


ifndef DLL_DEFFILE
$(DLLTOOL) --export-all $(DLLTOOL_DEFFLAGS) --output-def $(NAME).def $(OBJS)
$(DLLWRAP) $(LDFLAGS_SL) -o $(shlib) --dllname $(shlib) $(DLLWRAP_FLAGS) --def $(NAME).def $(OBJS) $(SHLIB_LINK)
$(DLLTOOL) --dllname $(shlib) $(DLLTOOL_LIBFLAGS) --def $(NAME).def --output-lib lib$(NAME).a
else
$(DLLWRAP) $(LDFLAGS_SL) -o $(shlib) --dllname $(shlib) $(DLLWRAP_FLAGS) --def $(DLL_DEFFILE) $(OBJS) $(SHLIB_LINK)
$(DLLTOOL) --dllname $(shlib) $(DLLTOOL_LIBFLAGS) --def $(DLL_DEFFILE) --output-lib lib$(NAME).a
endif


  endif # PORTNAME == win32

As I said, it's is no big issue since it just results in two warnings.
--
Man is by nature a political animal. (Aristotle, Politics)

---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
   (send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])

Reply via email to