Created
March 2, 2015 04:05
-
-
Save rvagg/3ab9a1a7e16b576caef5 to your computer and use it in GitHub Desktop.
OpenSSL 1.0.2 config for ARMv7 & ARMv8/AArch64
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### Generated automatically from Makefile.org by Configure. | |
## | |
## Makefile for OpenSSL | |
## | |
VERSION=1.0.2 | |
MAJOR=1 | |
MINOR=0.2 | |
SHLIB_VERSION_NUMBER=1.0.0 | |
SHLIB_VERSION_HISTORY= | |
SHLIB_MAJOR=1 | |
SHLIB_MINOR=0.0 | |
SHLIB_EXT=.so.$(SHLIB_MAJOR).$(SHLIB_MINOR) | |
PLATFORM=linux-armv4 | |
OPTIONS=-march=armv7-a -Wa,--noexecstack no-ec_nistp_64_gcc_128 no-gmp no-jpake no-krb5 no-libunbound no-md2 no-rc5 no-rfc3779 no-sctp no-shared no-ssl-trace no-store no-unit-test no-zlib no-zlib-dynamic static-engine | |
CONFIGURE_ARGS=linux-armv4 -march=armv7-a -Wa,--noexecstack | |
SHLIB_TARGET=linux-shared | |
# HERE indicates where this Makefile lives. This can be used to indicate | |
# where sub-Makefiles are expected to be. Currently has very limited usage, | |
# and should probably not be bothered with at all. | |
HERE=. | |
# INSTALL_PREFIX is for package builders so that they can configure | |
# for, say, /usr/ and yet have everything installed to /tmp/somedir/usr/. | |
# Normally it is left empty. | |
INSTALL_PREFIX= | |
INSTALLTOP=/usr/local/ssl | |
# Do not edit this manually. Use Configure --openssldir=DIR do change this! | |
OPENSSLDIR=/usr/local/ssl | |
# NO_IDEA - Define to build without the IDEA algorithm | |
# NO_RC4 - Define to build without the RC4 algorithm | |
# NO_RC2 - Define to build without the RC2 algorithm | |
# THREADS - Define when building with threads, you will probably also need any | |
# system defines as well, i.e. _REENTERANT for Solaris 2.[34] | |
# TERMIO - Define the termio terminal subsystem, needed if sgtty is missing. | |
# TERMIOS - Define the termios terminal subsystem, Silicon Graphics. | |
# LONGCRYPT - Define to use HPUX 10.x's long password modification to crypt(3). | |
# DEVRANDOM - Give this the value of the 'random device' if your OS supports | |
# one. 32 bytes will be read from this when the random | |
# number generator is initalised. | |
# SSL_FORBID_ENULL - define if you want the server to be not able to use the | |
# NULL encryption ciphers. | |
# | |
# LOCK_DEBUG - turns on lots of lock debug output :-) | |
# REF_CHECK - turn on some xyz_free() assertions. | |
# REF_PRINT - prints some stuff on structure free. | |
# CRYPTO_MDEBUG - turns on my 'memory leak' detecting stuff | |
# MFUNC - Make all Malloc/Free/Realloc calls call | |
# CRYPTO_malloc/CRYPTO_free/CRYPTO_realloc which can be setup to | |
# call application defined callbacks via CRYPTO_set_mem_functions() | |
# MD5_ASM needs to be defined to use the x86 assembler for MD5 | |
# SHA1_ASM needs to be defined to use the x86 assembler for SHA1 | |
# RMD160_ASM needs to be defined to use the x86 assembler for RIPEMD160 | |
# Do not define B_ENDIAN or L_ENDIAN if 'unsigned long' == 8. It must | |
# equal 4. | |
# PKCS1_CHECK - pkcs1 tests. | |
CC= gcc | |
CFLAG= -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -march=armv7-a -Wa,--noexecstack -DTERMIO -O3 -Wall -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DAES_ASM -DBSAES_ASM -DGHASH_ASM | |
DEPFLAG= -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_LIBUNBOUND -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_SSL_TRACE -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST | |
PEX_LIBS= | |
EX_LIBS= -ldl | |
EXE_EXT= | |
ARFLAGS= | |
AR= ar $(ARFLAGS) r | |
RANLIB= /usr/bin/ranlib | |
NM= nm | |
PERL= /usr/bin/perl | |
TAR= tar | |
TARFLAGS= --no-recursion | |
MAKEDEPPROG= gcc | |
LIBDIR=lib | |
# We let the C compiler driver to take care of .s files. This is done in | |
# order to be excused from maintaining a separate set of architecture | |
# dependent assembler flags. E.g. if you throw -mcpu=ultrasparc at SPARC | |
# gcc, then the driver will automatically translate it to -xarch=v8plus | |
# and pass it down to assembler. | |
AS=$(CC) -c | |
ASFLAG=$(CFLAG) | |
# For x86 assembler: Set PROCESSOR to 386 if you want to support | |
# the 80386. | |
PROCESSOR= | |
# CPUID module collects small commonly used assembler snippets | |
CPUID_OBJ= armcap.o armv4cpuid.o | |
BN_ASM= bn_asm.o armv4-mont.o armv4-gf2m.o | |
EC_ASM= | |
DES_ENC= des_enc.o fcrypt_b.o | |
AES_ENC= aes_cbc.o aes-armv4.o bsaes-armv7.o aesv8-armx.o | |
BF_ENC= bf_enc.o | |
CAST_ENC= c_enc.o | |
RC4_ENC= rc4_enc.o rc4_skey.o | |
RC5_ENC= rc5_enc.o | |
MD5_ASM_OBJ= | |
SHA1_ASM_OBJ= sha1-armv4-large.o sha256-armv4.o sha512-armv4.o | |
RMD160_ASM_OBJ= | |
WP_ASM_OBJ= wp_block.o | |
CMLL_ENC= camellia.o cmll_misc.o cmll_cbc.o | |
MODES_ASM_OBJ= ghash-armv4.o ghashv8-armx.o | |
ENGINES_ASM_OBJ= | |
PERLASM_SCHEME= void | |
# KRB5 stuff | |
KRB5_INCLUDES= | |
LIBKRB5= | |
# Zlib stuff | |
ZLIB_INCLUDE= | |
LIBZLIB= | |
# TOP level FIPS install directory. | |
FIPSDIR=/usr/local/ssl/fips-2.0 | |
# This is the location of fipscanister.o and friends. | |
# The FIPS module build will place it $(INSTALLTOP)/lib | |
# but since $(INSTALLTOP) can only take the default value | |
# when the module is built it will be in /usr/local/ssl/lib | |
# $(INSTALLTOP) for this build may be different so hard | |
# code the path. | |
FIPSLIBDIR= | |
# The location of the library which contains fipscanister.o | |
# normally it will be libcrypto unless fipsdso is set in which | |
# case it will be libfips. If not compiling in FIPS mode at all | |
# this is empty making it a useful test for a FIPS compile. | |
FIPSCANLIB= | |
# Shared library base address. Currently only used on Windows. | |
# | |
BASEADDR=0xFB00000 | |
DIRS= crypto ssl engines apps test tools | |
ENGDIRS= ccgost | |
SHLIBDIRS= crypto ssl | |
# dirs in crypto to build | |
SDIRS= \ | |
objects \ | |
md4 md5 sha mdc2 hmac ripemd whrlpool \ | |
des aes rc2 rc4 idea bf cast camellia seed modes \ | |
bn ec rsa dsa ecdsa dh ecdh dso engine \ | |
buffer bio stack lhash rand err \ | |
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \ | |
cms pqueue ts srp cmac | |
# keep in mind that the above list is adjusted by ./Configure | |
# according to no-xxx arguments... | |
# tests to perform. "alltests" is a special word indicating that all tests | |
# should be performed. | |
TESTS = alltests | |
MAKEFILE= Makefile | |
MANDIR=$(OPENSSLDIR)/man | |
MAN1=1 | |
MAN3=3 | |
MANSUFFIX= | |
HTMLSUFFIX=html | |
HTMLDIR=$(OPENSSLDIR)/html | |
SHELL=/bin/sh | |
TOP= . | |
ONEDIRS=out tmp | |
EDIRS= times doc bugs util include certs ms shlib mt demos perl sf dep VMS | |
WDIRS= windows | |
LIBS= libcrypto.a libssl.a | |
SHARED_CRYPTO=libcrypto$(SHLIB_EXT) | |
SHARED_SSL=libssl$(SHLIB_EXT) | |
SHARED_LIBS= | |
SHARED_LIBS_LINK_EXTS=.so.$(SHLIB_MAJOR) .so | |
SHARED_LDFLAGS= | |
GENERAL= Makefile | |
BASENAME= openssl | |
NAME= $(BASENAME)-$(VERSION) | |
TARFILE= $(NAME).tar | |
WTARFILE= $(NAME)-win.tar | |
EXHEADER= e_os2.h | |
HEADER= e_os.h | |
all: Makefile build_all openssl.pc libssl.pc libcrypto.pc | |
# as we stick to -e, CLEARENV ensures that local variables in lower | |
# Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn | |
# shell, which [annoyingly enough] terminates unset with error if VAR | |
# is not present:-( TOP= && unset TOP is tribute to HP-UX /bin/sh, | |
# which terminates unset with error if no variable was present:-( | |
CLEARENV= TOP= && unset TOP $${LIB+LIB} $${LIBS+LIBS} \ | |
$${INCLUDE+INCLUDE} $${INCLUDES+INCLUDES} \ | |
$${DIR+DIR} $${DIRS+DIRS} $${SRC+SRC} \ | |
$${LIBSRC+LIBSRC} $${LIBOBJ+LIBOBJ} $${ALL+ALL} \ | |
$${EXHEADER+EXHEADER} $${HEADER+HEADER} \ | |
$${GENERAL+GENERAL} $${CFLAGS+CFLAGS} \ | |
$${ASFLAGS+ASFLAGS} $${AFLAGS+AFLAGS} \ | |
$${LDCMD+LDCMD} $${LDFLAGS+LDFLAGS} $${SCRIPTS+SCRIPTS} \ | |
$${SHAREDCMD+SHAREDCMD} $${SHAREDFLAGS+SHAREDFLAGS} \ | |
$${SHARED_LIB+SHARED_LIB} $${LIBEXTRAS+LIBEXTRAS} | |
BUILDENV= PLATFORM='$(PLATFORM)' PROCESSOR='$(PROCESSOR)' \ | |
CC='$(CC)' CFLAG='$(CFLAG)' \ | |
AS='$(CC)' ASFLAG='$(CFLAG) -c' \ | |
AR='$(AR)' NM='$(NM)' RANLIB='$(RANLIB)' \ | |
CROSS_COMPILE='$(CROSS_COMPILE)' \ | |
PERL='$(PERL)' ENGDIRS='$(ENGDIRS)' \ | |
SDIRS='$(SDIRS)' LIBRPATH='$(INSTALLTOP)/$(LIBDIR)' \ | |
INSTALL_PREFIX='$(INSTALL_PREFIX)' \ | |
INSTALLTOP='$(INSTALLTOP)' OPENSSLDIR='$(OPENSSLDIR)' \ | |
LIBDIR='$(LIBDIR)' \ | |
MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD $(MAKEDEPPROG)' \ | |
DEPFLAG='-DOPENSSL_NO_DEPRECATED $(DEPFLAG)' \ | |
MAKEDEPPROG='$(MAKEDEPPROG)' \ | |
SHARED_LDFLAGS='$(SHARED_LDFLAGS)' \ | |
KRB5_INCLUDES='$(KRB5_INCLUDES)' LIBKRB5='$(LIBKRB5)' \ | |
ZLIB_INCLUDE='$(ZLIB_INCLUDE)' LIBZLIB='$(LIBZLIB)' \ | |
EXE_EXT='$(EXE_EXT)' SHARED_LIBS='$(SHARED_LIBS)' \ | |
SHLIB_EXT='$(SHLIB_EXT)' SHLIB_TARGET='$(SHLIB_TARGET)' \ | |
PEX_LIBS='$(PEX_LIBS)' EX_LIBS='$(EX_LIBS)' \ | |
CPUID_OBJ='$(CPUID_OBJ)' BN_ASM='$(BN_ASM)' \ | |
EC_ASM='$(EC_ASM)' DES_ENC='$(DES_ENC)' \ | |
AES_ENC='$(AES_ENC)' CMLL_ENC='$(CMLL_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)' \ | |
WP_ASM_OBJ='$(WP_ASM_OBJ)' \ | |
MODES_ASM_OBJ='$(MODES_ASM_OBJ)' \ | |
ENGINES_ASM_OBJ='$(ENGINES_ASM_OBJ)' \ | |
PERLASM_SCHEME='$(PERLASM_SCHEME)' \ | |
FIPSLIBDIR='${FIPSLIBDIR}' \ | |
FIPSDIR='${FIPSDIR}' \ | |
FIPSCANLIB="$${FIPSCANLIB:-$(FIPSCANLIB)}" \ | |
THIS=$${THIS:-$@} MAKEFILE=Makefile MAKEOVERRIDES= | |
# MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors, | |
# which in turn eliminates ambiguities in variable treatment with -e. | |
# BUILD_CMD is a generic macro to build a given target in a given | |
# subdirectory. The target must be given through the shell variable | |
# `target' and the subdirectory to build in must be given through `dir'. | |
# This macro shouldn't be used directly, use RECURSIVE_BUILD_CMD or | |
# BUILD_ONE_CMD instead. | |
# | |
# BUILD_ONE_CMD is a macro to build a given target in a given | |
# subdirectory if that subdirectory is part of $(DIRS). It requires | |
# exactly the same shell variables as BUILD_CMD. | |
# | |
# RECURSIVE_BUILD_CMD is a macro to build a given target in all | |
# subdirectories defined in $(DIRS). It requires that the target | |
# is given through the shell variable `target'. | |
BUILD_CMD= if [ -d "$$dir" ]; then \ | |
( cd $$dir && echo "making $$target in $$dir..." && \ | |
$(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. DIR=$$dir $$target \ | |
) || exit 1; \ | |
fi | |
RECURSIVE_BUILD_CMD=for dir in $(DIRS); do $(BUILD_CMD); done | |
BUILD_ONE_CMD=\ | |
if expr " $(DIRS) " : ".* $$dir " >/dev/null 2>&1; then \ | |
$(BUILD_CMD); \ | |
fi | |
reflect: | |
@[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV) | |
sub_all: build_all | |
build_all: build_libs build_apps build_tests build_tools | |
build_libs: build_crypto build_ssl build_engines | |
build_crypto: | |
@dir=crypto; target=all; $(BUILD_ONE_CMD) | |
build_ssl: | |
@dir=ssl; target=all; $(BUILD_ONE_CMD) | |
build_engines: | |
@dir=engines; target=all; $(BUILD_ONE_CMD) | |
build_apps: | |
@dir=apps; target=all; $(BUILD_ONE_CMD) | |
build_tests: | |
@dir=test; target=all; $(BUILD_ONE_CMD) | |
build_tools: | |
@dir=tools; target=all; $(BUILD_ONE_CMD) | |
all_testapps: build_libs build_testapps | |
build_testapps: | |
@dir=crypto; target=testapps; $(BUILD_ONE_CMD) | |
fips_premain_dso$(EXE_EXT): libcrypto.a | |
[ -z "$(FIPSCANLIB)" ] || $(CC) $(CFLAG) -Iinclude \ | |
-DFINGERPRINT_PREMAIN_DSO_LOAD -o $@ \ | |
$(FIPSLIBDIR)fips_premain.c $(FIPSLIBDIR)fipscanister.o \ | |
libcrypto.a $(EX_LIBS) | |
libcrypto$(SHLIB_EXT): libcrypto.a fips_premain_dso$(EXE_EXT) | |
@if [ "$(SHLIB_TARGET)" != "" ]; then \ | |
if [ "$(FIPSCANLIB)" = "libcrypto" ]; then \ | |
FIPSLD_LIBCRYPTO=libcrypto.a ; \ | |
FIPSLD_CC="$(CC)"; CC=$(FIPSDIR)/bin/fipsld; \ | |
export CC FIPSLD_CC FIPSLD_LIBCRYPTO; \ | |
fi; \ | |
$(MAKE) -e SHLIBDIRS=crypto CC="$${CC:-$(CC)}" build-shared && \ | |
(touch -c fips_premain_dso$(EXE_EXT) || :); \ | |
else \ | |
echo "There's no support for shared libraries on this platform" >&2; \ | |
exit 1; \ | |
fi | |
libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a | |
@if [ "$(SHLIB_TARGET)" != "" ]; then \ | |
$(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \ | |
else \ | |
echo "There's no support for shared libraries on this platform" >&2; \ | |
exit 1; \ | |
fi | |
clean-shared: | |
@set -e; for i in $(SHLIBDIRS); do \ | |
if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \ | |
tmp="$(SHARED_LIBS_LINK_EXTS)"; \ | |
for j in $${tmp:-x}; do \ | |
( set -x; rm -f lib$$i$$j ); \ | |
done; \ | |
fi; \ | |
( set -x; rm -f lib$$i$(SHLIB_EXT) ); \ | |
if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \ | |
( set -x; rm -f cyg$$i$(SHLIB_EXT) lib$$i$(SHLIB_EXT).a ); \ | |
fi; \ | |
done | |
link-shared: | |
@ set -e; for i in $(SHLIBDIRS); do \ | |
$(MAKE) -f $(HERE)/Makefile.shared -e $(BUILDENV) \ | |
LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \ | |
LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \ | |
symlink.$(SHLIB_TARGET); \ | |
libs="$$libs -l$$i"; \ | |
done | |
build-shared: do_$(SHLIB_TARGET) link-shared | |
do_$(SHLIB_TARGET): | |
@ set -e; libs='-L. $(SHLIBDEPS)'; for i in $(SHLIBDIRS); do \ | |
if [ "$$i" = "ssl" -a -n "$(LIBKRB5)" ]; then \ | |
libs="$(LIBKRB5) $$libs"; \ | |
fi; \ | |
$(CLEARENV) && $(MAKE) -f Makefile.shared -e $(BUILDENV) \ | |
LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \ | |
LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \ | |
LIBDEPS="$$libs $(EX_LIBS)" \ | |
link_a.$(SHLIB_TARGET); \ | |
libs="-l$$i $$libs"; \ | |
done | |
libcrypto.pc: Makefile | |
@ ( echo 'prefix=$(INSTALLTOP)'; \ | |
echo 'exec_prefix=$${prefix}'; \ | |
echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \ | |
echo 'includedir=$${prefix}/include'; \ | |
echo ''; \ | |
echo 'Name: OpenSSL-libcrypto'; \ | |
echo 'Description: OpenSSL cryptography library'; \ | |
echo 'Version: '$(VERSION); \ | |
echo 'Requires: '; \ | |
echo 'Libs: -L$${libdir} -lcrypto'; \ | |
echo 'Libs.private: $(EX_LIBS)'; \ | |
echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc | |
libssl.pc: Makefile | |
@ ( echo 'prefix=$(INSTALLTOP)'; \ | |
echo 'exec_prefix=$${prefix}'; \ | |
echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \ | |
echo 'includedir=$${prefix}/include'; \ | |
echo ''; \ | |
echo 'Name: OpenSSL-libssl'; \ | |
echo 'Description: Secure Sockets Layer and cryptography libraries'; \ | |
echo 'Version: '$(VERSION); \ | |
echo 'Requires.private: libcrypto'; \ | |
echo 'Libs: -L$${libdir} -lssl'; \ | |
echo 'Libs.private: $(EX_LIBS)'; \ | |
echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc | |
openssl.pc: Makefile | |
@ ( echo 'prefix=$(INSTALLTOP)'; \ | |
echo 'exec_prefix=$${prefix}'; \ | |
echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \ | |
echo 'includedir=$${prefix}/include'; \ | |
echo ''; \ | |
echo 'Name: OpenSSL'; \ | |
echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \ | |
echo 'Version: '$(VERSION); \ | |
echo 'Requires: libssl libcrypto' ) > openssl.pc | |
Makefile: Makefile.org Configure config | |
@echo "Makefile is older than Makefile.org, Configure or config." | |
@echo "Reconfigure the source tree (via './config' or 'perl Configure'), please." | |
@false | |
libclean: | |
rm -f *.map *.so *.so.* *.dylib *.dll engines/*.so engines/*.dll engines/*.dylib *.a engines/*.a */lib */*/lib | |
clean: libclean | |
rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c | |
@set -e; target=clean; $(RECURSIVE_BUILD_CMD) | |
rm -f $(LIBS) | |
rm -f openssl.pc libssl.pc libcrypto.pc | |
rm -f speed.* .pure | |
rm -f $(TARFILE) | |
@set -e; for i in $(ONEDIRS) ;\ | |
do \ | |
rm -fr $$i/*; \ | |
done | |
makefile.one: files | |
$(PERL) util/mk1mf.pl >makefile.one; \ | |
sh util/do_ms.sh | |
files: | |
$(PERL) $(TOP)/util/files.pl Makefile > $(TOP)/MINFO | |
@set -e; target=files; $(RECURSIVE_BUILD_CMD) | |
links: | |
@$(PERL) $(TOP)/util/mkdir-p.pl include/openssl | |
@$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER) | |
@set -e; target=links; $(RECURSIVE_BUILD_CMD) | |
gentests: | |
@(cd test && echo "generating dummy tests (if needed)..." && \ | |
$(CLEARENV) && $(MAKE) -e $(BUILDENV) TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on generate ); | |
dclean: | |
rm -rf *.bak include/openssl certs/.0 | |
@set -e; target=dclean; $(RECURSIVE_BUILD_CMD) | |
rehash: rehash.time | |
rehash.time: certs apps | |
@if [ -z "$(CROSS_COMPILE)" ]; then \ | |
(OPENSSL="`pwd`/util/opensslwrap.sh"; \ | |
[ -x "apps/openssl.exe" ] && OPENSSL="apps/openssl.exe" || :; \ | |
OPENSSL_DEBUG_MEMORY=on; \ | |
export OPENSSL OPENSSL_DEBUG_MEMORY; \ | |
$(PERL) tools/c_rehash certs/demo) && \ | |
touch rehash.time; \ | |
else :; fi | |
test: tests | |
tests: rehash | |
@(cd test && echo "testing..." && \ | |
$(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf tests ); | |
OPENSSL_CONF=apps/openssl.cnf util/opensslwrap.sh version -a | |
report: | |
@$(PERL) util/selftest.pl | |
depend: | |
@set -e; target=depend; $(RECURSIVE_BUILD_CMD) | |
lint: | |
@set -e; target=lint; $(RECURSIVE_BUILD_CMD) | |
tags: | |
rm -f TAGS | |
find . -name '[^.]*.[ch]' | xargs etags -a | |
errors: | |
$(PERL) util/ck_errf.pl -strict */*.c */*/*.c | |
$(PERL) util/mkerr.pl -recurse -write | |
(cd engines; $(MAKE) PERL=$(PERL) errors) | |
stacks: | |
$(PERL) util/mkstack.pl -write | |
util/libeay.num:: | |
$(PERL) util/mkdef.pl crypto update | |
util/ssleay.num:: | |
$(PERL) util/mkdef.pl ssl update | |
crypto/objects/obj_dat.h: crypto/objects/obj_dat.pl crypto/objects/obj_mac.h | |
$(PERL) crypto/objects/obj_dat.pl crypto/objects/obj_mac.h crypto/objects/obj_dat.h | |
crypto/objects/obj_mac.h: crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num | |
$(PERL) crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num crypto/objects/obj_mac.h | |
crypto/objects/obj_xref.h: crypto/objects/objxref.pl crypto/objects/obj_xref.txt crypto/objects/obj_mac.num | |
$(PERL) crypto/objects/objxref.pl crypto/objects/obj_mac.num crypto/objects/obj_xref.txt >crypto/objects/obj_xref.h | |
apps/openssl-vms.cnf: apps/openssl.cnf | |
$(PERL) VMS/VMSify-conf.pl < apps/openssl.cnf > apps/openssl-vms.cnf | |
crypto/bn/bn_prime.h: crypto/bn/bn_prime.pl | |
$(PERL) crypto/bn/bn_prime.pl >crypto/bn/bn_prime.h | |
TABLE: Configure | |
(echo 'Output of `Configure TABLE'"':"; \ | |
$(PERL) Configure TABLE) > TABLE | |
update: errors stacks util/libeay.num util/ssleay.num crypto/objects/obj_dat.h crypto/objects/obj_xref.h apps/openssl-vms.cnf crypto/bn/bn_prime.h TABLE depend | |
# Build distribution tar-file. As the list of files returned by "find" is | |
# pretty long, on several platforms a "too many arguments" error or similar | |
# would occur. Therefore the list of files is temporarily stored into a file | |
# and read directly, requiring GNU-Tar. Call "make TAR=gtar dist" if the normal | |
# tar does not support the --files-from option. | |
tar: | |
find . -type d -print | xargs chmod 755 | |
find . -type f -print | xargs chmod a+r | |
find . -type f -perm -0100 -print | xargs chmod a+x | |
find * \! -path CVS/\* \! -path \*/CVS/\* \! -name CVS \! -name .cvsignore \! -name STATUS \! -name TABLE | sort > ../$(TARFILE).list; \ | |
$(TAR) $(TARFLAGS) --files-from ../$(TARFILE).list -cvf - | \ | |
tardy --user_number=0 --user_name=openssl \ | |
--group_number=0 --group_name=openssl \ | |
--prefix=openssl-$(VERSION) - |\ | |
gzip --best >../$(TARFILE).gz; \ | |
rm -f ../$(TARFILE).list; \ | |
ls -l ../$(TARFILE).gz | |
tar-snap: | |
@$(TAR) $(TARFLAGS) -cvf - \ | |
`find * \! -path CVS/\* \! -path \*/CVS/\* \! -name CVS \! -name .cvsignore \! -name STATUS \! -name TABLE \! -name '*.o' \! -name '*.a' \! -name '*.so' \! -name '*.so.*' \! -name 'openssl' \! -name '*test' \! -name '.#*' \! -name '*~' | sort` |\ | |
tardy --user_number=0 --user_name=openssl \ | |
--group_number=0 --group_name=openssl \ | |
--prefix=openssl-$(VERSION) - > ../$(TARFILE);\ | |
ls -l ../$(TARFILE) | |
dist: | |
$(PERL) Configure dist | |
@$(MAKE) dist_pem_h | |
@$(MAKE) SDIRS='$(SDIRS)' clean | |
@$(MAKE) TAR='$(TAR)' TARFLAGS='$(TARFLAGS)' tar | |
dist_pem_h: | |
(cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean) | |
install: all install_docs install_sw | |
install_sw: | |
@$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ | |
$(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \ | |
$(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \ | |
$(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig \ | |
$(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl \ | |
$(INSTALL_PREFIX)$(OPENSSLDIR)/misc \ | |
$(INSTALL_PREFIX)$(OPENSSLDIR)/certs \ | |
$(INSTALL_PREFIX)$(OPENSSLDIR)/private | |
@set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\ | |
do \ | |
(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ | |
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ | |
done; | |
@set -e; target=install; $(RECURSIVE_BUILD_CMD) | |
@set -e; liblist="$(LIBS)"; for i in $$liblist ;\ | |
do \ | |
if [ -f "$$i" ]; then \ | |
( echo installing $$i; \ | |
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ | |
$(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ | |
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ | |
mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i ); \ | |
fi; \ | |
done; | |
@set -e; if [ -n "$(SHARED_LIBS)" ]; then \ | |
tmp="$(SHARED_LIBS)"; \ | |
for i in $${tmp:-x}; \ | |
do \ | |
if [ -f "$$i" -o -f "$$i.a" ]; then \ | |
( echo installing $$i; \ | |
if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \ | |
c=`echo $$i | sed 's/^lib\(.*\)\.dll\.a/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \ | |
cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \ | |
chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \ | |
mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \ | |
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ | |
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ | |
mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \ | |
else \ | |
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ | |
chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ | |
mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \ | |
fi ); \ | |
if expr $(PLATFORM) : 'mingw' > /dev/null; then \ | |
( case $$i in \ | |
*crypto*) i=libeay32.dll;; \ | |
*ssl*) i=ssleay32.dll;; \ | |
esac; \ | |
echo installing $$i; \ | |
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \ | |
chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \ | |
mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i ); \ | |
fi; \ | |
fi; \ | |
done; \ | |
( here="`pwd`"; \ | |
cd $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR); \ | |
$(MAKE) -f $$here/Makefile HERE="$$here" link-shared ); \ | |
if [ "$(INSTALLTOP)" != "/usr" ]; then \ | |
echo 'OpenSSL shared libraries have been installed in:'; \ | |
echo ' $(INSTALLTOP)'; \ | |
echo ''; \ | |
sed -e '1,/^$$/d' doc/openssl-shared.txt; \ | |
fi; \ | |
fi | |
cp libcrypto.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig | |
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libcrypto.pc | |
cp libssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig | |
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libssl.pc | |
cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig | |
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/openssl.pc | |
install_html_docs: | |
here="`pwd`"; \ | |
filecase=; \ | |
case "$(PLATFORM)" in DJGPP|Cygwin*|mingw*|darwin*-*-cc) \ | |
filecase=-i; \ | |
esac; \ | |
for subdir in apps crypto ssl; do \ | |
mkdir -p $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir; \ | |
for i in doc/$$subdir/*.pod; do \ | |
fn=`basename $$i .pod`; \ | |
echo "installing html/$$fn.$(HTMLSUFFIX)"; \ | |
cat $$i \ | |
| sed -r 's/L<([^)]*)(\([0-9]\))?\|([^)]*)(\([0-9]\))?>/L<\1|\3>/g' \ | |
| pod2html --podroot=doc --htmlroot=.. --podpath=apps:crypto:ssl \ | |
| sed -r 's/<!DOCTYPE.*//g' \ | |
> $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir/$$fn.$(HTMLSUFFIX); \ | |
$(PERL) util/extract-names.pl < $$i | \ | |
grep -v $$filecase "^$$fn\$$" | \ | |
(cd $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir; \ | |
while read n; do \ | |
PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$(HTMLSUFFIX) "$$n".$(HTMLSUFFIX); \ | |
done); \ | |
done; \ | |
done | |
install_docs: | |
@$(PERL) $(TOP)/util/mkdir-p.pl \ | |
$(INSTALL_PREFIX)$(MANDIR)/man1 \ | |
$(INSTALL_PREFIX)$(MANDIR)/man3 \ | |
$(INSTALL_PREFIX)$(MANDIR)/man5 \ | |
$(INSTALL_PREFIX)$(MANDIR)/man7 | |
@pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \ | |
here="`pwd`"; \ | |
filecase=; \ | |
case "$(PLATFORM)" in DJGPP|Cygwin*|mingw*|darwin*-*-cc) \ | |
filecase=-i; \ | |
esac; \ | |
set -e; for i in doc/apps/*.pod; do \ | |
fn=`basename $$i .pod`; \ | |
sec=`$(PERL) util/extract-section.pl 1 < $$i`; \ | |
echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \ | |
(cd `$(PERL) util/dirname.pl $$i`; \ | |
sh -c "$$pod2man \ | |
--section=$$sec --center=OpenSSL \ | |
--release=$(VERSION) `basename $$i`") \ | |
> $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ | |
$(PERL) util/extract-names.pl < $$i | \ | |
(grep -v $$filecase "^$$fn\$$"; true) | \ | |
(grep -v "[ ]"; true) | \ | |
(cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \ | |
while read n; do \ | |
PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \ | |
done); \ | |
done; \ | |
set -e; for i in doc/crypto/*.pod doc/ssl/*.pod; do \ | |
fn=`basename $$i .pod`; \ | |
sec=`$(PERL) util/extract-section.pl 3 < $$i`; \ | |
echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \ | |
(cd `$(PERL) util/dirname.pl $$i`; \ | |
sh -c "$$pod2man \ | |
--section=$$sec --center=OpenSSL \ | |
--release=$(VERSION) `basename $$i`") \ | |
> $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ | |
$(PERL) util/extract-names.pl < $$i | \ | |
(grep -v $$filecase "^$$fn\$$"; true) | \ | |
(grep -v "[ ]"; true) | \ | |
(cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \ | |
while read n; do \ | |
PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \ | |
done); \ | |
done | |
# DO NOT DELETE THIS LINE -- make depend depends on it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* opensslconf.h */ | |
/* WARNING: Generated automatically from opensslconf.h.in by Configure. */ | |
#ifdef __cplusplus | |
extern "C" { | |
#endif | |
/* OpenSSL was configured with the following options: */ | |
#ifndef OPENSSL_DOING_MAKEDEPEND | |
#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 | |
# define OPENSSL_NO_EC_NISTP_64_GCC_128 | |
#endif | |
#ifndef OPENSSL_NO_GMP | |
# define OPENSSL_NO_GMP | |
#endif | |
#ifndef OPENSSL_NO_JPAKE | |
# define OPENSSL_NO_JPAKE | |
#endif | |
#ifndef OPENSSL_NO_KRB5 | |
# define OPENSSL_NO_KRB5 | |
#endif | |
#ifndef OPENSSL_NO_LIBUNBOUND | |
# define OPENSSL_NO_LIBUNBOUND | |
#endif | |
#ifndef OPENSSL_NO_MD2 | |
# define OPENSSL_NO_MD2 | |
#endif | |
#ifndef OPENSSL_NO_RC5 | |
# define OPENSSL_NO_RC5 | |
#endif | |
#ifndef OPENSSL_NO_RFC3779 | |
# define OPENSSL_NO_RFC3779 | |
#endif | |
#ifndef OPENSSL_NO_SCTP | |
# define OPENSSL_NO_SCTP | |
#endif | |
#ifndef OPENSSL_NO_SSL_TRACE | |
# define OPENSSL_NO_SSL_TRACE | |
#endif | |
#ifndef OPENSSL_NO_STORE | |
# define OPENSSL_NO_STORE | |
#endif | |
#ifndef OPENSSL_NO_UNIT_TEST | |
# define OPENSSL_NO_UNIT_TEST | |
#endif | |
#endif /* OPENSSL_DOING_MAKEDEPEND */ | |
#ifndef OPENSSL_THREADS | |
# define OPENSSL_THREADS | |
#endif | |
#ifndef OPENSSL_NO_DYNAMIC_ENGINE | |
# define OPENSSL_NO_DYNAMIC_ENGINE | |
#endif | |
/* The OPENSSL_NO_* macros are also defined as NO_* if the application | |
asks for it. This is a transient feature that is provided for those | |
who haven't had the time to do the appropriate changes in their | |
applications. */ | |
#ifdef OPENSSL_ALGORITHM_DEFINES | |
# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128) | |
# define NO_EC_NISTP_64_GCC_128 | |
# endif | |
# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) | |
# define NO_GMP | |
# endif | |
# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE) | |
# define NO_JPAKE | |
# endif | |
# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) | |
# define NO_KRB5 | |
# endif | |
# if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND) | |
# define NO_LIBUNBOUND | |
# endif | |
# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2) | |
# define NO_MD2 | |
# endif | |
# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5) | |
# define NO_RC5 | |
# endif | |
# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779) | |
# define NO_RFC3779 | |
# endif | |
# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP) | |
# define NO_SCTP | |
# endif | |
# if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE) | |
# define NO_SSL_TRACE | |
# endif | |
# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) | |
# define NO_STORE | |
# endif | |
# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST) | |
# define NO_UNIT_TEST | |
# endif | |
#endif | |
#define OPENSSL_CPUID_OBJ | |
/* crypto/opensslconf.h.in */ | |
/* Generate 80386 code? */ | |
#undef I386_ONLY | |
#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ | |
#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) | |
#define ENGINESDIR "/usr/local/ssl/lib/engines" | |
#define OPENSSLDIR "/usr/local/ssl" | |
#endif | |
#endif | |
#undef OPENSSL_UNISTD | |
#define OPENSSL_UNISTD <unistd.h> | |
#undef OPENSSL_EXPORT_VAR_AS_FUNCTION | |
#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) | |
#define IDEA_INT unsigned int | |
#endif | |
#if defined(HEADER_MD2_H) && !defined(MD2_INT) | |
#define MD2_INT unsigned int | |
#endif | |
#if defined(HEADER_RC2_H) && !defined(RC2_INT) | |
/* I need to put in a mod for the alpha - eay */ | |
#define RC2_INT unsigned int | |
#endif | |
#if defined(HEADER_RC4_H) | |
#if !defined(RC4_INT) | |
/* using int types make the structure larger but make the code faster | |
* on most boxes I have tested - up to %20 faster. */ | |
/* | |
* I don't know what does "most" mean, but declaring "int" is a must on: | |
* - Intel P6 because partial register stalls are very expensive; | |
* - elder Alpha because it lacks byte load/store instructions; | |
*/ | |
#define RC4_INT unsigned char | |
#endif | |
#if !defined(RC4_CHUNK) | |
/* | |
* This enables code handling data aligned at natural CPU word | |
* boundary. See crypto/rc4/rc4_enc.c for further details. | |
*/ | |
#define RC4_CHUNK unsigned long | |
#endif | |
#endif | |
#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) | |
/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a | |
* %20 speed up (longs are 8 bytes, int's are 4). */ | |
#ifndef DES_LONG | |
#define DES_LONG unsigned int | |
#endif | |
#endif | |
#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) | |
#define CONFIG_HEADER_BN_H | |
#define BN_LLONG | |
/* Should we define BN_DIV2W here? */ | |
/* Only one for the following should be defined */ | |
#undef SIXTY_FOUR_BIT_LONG | |
#undef SIXTY_FOUR_BIT | |
#define THIRTY_TWO_BIT | |
#endif | |
#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) | |
#define CONFIG_HEADER_RC4_LOCL_H | |
/* if this is defined data[i] is used instead of *data, this is a %20 | |
* speedup on x86 */ | |
#undef RC4_INDEX | |
#endif | |
#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) | |
#define CONFIG_HEADER_BF_LOCL_H | |
#define BF_PTR | |
#endif /* HEADER_BF_LOCL_H */ | |
#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) | |
#define CONFIG_HEADER_DES_LOCL_H | |
#ifndef DES_DEFAULT_OPTIONS | |
/* the following is tweaked from a config script, that is why it is a | |
* protected undef/define */ | |
#ifndef DES_PTR | |
#undef DES_PTR | |
#endif | |
/* This helps C compiler generate the correct code for multiple functional | |
* units. It reduces register dependancies at the expense of 2 more | |
* registers */ | |
#ifndef DES_RISC1 | |
#undef DES_RISC1 | |
#endif | |
#ifndef DES_RISC2 | |
#undef DES_RISC2 | |
#endif | |
#if defined(DES_RISC1) && defined(DES_RISC2) | |
YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! | |
#endif | |
/* Unroll the inner loop, this sometimes helps, sometimes hinders. | |
* Very mucy CPU dependant */ | |
#ifndef DES_UNROLL | |
#define DES_UNROLL | |
#endif | |
/* These default values were supplied by | |
* Peter Gutman <[email protected]> | |
* They are only used if nothing else has been defined */ | |
#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) | |
/* Special defines which change the way the code is built depending on the | |
CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find | |
even newer MIPS CPU's, but at the moment one size fits all for | |
optimization options. Older Sparc's work better with only UNROLL, but | |
there's no way to tell at compile time what it is you're running on */ | |
#if defined( sun ) /* Newer Sparc's */ | |
# define DES_PTR | |
# define DES_RISC1 | |
# define DES_UNROLL | |
#elif defined( __ultrix ) /* Older MIPS */ | |
# define DES_PTR | |
# define DES_RISC2 | |
# define DES_UNROLL | |
#elif defined( __osf1__ ) /* Alpha */ | |
# define DES_PTR | |
# define DES_RISC2 | |
#elif defined ( _AIX ) /* RS6000 */ | |
/* Unknown */ | |
#elif defined( __hpux ) /* HP-PA */ | |
/* Unknown */ | |
#elif defined( __aux ) /* 68K */ | |
/* Unknown */ | |
#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ | |
# define DES_UNROLL | |
#elif defined( __sgi ) /* Newer MIPS */ | |
# define DES_PTR | |
# define DES_RISC2 | |
# define DES_UNROLL | |
#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ | |
# define DES_PTR | |
# define DES_RISC1 | |
# define DES_UNROLL | |
#endif /* Systems-specific speed defines */ | |
#endif | |
#endif /* DES_DEFAULT_OPTIONS */ | |
#endif /* HEADER_DES_LOCL_H */ | |
#ifdef __cplusplus | |
} | |
#endif |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### Generated automatically from Makefile.org by Configure. | |
## | |
## Makefile for OpenSSL | |
## | |
VERSION=1.0.2 | |
MAJOR=1 | |
MINOR=0.2 | |
SHLIB_VERSION_NUMBER=1.0.0 | |
SHLIB_VERSION_HISTORY= | |
SHLIB_MAJOR=1 | |
SHLIB_MINOR=0.0 | |
SHLIB_EXT=.so.$(SHLIB_MAJOR).$(SHLIB_MINOR) | |
PLATFORM=linux-aarch64 | |
OPTIONS=-Wa,--noexecstack no-ec_nistp_64_gcc_128 no-gmp no-jpake no-krb5 no-libunbound no-md2 no-rc5 no-rfc3779 no-sctp no-shared no-ssl-trace no-store no-unit-test no-zlib no-zlib-dynamic static-engine | |
CONFIGURE_ARGS=linux-aarch64 -Wa,--noexecstack | |
SHLIB_TARGET=linux-shared | |
# HERE indicates where this Makefile lives. This can be used to indicate | |
# where sub-Makefiles are expected to be. Currently has very limited usage, | |
# and should probably not be bothered with at all. | |
HERE=. | |
# INSTALL_PREFIX is for package builders so that they can configure | |
# for, say, /usr/ and yet have everything installed to /tmp/somedir/usr/. | |
# Normally it is left empty. | |
INSTALL_PREFIX= | |
INSTALLTOP=/usr/local/ssl | |
# Do not edit this manually. Use Configure --openssldir=DIR do change this! | |
OPENSSLDIR=/usr/local/ssl | |
# NO_IDEA - Define to build without the IDEA algorithm | |
# NO_RC4 - Define to build without the RC4 algorithm | |
# NO_RC2 - Define to build without the RC2 algorithm | |
# THREADS - Define when building with threads, you will probably also need any | |
# system defines as well, i.e. _REENTERANT for Solaris 2.[34] | |
# TERMIO - Define the termio terminal subsystem, needed if sgtty is missing. | |
# TERMIOS - Define the termios terminal subsystem, Silicon Graphics. | |
# LONGCRYPT - Define to use HPUX 10.x's long password modification to crypt(3). | |
# DEVRANDOM - Give this the value of the 'random device' if your OS supports | |
# one. 32 bytes will be read from this when the random | |
# number generator is initalised. | |
# SSL_FORBID_ENULL - define if you want the server to be not able to use the | |
# NULL encryption ciphers. | |
# | |
# LOCK_DEBUG - turns on lots of lock debug output :-) | |
# REF_CHECK - turn on some xyz_free() assertions. | |
# REF_PRINT - prints some stuff on structure free. | |
# CRYPTO_MDEBUG - turns on my 'memory leak' detecting stuff | |
# MFUNC - Make all Malloc/Free/Realloc calls call | |
# CRYPTO_malloc/CRYPTO_free/CRYPTO_realloc which can be setup to | |
# call application defined callbacks via CRYPTO_set_mem_functions() | |
# MD5_ASM needs to be defined to use the x86 assembler for MD5 | |
# SHA1_ASM needs to be defined to use the x86 assembler for SHA1 | |
# RMD160_ASM needs to be defined to use the x86 assembler for RIPEMD160 | |
# Do not define B_ENDIAN or L_ENDIAN if 'unsigned long' == 8. It must | |
# equal 4. | |
# PKCS1_CHECK - pkcs1 tests. | |
CC= gcc | |
CFLAG= -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack -DTERMIO -O3 -Wall -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM | |
DEPFLAG= -DOPENSSL_NO_EC_NISTP_64_GCC_128 -DOPENSSL_NO_GMP -DOPENSSL_NO_JPAKE -DOPENSSL_NO_LIBUNBOUND -DOPENSSL_NO_MD2 -DOPENSSL_NO_RC5 -DOPENSSL_NO_RFC3779 -DOPENSSL_NO_SCTP -DOPENSSL_NO_SSL_TRACE -DOPENSSL_NO_STORE -DOPENSSL_NO_UNIT_TEST | |
PEX_LIBS= | |
EX_LIBS= -ldl | |
EXE_EXT= | |
ARFLAGS= | |
AR= ar $(ARFLAGS) r | |
RANLIB= /usr/bin/ranlib | |
NM= nm | |
PERL= /usr/bin/perl | |
TAR= tar | |
TARFLAGS= --no-recursion | |
MAKEDEPPROG= gcc | |
LIBDIR=lib | |
# We let the C compiler driver to take care of .s files. This is done in | |
# order to be excused from maintaining a separate set of architecture | |
# dependent assembler flags. E.g. if you throw -mcpu=ultrasparc at SPARC | |
# gcc, then the driver will automatically translate it to -xarch=v8plus | |
# and pass it down to assembler. | |
AS=$(CC) -c | |
ASFLAG=$(CFLAG) | |
# For x86 assembler: Set PROCESSOR to 386 if you want to support | |
# the 80386. | |
PROCESSOR= | |
# CPUID module collects small commonly used assembler snippets | |
CPUID_OBJ= armcap.o arm64cpuid.o mem_clr.o | |
BN_ASM= bn_asm.o | |
EC_ASM= | |
DES_ENC= des_enc.o fcrypt_b.o | |
AES_ENC= aes_core.o aes_cbc.o aesv8-armx.o | |
BF_ENC= bf_enc.o | |
CAST_ENC= c_enc.o | |
RC4_ENC= rc4_enc.o rc4_skey.o | |
RC5_ENC= rc5_enc.o | |
MD5_ASM_OBJ= | |
SHA1_ASM_OBJ= sha1-armv8.o sha256-armv8.o sha512-armv8.o | |
RMD160_ASM_OBJ= | |
WP_ASM_OBJ= wp_block.o | |
CMLL_ENC= camellia.o cmll_misc.o cmll_cbc.o | |
MODES_ASM_OBJ= ghashv8-armx.o | |
ENGINES_ASM_OBJ= | |
PERLASM_SCHEME= linux64 | |
# KRB5 stuff | |
KRB5_INCLUDES= | |
LIBKRB5= | |
# Zlib stuff | |
ZLIB_INCLUDE= | |
LIBZLIB= | |
# TOP level FIPS install directory. | |
FIPSDIR=/usr/local/ssl/fips-2.0 | |
# This is the location of fipscanister.o and friends. | |
# The FIPS module build will place it $(INSTALLTOP)/lib | |
# but since $(INSTALLTOP) can only take the default value | |
# when the module is built it will be in /usr/local/ssl/lib | |
# $(INSTALLTOP) for this build may be different so hard | |
# code the path. | |
FIPSLIBDIR= | |
# The location of the library which contains fipscanister.o | |
# normally it will be libcrypto unless fipsdso is set in which | |
# case it will be libfips. If not compiling in FIPS mode at all | |
# this is empty making it a useful test for a FIPS compile. | |
FIPSCANLIB= | |
# Shared library base address. Currently only used on Windows. | |
# | |
BASEADDR=0xFB00000 | |
DIRS= crypto ssl engines apps test tools | |
ENGDIRS= ccgost | |
SHLIBDIRS= crypto ssl | |
# dirs in crypto to build | |
SDIRS= \ | |
objects \ | |
md4 md5 sha mdc2 hmac ripemd whrlpool \ | |
des aes rc2 rc4 idea bf cast camellia seed modes \ | |
bn ec rsa dsa ecdsa dh ecdh dso engine \ | |
buffer bio stack lhash rand err \ | |
evp asn1 pem x509 x509v3 conf txt_db pkcs7 pkcs12 comp ocsp ui krb5 \ | |
cms pqueue ts srp cmac | |
# keep in mind that the above list is adjusted by ./Configure | |
# according to no-xxx arguments... | |
# tests to perform. "alltests" is a special word indicating that all tests | |
# should be performed. | |
TESTS = alltests | |
MAKEFILE= Makefile | |
MANDIR=$(OPENSSLDIR)/man | |
MAN1=1 | |
MAN3=3 | |
MANSUFFIX= | |
HTMLSUFFIX=html | |
HTMLDIR=$(OPENSSLDIR)/html | |
SHELL=/bin/sh | |
TOP= . | |
ONEDIRS=out tmp | |
EDIRS= times doc bugs util include certs ms shlib mt demos perl sf dep VMS | |
WDIRS= windows | |
LIBS= libcrypto.a libssl.a | |
SHARED_CRYPTO=libcrypto$(SHLIB_EXT) | |
SHARED_SSL=libssl$(SHLIB_EXT) | |
SHARED_LIBS= | |
SHARED_LIBS_LINK_EXTS=.so.$(SHLIB_MAJOR) .so | |
SHARED_LDFLAGS= | |
GENERAL= Makefile | |
BASENAME= openssl | |
NAME= $(BASENAME)-$(VERSION) | |
TARFILE= $(NAME).tar | |
WTARFILE= $(NAME)-win.tar | |
EXHEADER= e_os2.h | |
HEADER= e_os.h | |
all: Makefile build_all openssl.pc libssl.pc libcrypto.pc | |
# as we stick to -e, CLEARENV ensures that local variables in lower | |
# Makefiles remain local and variable. $${VAR+VAR} is tribute to Korn | |
# shell, which [annoyingly enough] terminates unset with error if VAR | |
# is not present:-( TOP= && unset TOP is tribute to HP-UX /bin/sh, | |
# which terminates unset with error if no variable was present:-( | |
CLEARENV= TOP= && unset TOP $${LIB+LIB} $${LIBS+LIBS} \ | |
$${INCLUDE+INCLUDE} $${INCLUDES+INCLUDES} \ | |
$${DIR+DIR} $${DIRS+DIRS} $${SRC+SRC} \ | |
$${LIBSRC+LIBSRC} $${LIBOBJ+LIBOBJ} $${ALL+ALL} \ | |
$${EXHEADER+EXHEADER} $${HEADER+HEADER} \ | |
$${GENERAL+GENERAL} $${CFLAGS+CFLAGS} \ | |
$${ASFLAGS+ASFLAGS} $${AFLAGS+AFLAGS} \ | |
$${LDCMD+LDCMD} $${LDFLAGS+LDFLAGS} $${SCRIPTS+SCRIPTS} \ | |
$${SHAREDCMD+SHAREDCMD} $${SHAREDFLAGS+SHAREDFLAGS} \ | |
$${SHARED_LIB+SHARED_LIB} $${LIBEXTRAS+LIBEXTRAS} | |
BUILDENV= PLATFORM='$(PLATFORM)' PROCESSOR='$(PROCESSOR)' \ | |
CC='$(CC)' CFLAG='$(CFLAG)' \ | |
AS='$(CC)' ASFLAG='$(CFLAG) -c' \ | |
AR='$(AR)' NM='$(NM)' RANLIB='$(RANLIB)' \ | |
CROSS_COMPILE='$(CROSS_COMPILE)' \ | |
PERL='$(PERL)' ENGDIRS='$(ENGDIRS)' \ | |
SDIRS='$(SDIRS)' LIBRPATH='$(INSTALLTOP)/$(LIBDIR)' \ | |
INSTALL_PREFIX='$(INSTALL_PREFIX)' \ | |
INSTALLTOP='$(INSTALLTOP)' OPENSSLDIR='$(OPENSSLDIR)' \ | |
LIBDIR='$(LIBDIR)' \ | |
MAKEDEPEND='$$$${TOP}/util/domd $$$${TOP} -MD $(MAKEDEPPROG)' \ | |
DEPFLAG='-DOPENSSL_NO_DEPRECATED $(DEPFLAG)' \ | |
MAKEDEPPROG='$(MAKEDEPPROG)' \ | |
SHARED_LDFLAGS='$(SHARED_LDFLAGS)' \ | |
KRB5_INCLUDES='$(KRB5_INCLUDES)' LIBKRB5='$(LIBKRB5)' \ | |
ZLIB_INCLUDE='$(ZLIB_INCLUDE)' LIBZLIB='$(LIBZLIB)' \ | |
EXE_EXT='$(EXE_EXT)' SHARED_LIBS='$(SHARED_LIBS)' \ | |
SHLIB_EXT='$(SHLIB_EXT)' SHLIB_TARGET='$(SHLIB_TARGET)' \ | |
PEX_LIBS='$(PEX_LIBS)' EX_LIBS='$(EX_LIBS)' \ | |
CPUID_OBJ='$(CPUID_OBJ)' BN_ASM='$(BN_ASM)' \ | |
EC_ASM='$(EC_ASM)' DES_ENC='$(DES_ENC)' \ | |
AES_ENC='$(AES_ENC)' CMLL_ENC='$(CMLL_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)' \ | |
WP_ASM_OBJ='$(WP_ASM_OBJ)' \ | |
MODES_ASM_OBJ='$(MODES_ASM_OBJ)' \ | |
ENGINES_ASM_OBJ='$(ENGINES_ASM_OBJ)' \ | |
PERLASM_SCHEME='$(PERLASM_SCHEME)' \ | |
FIPSLIBDIR='${FIPSLIBDIR}' \ | |
FIPSDIR='${FIPSDIR}' \ | |
FIPSCANLIB="$${FIPSCANLIB:-$(FIPSCANLIB)}" \ | |
THIS=$${THIS:-$@} MAKEFILE=Makefile MAKEOVERRIDES= | |
# MAKEOVERRIDES= effectively "equalizes" GNU-ish and SysV-ish make flavors, | |
# which in turn eliminates ambiguities in variable treatment with -e. | |
# BUILD_CMD is a generic macro to build a given target in a given | |
# subdirectory. The target must be given through the shell variable | |
# `target' and the subdirectory to build in must be given through `dir'. | |
# This macro shouldn't be used directly, use RECURSIVE_BUILD_CMD or | |
# BUILD_ONE_CMD instead. | |
# | |
# BUILD_ONE_CMD is a macro to build a given target in a given | |
# subdirectory if that subdirectory is part of $(DIRS). It requires | |
# exactly the same shell variables as BUILD_CMD. | |
# | |
# RECURSIVE_BUILD_CMD is a macro to build a given target in all | |
# subdirectories defined in $(DIRS). It requires that the target | |
# is given through the shell variable `target'. | |
BUILD_CMD= if [ -d "$$dir" ]; then \ | |
( cd $$dir && echo "making $$target in $$dir..." && \ | |
$(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. DIR=$$dir $$target \ | |
) || exit 1; \ | |
fi | |
RECURSIVE_BUILD_CMD=for dir in $(DIRS); do $(BUILD_CMD); done | |
BUILD_ONE_CMD=\ | |
if expr " $(DIRS) " : ".* $$dir " >/dev/null 2>&1; then \ | |
$(BUILD_CMD); \ | |
fi | |
reflect: | |
@[ -n "$(THIS)" ] && $(CLEARENV) && $(MAKE) $(THIS) -e $(BUILDENV) | |
sub_all: build_all | |
build_all: build_libs build_apps build_tests build_tools | |
build_libs: build_crypto build_ssl build_engines | |
build_crypto: | |
@dir=crypto; target=all; $(BUILD_ONE_CMD) | |
build_ssl: | |
@dir=ssl; target=all; $(BUILD_ONE_CMD) | |
build_engines: | |
@dir=engines; target=all; $(BUILD_ONE_CMD) | |
build_apps: | |
@dir=apps; target=all; $(BUILD_ONE_CMD) | |
build_tests: | |
@dir=test; target=all; $(BUILD_ONE_CMD) | |
build_tools: | |
@dir=tools; target=all; $(BUILD_ONE_CMD) | |
all_testapps: build_libs build_testapps | |
build_testapps: | |
@dir=crypto; target=testapps; $(BUILD_ONE_CMD) | |
fips_premain_dso$(EXE_EXT): libcrypto.a | |
[ -z "$(FIPSCANLIB)" ] || $(CC) $(CFLAG) -Iinclude \ | |
-DFINGERPRINT_PREMAIN_DSO_LOAD -o $@ \ | |
$(FIPSLIBDIR)fips_premain.c $(FIPSLIBDIR)fipscanister.o \ | |
libcrypto.a $(EX_LIBS) | |
libcrypto$(SHLIB_EXT): libcrypto.a fips_premain_dso$(EXE_EXT) | |
@if [ "$(SHLIB_TARGET)" != "" ]; then \ | |
if [ "$(FIPSCANLIB)" = "libcrypto" ]; then \ | |
FIPSLD_LIBCRYPTO=libcrypto.a ; \ | |
FIPSLD_CC="$(CC)"; CC=$(FIPSDIR)/bin/fipsld; \ | |
export CC FIPSLD_CC FIPSLD_LIBCRYPTO; \ | |
fi; \ | |
$(MAKE) -e SHLIBDIRS=crypto CC="$${CC:-$(CC)}" build-shared && \ | |
(touch -c fips_premain_dso$(EXE_EXT) || :); \ | |
else \ | |
echo "There's no support for shared libraries on this platform" >&2; \ | |
exit 1; \ | |
fi | |
libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a | |
@if [ "$(SHLIB_TARGET)" != "" ]; then \ | |
$(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \ | |
else \ | |
echo "There's no support for shared libraries on this platform" >&2; \ | |
exit 1; \ | |
fi | |
clean-shared: | |
@set -e; for i in $(SHLIBDIRS); do \ | |
if [ -n "$(SHARED_LIBS_LINK_EXTS)" ]; then \ | |
tmp="$(SHARED_LIBS_LINK_EXTS)"; \ | |
for j in $${tmp:-x}; do \ | |
( set -x; rm -f lib$$i$$j ); \ | |
done; \ | |
fi; \ | |
( set -x; rm -f lib$$i$(SHLIB_EXT) ); \ | |
if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \ | |
( set -x; rm -f cyg$$i$(SHLIB_EXT) lib$$i$(SHLIB_EXT).a ); \ | |
fi; \ | |
done | |
link-shared: | |
@ set -e; for i in $(SHLIBDIRS); do \ | |
$(MAKE) -f $(HERE)/Makefile.shared -e $(BUILDENV) \ | |
LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \ | |
LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \ | |
symlink.$(SHLIB_TARGET); \ | |
libs="$$libs -l$$i"; \ | |
done | |
build-shared: do_$(SHLIB_TARGET) link-shared | |
do_$(SHLIB_TARGET): | |
@ set -e; libs='-L. $(SHLIBDEPS)'; for i in $(SHLIBDIRS); do \ | |
if [ "$$i" = "ssl" -a -n "$(LIBKRB5)" ]; then \ | |
libs="$(LIBKRB5) $$libs"; \ | |
fi; \ | |
$(CLEARENV) && $(MAKE) -f Makefile.shared -e $(BUILDENV) \ | |
LIBNAME=$$i LIBVERSION=$(SHLIB_MAJOR).$(SHLIB_MINOR) \ | |
LIBCOMPATVERSIONS=";$(SHLIB_VERSION_HISTORY)" \ | |
LIBDEPS="$$libs $(EX_LIBS)" \ | |
link_a.$(SHLIB_TARGET); \ | |
libs="-l$$i $$libs"; \ | |
done | |
libcrypto.pc: Makefile | |
@ ( echo 'prefix=$(INSTALLTOP)'; \ | |
echo 'exec_prefix=$${prefix}'; \ | |
echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \ | |
echo 'includedir=$${prefix}/include'; \ | |
echo ''; \ | |
echo 'Name: OpenSSL-libcrypto'; \ | |
echo 'Description: OpenSSL cryptography library'; \ | |
echo 'Version: '$(VERSION); \ | |
echo 'Requires: '; \ | |
echo 'Libs: -L$${libdir} -lcrypto'; \ | |
echo 'Libs.private: $(EX_LIBS)'; \ | |
echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libcrypto.pc | |
libssl.pc: Makefile | |
@ ( echo 'prefix=$(INSTALLTOP)'; \ | |
echo 'exec_prefix=$${prefix}'; \ | |
echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \ | |
echo 'includedir=$${prefix}/include'; \ | |
echo ''; \ | |
echo 'Name: OpenSSL-libssl'; \ | |
echo 'Description: Secure Sockets Layer and cryptography libraries'; \ | |
echo 'Version: '$(VERSION); \ | |
echo 'Requires.private: libcrypto'; \ | |
echo 'Libs: -L$${libdir} -lssl'; \ | |
echo 'Libs.private: $(EX_LIBS)'; \ | |
echo 'Cflags: -I$${includedir} $(KRB5_INCLUDES)' ) > libssl.pc | |
openssl.pc: Makefile | |
@ ( echo 'prefix=$(INSTALLTOP)'; \ | |
echo 'exec_prefix=$${prefix}'; \ | |
echo 'libdir=$${exec_prefix}/$(LIBDIR)'; \ | |
echo 'includedir=$${prefix}/include'; \ | |
echo ''; \ | |
echo 'Name: OpenSSL'; \ | |
echo 'Description: Secure Sockets Layer and cryptography libraries and tools'; \ | |
echo 'Version: '$(VERSION); \ | |
echo 'Requires: libssl libcrypto' ) > openssl.pc | |
Makefile: Makefile.org Configure config | |
@echo "Makefile is older than Makefile.org, Configure or config." | |
@echo "Reconfigure the source tree (via './config' or 'perl Configure'), please." | |
@false | |
libclean: | |
rm -f *.map *.so *.so.* *.dylib *.dll engines/*.so engines/*.dll engines/*.dylib *.a engines/*.a */lib */*/lib | |
clean: libclean | |
rm -f shlib/*.o *.o core a.out fluff rehash.time testlog make.log cctest cctest.c | |
@set -e; target=clean; $(RECURSIVE_BUILD_CMD) | |
rm -f $(LIBS) | |
rm -f openssl.pc libssl.pc libcrypto.pc | |
rm -f speed.* .pure | |
rm -f $(TARFILE) | |
@set -e; for i in $(ONEDIRS) ;\ | |
do \ | |
rm -fr $$i/*; \ | |
done | |
makefile.one: files | |
$(PERL) util/mk1mf.pl >makefile.one; \ | |
sh util/do_ms.sh | |
files: | |
$(PERL) $(TOP)/util/files.pl Makefile > $(TOP)/MINFO | |
@set -e; target=files; $(RECURSIVE_BUILD_CMD) | |
links: | |
@$(PERL) $(TOP)/util/mkdir-p.pl include/openssl | |
@$(PERL) $(TOP)/util/mklink.pl include/openssl $(EXHEADER) | |
@set -e; target=links; $(RECURSIVE_BUILD_CMD) | |
gentests: | |
@(cd test && echo "generating dummy tests (if needed)..." && \ | |
$(CLEARENV) && $(MAKE) -e $(BUILDENV) TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on generate ); | |
dclean: | |
rm -rf *.bak include/openssl certs/.0 | |
@set -e; target=dclean; $(RECURSIVE_BUILD_CMD) | |
rehash: rehash.time | |
rehash.time: certs apps | |
@if [ -z "$(CROSS_COMPILE)" ]; then \ | |
(OPENSSL="`pwd`/util/opensslwrap.sh"; \ | |
[ -x "apps/openssl.exe" ] && OPENSSL="apps/openssl.exe" || :; \ | |
OPENSSL_DEBUG_MEMORY=on; \ | |
export OPENSSL OPENSSL_DEBUG_MEMORY; \ | |
$(PERL) tools/c_rehash certs/demo) && \ | |
touch rehash.time; \ | |
else :; fi | |
test: tests | |
tests: rehash | |
@(cd test && echo "testing..." && \ | |
$(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf tests ); | |
OPENSSL_CONF=apps/openssl.cnf util/opensslwrap.sh version -a | |
report: | |
@$(PERL) util/selftest.pl | |
depend: | |
@set -e; target=depend; $(RECURSIVE_BUILD_CMD) | |
lint: | |
@set -e; target=lint; $(RECURSIVE_BUILD_CMD) | |
tags: | |
rm -f TAGS | |
find . -name '[^.]*.[ch]' | xargs etags -a | |
errors: | |
$(PERL) util/ck_errf.pl -strict */*.c */*/*.c | |
$(PERL) util/mkerr.pl -recurse -write | |
(cd engines; $(MAKE) PERL=$(PERL) errors) | |
stacks: | |
$(PERL) util/mkstack.pl -write | |
util/libeay.num:: | |
$(PERL) util/mkdef.pl crypto update | |
util/ssleay.num:: | |
$(PERL) util/mkdef.pl ssl update | |
crypto/objects/obj_dat.h: crypto/objects/obj_dat.pl crypto/objects/obj_mac.h | |
$(PERL) crypto/objects/obj_dat.pl crypto/objects/obj_mac.h crypto/objects/obj_dat.h | |
crypto/objects/obj_mac.h: crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num | |
$(PERL) crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num crypto/objects/obj_mac.h | |
crypto/objects/obj_xref.h: crypto/objects/objxref.pl crypto/objects/obj_xref.txt crypto/objects/obj_mac.num | |
$(PERL) crypto/objects/objxref.pl crypto/objects/obj_mac.num crypto/objects/obj_xref.txt >crypto/objects/obj_xref.h | |
apps/openssl-vms.cnf: apps/openssl.cnf | |
$(PERL) VMS/VMSify-conf.pl < apps/openssl.cnf > apps/openssl-vms.cnf | |
crypto/bn/bn_prime.h: crypto/bn/bn_prime.pl | |
$(PERL) crypto/bn/bn_prime.pl >crypto/bn/bn_prime.h | |
TABLE: Configure | |
(echo 'Output of `Configure TABLE'"':"; \ | |
$(PERL) Configure TABLE) > TABLE | |
update: errors stacks util/libeay.num util/ssleay.num crypto/objects/obj_dat.h crypto/objects/obj_xref.h apps/openssl-vms.cnf crypto/bn/bn_prime.h TABLE depend | |
# Build distribution tar-file. As the list of files returned by "find" is | |
# pretty long, on several platforms a "too many arguments" error or similar | |
# would occur. Therefore the list of files is temporarily stored into a file | |
# and read directly, requiring GNU-Tar. Call "make TAR=gtar dist" if the normal | |
# tar does not support the --files-from option. | |
tar: | |
find . -type d -print | xargs chmod 755 | |
find . -type f -print | xargs chmod a+r | |
find . -type f -perm -0100 -print | xargs chmod a+x | |
find * \! -path CVS/\* \! -path \*/CVS/\* \! -name CVS \! -name .cvsignore \! -name STATUS \! -name TABLE | sort > ../$(TARFILE).list; \ | |
$(TAR) $(TARFLAGS) --files-from ../$(TARFILE).list -cvf - | \ | |
tardy --user_number=0 --user_name=openssl \ | |
--group_number=0 --group_name=openssl \ | |
--prefix=openssl-$(VERSION) - |\ | |
gzip --best >../$(TARFILE).gz; \ | |
rm -f ../$(TARFILE).list; \ | |
ls -l ../$(TARFILE).gz | |
tar-snap: | |
@$(TAR) $(TARFLAGS) -cvf - \ | |
`find * \! -path CVS/\* \! -path \*/CVS/\* \! -name CVS \! -name .cvsignore \! -name STATUS \! -name TABLE \! -name '*.o' \! -name '*.a' \! -name '*.so' \! -name '*.so.*' \! -name 'openssl' \! -name '*test' \! -name '.#*' \! -name '*~' | sort` |\ | |
tardy --user_number=0 --user_name=openssl \ | |
--group_number=0 --group_name=openssl \ | |
--prefix=openssl-$(VERSION) - > ../$(TARFILE);\ | |
ls -l ../$(TARFILE) | |
dist: | |
$(PERL) Configure dist | |
@$(MAKE) dist_pem_h | |
@$(MAKE) SDIRS='$(SDIRS)' clean | |
@$(MAKE) TAR='$(TAR)' TARFLAGS='$(TARFLAGS)' tar | |
dist_pem_h: | |
(cd crypto/pem; $(MAKE) -e $(BUILDENV) pem.h; $(MAKE) clean) | |
install: all install_docs install_sw | |
install_sw: | |
@$(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/bin \ | |
$(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR) \ | |
$(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines \ | |
$(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig \ | |
$(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl \ | |
$(INSTALL_PREFIX)$(OPENSSLDIR)/misc \ | |
$(INSTALL_PREFIX)$(OPENSSLDIR)/certs \ | |
$(INSTALL_PREFIX)$(OPENSSLDIR)/private | |
@set -e; headerlist="$(EXHEADER)"; for i in $$headerlist;\ | |
do \ | |
(cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i; \ | |
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/include/openssl/$$i ); \ | |
done; | |
@set -e; target=install; $(RECURSIVE_BUILD_CMD) | |
@set -e; liblist="$(LIBS)"; for i in $$liblist ;\ | |
do \ | |
if [ -f "$$i" ]; then \ | |
( echo installing $$i; \ | |
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ | |
$(RANLIB) $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ | |
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ | |
mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i ); \ | |
fi; \ | |
done; | |
@set -e; if [ -n "$(SHARED_LIBS)" ]; then \ | |
tmp="$(SHARED_LIBS)"; \ | |
for i in $${tmp:-x}; \ | |
do \ | |
if [ -f "$$i" -o -f "$$i.a" ]; then \ | |
( echo installing $$i; \ | |
if expr "$(PLATFORM)" : "Cygwin" >/dev/null; then \ | |
c=`echo $$i | sed 's/^lib\(.*\)\.dll\.a/cyg\1-$(SHLIB_VERSION_NUMBER).dll/'`; \ | |
cp $$c $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \ | |
chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new; \ | |
mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$c; \ | |
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ | |
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ | |
mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \ | |
else \ | |
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ | |
chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new; \ | |
mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/$$i; \ | |
fi ); \ | |
if expr $(PLATFORM) : 'mingw' > /dev/null; then \ | |
( case $$i in \ | |
*crypto*) i=libeay32.dll;; \ | |
*ssl*) i=ssleay32.dll;; \ | |
esac; \ | |
echo installing $$i; \ | |
cp $$i $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \ | |
chmod 755 $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new; \ | |
mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i.new $(INSTALL_PREFIX)$(INSTALLTOP)/bin/$$i ); \ | |
fi; \ | |
fi; \ | |
done; \ | |
( here="`pwd`"; \ | |
cd $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR); \ | |
$(MAKE) -f $$here/Makefile HERE="$$here" link-shared ); \ | |
if [ "$(INSTALLTOP)" != "/usr" ]; then \ | |
echo 'OpenSSL shared libraries have been installed in:'; \ | |
echo ' $(INSTALLTOP)'; \ | |
echo ''; \ | |
sed -e '1,/^$$/d' doc/openssl-shared.txt; \ | |
fi; \ | |
fi | |
cp libcrypto.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig | |
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libcrypto.pc | |
cp libssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig | |
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/libssl.pc | |
cp openssl.pc $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig | |
chmod 644 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/pkgconfig/openssl.pc | |
install_html_docs: | |
here="`pwd`"; \ | |
filecase=; \ | |
case "$(PLATFORM)" in DJGPP|Cygwin*|mingw*|darwin*-*-cc) \ | |
filecase=-i; \ | |
esac; \ | |
for subdir in apps crypto ssl; do \ | |
mkdir -p $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir; \ | |
for i in doc/$$subdir/*.pod; do \ | |
fn=`basename $$i .pod`; \ | |
echo "installing html/$$fn.$(HTMLSUFFIX)"; \ | |
cat $$i \ | |
| sed -r 's/L<([^)]*)(\([0-9]\))?\|([^)]*)(\([0-9]\))?>/L<\1|\3>/g' \ | |
| pod2html --podroot=doc --htmlroot=.. --podpath=apps:crypto:ssl \ | |
| sed -r 's/<!DOCTYPE.*//g' \ | |
> $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir/$$fn.$(HTMLSUFFIX); \ | |
$(PERL) util/extract-names.pl < $$i | \ | |
grep -v $$filecase "^$$fn\$$" | \ | |
(cd $(INSTALL_PREFIX)$(HTMLDIR)/$$subdir; \ | |
while read n; do \ | |
PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$(HTMLSUFFIX) "$$n".$(HTMLSUFFIX); \ | |
done); \ | |
done; \ | |
done | |
install_docs: | |
@$(PERL) $(TOP)/util/mkdir-p.pl \ | |
$(INSTALL_PREFIX)$(MANDIR)/man1 \ | |
$(INSTALL_PREFIX)$(MANDIR)/man3 \ | |
$(INSTALL_PREFIX)$(MANDIR)/man5 \ | |
$(INSTALL_PREFIX)$(MANDIR)/man7 | |
@pod2man="`cd ./util; ./pod2mantest $(PERL)`"; \ | |
here="`pwd`"; \ | |
filecase=; \ | |
case "$(PLATFORM)" in DJGPP|Cygwin*|mingw*|darwin*-*-cc) \ | |
filecase=-i; \ | |
esac; \ | |
set -e; for i in doc/apps/*.pod; do \ | |
fn=`basename $$i .pod`; \ | |
sec=`$(PERL) util/extract-section.pl 1 < $$i`; \ | |
echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \ | |
(cd `$(PERL) util/dirname.pl $$i`; \ | |
sh -c "$$pod2man \ | |
--section=$$sec --center=OpenSSL \ | |
--release=$(VERSION) `basename $$i`") \ | |
> $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ | |
$(PERL) util/extract-names.pl < $$i | \ | |
(grep -v $$filecase "^$$fn\$$"; true) | \ | |
(grep -v "[ ]"; true) | \ | |
(cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \ | |
while read n; do \ | |
PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \ | |
done); \ | |
done; \ | |
set -e; for i in doc/crypto/*.pod doc/ssl/*.pod; do \ | |
fn=`basename $$i .pod`; \ | |
sec=`$(PERL) util/extract-section.pl 3 < $$i`; \ | |
echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \ | |
(cd `$(PERL) util/dirname.pl $$i`; \ | |
sh -c "$$pod2man \ | |
--section=$$sec --center=OpenSSL \ | |
--release=$(VERSION) `basename $$i`") \ | |
> $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \ | |
$(PERL) util/extract-names.pl < $$i | \ | |
(grep -v $$filecase "^$$fn\$$"; true) | \ | |
(grep -v "[ ]"; true) | \ | |
(cd $(INSTALL_PREFIX)$(MANDIR)/man$$sec/; \ | |
while read n; do \ | |
PLATFORM=$(PLATFORM) $$here/util/point.sh $$fn.$${sec}$(MANSUFFIX) "$$n".$${sec}$(MANSUFFIX); \ | |
done); \ | |
done | |
# DO NOT DELETE THIS LINE -- make depend depends on it. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* opensslconf.h */ | |
/* WARNING: Generated automatically from opensslconf.h.in by Configure. */ | |
#ifdef __cplusplus | |
extern "C" { | |
#endif | |
/* OpenSSL was configured with the following options: */ | |
#ifndef OPENSSL_DOING_MAKEDEPEND | |
#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 | |
# define OPENSSL_NO_EC_NISTP_64_GCC_128 | |
#endif | |
#ifndef OPENSSL_NO_GMP | |
# define OPENSSL_NO_GMP | |
#endif | |
#ifndef OPENSSL_NO_JPAKE | |
# define OPENSSL_NO_JPAKE | |
#endif | |
#ifndef OPENSSL_NO_KRB5 | |
# define OPENSSL_NO_KRB5 | |
#endif | |
#ifndef OPENSSL_NO_LIBUNBOUND | |
# define OPENSSL_NO_LIBUNBOUND | |
#endif | |
#ifndef OPENSSL_NO_MD2 | |
# define OPENSSL_NO_MD2 | |
#endif | |
#ifndef OPENSSL_NO_RC5 | |
# define OPENSSL_NO_RC5 | |
#endif | |
#ifndef OPENSSL_NO_RFC3779 | |
# define OPENSSL_NO_RFC3779 | |
#endif | |
#ifndef OPENSSL_NO_SCTP | |
# define OPENSSL_NO_SCTP | |
#endif | |
#ifndef OPENSSL_NO_SSL_TRACE | |
# define OPENSSL_NO_SSL_TRACE | |
#endif | |
#ifndef OPENSSL_NO_STORE | |
# define OPENSSL_NO_STORE | |
#endif | |
#ifndef OPENSSL_NO_UNIT_TEST | |
# define OPENSSL_NO_UNIT_TEST | |
#endif | |
#endif /* OPENSSL_DOING_MAKEDEPEND */ | |
#ifndef OPENSSL_THREADS | |
# define OPENSSL_THREADS | |
#endif | |
#ifndef OPENSSL_NO_DYNAMIC_ENGINE | |
# define OPENSSL_NO_DYNAMIC_ENGINE | |
#endif | |
/* The OPENSSL_NO_* macros are also defined as NO_* if the application | |
asks for it. This is a transient feature that is provided for those | |
who haven't had the time to do the appropriate changes in their | |
applications. */ | |
#ifdef OPENSSL_ALGORITHM_DEFINES | |
# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128) | |
# define NO_EC_NISTP_64_GCC_128 | |
# endif | |
# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) | |
# define NO_GMP | |
# endif | |
# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE) | |
# define NO_JPAKE | |
# endif | |
# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) | |
# define NO_KRB5 | |
# endif | |
# if defined(OPENSSL_NO_LIBUNBOUND) && !defined(NO_LIBUNBOUND) | |
# define NO_LIBUNBOUND | |
# endif | |
# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2) | |
# define NO_MD2 | |
# endif | |
# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5) | |
# define NO_RC5 | |
# endif | |
# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779) | |
# define NO_RFC3779 | |
# endif | |
# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP) | |
# define NO_SCTP | |
# endif | |
# if defined(OPENSSL_NO_SSL_TRACE) && !defined(NO_SSL_TRACE) | |
# define NO_SSL_TRACE | |
# endif | |
# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) | |
# define NO_STORE | |
# endif | |
# if defined(OPENSSL_NO_UNIT_TEST) && !defined(NO_UNIT_TEST) | |
# define NO_UNIT_TEST | |
# endif | |
#endif | |
#define OPENSSL_CPUID_OBJ | |
/* crypto/opensslconf.h.in */ | |
/* Generate 80386 code? */ | |
#undef I386_ONLY | |
#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ | |
#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) | |
#define ENGINESDIR "/usr/local/ssl/lib/engines" | |
#define OPENSSLDIR "/usr/local/ssl" | |
#endif | |
#endif | |
#undef OPENSSL_UNISTD | |
#define OPENSSL_UNISTD <unistd.h> | |
#undef OPENSSL_EXPORT_VAR_AS_FUNCTION | |
#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) | |
#define IDEA_INT unsigned int | |
#endif | |
#if defined(HEADER_MD2_H) && !defined(MD2_INT) | |
#define MD2_INT unsigned int | |
#endif | |
#if defined(HEADER_RC2_H) && !defined(RC2_INT) | |
/* I need to put in a mod for the alpha - eay */ | |
#define RC2_INT unsigned int | |
#endif | |
#if defined(HEADER_RC4_H) | |
#if !defined(RC4_INT) | |
/* using int types make the structure larger but make the code faster | |
* on most boxes I have tested - up to %20 faster. */ | |
/* | |
* I don't know what does "most" mean, but declaring "int" is a must on: | |
* - Intel P6 because partial register stalls are very expensive; | |
* - elder Alpha because it lacks byte load/store instructions; | |
*/ | |
#define RC4_INT unsigned char | |
#endif | |
#if !defined(RC4_CHUNK) | |
/* | |
* This enables code handling data aligned at natural CPU word | |
* boundary. See crypto/rc4/rc4_enc.c for further details. | |
*/ | |
#define RC4_CHUNK unsigned long | |
#endif | |
#endif | |
#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) | |
/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a | |
* %20 speed up (longs are 8 bytes, int's are 4). */ | |
#ifndef DES_LONG | |
#define DES_LONG unsigned int | |
#endif | |
#endif | |
#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) | |
#define CONFIG_HEADER_BN_H | |
#undef BN_LLONG | |
/* Should we define BN_DIV2W here? */ | |
/* Only one for the following should be defined */ | |
#define SIXTY_FOUR_BIT_LONG | |
#undef SIXTY_FOUR_BIT | |
#undef THIRTY_TWO_BIT | |
#endif | |
#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) | |
#define CONFIG_HEADER_RC4_LOCL_H | |
/* if this is defined data[i] is used instead of *data, this is a %20 | |
* speedup on x86 */ | |
#undef RC4_INDEX | |
#endif | |
#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) | |
#define CONFIG_HEADER_BF_LOCL_H | |
#define BF_PTR | |
#endif /* HEADER_BF_LOCL_H */ | |
#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) | |
#define CONFIG_HEADER_DES_LOCL_H | |
#ifndef DES_DEFAULT_OPTIONS | |
/* the following is tweaked from a config script, that is why it is a | |
* protected undef/define */ | |
#ifndef DES_PTR | |
#undef DES_PTR | |
#endif | |
/* This helps C compiler generate the correct code for multiple functional | |
* units. It reduces register dependancies at the expense of 2 more | |
* registers */ | |
#ifndef DES_RISC1 | |
#undef DES_RISC1 | |
#endif | |
#ifndef DES_RISC2 | |
#undef DES_RISC2 | |
#endif | |
#if defined(DES_RISC1) && defined(DES_RISC2) | |
YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! | |
#endif | |
/* Unroll the inner loop, this sometimes helps, sometimes hinders. | |
* Very mucy CPU dependant */ | |
#ifndef DES_UNROLL | |
#define DES_UNROLL | |
#endif | |
/* These default values were supplied by | |
* Peter Gutman <[email protected]> | |
* They are only used if nothing else has been defined */ | |
#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) | |
/* Special defines which change the way the code is built depending on the | |
CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find | |
even newer MIPS CPU's, but at the moment one size fits all for | |
optimization options. Older Sparc's work better with only UNROLL, but | |
there's no way to tell at compile time what it is you're running on */ | |
#if defined( sun ) /* Newer Sparc's */ | |
# define DES_PTR | |
# define DES_RISC1 | |
# define DES_UNROLL | |
#elif defined( __ultrix ) /* Older MIPS */ | |
# define DES_PTR | |
# define DES_RISC2 | |
# define DES_UNROLL | |
#elif defined( __osf1__ ) /* Alpha */ | |
# define DES_PTR | |
# define DES_RISC2 | |
#elif defined ( _AIX ) /* RS6000 */ | |
/* Unknown */ | |
#elif defined( __hpux ) /* HP-PA */ | |
/* Unknown */ | |
#elif defined( __aux ) /* 68K */ | |
/* Unknown */ | |
#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ | |
# define DES_UNROLL | |
#elif defined( __sgi ) /* Newer MIPS */ | |
# define DES_PTR | |
# define DES_RISC2 | |
# define DES_UNROLL | |
#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ | |
# define DES_PTR | |
# define DES_RISC1 | |
# define DES_UNROLL | |
#endif /* Systems-specific speed defines */ | |
#endif | |
#endif /* DES_DEFAULT_OPTIONS */ | |
#endif /* HEADER_DES_LOCL_H */ | |
#ifdef __cplusplus | |
} | |
#endif |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
How we should use it? I trtied to make -j8 -f armv8-Makefile but it couldn't work.