Minimal work-around for ./engine shared builds. "Minimal" means that I
authorAndy Polyakov <appro@openssl.org>
Mon, 31 May 2004 22:29:26 +0000 (22:29 +0000)
committerAndy Polyakov <appro@openssl.org>
Mon, 31 May 2004 22:29:26 +0000 (22:29 +0000)
think that proper Makefile clean-up is required.

Makefile.org
Makefile.shared
engines/Makefile.ssl

index 4bc777797a726f91f99b7bbdd7d0988ddeaee57c..d9c07cdc5927091c49e5a6f2bc6f56295e65d880 100644 (file)
@@ -220,7 +220,7 @@ all: Makefile.ssl build_all openssl.pc
 BUILD_CMD=if echo " $(DIRS) " | grep " $$dir " >/dev/null 2>/dev/null; then \
        if [ -d "$$dir" ]; then \
                (cd $$dir && echo "making $$target in $$dir..." && \
-               $(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' AS='${AS}' ASFLAG='${ASFLAG}' 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}' KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}' EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}' $$target ) || exit 1; \
+               $(MAKE) CC='${CC}' PLATFORM='${PLATFORM}' CFLAG='${CFLAG}' AS='${AS}' ASFLAG='${ASFLAG}' 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}' KRB5_INCLUDES='${KRB5_INCLUDES}' LIBKRB5='${LIBKRB5}' EXE_EXT='${EXE_EXT}' SHARED_LIBS='${SHARED_LIBS}' SHLIB_EXT='${SHLIB_EXT}' SHLIB_TARGET='${SHLIB_TARGET}' SHARED_LDFLAGS='${SHARED_LDFLAGS}' LIBRPATH='$(INSTALLTOP)/lib' $$target ) || exit 1; \
        else \
                $(MAKE) $$dir; \
        fi; fi
index 607a852d6d8dab1a3b1ffe10c9ddeba3cfdc82dd..81a72a4738d7c42a2461979ea5bf186e8a05d182 100644 (file)
@@ -583,15 +583,13 @@ link_app.irix:
        fi; \
        $(LINK_APP)
 
-# HP-UX includes the full pathname of libs we depend on, so we would get
-# ./libcrypto (with ./ as path information) compiled into libssl, hence
-# we omit the SHLIBDEPS. Applications must be linked with -lssl -lcrypto
-# anyway.
-# The object modules are loaded from lib$i.a using the undocumented -Fl
-# option.
-#
-# WARNING: Until DSO is fixed to support a search path, we support SHLIB_PATH
-#          by temporarily specifying "+s"!
+# 32-bit PA-RISC HP-UX embeds the -L pathname of libs we link with, so
+# we compensate for it with +cdp ../: and +cdp ./:. Yes, these rewrite
+# rules imply that we can only link one level down in catalog structure,
+# but that's what takes place for the moment of this writing. +cdp option
+# was introduced in HP-UX 11.x and applies in 32-bit PA-RISC link
+# editor context only [it's simply ignored in other cases, which are all
+# ELFs by the way].
 #
 link_o.hpux:
        @if ${DETECT_GNU_LD}; then $(DO_GNU_SO); else \
index 933752915cfd0d18f9765c20fa24b5683965112b..8c383f95995761ea70650a55f036074969dc9bb7 100644 (file)
@@ -75,6 +75,9 @@ lib:  $(LIBOBJ)
                        $(NEWMAKE) -f ../Makefile.shared \
                                CC="$(CC)" LIBNAME=$$l LIBEXTRAS=e_$$l.o \
                                LIBDEPS='-L.. -lcrypto $(EX_LIBS)' \
+                               CFLAG="$(CFLAG)" LDFLAGS="$(LDFLAGS)" \
+                               SHARED_LDFLAGS="$(SHARED_LDFLAGS)" \
+                               PLATFORM="$(PLATFORM)" \
                                link_o.$(SHLIB_TARGET); \
                done; \
        else \