Fix memory leak.
[openssl.git] / Makefile.org
index 6fbf6b5825f8dd159c22d819040a86ecfc8dd712..f3258d30484f0039cdcca6908be1cb2baf98004b 100644 (file)
@@ -168,7 +168,7 @@ SDIRS=  \
        des rc2 rc4 rc5 idea bf cast \
        bn ec rsa dsa dh dso engine rijndael \
        buffer bio stack lhash rand err objects \
-       evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp
+       evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5
 
 # tests to perform.  "alltests" is a special word indicating that all tests
 # should be performed.
@@ -264,7 +264,7 @@ 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} \
-               -Wl,-S,-soname=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; \
        libs="$$libs -l$$i"; \
@@ -273,7 +273,7 @@ do_gnu-shared:
 # This assumes that GNU utilities are *not* used
 do_tru64-shared:
        libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
-       ( set -x; ${CC}  -shared -no_archive -o lib$$i.so \
+       ( set -x; ${CC}  -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"; \
@@ -335,6 +335,49 @@ do_hpux64-shared:
                +forceload lib$$i.a -ldl -lc ) || exit 1; \
        done
 
+# The following method is said to work on all platforms.  Tests will
+# determine if that's how it's gong to be used.
+# This assumes that for all but GNU systems, GNU utilities are *not* used.
+# ALLSYMSFLAGS would be:
+#  GNU systems: --whole-archive
+#  Tru64 Unix:  -all
+#  Solaris:     -z allextract
+#  Irix:        -all
+#  HP/UX-32bit: -Fl
+#  HP/UX-64bit: +forceload
+#  AIX:                -bnogc
+# SHAREDFLAGS would be:
+#  GNU systems: -shared -Wl,-soname=lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
+#  Tru64 Unix:  -shared \
+#              -set_version "${SHLIB_VERSION_HISTORY}${SHLIB_VERSION_NUMBER}"
+#  Solaris:     -G -h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
+#  Irix:        -shared -Wl,-soname,lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR}
+#  HP/UX-32bit: +vnocompatwarnings -b -z +s \
+#              +h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR}
+#  HP/UX-64bit: -b -z +h lib$$i.sl.${SHLIB_MAJOR}.${SHLIB_MINOR}
+#  AIX:                -G -bE:lib$$i.exp -bM:SRE
+# SHAREDCMD would be:
+#  GNU systems: $(CC)
+#  Tru64 Unix:  $(CC)
+#  Solaris:     $(CC)
+#  Irix:        $(CC)
+#  HP/UX-32bit: /usr/ccs/bin/ld
+#  HP/UX-64bit: /usr/ccs/bin/ld
+#  AIX:                $(CC)
+ALLSYMSFLAG=-bnogc
+SHAREDFLAGS=-G -bE:lib$$i.exp -bM:SRE
+SHAREDCMD=$(CC)
+do_aix-shared:
+       libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
+       ( set -x; \
+         ld -r -o $$i.o $(ALLSYMSFLAG) lib$$i.a && \
+         ( nm -Pg lib$$i.o | grep ' [BD] ' | cut -f1 -d' ' > lib$$i.exp; \
+           $(SHAREDCMD) $(SHAREDFLAG) -o lib$$i.so lib$$i.o \
+               $$libs ${EX_LIBS} ) ) \
+       || exit 1; \
+       libs="$$libs -l$$i"; \
+       done
+
 Makefile.ssl: Makefile.org
        @echo "Makefile.ssl is older than Makefile.org."
        @echo "Reconfigure the source tree (via './config' or 'perl Configure'), please."
@@ -415,7 +458,7 @@ depend:
        do \
        if [ -d "$$i" ]; then \
                (cd $$i && echo "making dependencies $$i..." && \
-               $(MAKE) SDIRS='${SDIRS}' DEPFLAG='${DEPFLAG}' MAKEDEPPROG='${MAKEDEPPROG}' depend ) || exit 1; \
+               $(MAKE) SDIRS='${SDIRS}' DEPFLAG='${DEPFLAG}' MAKEDEPPROG='${MAKEDEPPROG}' KRB5_INCLUDES='${KRB5_INCLUDES}' depend ) || exit 1; \
        fi; \
        done;