defs.mk, rules.mk: Link import dlls via MS_LD alias wine lib.exe

This commit is contained in:
Jan Lindemann 2007-07-18 16:41:07 +00:00 committed by Jan Lindemann
commit f37e3bb371
2 changed files with 9 additions and 2 deletions

View file

@ -64,6 +64,7 @@ GPP = $(CROSS_TOOL_BIN_PREFIX)g++
STRIP = $(CROSS_TOOL_BIN_PREFIX)strip STRIP = $(CROSS_TOOL_BIN_PREFIX)strip
LDFLAGS += -lws2_32 LDFLAGS += -lws2_32
USE_GFILTER = false USE_GFILTER = false
MS_LD ?= wine $(HOME)/local/mingw/packages/msvcpp/bin/LIB.EXE
else else
GCC = gcc GCC = gcc
GPP = g++ GPP = g++
@ -197,6 +198,8 @@ SO_SUFFIX = so.$(shell echo $(VERSION) | cut -d- -f1)
LIB_SO = $(LIBDIR)/lib$(LIBNAME).$(SO_SUFFIX) LIB_SO = $(LIBDIR)/lib$(LIBNAME).$(SO_SUFFIX)
else else
LIB_A = $(LIBDIR)/lib$(LIBNAME)-static.a LIB_A = $(LIBDIR)/lib$(LIBNAME)-static.a
LIB_DEF = $(LIBDIR)/$(LIBNAME).def
MSVCPP_IMPLIB = $(LIBDIR)/$(LIBNAME).lib
SO_SUFFIX = dll.$(shell echo $(VERSION) | cut -d- -f1) SO_SUFFIX = dll.$(shell echo $(VERSION) | cut -d- -f1)
LIB_SO = $(LIBDIR)/$(LIBNAME).dll LIB_SO = $(LIBDIR)/$(LIBNAME).dll
endif endif
@ -453,3 +456,4 @@ endif
NEW_LD_LIB_PATH = $(shell echo $(LDFLAGS) | sed 's/-[^L][^ ]*//g; s/-L[ ]*\([^ ]*\)[ ]*/\1:/g') NEW_LD_LIB_PATH = $(shell echo $(LDFLAGS) | sed 's/-[^L][^ ]*//g; s/-L[ ]*\([^ ]*\)[ ]*/\1:/g')

View file

@ -71,8 +71,11 @@ $(LIB_SO): $(VERSION_SCRIPT) $(LIB_A)
$(filter-out -l$(LIBNAME),$(LDFLAGS)) -o $@ $(filter-out -l$(LIBNAME),$(LDFLAGS)) -o $@
else else
$(LIB_SO): $(VERSION_SCRIPT) $(LIB_A) $(LIB_SO): $(VERSION_SCRIPT) $(LIB_A)
$(CC) -shared -Wl,--whole-archive,--out-implib,$(shell echo $(LIB_A) | sed 's/-static//') $(VERSION_SCRIPT) $(LIB_A) -Wl,--no-whole-archive \ $(CC) -shared \
$(filter-out -l$(LIBNAME),$(LDFLAGS)) -o $@ -Wl,--whole-archive,--out-implib,$(shell echo $(LIB_A) | sed 's/-static//'),--output-def,$(LIB_DEF) \
$(VERSION_SCRIPT) $(LIB_A) -Wl,--no-whole-archive $(filter-out -l$(LIBNAME),$(LDFLAGS)) -o $@
$(MSVCPP_IMPLIB): $(LIB_SO)
$(MS_LD) /machine:i386 /def:$(LIB_DEF)
endif endif
$(TOPDIR)/include: $(TOPDIR)/include: