use revision - age on windows like on linux

git-svn-id: svn+q:///qpdf/trunk@1003 71b93d88-0707-0410-a8cf-f5a4172ac649
This commit is contained in:
Jay Berkenbilt 2010-08-08 21:07:14 +00:00
parent cf172cf550
commit c9e5fe6f43
2 changed files with 10 additions and 8 deletions

View File

@ -62,8 +62,9 @@ endef
# 1 2 3 4 5 6 7 # 1 2 3 4 5 6 7
# Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age) # Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age)
define makelib define makelib
dlltool -l $(2) -D $$(basename `echo $(2) | sed -e 's,/lib\(.*\).a,/\1,'`$(5).dll) $(1); \ major=$$(( $(5) - $(7))); \
$(CXX) -shared -o `echo $(2) | sed -e 's,/lib\(.*\).a,/\1,'`$(5).dll \ dlltool -l $(2) -D $$(basename `echo $(2) | sed -e 's,/lib\(.*\).a,/\1,'`$(major).dll) $(1); \
$(CXX) -shared -o `echo $(2) | sed -e 's,/lib\(.*\).a,/\1,'`$(major).dll \
$(1) $(3) $(4) $(1) $(3) $(4)
endef endef

View File

@ -65,15 +65,16 @@ endef
# 1 2 3 4 5 6 7 # 1 2 3 4 5 6 7
# Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age) # Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age)
define makelib define makelib
cl /nologo /O2 /Zi /Gy /EHsc /MD /LD /Fe$(basename $(2))$(5).dll $(1) \ major=$$(( $(5) - $(7))); \
/link /incremental:no \ cl /nologo /O2 /Zi /Gy /EHsc /MD /LD /Fe$(basename $(2))$(major).dll \
$(1) /link /incremental:no \
$(foreach L,$(subst -L,,$(3)),/LIBPATH:$(L)) \ $(foreach L,$(subst -L,,$(3)),/LIBPATH:$(L)) \
$(foreach L,$(subst -l,,$(4)),$(L).lib) $(foreach L,$(subst -l,,$(4)),$(L).lib)
if [ -f $(basename $(2))$(5).dll.manifest ]; then \ if [ -f $(basename $(2))$(major).dll.manifest ]; then \
mt.exe -nologo -manifest $(basename $(2))$(5).dll.manifest \ mt.exe -nologo -manifest $(basename $(2))$(major).dll.manifest \
-outputresource:$(basename $(2))$(5).dll\;2; \ -outputresource:$(basename $(2))$(major).dll\;2; \
fi fi
mv $(basename $(2))$(5).lib $(2) mv $(basename $(2))$(major).lib $(2)
endef endef
# 1 2 3 4 # 1 2 3 4