mirror of
https://github.com/fosslinux/live-bootstrap.git
synced 2026-03-23 11:36:32 +01:00
fix(guile-gnutls): move static guile/artifact generation into automake and remove manual ar/gcc packaging
This commit is contained in:
parent
c2ecd887e9
commit
56f515400d
2 changed files with 54 additions and 46 deletions
|
|
@ -40,7 +40,6 @@ src_configure() {
|
|||
|
||||
src_compile() {
|
||||
local pkg_config_path guile_cflags guile_static_libs gnutls_cflags gnutls_static_libs
|
||||
local main_c
|
||||
|
||||
pkg_config_path="${LIBDIR}/pkgconfig:${PREFIX}/lib/pkgconfig:${PREFIX}/share/pkgconfig"
|
||||
guile_cflags="$(PKG_CONFIG_LIBDIR="${pkg_config_path}" PKG_CONFIG_PATH="${pkg_config_path}" \
|
||||
|
|
@ -58,48 +57,10 @@ src_compile() {
|
|||
GNUTLS_CFLAGS="${gnutls_cflags}" \
|
||||
GNUTLS_LIBS="${gnutls_static_libs}" \
|
||||
default_src_compile
|
||||
|
||||
mkdir -p static
|
||||
ar rcs static/libguile-gnutls-static.a \
|
||||
guile/src/.libs/core.o \
|
||||
guile/src/.libs/errors.o \
|
||||
guile/src/.libs/utils.o
|
||||
|
||||
main_c="static/guile-static-main.c"
|
||||
cat > "${main_c}" <<'EOF_C'
|
||||
#include <libguile.h>
|
||||
|
||||
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;
|
||||
}
|
||||
EOF_C
|
||||
|
||||
gcc -O2 -static ${guile_cflags} \
|
||||
-o static/guile \
|
||||
"${main_c}" \
|
||||
static/libguile-gnutls-static.a \
|
||||
${guile_static_libs} \
|
||||
${gnutls_static_libs}
|
||||
}
|
||||
|
||||
src_install() {
|
||||
default_src_install
|
||||
install -Dm755 static/guile "${DESTDIR}${PREFIX}/bin/guile"
|
||||
install -Dm644 static/libguile-gnutls-static.a \
|
||||
"${DESTDIR}${LIBDIR}/libguile-gnutls-static.a"
|
||||
}
|
||||
|
||||
src_postprocess() {
|
||||
|
|
|
|||
|
|
@ -1,13 +1,60 @@
|
|||
--- guile-gnutls-v5.0.1/guile/src/Makefile.am
|
||||
+++ guile-gnutls-v5.0.1/guile/src/Makefile.am
|
||||
@@ -46,6 +46,10 @@ guileextension_LTLIBRARIES = guile-gnutls-v-2.la
|
||||
# <https://lists.gnutls.org/pipermail/gnutls-devel/2014-December/007294.html>.
|
||||
guile_gnutls_v_2_la_LDFLAGS = -module -no-undefined
|
||||
@@ -23,7 +23,8 @@
|
||||
|
||||
+# When this specific libtool target is built directly, force generation of
|
||||
+# Automake built sources (e.g. enums.h) first.
|
||||
+guile-gnutls-v-2.la: $(BUILT_SOURCES)
|
||||
+
|
||||
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 = \
|
||||
@@ -45,10 +46,26 @@
|
||||
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_DEPENDENCIES = $(BUILT_SOURCES)
|
||||
guile_gnutls_v_2_la_LIBADD = \
|
||||
$(GNUTLS_LIBS) \
|
||||
$(GUILE_LDFLAGS)
|
||||
|
||||
+if !ENABLE_SHARED
|
||||
+lib_LIBRARIES = libguile-gnutls-static.a
|
||||
+libguile_gnutls_static_a_SOURCES = $(guile_gnutls_v_2_la_SOURCES)
|
||||
+libguile_gnutls_static_a_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
+libguile_gnutls_static_a_CFLAGS = $(guile_gnutls_v_2_la_CFLAGS)
|
||||
+libguile_gnutls_static_a_DEPENDENCIES = $(BUILT_SOURCES)
|
||||
+
|
||||
+bin_PROGRAMS = guile
|
||||
+guile_SOURCES = guile-static-main.c
|
||||
+guile_CPPFLAGS = $(AM_CPPFLAGS)
|
||||
+guile_CFLAGS = $(AM_CFLAGS) $(GNULIB_CFLAGS) $(GUILE_CFLAGS) $(GNUTLS_CFLAGS)
|
||||
+guile_LDFLAGS = -static
|
||||
+guile_LDADD = libguile-gnutls-static.a $(GUILE_LDFLAGS) $(GNUTLS_LIBS)
|
||||
+endif !ENABLE_SHARED
|
||||
+
|
||||
AM_CPPFLAGS = \
|
||||
-I$(top_srcdir)/lib/includes \
|
||||
-I$(top_builddir)/lib/includes \
|
||||
--- /dev/null
|
||||
+++ guile-gnutls-v5.0.1/guile/src/guile-static-main.c
|
||||
@@ -0,0 +1,18 @@
|
||||
+#include <libguile.h>
|
||||
+
|
||||
+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;
|
||||
+}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue