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)
(cherry picked from commit accd835f8d
)
132 lines
5.5 KiB
Text
132 lines
5.5 KiB
Text
# 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{'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/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_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
|
|
# 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_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
|