Commit a5595fde authored by Richard Levitte's avatar Richard Levitte
Browse files

On Solaris64, cc needs the flag -xarch=v9 when linking shared

libraries.  Make a general change to support shared library
linking flags in general.
Noted by Nick Briggs <briggs@parc.xerox.com>
parent 95f8c719
Loading
Loading
Loading
Loading
+76 −75

File changed.

Preview size limit exceeded, changes collapsed.

+20 −10
Original line number Diff line number Diff line
@@ -191,6 +191,7 @@ SHARED_CRYPTO=libcrypto$(SHLIB_EXT)
SHARED_SSL=libssl$(SHLIB_EXT)
SHARED_LIBS=
SHARED_LIBS_LINK_EXTS=
SHARED_LDFLAGS=

GENERAL=        Makefile
BASENAME=       openssl
@@ -258,7 +259,8 @@ do_bsd-gcc-shared: do_gnu-shared
do_linux-shared: do_gnu-shared
do_gnu-shared:
	libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
	( set -x; ${CC}  -shared -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
	( set -x; ${CC} ${SHARED_LDFLAGS} \
		-shared -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
		-Wl,-soname=lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
		-Wl,--whole-archive lib$$i.a \
		-Wl,--no-whole-archive $$libs ${EX_LIBS} -lc ) || exit 1; \
@@ -278,7 +280,8 @@ do_alpha-osf1-shared:
		$(MAKE) do_gnu-shared; \
	else \
		libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
		( set -x; ${CC}  -shared -o lib$$i.so \
		( set -x; ${CC} ${SHARED_LDFLAGS} \
			-shared -o lib$$i.so \
			-set_version "${SHLIB_VERSION_HISTORY}${SHLIB_VERSION_NUMBER}" \
			-all lib$$i.a -none $$libs ${EX_LIBS} -lc ) || exit 1; \
		libs="$$libs -l$$i"; \
@@ -293,7 +296,8 @@ do_tru64-shared:
		$(MAKE) do_gnu-shared; \
	else \
		libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
		( set -x; ${CC}  -shared -msym -o lib$$i.so \
		( set -x; ${CC} ${SHARED_LDFLAGS} \
			-shared -msym -o lib$$i.so \
			-set_version "${SHLIB_VERSION_HISTORY}${SHLIB_VERSION_NUMBER}" \
			-all lib$$i.a -none $$libs ${EX_LIBS} -lc ) || exit 1; \
		libs="$$libs -l$$i"; \
@@ -308,7 +312,8 @@ do_tru64-shared-rpath:
		$(MAKE) do_gnu-shared; \
	else \
		libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
		( set -x; ${CC}  -shared -msym -o lib$$i.so \
		( set -x; ${CC} ${SHARED_LDFLAGS} \
			-shared -msym -o lib$$i.so \
			-rpath  ${INSTALLTOP}/lib \
			-set_version "${SHLIB_VERSION_HISTORY}${SHLIB_VERSION_NUMBER}" \
			-all lib$$i.a -none $$libs ${EX_LIBS} -lc ) || exit 1; \
@@ -324,7 +329,8 @@ do_solaris-shared:
	else \
		libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
		( PATH=/usr/ccs/bin:$$PATH ; export PATH; \
		  set -x; ${CC}  -G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
		  set -x; ${CC} ${SHARED_LDFLAGS} \
			-G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
			-h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
			-z allextract lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \
		libs="$$libs -l$$i"; \
@@ -343,7 +349,8 @@ do_svr5-shared:
		  for obj in `ar t lib$$i.a` ; do \
		    OBJS="$${OBJS} `grep $$obj allobjs`" ; \
		  done ; \
		  set -x; ${CC}  -G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
		  set -x; ${CC} ${SHARED_LDFLAGS} \
			-G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
			-h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
			$${OBJS} $$libs ${EX_LIBS} ) || exit 1; \
		libs="$$libs -l$$i"; \
@@ -356,7 +363,8 @@ do_irix-shared:
		$(MAKE) do_gnu-shared; \
	else \
		libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
		( set -x; ${CC} -shared -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
		( set -x; ${CC} ${SHARED_LDFLAGS} \
			-shared -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
			-Wl,-soname,lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
			-all lib$$i.a $$libs ${EX_LIBS} -lc) || exit 1; \
		libs="$$libs -l$$i"; \
@@ -376,7 +384,8 @@ do_irix-shared:
#
do_hpux-shared:
	for i in ${SHLIBDIRS}; do \
	( set -x; /usr/ccs/bin/ld +vnocompatwarnings \
	( set -x; /usr/ccs/bin/ld ${SHARED_LDFLAGS} \
 		+vnocompatwarnings \
		-b -z +s \
		-o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
		+h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
@@ -394,7 +403,8 @@ do_hpux-shared:
#
do_hpux64-shared:
	for i in ${SHLIBDIRS}; do \
	( set -x; /usr/ccs/bin/ld -b -z \
	( set -x; /usr/ccs/bin/ld ${SHARED_LDFLAGS} \
 		-b -z \
		-o lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
		+h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR} \
		+forceload lib$$i.a -ldl -lc ) || exit 1; \
@@ -430,7 +440,7 @@ do_hpux64-shared:
#  HP/UX-64bit: /usr/ccs/bin/ld
#  AIX:		$(CC)
ALLSYMSFLAG=-bnogc
SHAREDFLAGS=-G -bE:lib$$i.exp -bM:SRE
SHAREDFLAGS=${SHARED_LDFLAGS} -G -bE:lib$$i.exp -bM:SRE
SHAREDCMD=$(CC)
do_aix-shared:
	libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \