mirror of
https://github.com/openssl/openssl.git
synced 2024-11-21 01:15:20 +08:00
accd835f8d
For CMake / pkg-config configuration files to be used for an uninstalled build, the include directory in the build directory isn't enough, if that one is separate from the source directory. The include directory in the source directory must be accounted for too. This includes some lighter refactoring of util/mkinstallvars.pl, with the result that almost all variables in builddata.pm and installdata.pm have become arrays, even though unnecessarily for most of them; it was simpler that way. The CMake / pkg-config templates are adapted accordingly. Reviewed-by: Neil Horman <nhorman@openssl.org> Reviewed-by: Tomas Mraz <tomas@openssl.org> (Merged from https://github.com/openssl/openssl/pull/24918)
140 lines
5.7 KiB
Plaintext
140 lines
5.7 KiB
Plaintext
# Note that some of these directories are filtered in Configure. Look for
|
|
# %skipdir there for further explanations.
|
|
|
|
SUBDIRS=crypto ssl apps util tools fuzz providers doc
|
|
IF[{- !$disabled{tests} -}]
|
|
SUBDIRS=test
|
|
ENDIF
|
|
IF[{- !$disabled{demos} -}]
|
|
SUBDIRS=demos
|
|
ENDIF
|
|
IF[{- !$disabled{'deprecated-3.0'} -}]
|
|
SUBDIRS=engines
|
|
ENDIF
|
|
SUBDIRS=exporters
|
|
|
|
LIBS=libcrypto libssl
|
|
INCLUDE[libcrypto]=. include
|
|
INCLUDE[libssl]=. include
|
|
DEPEND[libssl]=libcrypto
|
|
|
|
# Empty DEPEND "indices" means the dependencies are expected to be built
|
|
# unconditionally before anything else.
|
|
DEPEND[]=include/openssl/asn1.h \
|
|
include/openssl/asn1t.h \
|
|
include/openssl/bio.h \
|
|
include/openssl/cmp.h \
|
|
include/openssl/cms.h \
|
|
include/openssl/conf.h \
|
|
include/openssl/comp.h \
|
|
include/openssl/core_names.h \
|
|
include/openssl/crmf.h \
|
|
include/openssl/crypto.h \
|
|
include/openssl/ct.h \
|
|
include/openssl/err.h \
|
|
include/openssl/ess.h \
|
|
include/openssl/fipskey.h \
|
|
include/openssl/lhash.h \
|
|
include/openssl/opensslv.h \
|
|
include/openssl/ocsp.h \
|
|
include/openssl/pkcs12.h \
|
|
include/openssl/pkcs7.h \
|
|
include/openssl/safestack.h \
|
|
include/openssl/srp.h \
|
|
include/openssl/ssl.h \
|
|
include/openssl/ui.h \
|
|
include/openssl/x509.h \
|
|
include/openssl/x509v3.h \
|
|
include/openssl/x509_acert.h \
|
|
include/openssl/x509_vfy.h \
|
|
include/crypto/bn_conf.h include/crypto/dso_conf.h \
|
|
include/internal/param_names.h crypto/params_idx.c
|
|
|
|
GENERATE[include/openssl/asn1.h]=include/openssl/asn1.h.in
|
|
GENERATE[include/openssl/asn1t.h]=include/openssl/asn1t.h.in
|
|
GENERATE[include/openssl/bio.h]=include/openssl/bio.h.in
|
|
GENERATE[include/openssl/cmp.h]=include/openssl/cmp.h.in
|
|
GENERATE[include/openssl/cms.h]=include/openssl/cms.h.in
|
|
GENERATE[include/openssl/conf.h]=include/openssl/conf.h.in
|
|
GENERATE[include/openssl/comp.h]=include/openssl/comp.h.in
|
|
# include/openssl/configuration.h is generated by configdata.pm
|
|
# We still need this information for the FIPS module checksum, but the attribute
|
|
# 'skip' ensures that nothing is actually done with it.
|
|
GENERATE[include/openssl/configuration.h]{skip}=include/openssl/configuration.h.in
|
|
GENERATE[include/openssl/crmf.h]=include/openssl/crmf.h.in
|
|
GENERATE[include/openssl/crypto.h]=include/openssl/crypto.h.in
|
|
GENERATE[include/openssl/ct.h]=include/openssl/ct.h.in
|
|
GENERATE[include/openssl/err.h]=include/openssl/err.h.in
|
|
GENERATE[include/openssl/ess.h]=include/openssl/ess.h.in
|
|
GENERATE[include/openssl/fipskey.h]=include/openssl/fipskey.h.in
|
|
GENERATE[include/openssl/lhash.h]=include/openssl/lhash.h.in
|
|
GENERATE[include/openssl/ocsp.h]=include/openssl/ocsp.h.in
|
|
GENERATE[include/openssl/opensslv.h]=include/openssl/opensslv.h.in
|
|
GENERATE[include/openssl/pkcs12.h]=include/openssl/pkcs12.h.in
|
|
GENERATE[include/openssl/pkcs7.h]=include/openssl/pkcs7.h.in
|
|
GENERATE[include/openssl/safestack.h]=include/openssl/safestack.h.in
|
|
GENERATE[include/openssl/srp.h]=include/openssl/srp.h.in
|
|
GENERATE[include/openssl/ssl.h]=include/openssl/ssl.h.in
|
|
GENERATE[include/openssl/ui.h]=include/openssl/ui.h.in
|
|
GENERATE[include/openssl/x509.h]=include/openssl/x509.h.in
|
|
GENERATE[include/openssl/x509v3.h]=include/openssl/x509v3.h.in
|
|
GENERATE[include/openssl/x509_acert.h]=include/openssl/x509_acert.h.in
|
|
GENERATE[include/openssl/x509_vfy.h]=include/openssl/x509_vfy.h.in
|
|
GENERATE[include/crypto/bn_conf.h]=include/crypto/bn_conf.h.in
|
|
GENERATE[include/crypto/dso_conf.h]=include/crypto/dso_conf.h.in
|
|
|
|
DEPEND[crypto/params_idx.c \
|
|
include/internal/param_names.h \
|
|
include/openssl/core_names.h]=util/perl|OpenSSL/paramnames.pm
|
|
GENERATE[crypto/params_idx.c]=crypto/params_idx.c.in
|
|
GENERATE[include/internal/param_names.h]=include/internal/param_names.h.in
|
|
GENERATE[include/openssl/core_names.h]=include/openssl/core_names.h.in
|
|
|
|
IF[{- defined $target{shared_defflag} -}]
|
|
SHARED_SOURCE[libcrypto]=libcrypto.ld
|
|
SHARED_SOURCE[libssl]=libssl.ld
|
|
|
|
GENERATE[libcrypto.ld]=util/libcrypto.num libcrypto
|
|
GENERATE[libssl.ld]=util/libssl.num libssl
|
|
DEPEND[libcrypto.ld libssl.ld]=configdata.pm util/perl/OpenSSL/Ordinals.pm
|
|
ENDIF
|
|
|
|
IF[{- $config{target} =~ /^(?:Cygwin|mingw|VC-|BC-)/ -}]
|
|
GENERATE[libcrypto.rc]=util/mkrc.pl libcrypto
|
|
GENERATE[libssl.rc]=util/mkrc.pl libssl
|
|
DEPEND[libcrypto.rc libssl.rc]=configdata.pm
|
|
|
|
SHARED_SOURCE[libcrypto]=libcrypto.rc
|
|
SHARED_SOURCE[libssl]=libssl.rc
|
|
ENDIF
|
|
|
|
# This file sets the build directory up for CMake inclusion
|
|
# Note: This generation of OpenSSLConfig[Version].cmake is used
|
|
# for building openssl locally, and so the build variables are
|
|
# taken from builddata.pm rather than installdata.pm. For exportable
|
|
# versions of these generated files, you'll find them in the exporters
|
|
# directory
|
|
GENERATE[OpenSSLConfig.cmake]=exporters/cmake/OpenSSLConfig.cmake.in
|
|
DEPEND[OpenSSLConfig.cmake]=builddata.pm
|
|
GENERATE[OpenSSLConfigVersion.cmake]=exporters/cmake/OpenSSLConfigVersion.cmake.in
|
|
DEPEND[OpenSSLConfigVersion.cmake]=builddata.pm
|
|
DEPEND[OpenSSLConfigVersion.cmake]=OpenSSLConfig.cmake
|
|
DEPEND[""]=OpenSSLConfigVersion.cmake
|
|
|
|
# This file sets the build directory up for pkg-config
|
|
GENERATE[libcrypto.pc]=exporters/pkg-config/libcrypto.pc.in
|
|
DEPEND[libcrypto.pc]=builddata.pm
|
|
GENERATE[libssl.pc]=exporters/pkg-config/libssl.pc.in
|
|
DEPEND[libssl.pc]=builddata.pm
|
|
GENERATE[openssl.pc]=exporters/pkg-config/openssl.pc.in
|
|
DEPEND[openssl.pc]=builddata.pm
|
|
DEPEND[openssl.pc]=libcrypto.pc libssl.pc
|
|
|
|
GENERATE[builddata.pm]=util/mkinstallvars.pl \
|
|
PREFIX=. BINDIR=apps APPLINKDIR=ms \
|
|
LIBDIR= INCLUDEDIR=include "INCLUDEDIR=$(SRCDIR)/include" \
|
|
ENGINESDIR=engines MODULESDIR=providers \
|
|
"VERSION=$(VERSION)" "LDLIBS=$(LIB_EX_LIBS)"
|
|
|
|
DEPEND[""]=openssl.pc
|