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() {
|
src_compile() {
|
||||||
local pkg_config_path guile_cflags guile_static_libs gnutls_cflags gnutls_static_libs
|
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"
|
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}" \
|
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_CFLAGS="${gnutls_cflags}" \
|
||||||
GNUTLS_LIBS="${gnutls_static_libs}" \
|
GNUTLS_LIBS="${gnutls_static_libs}" \
|
||||||
default_src_compile
|
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() {
|
src_install() {
|
||||||
default_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() {
|
src_postprocess() {
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,60 @@
|
||||||
--- guile-gnutls-v5.0.1/guile/src/Makefile.am
|
--- guile-gnutls-v5.0.1/guile/src/Makefile.am
|
||||||
+++ 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
|
@@ -23,7 +23,8 @@
|
||||||
# <https://lists.gnutls.org/pipermail/gnutls-devel/2014-December/007294.html>.
|
|
||||||
guile_gnutls_v_2_la_LDFLAGS = -module -no-undefined
|
|
||||||
|
|
||||||
+# When this specific libtool target is built directly, force generation of
|
EXTRA_DIST = \
|
||||||
+# Automake built sources (e.g. enums.h) first.
|
make-enum-map.scm make-smob-types.scm \
|
||||||
+guile-gnutls-v-2.la: $(BUILT_SOURCES)
|
- 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_SOURCES = core.c errors.c utils.c
|
||||||
guile_gnutls_v_2_la_CFLAGS = \
|
guile_gnutls_v_2_la_CFLAGS = \
|
||||||
$(AM_CFLAGS) $(GNULIB_CFLAGS) $(GUILE_CFLAGS) $(GNUTLS_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