changeset 844:80738f6f27a0

new package: guile
author Volker Grabsch <vog@notjusthosting.com>
date Sat, 10 Apr 2010 08:27:23 +0200
parents 1c974975ef2c
children 772383070e1e
files src/guile-test.c src/guile-win32.patch src/guile.mk
diffstat 3 files changed, 135 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/guile-test.c	Sat Apr 10 08:27:23 2010 +0200
@@ -0,0 +1,18 @@
+/* This file is part of mingw-cross-env.       */
+/* See doc/index.html for further information. */
+
+#include <libguile.h>
+
+static void inner_main(void *data, int argc, char *argv[])
+{
+    (void)data;
+    (void)argc;
+    (void)argv;
+    scm_c_eval_string("(display \"Hello World!\\n\")");
+}
+
+int main(int argc, char *argv[])
+{
+    scm_boot_guile(argc, argv, inner_main, NULL);
+    return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/guile-win32.patch	Sat Apr 10 08:27:23 2010 +0200
@@ -0,0 +1,81 @@
+This file is part of mingw-cross-env.
+See doc/index.html for further information.
+
+diff -ruN guile-1.8.7.orig/configure guile-1.8.7/configure
+--- guile-1.8.7.orig/configure	2009-07-05 22:25:00.000000000 +0200
++++ guile-1.8.7/configure	2010-04-10 07:35:25.000000000 +0200
+@@ -35057,6 +35057,7 @@
+ $as_echo_n "checking whether pthread_attr_getstack works for the main thread... " >&6; }
+ old_CFLAGS="$CFLAGS"
+ CFLAGS="$PTHREAD_CFLAGS $CFLAGS"
++if test "$cross_compiling" = "no"; then
+ if test "$cross_compiling" = yes; then
+   { { $as_echo "$as_me:$LINENO: error: in \`$ac_pwd':" >&5
+ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+@@ -35140,6 +35141,9 @@
+ fi
+ 
+ 
++else
++works=no
++fi
+ CFLAGS="$old_CFLAGS"
+ { $as_echo "$as_me:$LINENO: result: $works" >&5
+ $as_echo "$works" >&6; }
+diff -ruN guile-1.8.7.orig/configure.in guile-1.8.7/configure.in
+--- guile-1.8.7.orig/configure.in	2009-07-05 20:40:06.000000000 +0200
++++ guile-1.8.7/configure.in	2010-04-10 07:27:37.000000000 +0200
+@@ -1374,6 +1374,7 @@
+ AC_MSG_CHECKING(whether pthread_attr_getstack works for the main thread)
+ old_CFLAGS="$CFLAGS"
+ CFLAGS="$PTHREAD_CFLAGS $CFLAGS"
++if test "$cross_compiling" = "no"; then
+ AC_RUN_IFELSE([AC_LANG_SOURCE([[
+ #if HAVE_PTHREAD_ATTR_GETSTACK
+ #include <pthread.h>
+@@ -1404,6 +1405,9 @@
+ AC_DEFINE(PTHREAD_ATTR_GETSTACK_WORKS, [1], [Define when pthread_att_get_stack works for the main thread])],
+ [works=no],
+ [])
++else
++works=no
++fi
+ CFLAGS="$old_CFLAGS"
+ AC_MSG_RESULT($works)
+ 
+diff -ruN guile-1.8.7.orig/guile-readline/configure guile-1.8.7/guile-readline/configure
+--- guile-1.8.7.orig/guile-readline/configure	2009-07-05 22:24:45.000000000 +0200
++++ guile-1.8.7/guile-readline/configure	2010-04-10 07:36:18.000000000 +0200
+@@ -12353,7 +12353,7 @@
+ fi
+ 
+ 
+-for termlib in ncurses curses termcap terminfo termlib ; do
++for termlib in ncurses curses termcap terminfo termlib pdcurses ; do
+    as_ac_Lib=`$as_echo "ac_cv_lib_${termlib}''_tgoto" | $as_tr_sh`
+ { $as_echo "$as_me:$LINENO: checking for tgoto in -l${termlib}" >&5
+ $as_echo_n "checking for tgoto in -l${termlib}... " >&6; }
+diff -ruN guile-1.8.7.orig/guile-readline/configure.in guile-1.8.7/guile-readline/configure.in
+--- guile-1.8.7.orig/guile-readline/configure.in	2009-07-04 00:19:22.000000000 +0200
++++ guile-1.8.7/guile-readline/configure.in	2010-04-10 07:13:43.000000000 +0200
+@@ -33,7 +33,7 @@
+ fi
+ AC_SUBST(EXTRA_DEFS)
+ 
+-for termlib in ncurses curses termcap terminfo termlib ; do
++for termlib in ncurses curses termcap terminfo termlib pdcurses ; do
+    AC_CHECK_LIB(${termlib}, tgoto,
+                 [LIBS="-l${termlib} $LIBS"; break])
+ done
+diff -ruN guile-1.8.7.orig/libguile/__scm.h guile-1.8.7/libguile/__scm.h
+--- guile-1.8.7.orig/libguile/__scm.h	2009-07-04 00:18:59.000000000 +0200
++++ guile-1.8.7/libguile/__scm.h	2010-04-10 07:58:48.000000000 +0200
+@@ -150,7 +150,7 @@
+    which should be exported or imported in the resulting dynamic link
+    library (DLL) in the Win32 port. */
+ 
+-#if defined (SCM_IMPORT)
++#if defined (SCM_IMPORT) && defined (USE_DLL_IMPORT)
+ # define SCM_API __declspec (dllimport) extern
+ #elif defined (SCM_EXPORT) || defined (DLL_EXPORT)
+ # define SCM_API __declspec (dllexport) extern
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/guile.mk	Sat Apr 10 08:27:23 2010 +0200
@@ -0,0 +1,36 @@
+# This file is part of mingw-cross-env.
+# See doc/index.html for further information.
+
+# GNU Guile
+PKG             := guile
+$(PKG)_IGNORE   :=
+$(PKG)_VERSION  := 1.8.7
+$(PKG)_CHECKSUM := 24cd2f06439c76d41d982a7384fe8a0fe5313b54
+$(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
+$(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
+$(PKG)_WEBSITE  := http://www.gnu.org/software/$(PKG)/
+$(PKG)_URL      := http://ftp.gnu.org/gnu/$(PKG)/$($(PKG)_FILE)
+$(PKG)_DEPS     := gcc libtool gmp libiconv gettext readline
+
+define $(PKG)_UPDATE
+    wget -q -O- 'http://git.savannah.gnu.org/gitweb/?p=$(PKG).git;a=tags' | \
+    grep '<a class="list subject"' | \
+    $(SED) -n 's,.*<a[^>]*>[^0-9>]*\([0-9][^< ]*\)\.<.*,\1,p' | \
+    head -1
+endef
+
+define $(PKG)_BUILD
+    cd '$(1)' && ./configure \
+        --host='$(TARGET)' \
+        --prefix='$(PREFIX)/$(TARGET)' \
+        --disable-shared \
+        --with-threads \
+        LIBS='-lintl -liconv'
+    $(MAKE) -C '$(1)' -j '$(JOBS)'
+    $(MAKE) -C '$(1)' -j 1 install
+
+    '$(TARGET)-gcc' \
+        -W -Wall -Werror -ansi -pedantic \
+        '$(2).c' -o '$(PREFIX)/$(TARGET)/bin/test-guile.exe' \
+        `'$(TARGET)-pkg-config' guile-1.8 --cflags --libs`
+endef