SPDX-License-Identifier: GPL-3.0-or-later Make static/shared initialization deterministic from the build system only. Do not patch Scheme sources; rewrite generated gnutls.scm at build time. --- guile-gnutls-v5.0.1/configure.ac +++ guile-gnutls-v5.0.1/configure.ac @@ -508,6 +508,7 @@ fi AC_SUBST([maybe_guileextensiondir]) +AM_CONDITIONAL([ENABLE_SHARED], [test "x$enable_shared" != "xno"]) AM_CONDITIONAL([HAVE_GUILD], [test "x$GUILD" != "x"]) AM_CONDITIONAL([CROSS_COMPILING], [test "x$cross_compiling" = "xyes"]) AM_CONDITIONAL(HAVE_GCC_GNU89_INLINE_OPTION, test "$gnu89_inline" = "yes"]) --- guile-gnutls-v5.0.1/guile/Makefile.am +++ guile-gnutls-v5.0.1/guile/Makefile.am @@ -46,6 +46,8 @@ .in.scm: $(AM_V_GEN)$(MKDIR_P) "`dirname "$@"`" ; cat "$^" | \ $(SED) -e's|[@]maybe_guileextensiondir[@]|$(maybe_guileextensiondir)|g' \ + -e "1,/(unless (getenv \"GNUTLS_GUILE_CROSS_COMPILING\")/s|(unless (getenv \"GNUTLS_GUILE_CROSS_COMPILING\")|(unless (or (false-if-exception (dynamic-call \"scm_init_gnutls\" (dynamic-link #f))) (getenv \"GNUTLS_GUILE_CROSS_COMPILING\"))|" \ + -e "s|(unless (getenv \"GNUTLS_GUILE_CROSS_COMPILING\")|(when (module-variable (current-module) 'protocol/ssl3)|" \ > "$@.tmp" $(AM_V_at)mv "$@.tmp" "$@" @@ -56,6 +58,7 @@ if HAVE_GUILD +if ENABLE_SHARED guilesiteccachesubdir = $(guilesiteccachedir)/gnutls nodist_guilesiteccache_DATA = modules/gnutls.go nodist_guilesiteccachesub_DATA = modules/gnutls/extra.go @@ -94,6 +97,7 @@ -o "$@" "$<" >&$$out SUFFIXES = .go +endif ENABLE_SHARED endif HAVE_GUILD