Commit bc91aa29453b6bbb822f2bfb39bae88b1db41a31

Authored by Jay Berkenbilt
1 parent a4963e8b

tweak shared library creation

git-svn-id: svn+q:///qpdf/trunk@1007 71b93d88-0707-0410-a8cf-f5a4172ac649
make/gcc-linux.mk
@@ -66,12 +66,12 @@ endef @@ -66,12 +66,12 @@ endef
66 # Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age) 66 # Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age)
67 define makelib 67 define makelib
68 $(RM) $(2) $(2).* 68 $(RM) $(2) $(2).*
69 - major=$$(( $(5) - $(7))); \ 69 + major=$$(( $(5) - $(7) )); \
70 versuffix=$$major.$(7).$(6); \ 70 versuffix=$$major.$(7).$(6); \
71 $(CXX) $(CXXFLAGS) -shared -o $(2).$$versuffix $(1) \ 71 $(CXX) $(CXXFLAGS) -shared -o $(2).$$versuffix $(1) \
72 -Wl,--soname -Wl,`basename $(2)`.$$major \ 72 -Wl,--soname -Wl,`basename $(2)`.$$major \
73 - $(3) $(4); \  
74 - ln -s `basename $(2)`.$$versuffix $(2); \ 73 + $(3) $(4) && \
  74 + ln -s `basename $(2)`.$$versuffix $(2) && \
75 ln -s `basename $(2)`.$$versuffix $(2).$$major 75 ln -s `basename $(2)`.$$versuffix $(2).$$major
76 endef 76 endef
77 77
make/mingw.mk
@@ -62,9 +62,9 @@ endef @@ -62,9 +62,9 @@ endef
62 # 1 2 3 4 5 6 7 62 # 1 2 3 4 5 6 7
63 # Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age) 63 # Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age)
64 define makelib 64 define makelib
65 - major=$$(( $(5) - $(7))); \  
66 - dlltool -l $(2) -D $$(basename `echo $(2) | sed -e 's,/lib\(.*\).a,/\1,'`$(major).dll) $(1); \  
67 - $(CXX) -shared -o `echo $(2) | sed -e 's,/lib\(.*\).a,/\1,'`$(major).dll \ 65 + major=$$(( $(5) - $(7) )); \
  66 + dlltool -l $(2) -D $$(basename `echo $(2) | sed -e 's,/lib\(.*\).a,/\1,'`)$${major}.dll $(1) && \
  67 + $(CXX) -shared -o `echo $(2) | sed -e 's,/lib\(.*\).a,/\1,'`$${major}.dll \
68 $(1) $(3) $(4) 68 $(1) $(3) $(4)
69 endef 69 endef
70 70
make/msvc.mk
@@ -65,16 +65,16 @@ endef @@ -65,16 +65,16 @@ endef
65 # 1 2 3 4 5 6 7 65 # 1 2 3 4 5 6 7
66 # Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age) 66 # Usage: $(call makelib,objs,library,ldflags,libs,current,revision,age)
67 define makelib 67 define makelib
68 - major=$$(( $(5) - $(7))); \  
69 - cl /nologo /O2 /Zi /Gy /EHsc /MD /LD /Fe$(basename $(2))$(major).dll \ 68 + major=$$(( $(5) - $(7) )); \
  69 + cl /nologo /O2 /Zi /Gy /EHsc /MD /LD /Fe$(basename $(2))$${major}.dll \
70 $(1) /link /incremental:no \ 70 $(1) /link /incremental:no \
71 $(foreach L,$(subst -L,,$(3)),/LIBPATH:$(L)) \ 71 $(foreach L,$(subst -L,,$(3)),/LIBPATH:$(L)) \
72 - $(foreach L,$(subst -l,,$(4)),$(L).lib)  
73 - if [ -f $(basename $(2))$(major).dll.manifest ]; then \  
74 - mt.exe -nologo -manifest $(basename $(2))$(major).dll.manifest \  
75 - -outputresource:$(basename $(2))$(major).dll\;2; \  
76 - fi  
77 - mv $(basename $(2))$(major).lib $(2) 72 + $(foreach L,$(subst -l,,$(4)),$(L).lib) && \
  73 + if [ -f $(basename $(2))$${major}.dll.manifest ]; then \
  74 + mt.exe -nologo -manifest $(basename $(2))$${major}.dll.manifest \
  75 + -outputresource:$(basename $(2))$${major}.dll\;2; \
  76 + fi && \
  77 + mv $(basename $(2))$${major}.lib $(2)
78 endef 78 endef
79 79
80 # 1 2 3 4 80 # 1 2 3 4