Deprecate the macro MAC_OS_pre_X.
[openssl.git] / Makefile.org
index 0ed5a6ff2b324215bd06043db70dbd809f0a1c80..d1fb1a9d6d4cb12b81a14c6b9030ea9f13b3713e 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.
@@ -270,33 +270,103 @@ do_gnu-shared:
        libs="$$libs -l$$i"; \
        done
 
+DETECT_GNU_LD=${CC} -v 2>&1 | grep '^gcc' >/dev/null 2>&1 && \
+       collect2=`gcc -print-prog-name=collect2 2>&1` && \
+       [ -n "$$collect2" ] && \
+       my_ld=`$$collect2 --help 2>&1 | grep Usage: | sed 's/^Usage: *\([^ ][^ ]*\).*/\1/'` && \
+       [ -n "$$my_ld" ] && \
+       $$my_ld -v 2>&1 | grep 'GNU ld' >/dev/null 2>&1
+
 # This assumes that GNU utilities are *not* used
+do_alpha-osf1-shared:
+       if ${DETECT_GNU_LD}; then \
+               $(MAKE) do_gnu-shared; \
+       else \
+               libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
+               ( 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"; \
+               done; \
+       fi
+
+# This assumes that GNU utilities are *not* used
+# The difference between alpha-osf1-shared and tru64-shared is the `-msym'
+# option passed to the linker.
 do_tru64-shared:
-       libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
-       ( 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"; \
-       done
+       if ${DETECT_GNU_LD}; then \
+               $(MAKE) do_gnu-shared; \
+       else \
+               libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
+               ( set -x; ${CC}  -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"; \
+               done; \
+       fi
+
+# This assumes that GNU utilities are *not* used
+# The difference between tru64-shared and tru64-shared-rpath is the
+# -rpath ${INSTALLTOP}/lib passed to the linker.
+do_tru64-shared-rpath:
+       if ${DETECT_GNU_LD}; then \
+               $(MAKE) do_gnu-shared; \
+       else \
+               libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
+               ( set -x; ${CC}  -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; \
+               libs="$$libs -l$$i"; \
+               done; \
+       fi
+
 
 # This assumes that GNU utilities are *not* used
 do_solaris-shared:
-       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} \
-               -h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
-               -z allextract lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \
-       libs="$$libs -l$$i"; \
-       done
+       if ${DETECT_GNU_LD}; then \
+               $(MAKE) do_gnu-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} \
+                       -h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
+                       -z allextract lib$$i.a $$libs ${EX_LIBS} -lc ) || exit 1; \
+               libs="$$libs -l$$i"; \
+               done; \
+       fi
+
+# UnixWare 7 and OpenUNIX 8 native compilers used
+do_svr5-shared:
+       if ${DETECT_GNU_LD}; then \
+               $(MAKE) do_gnu-shared; \
+       else \
+               libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
+               ( PATH=/usr/ccs/bin:$$PATH ; export PATH; \
+                 find . -name "*.o" -print > allobjs ; \
+                 OBJS= ; export OBJS ; \
+                 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} \
+                       -h lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
+                       $${OBJS} $$libs ${EX_LIBS} ) || exit 1; \
+               libs="$$libs -l$$i"; \
+               done; \
+       fi
 
 # This assumes that GNU utilities are *not* used
 do_irix-shared:
-       libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
-       ( set -x; ${CC} -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"; \
-       done
+       if ${DETECT_GNU_LD}; then \
+               $(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} \
+                       -Wl,-soname,lib$$i.so.${SHLIB_MAJOR}.${SHLIB_MINOR} \
+                       -all lib$$i.a $$libs ${EX_LIBS} -lc) || exit 1; \
+               libs="$$libs -l$$i"; \
+               done; \
+       fi
 
 # This assumes that GNU utilities are *not* used
 # HP-UX includes the full pathname of libs we depend on, so we would get
@@ -355,7 +425,7 @@ do_hpux64-shared:
 #  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:                -bE:lib$$i.exp -bM:SRE
+#  AIX:                -G -bE:lib$$i.exp -bM:SRE
 # SHAREDCMD would be:
 #  GNU systems: $(CC)
 #  Tru64 Unix:  $(CC)
@@ -365,7 +435,7 @@ do_hpux64-shared:
 #  HP/UX-64bit: /usr/ccs/bin/ld
 #  AIX:                $(CC)
 ALLSYMSFLAG=-bnogc
-SHAREDFLAGS=-bE:lib$$i.exp -bM:SRE
+SHAREDFLAGS=-G -bE:lib$$i.exp -bM:SRE
 SHAREDCMD=$(CC)
 do_aix-shared:
        libs='-L. ${SHLIBDEPS}'; for i in ${SHLIBDIRS}; do \
@@ -458,7 +528,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;