Blob Blame History Raw
--- arts-1.3.92/flow/gsl/gslglib.h.glib	2003-07-10 14:14:17.000000000 +0200
+++ arts-1.3.92/flow/gsl/gslglib.h	2005-02-14 17:30:12.406094625 +0100
@@ -505,7 +505,7 @@
  * glibconfig.h may have already defined G_VA_COPY as va_copy or __va_copy.
  */
 #if !defined (G_VA_COPY)
-#  if defined (__GNUC__) && ( defined (__PPC__) || defined (__s390__) ) && (defined (_CALL_SYSV) || defined (_WIN32) || defined (__s390__) )
+#  if defined (__GNUC__) && ( defined (__PPC__) || defined (__s390__) || defined(__x86_64__) ) && (defined (_CALL_SYSV) || defined (_WIN32) || defined (__s390__) || defined(__x86_64__) )
 #    define G_VA_COPY(ap1, ap2)   (*(ap1) = *(ap2))
 #  elif defined (G_VA_COPY_AS_ARRAY)
 #    define G_VA_COPY(ap1, ap2)   g_memmove ((ap1), (ap2), sizeof (va_list))
--- arts-1.3.92/flow/gsl/gsldefs.h.glib	2003-03-14 18:28:09.000000000 +0100
+++ arts-1.3.92/flow/gsl/gsldefs.h	2005-02-14 17:30:12.407094477 +0100
@@ -21,7 +21,12 @@
 
 /* configure checks */
 #include <gsl/gslconfig.h>
+
+#if	GSL_USE_GSL_GLIB
+#include <gsl/gslglib.h>	/* GSL just uses a certain subset of GLib */
+#else
 #include <glib.h>
