--- 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 + +#if GSL_USE_GSL_GLIB +#include /* GSL just uses a certain subset of GLib */ +#else #include +#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); /*