diff options
Diffstat (limited to 'lib/Makefile.am')
-rw-r--r-- | lib/Makefile.am | 279 |
1 files changed, 279 insertions, 0 deletions
diff --git a/lib/Makefile.am b/lib/Makefile.am new file mode 100644 index 0000000..0b43ef9 --- /dev/null +++ b/lib/Makefile.am @@ -0,0 +1,279 @@ +## Process this file with automake to produce Makefile.in +# Copyright (C) 2000-2012 Free Software Foundation, Inc. +# +# Author: Nikos Mavrogiannopoulos +# +# This file is part of GnuTLS. +# +# The GnuTLS is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public License +# as published by the Free Software Foundation; either version 3 of +# the License, or (at your option) any later version. +# +# The GnuTLS is distributed in the hope that it will be +# useful, but WITHOUT ANY WARRANTY; without even the implied warranty +# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public License +# along with this program. If not, see <https://www.gnu.org/licenses/> + +ACLOCAL_AMFLAGS = -I ../m4 -I ../gl/m4 + +EXTRA_DIST = priority_options.gperf common.mk inih/LICENSE.txt +BUILT_SOURCES = pkix_asn1_tab.c gnutls_asn1_tab.c priority_options.h + +SUBDIRS = includes x509 auth ext algorithms extras accelerated + +if ENABLE_MINITASN1 +SUBDIRS += minitasn1 +endif + +localedir = $(datadir)/locale + +include $(top_srcdir)/lib/common.mk + +AM_CPPFLAGS = \ + -DLOCALEDIR=\"$(localedir)\" \ + -I$(srcdir)/../gl \ + -I$(builddir)/../gl \ + -I$(builddir)/includes \ + -I$(builddir)/x509 \ + -I$(srcdir)/includes \ + -I$(builddir)/includes \ + -I$(srcdir)/x509 \ + $(LIBTASN1_CFLAGS) \ + $(P11_KIT_CFLAGS) \ + $(TSS2_CFLAGS) + $(LIBZSTD_CFLAGS) + +if !HAVE_LIBUNISTRING +SUBDIRS += unistring +AM_CPPFLAGS += -I$(srcdir)/unistring/ -I$(builddir)/unistring/ +endif + +if ENABLE_MINITASN1 +AM_CPPFLAGS += -I$(srcdir)/minitasn1 +endif + +# Pkg-config script. +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = gnutls.pc +DISTCLEANFILES = $(pkgconfig_DATA) + +lib_LTLIBRARIES = libgnutls.la + +SRP_COBJECTS = srp.c + +PSK_COBJECTS = psk.c + +COBJECTS = range.c record.c compress.c debug.c cipher.c gthreads.h handshake-tls13.c \ + mbuffers.c buffers.c handshake.c errors.c dh.c kx.c cipher-cbc.c \ + priority.c hash_int.c cipher_int.c session.c db.c x509_b64.c \ + hello_ext.c auth.c sslv2_compat.c datum.c session_pack.c mpi.c \ + pk.c cert-cred.c global.c constate.c anon_cred.c pkix_asn1_tab.c gnutls_asn1_tab.c \ + mem.c fingerprint.c tls-sig.c ecc.c alert.c privkey_raw.c atomic.h \ + system/certs.c system/threads.c system/fastopen.c system/sockets.c \ + str-iconv.c system.c profiles.c profiles.h inih/ini.c \ + str.c str-unicode.c str-idna.c state.c cert-cred-x509.c file.c supplemental.c \ + random.c crypto-api.c crypto-api.h privkey.c pcert.c pubkey.c locks.c dtls.c \ + system_override.c crypto-backend.c verify-tofu.c pin.c tpm.c fips.c \ + safe-memfuncs.c atfork.c atfork.h randomart.c name_val_array.h \ + system-keys.h urls.c urls.h prf.c auto-verify.c dh-session.c \ + cert-session.c handshake-checks.c dtls-sw.c dh-primes.c openpgp_compat.c \ + crypto-selftests.c crypto-selftests-pk.c secrets.c extv.c extv.h \ + hello_ext_lib.c hello_ext_lib.h ocsp-api.c stek.c cert-cred-rawpk.c \ + iov.c iov.h system/ktls.c system/ktls.h + +if ENABLE_GOST +COBJECTS += vko.c +endif + +if ENABLE_TPM2 +COBJECTS += tpm2.c tpm2.h tpm2_esys.c +endif + +if WINDOWS +COBJECTS += system/keys-win.c +else +COBJECTS += system/keys-dummy.c +endif + +COBJECTS += tls13/encrypted_extensions.c tls13/encrypted_extensions.h \ + tls13/certificate_request.c tls13/certificate_request.h \ + tls13/certificate_verify.c tls13/certificate_verify.h \ + tls13-sig.c tls13-sig.h \ + tls13/finished.c tls13/finished.h \ + tls13/key_update.c tls13/key_update.h \ + tls13/hello_retry.c tls13/hello_retry.h \ + tls13/session_ticket.c tls13/session_ticket.h \ + tls13/certificate.c tls13/certificate.h \ + tls13/early_data.c tls13/early_data.h \ + tls13/post_handshake.c \ + tls13/psk_ext_parser.c tls13/psk_ext_parser.h \ + tls13/anti_replay.c tls13/anti_replay.h + +if ENABLE_PKCS11 +COBJECTS += pkcs11.c pkcs11x.c pkcs11_privkey.c pkcs11_write.c pkcs11_secret.c \ + pkcs11_int.c +endif + +if ENABLE_NETTLE +SUBDIRS += nettle +endif + +HFILES = abstract_int.h debug.h compress.h cipher.h \ + buffers.h errors.h gnutls_int.h dtls.h \ + handshake.h num.h algorithms.h \ + dh.h kx.h hash_int.h cipher_int.h \ + db.h auth.h hello_ext.h handshake-defs.h \ + x509_b64.h sslv2_compat.h datum.h \ + mpi.h pk.h record.h inih/ini.h \ + constate.h global.h tls-sig.h mem.h \ + session_pack.h str.h str_array.h \ + state.h x509.h crypto-backend.h \ + srp.h auth/srp_kx.h auth/srp_passwd.h \ + file.h supplemental.h crypto.h random.h system.h\ + locks.h mbuffers.h ecc.h pin.h fips.h \ + priority_options.h secrets.h stek.h cert-cred.h + +if ENABLE_PKCS11 +HFILES += pkcs11_int.h pkcs11x.h +endif + +if ENABLE_GOST +HFILES += vko.h +endif + +libgnutls_la_SOURCES = $(HFILES) $(COBJECTS) $(SRP_COBJECTS) \ + $(PSK_COBJECTS) \ + gnutls.asn pkix.asn libgnutls.map + +libgnutls_la_LDFLAGS = -no-undefined \ + -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE) $(COMMON_LINK_FLAGS) + +libgnutls_la_LIBADD = ../gl/libgnu.la x509/libgnutls_x509.la \ + ext/libgnutls_ext.la \ + auth/libgnutls_auth.la algorithms/libgnutls_alg.la \ + extras/libgnutls_extras.la +thirdparty_libadd = $(LTLIBZ) $(LTLIBINTL) $(LIBSOCKET) $(LTLIBNSL) \ + $(P11_KIT_LIBS) $(LIB_SELECT) $(GNUTLS_LIBS_PRIVATE) + +if HAVE_LIBBROTLI +thirdparty_libadd += $(LIBBROTLIENC_LIBS) $(LIBBROTLIDEC_LIBS) +endif + +if HAVE_LIBZSTD +thirdparty_libadd += $(LIBZSTD_LIBS) +endif + +if HAVE_LIBIDN2 +thirdparty_libadd += $(LIBIDN2_LIBS) +endif + +if HAVE_LIBUNISTRING +thirdparty_libadd += $(LIBUNISTRING) +else +libgnutls_la_LIBADD += unistring/libunistring.la +endif + +if ENABLE_NETTLE +libgnutls_la_LIBADD += accelerated/libaccelerated.la +endif + +if !WINDOWS +# p11-kit does not work without threading support: +# https://github.com/p11-glue/p11-kit/pull/183 +if ENABLE_PKCS11 +thirdparty_libadd += $(LIBPMULTITHREAD) +else +thirdparty_libadd += $(LIBPTHREAD) +endif +endif + +if NEEDS_LIBRT +thirdparty_libadd += $(LTLIBRT) +endif + +if ENABLE_FIPS140 +thirdparty_libadd += $(FIPS140_LIBS) $(LTLIBDL) + +noinst_PROGRAMS = fipshmac +fipshmac_SOURCES = fipshmac.c +fipshmac_LDADD = libgnutls.la ../gl/libgnu.la + +hmac_files = .libs/.gnutls.hmac + +all-local: $(hmac_files) + +.libs/.gnutls.hmac: libgnutls.la fipshmac + $(AM_V_GEN) $(builddir)/fipshmac > $@-t && mv $@-t $@ + +CLEANFILES = $(hmac_files) +endif + +if NEED_LTLIBDL +thirdparty_libadd += $(LTLIBDL) +endif + +if HAVE_LD_VERSION_SCRIPT +libgnutls_la_LDFLAGS += -Wl,--version-script=$(srcdir)/libgnutls.map +else +libgnutls_la_LDFLAGS += -export-symbols-regex '^(gnutls|_gnutls).*' +endif + +if ENABLE_MINITASN1 +libgnutls_la_LIBADD += minitasn1/libminitasn1.la +else +thirdparty_libadd += $(LIBTASN1_LIBS) +endif + +if ENABLE_NETTLE +thirdparty_libadd += $(NETTLE_LIBS) $(HOGWEED_LIBS) $(GMP_LIBS) +libgnutls_la_LIBADD += nettle/libcrypto.la +endif + +if HAVE_LD_OUTPUT_DEF +libgnutls_la_LDFLAGS += -Wl,--output-def,libgnutls-$(DLL_VERSION).def +libgnutls-$(DLL_VERSION).def: libgnutls.la +defexecdir = $(libdir) +defexec_DATA = libgnutls-$(DLL_VERSION).def +DISTCLEANFILES += $(defexec_DATA) +endif + +if MACOSX +libgnutls_la_LDFLAGS += -framework Security -framework CoreFoundation +endif + +libgnutls_la_LIBADD += $(thirdparty_libadd) + +# C++ library + +if ENABLE_CXX +libgnutlsxx_la_CPPFLAGS = -I$(top_srcdir)/includes -I$(top_builddir)/includes -I$(srcdir)/includes + +AM_CXXFLAGS = \ + -I$(srcdir)/includes \ + -I$(builddir)/includes + +lib_LTLIBRARIES += libgnutlsxx.la + +libgnutlsxx_la_SOURCES = gnutlsxx.cpp + +libgnutlsxx_la_LDFLAGS = -no-undefined \ + -version-info $(CXX_LT_CURRENT):$(CXX_LT_REVISION):$(CXX_LT_AGE) + +libgnutlsxx_la_LIBADD = libgnutls.la + +endif + +pkix_asn1_tab.c: $(srcdir)/pkix.asn + $(AM_V_GEN)$(ASN1PARSER) $(srcdir)/pkix.asn pkix_asn1_tab.c + +gnutls_asn1_tab.c: $(srcdir)/gnutls.asn + $(AM_V_GEN)$(ASN1PARSER) $(srcdir)/gnutls.asn gnutls_asn1_tab.c + +priority_options.h: $(srcdir)/priority_options.gperf + $(V_GPERF)$(GPERF) --global-table -t $^ > $@-tmp \ + && sed 's/^const struct priority_options_st \*/static const struct priority_options_st \*/' <$@-tmp >$@ \ + && rm -f $@-tmp |