+#endif
 
 #ifdef __cplusplus
 extern "C" {
--- arts-1.3.92/flow/gsl/Makefile.am.glib	2005-02-03 11:19:06.000000000 +0100
+++ arts-1.3.92/flow/gsl/Makefile.am	2005-02-14 17:45:00.666840346 +0100
@@ -6,18 +6,20 @@
 gslincludedir=$(includedir)/arts/gsl
 include gslmakefile.inc
 
+gsl_public_headers += gslglib.h gslartsthreads.h
+
 INCLUDES = -I$(top_srcdir)/flow -I$(top_builddir)/flow -I$(top_srcdir)/mcop -I$(top_builddir)/mcop -I$(top_builddir) $(all_includes)
 AM_CFLAGS = $(GSL_CFLAGS)
 
 noinst_LTLIBRARIES = libgsl.la
 
-libgsl_la_SOURCES = $(GSL_C_SRC) gslfilehash.c gslartsthreads.cc
-libgsl_la_LIBADD = $(top_builddir)/mcop/libmcop.la -lm $(LIBPOSIX4) $(GSL_LIBS) $(LIB_POLL) $(GLIB_LIBADD)
-libgsl_la_LDFLAGS = -no-undefined $(all_libraries)
+libgsl_la_SOURCES = $(GSL_C_SRC) gslglib.c gslglibhash.cc gslartsthreads.cc gslfilehash.c
+libgsl_la_LIBADD = $(top_builddir)/mcop/libmcop.la -lm $(LIBPOSIX4) $(GSL_LIBS) $(LIB_POLL)
+libgsl_la_LDFLAGS = -no-undefined
 
 #noinst_PROGRAMS = $(GSL_NOINST_PROGS)
 
-GSL_progs_ldadd = libgsl.la -lm $(LIBPTHREAD)
+GSL_progs_ldadd = libgsl.la
 
 GSL_cc_dummy = dummy.cc
 $(srcdir)/dummy.cc: gslconfig.h
--- arts-1.3.92/flow/gsl/gslengine.c.glib	2003-07-06 00:20:22.000000000 +0200
+++ arts-1.3.92/flow/gsl/gslengine.c	2005-02-14 17:30:12.411093886 +0100
@@ -672,7 +672,7 @@
 
   if (gsl_engine_threaded)
     {
-      if (!g_thread_supported ()) g_thread_init (NULL);
+      g_thread_init (NULL);
       master_thread = gsl_thread_new (_engine_master_thread, NULL);
       if (0)
 	gsl_thread_new (slave, NULL);
--- arts-1.3.92/flow/gsl/gslwchunk.c.glib	2003-10-24 11:06:07.000000000 +0200
+++ arts-1.3.92/flow/gsl/gslwchunk.c	2005-02-14 17:30:12.408094329 +0100
@@ -199,8 +199,7 @@
   };
   gint i, j, k;
 
-  if (!g_thread_supported ())
-    g_thread_init (NULL);
+  g_thread_init (NULL);
   gsl_init (gslconfig, NULL);
 
   if (1)
--- arts-1.3.92/flow/gsl/gsltests.c.glib	2005-02-03 11:19:06.000000000 +0100
+++ arts-1.3.92/flow/gsl/gsltests.c	2005-02-14 17:30:12.394096398 +0100
@@ -72,8 +72,7 @@
   shift_argc = argc;
   shift_argv = (gchar **)argv;
 
-  if (!g_thread_supported ())
-      g_thread_init (NULL);
+  g_thread_init (NULL);
   gsl_init (NULL, NULL);
 
   arg = shift ();
--- arts-1.3.92/flow/gsl/gslmakefile.inc.glib	2005-02-03 11:19:06.000000000 +0100
+++ arts-1.3.92/flow/gsl/gslmakefile.inc	2005-02-14 17:42:06.202620136 +0100
@@ -5,6 +5,8 @@
 #
 # this makefile supports:
 #
+# GSL_cc_dummy		define to an empty .cc file if your linker needs to
+#			link GSL object files as c++ code
 # GSL_progs_ldadd	add link options to this varibale, which are required
 #			to link GSL_NOINST_PROGS targets
 # gslincludedir		directory to install public headers into if not empty
@@ -31,30 +33,43 @@
 GSL_EXTRA_DAT = gsl.gnuplot gsl-mplan.txt gslarrows gslwave.header gslglib.c gslglib.h gsl-fftgen.pl
 EXTRA_DIST   +=	$(GSL_H_SRC) $(GSL_EXTRA_SRC) $(GSL_EXTRA_DAT)
 
-GSL_NOINST_PROGS = gslwchunk gsltests gslffttest
-gslwchunk_SOURCES = gslwchunk.c
+GSL_NOINST_PROGS = gslwchunk gsltests gslffttest gslglibhashtest
+gslwchunk_SOURCES = gslwchunk.c $(GSL_cc_dummy)
 gslwchunk_LDADD = $(GSL_progs_ldadd)
 gslwchunk_LDFLAGS = $(USE_THREADS)
-gsltests_SOURCES = gsltests.c
+gsltests_SOURCES = gsltests.c $(GSL_cc_dummy)
 gsltests_LDADD = $(GSL_progs_ldadd)
 gsltests_LDFLAGS = $(USE_THREADS)
-gslffttest_SOURCES = gslffttest.c
+gslffttest_SOURCES = gslffttest.c $(GSL_cc_dummy)
 gslffttest_LDADD = $(GSL_progs_ldadd)
 gslffttest_LDFLAGS = $(USE_THREADS)
+gslglibhashtest_SOURCES = gslglibhashtest.cc # C++ already
+gslglibhashtest_LDADD = $(GSL_progs_ldadd)
+gslglibhashtest_LDFLAGS = $(USE_THREADS)
 
 $(srcdir)/gslfft.c: $(srcdir)/gsl-fftgen.pl $(srcdir)/gsl-fftconf.sh
-	cd $(srcdir) && ./gsl-fftconf.sh 'perl ./gsl-fftgen.pl' \"gslfft.h\" >gslfft.c
+	cd $(srcdir) && ./gsl-fftconf.sh '$PERL ./gsl-fftgen.pl' \"gslfft.h\" >gslfft.c
 MAINTAINERCLEANFILES += gslfft.c
 
 $(srcdir)/gslwchunk.c: gslconfig.h
 $(srcdir)/gsltests.c: gslconfig.h
 $(srcdir)/gslffttest.c: gslconfig.h
-# $(OBJECTS): gslconfig.h
+$(srcdir)/gslglibhashtest.cc: gslconfig.h
+# $(OBJECTS): gslconfig.
 
-gsl_public_HEADERS = $(GSL_H_SRC) gslconfig.h
-gsl_publicdir = $(gslincludedir)
+gsl_public_headers = $(GSL_H_SRC) gslconfig.h
 
-.PHONY:	gsltestoutput 
+install-data-local: gsl-install-data-local
+gsl-install-data-local:
+	$(mkinstalldirs) $(DESTDIR)$(gslincludedir)
+	@list='$(gsl_public_headers)'; \
+	test -z "$(gslincludedir)" || for hfile in $$list ; do \
+		if test -f "$$hfile"; then d= ; else d="$(srcdir)/"; fi; \
+		echo " $(INSTALL_DATA) $$d$$hfile $(DESTDIR)$(gslincludedir)/$$hfile"; \
+		$(INSTALL_DATA) $$d$$hfile $(DESTDIR)$(gslincludedir)/$$hfile; \
+	done
+
+.PHONY: gsltestoutput gsl-install-data-local
 
 gsltestoutput:
 	@./gsltests blp     7 0.3		0.1211
--- arts-1.3.92/flow/gsl/gslffttest.c.glib	2003-06-15 15:14:54.000000000 +0200
+++ arts-1.3.92/flow/gsl/gslffttest.c	2005-02-14 17:30:12.407094477 +0100
@@ -59,8 +59,7 @@
   guint i;
 
   /* initialize GSL */
-  if (!g_thread_supported ())
-      g_thread_init (NULL);
+  g_thread_init (NULL);
   gsl_init (NULL, NULL);
 
   /* initialize random numbers */
--- arts-1.3.92/flow/gslschedule.cc.glib	2004-06-06 21:58:54.000000000 +0200
+++ arts-1.3.92/flow/gslschedule.cc	2005-02-14 17:30:12.418092852 +0100
@@ -847,8 +847,7 @@
 		};
 		gsl_is_initialized = true;
 
-		if (!g_thread_supported ())
-			g_thread_init(0);
+		g_thread_init(0);
 		gsl_init(values, (GslMutexTable *)gslGlobalMutexTable);
 
 		/*