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 @@ -43,9 +43,18 @@ CLEANFILES = modules/gnutls.scm +if ENABLE_SHARED +scm_static_fixup = +else +scm_static_fixup = \ + -e "1,/(unless (getenv \"GNUTLS_GUILE_CROSS_COMPILING\")/s|(unless (getenv \"GNUTLS_GUILE_CROSS_COMPILING\")|(when #f|" \ + -e "s|(unless (getenv \"GNUTLS_GUILE_CROSS_COMPILING\")|(when (module-variable (current-module) 'protocol/ssl3)|" +endif + .in.scm: $(AM_V_GEN)$(MKDIR_P) "`dirname "$@"`" ; cat "$^" | \ $(SED) -e's|[@]maybe_guileextensiondir[@]|$(maybe_guileextensiondir)|g' \ + $(scm_static_fixup) \ > "$@.tmp" $(AM_V_at)mv "$@.tmp" "$@" @@ -56,6 +65,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 +104,7 @@ -o "$@" "$<" >&$$out SUFFIXES = .go +endif ENABLE_SHARED endif HAVE_GUILD