summaryrefslogtreecommitdiffstats
path: root/guile/Makefile.am
diff options
context:
space:
mode:
Diffstat (limited to 'guile/Makefile.am')
-rw-r--r--guile/Makefile.am132
1 files changed, 132 insertions, 0 deletions
diff --git a/guile/Makefile.am b/guile/Makefile.am
new file mode 100644
index 0000000..1b9c03a
--- /dev/null
+++ b/guile/Makefile.am
@@ -0,0 +1,132 @@
+# GnuTLS --- Guile bindings for GnuTLS.
+# Copyright (C) 2007-2012, 2016, 2019, 2022 Free Software Foundation, Inc.
+#
+# 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 2.1 of the License, or (at your option) any later version.
+#
+# 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 GnuTLS; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+# First of all, built the DSO. We cannot compile the Scheme code until this
+# is done.
+SUBDIRS = src
+
+
+EXTRA_DIST = .dir-locals.el
+
+guilesitesubdir = $(guilesitedir)/gnutls
+
+nodist_guilesite_DATA = modules/gnutls.scm
+dist_guilesitesub_DATA = modules/gnutls/extra.scm
+
+documentation_modules = \
+ modules/system/documentation/README \
+ modules/system/documentation/c-snarf.scm \
+ modules/system/documentation/output.scm
+
+helper_modules = \
+ modules/gnutls/build/enums.scm \
+ modules/gnutls/build/smobs.scm \
+ modules/gnutls/build/utils.scm \
+ modules/gnutls/build/tests.scm
+
+EXTRA_DIST += modules/gnutls.in $(helper_modules) $(documentation_modules)
+
+CLEANFILES = modules/gnutls.scm
+
+.in.scm:
+ $(AM_V_GEN)$(MKDIR_P) "`dirname "$@"`" ; cat "$^" | \
+ $(SED) -e's|[@]maybe_guileextensiondir[@]|$(maybe_guileextensiondir)|g' \
+ > "$@.tmp"
+ $(AM_V_at)mv "$@.tmp" "$@"
+
+
+#
+# Scheme code compilation.
+#
+
+if HAVE_GUILD
+
+guilesiteccachesubdir = $(guilesiteccachedir)/gnutls
+nodist_guilesiteccache_DATA = modules/gnutls.go
+nodist_guilesiteccachesub_DATA = modules/gnutls/extra.go
+
+GOBJECTS = \
+ $(nodist_guilesiteccache_DATA) \
+ $(nodist_guilesiteccachesub_DATA)
+
+CLEANFILES += $(GOBJECTS)
+
+AM_V_GUILEC = $(AM_V_GUILEC_$(V))
+AM_V_GUILEC_ = $(AM_V_GUILEC_$(AM_DEFAULT_VERBOSITY))
+AM_V_GUILEC_0 = @echo " GUILEC " $@;
+
+if CROSS_COMPILING
+CROSS_COMPILING_VARIABLE = GNUTLS_GUILE_CROSS_COMPILING=yes
+else
+CROSS_COMPILING_VARIABLE =
+endif
+
+# Make sure 'gnutls.scm' is built first.
+# Unset 'GUILE_LOAD_COMPILED_PATH' so we can be sure that any .go file that we
+# load comes from the build directory.
+# XXX: Use the C locale for when Guile lacks
+# <https://git.sv.gnu.org/cgit/guile.git/commit/?h=stable-2.0&id=e2c6bf3866d1186c60bacfbd4fe5037087ee5e3f>.
+%.go: %.scm modules/gnutls.scm
+ $(AM_V_GUILEC)$(MKDIR_P) "`dirname "$@"`" ; \
+ $(AM_V_P) && out=1 || out=- ; \
+ unset GUILE_LOAD_COMPILED_PATH ; LC_ALL=C \
+ GUILE_AUTO_COMPILE=0 $(CROSS_COMPILING_VARIABLE) \
+ GNUTLS_GUILE_EXTENSION_DIR="$(abs_top_builddir)/guile/src" \
+ $(GUILD) compile --target="$(host)" \
+ -L "$(top_builddir)/guile/modules" \
+ -L "$(top_srcdir)/guile/modules" \
+ -Wformat -Wunbound-variable -Warity-mismatch \
+ -o "$@" "$<" >&$$out
+
+SUFFIXES = .go
+
+endif HAVE_GUILD
+
+
+#
+# Tests.
+#
+
+TESTS = \
+ tests/anonymous-auth.scm \
+ tests/session-record-port.scm \
+ tests/pkcs-import-export.scm \
+ tests/errors.scm \
+ tests/x509-certificates.scm \
+ tests/x509-auth.scm \
+ tests/reauth.scm \
+ tests/premature-termination.scm \
+ tests/priorities.scm
+
+if ENABLE_SRP
+TESTS += \
+ tests/srp-base64.scm
+endif
+
+TESTS_ENVIRONMENT = \
+ GUILE_AUTO_COMPILE=0 \
+ GUILE_WARN_DEPRECATED=detailed
+
+LOG_COMPILER = $(top_builddir)/guile/pre-inst-guile -L $(srcdir)/tests
+
+
+EXTRA_DIST += \
+ $(TESTS) \
+ tests/rsa-parameters.pem \
+ tests/dh-parameters.pem \
+ tests/x509-certificate.pem \
+ tests/x509-key.pem