--- guile-gnutls-v5.0.1/guile/src/Makefile.am +++ guile-gnutls-v5.0.1/guile/src/Makefile.am @@ -23,7 +23,8 @@ EXTRA_DIST = \ make-enum-map.scm make-smob-types.scm \ - make-enum-header.scm make-smob-header.scm + make-enum-header.scm make-smob-header.scm \ + guile-static-main.c # Files generated by the (gnutls build ...) modules. GENERATED_BINDINGS = \ @@ -35,6 +36,10 @@ CLEANFILES = $(BUILT_SOURCES) +guile_gnutls_common_cflags = \ + $(AM_CFLAGS) $(GNULIB_CFLAGS) $(GUILE_CFLAGS) $(GNUTLS_CFLAGS) + +if ENABLE_SHARED guileextension_LTLIBRARIES = guile-gnutls-v-2.la # Use '-module' to build a "dlopenable module", in Libtool terms. @@ -43,12 +48,26 @@ guile_gnutls_v_2_la_LDFLAGS = -module -no-undefined guile_gnutls_v_2_la_SOURCES = core.c errors.c utils.c -guile_gnutls_v_2_la_CFLAGS = \ - $(AM_CFLAGS) $(GNULIB_CFLAGS) $(GUILE_CFLAGS) $(GNUTLS_CFLAGS) +guile_gnutls_v_2_la_CFLAGS = $(guile_gnutls_common_cflags) +guile_gnutls_v_2_la_DEPENDENCIES = $(BUILT_SOURCES) guile_gnutls_v_2_la_LIBADD = \ $(GNUTLS_LIBS) \ $(GUILE_LDFLAGS) +else +lib_LIBRARIES = libguile-gnutls-static.a +libguile_gnutls_static_a_SOURCES = core.c errors.c utils.c +libguile_gnutls_static_a_CPPFLAGS = $(AM_CPPFLAGS) +libguile_gnutls_static_a_CFLAGS = $(guile_gnutls_common_cflags) +libguile_gnutls_static_a_DEPENDENCIES = $(BUILT_SOURCES) +bin_PROGRAMS = guile +guile_SOURCES = guile-static-main.c +guile_CPPFLAGS = $(AM_CPPFLAGS) +guile_CFLAGS = $(guile_gnutls_common_cflags) +guile_LDFLAGS = -static +guile_LDADD = libguile-gnutls-static.a $(GUILE_LDFLAGS) $(GNUTLS_LIBS) +endif + AM_CPPFLAGS = \ -I$(top_srcdir)/lib/includes \ -I$(top_builddir)/lib/includes \ @@ -102,7 +121,7 @@ # `$(GUILE_CFLAGS)' may contain a series of `-I' switches so it must be # included here, even though we'd really want `$(GUILE_CPPFLAGS)'. snarfcppopts = $(DEFS) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ - $(CFLAGS) $(guile_gnutls_v_2_la_CFLAGS) + $(CFLAGS) $(guile_gnutls_common_cflags) # Note: we cannot use the portable ".c.x" form, since that leads # prerequisites to be ignored: --- /dev/null +++ guile-gnutls-v5.0.1/guile/src/guile-static-main.c @@ -0,0 +1,18 @@ +#include + +void scm_init_gnutls(void); + +static void +inner_main(void *closure, int argc, char **argv) +{ + (void) closure; + scm_init_gnutls(); + scm_shell(argc, argv); +} + +int +main(int argc, char **argv) +{ + scm_boot_guile(argc, argv, inner_main, NULL); + return 0; +}