X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=blobdiff_plain;f=Makefile.org;h=f93913f2afe95cf647431845f5da8a2152c456e7;hp=3d718c0dbf05c7737c14e17f89a3f2994c7c59b5;hb=7d95ff76e6d42855a3fa4431116dded5b0549ecb;hpb=b436a98257986c0026469487f6e7ec44c9e4825a diff --git a/Makefile.org b/Makefile.org index 3d718c0dbf..f93913f2af 100644 --- a/Makefile.org +++ b/Makefile.org @@ -11,6 +11,7 @@ SHLIB_MAJOR= SHLIB_MINOR= PLATFORM=dist OPTIONS= +CONFIGURE_ARGS= SHLIB_TARGET= # INSTALL_PREFIX is for package builders so that they can configure @@ -160,7 +161,7 @@ SHLIBDIRS= crypto ssl # dirs in crypto to build SDIRS= \ - md2 md5 sha mdc2 hmac ripemd \ + md2 md4 md5 sha mdc2 hmac ripemd \ des rc2 rc4 rc5 idea bf cast \ bn rsa dsa dh dso \ buffer bio stack lhash rand err objects \ @@ -207,7 +208,7 @@ all: Makefile.ssl $(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' SDIRS='${SDIRS}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' all ) || exit 1; \ fi; \ done; \ - if $$need_shlib && [ "$(SHLIB_TARGET)" != "" ]; then :; else \ + if $$need_shlib && [ "$(SHLIB_MARK1)" != "" -o "$(SHLIB_MARK1)" != "" ]; then \ $(MAKE) $(SHARED_LIBS); \ fi @@ -229,14 +230,22 @@ sub_all: $(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' SDIRS='$(SDIRS)' INSTALLTOP='${INSTALLTOP}' PEX_LIBS='${PEX_LIBS}' EX_LIBS='${EX_LIBS}' BN_ASM='${BN_ASM}' DES_ENC='${DES_ENC}' BF_ENC='${BF_ENC}' CAST_ENC='${CAST_ENC}' RC4_ENC='${RC4_ENC}' RC5_ENC='${RC5_ENC}' SHA1_ASM_OBJ='${SHA1_ASM_OBJ}' MD5_ASM_OBJ='${MD5_ASM_OBJ}' RMD160_ASM_OBJ='${RMD160_ASM_OBJ}' AR='${AR}' PROCESSOR='${PROCESSOR}' PERL='${PERL}' RANLIB='${RANLIB}' all ) || exit 1; \ fi; \ done; \ - if $$need_shlib && [ "$(SHLIB_TARGET)" != "" ]; then :; else \ + if $$need_shlib && [ "$(SHLIB_MARK1)" != "" -o "$(SHLIB_MARK1)" != "" ]; then \ $(MAKE) $(SHARED_LIBS); \ fi libcrypto.so: libcrypto.a - $(MAKE) $(SHLIB_TARGET) + @if [ "$(SHLIB_TARGET)" != "" ]; then \ + $(MAKE) SHLIBDIRS=crypto $(SHLIB_TARGET); \ + else \ + echo "There's no support for shared libraries on this platform" >&2; \ + fi libssl.so: libcrypto.so libssl.a - $(MAKE) $(SHLIB_TARGET) + @if [ "$(SHLIB_TARGET)" != "" ]; then \ + $(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-L. -lcrypto' $(SHLIB_TARGET); \ + else \ + echo "There's no support for shared libraries on this platform" >&2; \ + fi clean-shared: for i in ${SHLIBDIRS}; do \ @@ -246,29 +255,44 @@ clean-shared: done linux-shared: - libs=; for i in ${SHLIBDIRS}; do \ + libs='${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \ rm -f lib$$i.so \ lib$$i.so.${SHLIB_MAJOR} \ lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR}; \ ( set -x; ${CC} -shared -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ -Wl,-S,-soname=lib$$i.so.${SHLIB_MAJOR} \ -Wl,--whole-archive lib$$i.a \ - -Wl,--no-whole-archive -lc $$libs ) || exit 1; \ + -Wl,--no-whole-archive $$libs ${EX_LIBS} -lc ) || exit 1; \ libs="$$libs -L. -l$$i"; \ ( set -x; \ ln -s lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ lib$$i.so.${SHLIB_MAJOR}; \ ln -s lib$$i.so.${SHLIB_MAJOR} lib$$i.so ); \ - done; + done # This assumes that GNU utilities are *not* used true64-shared: - libs=; for i in ${SHLIBDIRS}; do \ + libs='${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \ ( set -x; ${CC} -shared -no_archive -o lib$$i.so \ -set_version "${SHLIB_VERSION_HISTORY}${SHLIB_VERSION_NUMBER}" \ - -all lib$$i.a -none -lc $$libs ) || exit 1; \ + -all lib$$i.a -none $$libs ${EX_LIBS} -lc ) || exit 1; \ libs="$$libs -L. -l$$i"; \ - done; + done + +# This assumes that GNU utilities are *not* used +solaris-shared: + libs='${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \ + rm -f lib$$i.so \ + lib$$i.so.${SHLIB_MAJOR} \ + lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR}; \ + ( set -x; ${CC} -G -o lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ + -h lib$$i.so.${SHLIB_MAJOR} \ + -z allextract lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \ + libs="$$libs -L. -l$$i"; \ + ln -s lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \ + lib$$i.so.${SHLIB_MAJOR}; \ + ln -s lib$$i.so.${SHLIB_MAJOR} lib$$i.so; \ + done Makefile.ssl: Makefile.org @echo "Makefile.ssl is older than Makefile.org."