2
1
mirror of https://github.com/qpdf/qpdf.git synced 2024-12-22 19:08:59 +00:00

tweak shared library creation

git-svn-id: svn+q:///qpdf/trunk@1007 71b93d88-0707-0410-a8cf-f5a4172ac649
This commit is contained in:
Jay Berkenbilt 2010-08-08 22:13:24 +00:00
parent a4963e8b52
commit bc91aa2945
3 changed files with 14 additions and 14 deletions

View File

@ -66,12 +66,12 @@ endef
# Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age)
define makelib
$(RM) $(2) $(2).*
major=$$(( $(5) - $(7))); \
major=$$(( $(5) - $(7) )); \
versuffix=$$major.$(7).$(6); \
$(CXX) $(CXXFLAGS) -shared -o $(2).$$versuffix $(1) \
-Wl,--soname -Wl,`basename $(2)`.$$major \
$(3) $(4); \
ln -s `basename $(2)`.$$versuffix $(2); \
$(3) $(4) && \
ln -s `basename $(2)`.$$versuffix $(2) && \
ln -s `basename $(2)`.$$versuffix $(2).$$major
endef

View File

@ -62,9 +62,9 @@ endef
# 1 2 3 4 5 6 7
# Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age)
define makelib
major=$$(( $(5) - $(7))); \
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 \
major=$$(( $(5) - $(7) )); \
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)
endef

View File

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