X-Git-Url: https://git.openssl.org/?p=openssl.git;a=blobdiff_plain;f=Makefile.shared;h=d856180bf134d8ae22249c29857118cc03722e3d;hp=7a89019d4b2f90ca92f9a0e4f493f7186ca48b7d;hb=69588edbaa424beb71c6a9b1be416588232cb78c;hpb=464dadb29db534981330cddec43336108cbb0f65 diff --git a/Makefile.shared b/Makefile.shared index 7a89019d4b..d856180bf1 100644 --- a/Makefile.shared +++ b/Makefile.shared @@ -14,6 +14,7 @@ CFLAGS=$(CFLAG) LDFLAGS=$(LDFLAG) SHARED_LDFLAGS=$(SHARED_LDFLAG) +RC=windres # SHARED_RCFLAGS are flags used with windres, i.e. when build for Cygwin # or Mingw. SHARED_RCFLAGS=$(SHARED_RCFLAG) @@ -162,13 +163,19 @@ LINK_SO_SHLIB_UNPACKED= \ DETECT_GNU_LD=($(CC) -Wl,-V /dev/null 2>&1 | grep '^GNU ld' )>/dev/null -DO_GNU_SO_NOCALC=\ +DO_GNU_SO_COMMON=\ + SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX" +DO_GNU_DSO=\ SHLIB=$(LIBNAME).so; \ + SHLIB_SOVER=; \ SHLIB_SUFFIX=; \ + $(DO_GNU_SO_COMMON) +DO_GNU_SO=\ + $(CALC_VERSIONS); \ + SHLIB=lib$(LIBNAME).so; \ ALLSYMSFLAGS='-Wl,--whole-archive'; \ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ - SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX" -DO_GNU_SO=$(CALC_VERSIONS); $(DO_GNU_SO_NOCALC); SHLIB=lib$$SHLIB + $(DO_GNU_SO_COMMON) DO_GNU_APP=LDFLAGS="$(CFLAGS) $(LDFLAGS) -Wl,-rpath,$(LIBRPATH)" #This is rather special. It's a special target with which one can link @@ -180,7 +187,7 @@ link_app.: $(LINK_APP) link_dso.gnu: - @ $(DO_GNU_SO_NOCALC); $(LINK_SO_DSO) + @ $(DO_GNU_DSO); $(LINK_SO_DSO) link_shlib.gnu: @ $(DO_GNU_SO); $(LINK_SO_SHLIB) link_app.gnu: @@ -193,11 +200,11 @@ link_shlib.linux-shared: $(LINK_SO_SHLIB) link_dso.bsd: - @if $(DETECT_GNU_LD); then $(DO_GNU_SO_NOCALC); else \ + @if $(DETECT_GNU_LD); then $(DO_GNU_DSO); else \ SHLIB=$(LIBNAME).so; \ SHLIB_SUFFIX=; \ LIBDEPS=" "; \ - ALLSYMSFLAGS="-Wl,-Bforcearchive"; \ + ALLSYMSFLAGS=; \ NOALLSYMSFLAGS=; \ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -nostdlib"; \ fi; $(LINK_SO_DSO) @@ -236,7 +243,7 @@ link_app.bsd: link_dso.darwin: @ SHLIB=$(LIBNAME); \ SHLIB_SUFFIX=.dylib; \ - ALLSYMSFLAGS='-all_load'; \ + ALLSYMSFLAGS=''; \ NOALLSYMSFLAGS=''; \ SHAREDFLAGS="$(CFLAGS) `echo $(SHARED_LDFLAGS) | sed s/dynamiclib/bundle/`"; \ $(LINK_SO_DSO) @@ -261,8 +268,8 @@ link_app.darwin: # is there run-path on darwin? link_dso.cygwin: @SHLIB=$(LIBNAME); \ SHLIB_SUFFIX=.dll; \ - ALLSYMSFLAGS='-Wl,--whole-archive'; \ - NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ + ALLSYMSFLAGS=''; \ + NOALLSYMSFLAGS=''; \ base=-Wl,--enable-auto-image-base; \ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-Bsymbolic"; \ $(LINK_SO_DSO) @@ -272,9 +279,9 @@ link_shlib.cygwin: SHLIB=cyg$(LIBNAME); SHLIB_SOVER=-$(LIBVERSION); SHLIB_SUFFIX=.dll; \ dll_name=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX; \ echo "$(PERL) $(SRCDIR)/util/mkrc.pl $$dll_name |" \ - "$(CROSS_COMPILE)windres $(SHARED_RCFLAGS) -o rc.o"; \ + "$(RC) $(SHARED_RCFLAGS) -o rc.o"; \ $(PERL) $(SRCDIR)/util/mkrc.pl $$dll_name | \ - $(CROSS_COMPILE)windres $(SHARED_RCFLAGS) -o rc.o; \ + $(RC) $(SHARED_RCFLAGS) -o rc.o; \ ALLSYMSFLAGS='-Wl,--whole-archive'; \ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,--enable-auto-image-base -Wl,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a rc.o"; \ @@ -300,9 +307,9 @@ link_shlib.mingw: | sed -e 's|^\(LIBRARY *\)$(LIBNAME)32|\1'"$$dll_name"'|' \ > $(LIBNAME).def; \ echo "$(PERL) $(SRCDIR)/util/mkrc.pl $$dll_name |" \ - "$(CROSS_COMPILE)windres $(SHARED_RCFLAGS) -o rc.o"; \ + "$(RC) $(SHARED_RCFLAGS) -o rc.o"; \ $(PERL) $(SRCDIR)/util/mkrc.pl $$dll_name | \ - $(CROSS_COMPILE)windres $(SHARED_RCFLAGS) -o rc.o; \ + $(RC) $(SHARED_RCFLAGS) -o rc.o; \ ALLSYMSFLAGS='-Wl,--whole-archive'; \ NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared $$base -Wl,-Bsymbolic -Wl,--out-implib,lib$(LIBNAME).dll.a $(LIBNAME).def rc.o"; \ @@ -311,12 +318,12 @@ link_shlib.mingw: link_dso.alpha-osf1: @ if $(DETECT_GNU_LD); then \ - $(DO_GNU_SO_NOCALC); \ + $(DO_GNU_DSO); \ else \ SHLIB=$(LIBNAME).so; \ SHLIB_SUFFIX=; \ - ALLSYMSFLAGS='-all'; \ - NOALLSYMSFLAGS='-none'; \ + ALLSYMSFLAGS=''; \ + NOALLSYMSFLAGS=''; \ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-B,symbolic"; \ fi; \ $(LINK_SO_DSO) @@ -351,13 +358,13 @@ link_app.alpha-osf1: link_dso.solaris: @ if $(DETECT_GNU_LD); then \ - $(DO_GNU_SO_NOCALC); \ + $(DO_GNU_DSO); \ else \ $(CALC_VERSIONS); \ - SHLIB=lib$(LIBNAME).so; \ + SHLIB=$(LIBNAME).so; \ SHLIB_SUFFIX=; \ - ALLSYMSFLAGS="-Wl,-z,allextract"; \ - NOALLSYMSFLAGS="-Wl,-z,defaultextract"; \ + ALLSYMSFLAGS=""; \ + NOALLSYMSFLAGS=""; \ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -h $$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX -Wl,-Bsymbolic"; \ fi; \ $(LINK_SO_DSO) @@ -385,7 +392,7 @@ link_app.solaris: # OpenServer 5 native compilers used link_dso.svr3: @ if $(DETECT_GNU_LD); then \ - $(DO_GNU_SO_NOCALC); \ + $(DO_GNU_DSO); \ else \ $(CALC_VERSIONS); \ SHLIB=$(LIBNAME).so; \ @@ -414,7 +421,7 @@ link_app.svr3: # UnixWare 7 and OpenUNIX 8 native compilers used link_dso.svr5: @ if $(DETECT_GNU_LD); then \ - $(DO_GNU_SO_NOCALC); \ + $(DO_GNU_DSO); \ else \ SHARE_FLAG='-G'; \ ($(CC) -v 2>&1 | grep gcc) > /dev/null && SHARE_FLAG='-shared'; \ @@ -445,14 +452,12 @@ link_app.svr5: link_dso.irix: @ if $(DETECT_GNU_LD); then \ - $(DO_GNU_SO_NOCALC); \ + $(DO_GNU_DSO); \ else \ SHLIB=$(LIBNAME).so; \ SHLIB_SUFFIX=; \ - MINUSWL=""; \ - ($(CC) -v 2>&1 | grep gcc) > /dev/null && MINUSWL="-Wl,"; \ - ALLSYMSFLAGS="$${MINUSWL}-all"; \ - NOALLSYMSFLAGS="$${MINUSWL}-none"; \ + ALLSYMSFLAGS=""; \ + NOALLSYMSFLAGS=""; \ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-soname,$$SHLIB$$SHLIB_SUFFIX,-B,symbolic"; \ fi; \ $(LINK_SO_DSO) @@ -483,11 +488,11 @@ link_app.irix: # ELFs by the way]. # link_dso.hpux: - @if $(DETECT_GNU_LD); then $(DO_GNU_SO_NOCALC); else \ + @if $(DETECT_GNU_LD); then $(DO_GNU_DSO); else \ SHLIB=$(LIBNAME).sl; \ - expr "$(CFLAGS)" : '.*DSO_DLFCN' > /dev/null && SHLIB=lib$(LIBNAME).so; \ + expr "$(CFLAGS)" : '.*DSO_DLFCN' > /dev/null && SHLIB=$(LIBNAME).so; \ SHLIB_SUFFIX=; \ - ALLSYMSFLAGS='-Wl,-Fl'; \ + ALLSYMSFLAGS=''; \ NOALLSYMSFLAGS=''; \ expr $(PLATFORM) : 'hpux64' > /dev/null && ALLSYMSFLAGS='-Wl,+forceload'; \ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -Wl,-B,symbolic,+vnocompatwarnings,-z,+s,+h,$$SHLIB$$SHLIB_SUFFIX,+cdp,../:,+cdp,./:"; \ @@ -558,7 +563,8 @@ symlink.cygwin symlink.alpha-osf1 symlink.tru64 symlink.tru64-rpath: # Compatibility targets link_dso.bsd-gcc-shared link_dso.linux-shared link_dso.gnu-shared: link_dso.gnu -link_shlib.bsd-gcc-shared link_shlib.gnu-shared: link_shlib.gnu +link_shlib.bsd-gcc-shared: link_shlib.linux-shared +link_shlib.gnu-shared: link_shlib.gnu link_app.bsd-gcc-shared link_app.linux-shared link_app.gnu-shared: link_app.gnu symlink.bsd-gcc-shared symlink.bsd-shared symlink.linux-shared symlink.gnu-shared: symlink.gnu link_dso.bsd-shared: link_dso.bsd