[cig-commits] r15529 - in long/3D/SNAC/trunk/Snac: . VMake/Config VMake/Config/gsl

echoi at geodynamics.org echoi at geodynamics.org
Tue Aug 11 10:47:46 PDT 2009


Author: echoi
Date: 2009-08-11 10:47:46 -0700 (Tue, 11 Aug 2009)
New Revision: 15529

Added:
   long/3D/SNAC/trunk/Snac/VMake/Config/gsl-config.sh
   long/3D/SNAC/trunk/Snac/VMake/Config/gsl/
   long/3D/SNAC/trunk/Snac/VMake/Config/gsl/bin-conftest/
   long/3D/SNAC/trunk/Snac/VMake/Config/gsl/conftest.c
   long/3D/SNAC/trunk/Snac/VMake/Config/gsl/makefile
Modified:
   long/3D/SNAC/trunk/Snac/project-config.sh
Log:
GNU Scientific Library added as an optional package.



Added: long/3D/SNAC/trunk/Snac/VMake/Config/gsl/conftest.c
===================================================================
--- long/3D/SNAC/trunk/Snac/VMake/Config/gsl/conftest.c	                        (rev 0)
+++ long/3D/SNAC/trunk/Snac/VMake/Config/gsl/conftest.c	2009-08-11 17:47:46 UTC (rev 15529)
@@ -0,0 +1,31 @@
+#include <gsl/gsl_math.h>
+#include <gsl/gsl_eigen.h>
+
+#define DIM 3
+
+int
+main (void)
+{
+	double data[] = { 1.0  , 1/2.0, 1/3.0,
+			  1/2.0, 1/9.0, 1/4.0,
+			  1/3.0, 1/4.0, 1/5.0 };
+
+	gsl_matrix_view m 
+		= gsl_matrix_view_array (data, DIM, DIM);
+
+	gsl_vector *eval = gsl_vector_alloc (DIM);
+	gsl_matrix *evec = gsl_matrix_alloc (DIM, DIM);
+
+	gsl_eigen_symmv_workspace * w = 
+		gsl_eigen_symmv_alloc (DIM);
+
+  
+	gsl_eigen_symmv (&m.matrix, eval, evec, w); 
+
+	gsl_eigen_symmv_free (w);
+
+	gsl_vector_free (eval);
+	gsl_matrix_free (evec);
+  
+	return 0;
+}

Added: long/3D/SNAC/trunk/Snac/VMake/Config/gsl/makefile
===================================================================
--- long/3D/SNAC/trunk/Snac/VMake/Config/gsl/makefile	                        (rev 0)
+++ long/3D/SNAC/trunk/Snac/VMake/Config/gsl/makefile	2009-08-11 17:47:46 UTC (rev 15529)
@@ -0,0 +1,22 @@
+SHELL := /bin/bash
+PROJ_ROOT := $(shell until test -d ./VMake ; do cd .. ; done ; pwd)
+
+ifeq ($(shell if test -r ${PROJ_ROOT}/Makefile.system; then echo true; fi),true)
+	include ${PROJ_ROOT}/Makefile.system
+endif
+
+override RM_F=rm -f
+
+override USE_PDT=0
+
+bin = conftest 
+override BIN_DIR := $(shell pwd)
+override INC_DIR := $(shell pwd)
+override LIB_DIR := $(shell pwd)
+override TMP_DIR := $(shell pwd)
+
+SRCS = conftest.c
+
+packages = GSL
+
+include ${PROJ_ROOT}/Makefile.vmake

Added: long/3D/SNAC/trunk/Snac/VMake/Config/gsl-config.sh
===================================================================
--- long/3D/SNAC/trunk/Snac/VMake/Config/gsl-config.sh	                        (rev 0)
+++ long/3D/SNAC/trunk/Snac/VMake/Config/gsl-config.sh	2009-08-11 17:47:46 UTC (rev 15529)
@@ -0,0 +1,98 @@
+#!/bin/sh
+
+##  Copyright (C) 2005 Victorian Partnership for Advanced Computing (VPAC) Ltd
+##  110 Victoria Street, Melbourne, 3053, Australia.
+##
+##  This library is free software; you can redistribute it and/or
+##  modify it under the terms of the GNU Lesser General Public
+##  License as published by the Free Software Foundation; either
+##  version 2.1 of the License, or (at your option) any later version.
+##
+##  This library is distributed in the hope that it will be useful,
+##  but WITHOUT ANY WARRANTY; without even the implied warranty of
+##  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+##  Lesser General Public License for more details.
+##
+##  You should have received a copy of the GNU Lesser General Public
+##  License along with this library; if not, write to the Free Software
+##  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
+
+parsePackageConfigOptions $@
+
+# Obtain GNU Scientific Library information
+if test "${GSL_DIR}x" = "x"; then
+	case ${SYSTEM} in
+		Linux|CYGWIN|Darwin|SunOS|ranger)
+			setValueWithDefault GSL_DIR   "/usr";;
+		OSF1)
+			setValueWithDefault GSL_DIR   "/usr";;
+		*)
+			if test "${GSL_DIR}x" = "x" ; then
+				echo "Error: GSL_DIR for system \"${SYSTEM}\" unknown. Set the environment variable."
+				exit
+			fi;;
+	esac
+fi
+if test "${GSL_LIBDIR}x" = "x"; then
+	setValueWithDefault GSL_LIBDIR   '${GSL_DIR}/lib'
+fi
+if test "${GSL_INCDIR}x" = "x"; then
+	setValueWithDefault GSL_INCDIR   '${GSL_DIR}/include'
+fi
+
+# set depending on system. on most systems, just default to mpich
+if test "${GSL_LIBFILES}x" = "x"; then
+	GSL_LIBFILES='-lgsl -lgslcblas'
+	resolveVariable GSL_LIBRARY_FILE "${GSL_LIBDIR}/libgsl.a"
+	resolveVariable GSLCBLAS_LIBRARY_FILE "${GSL_LIBDIR}/libgslcblas.a"
+	if ! test -r ${GSL_LIBRARY_FILE}; then
+		resolveVariable GSL_LIBRARY_FILE "${GSL_LIBDIR}/libgsl.${SO_EXT}"
+		resolveVariable GSLCBLAS_LIBRARY_FILE "${GSL_LIBDIR}/libgslcblas.${SO_EXT}"
+	fi
+fi
+setValueWithDefault GSL_LIBFILES   "${GSL_LIBFILES}"
+
+case $CC_TYPE in
+	gnu)
+		case $SYSTEM in
+			Linux|CYGWIN)
+				setValueWithDefault GSL_RPATH '-Xlinker -rpath -Xlinker ${GSL_LIBDIR}';;
+			Darwin)
+				# Darwin doesn't support RPATH... use INSTALL NAME instead
+				setValueWithDefault GSL_RPATH '';;
+			OSF1)
+				setValueWithDefault GSL_RPATH '-Wl,-rpath,${GSL_LIBDIR}';;
+			SunOS)
+				setValueWithDefault GSL_RPATH '';; # Alan not conveienced it does it
+			*)
+				echo "Warning: GSL_RPATH for C compiler \"${CC_TYPE}\" unknown for system \"${SYSTEM}\"";;
+		esac ;;
+	osf)
+		# NOTE: This may not work... I think only ONE rpath arguement is accepted/read.
+		setValueWithDefault GSL_RPATH '-rpath ${GSL_LIBDIR}';;
+	intel)
+		setValueWithDefault GSL_RPATH '-Xlinker -rpath -Xlinker ${GSL_LIBDIR}';;
+	sparc)
+		setValueWithDefault GSL_RPATH '-R ${GSL_LIBDIR}';;
+	ibmxl)
+		setValueWithDefault GSL_RPATH '-R ${GSL_LIBDIR}';;
+	pgi)
+		setValueWithDefault GSL_RPATH '-Wl,-rpath,${GSL_LIBDIR}';;
+	*)
+		echo "Warning: GSL_RPATH for C compiler \"${CC_TYPE}\" unknown";;
+esac
+
+case ${SYSTEM} in
+	*)
+		setValueWithDefault GSL_LIBS   '-L${GSL_LIBDIR} ${GSL_LIBFILES}'
+		setValueWithDefault GSL_INCLUDES '-I${GSL_INCDIR} -DHAVE_GSL';;
+esac
+
+warnIfNotValidFile ${GSL_DIR} gsl "GNU Scientific Library (GSL)" GSL_DIR
+warnIfNotValidFile ${GSL_INCDIR}/gsl/gsl_math.h "GNU Scientific Library (GSL)" GSL_INCDIR "GSL_DIR"
+warnIfNotValidFile ${GSL_LIBDIR}/libgsl.a "GNU Scientific Library (GSL)" GSL_LIBDIR "GSL_DIR" 
+if ! DoCompileConftest ./VMake/Config/gsl; then
+	exitWithErrorIfNotOptionalWithMessage "GNU Scientific Library (GSL)" ${GSL_DIR}
+fi
+
+setValue HAVE_GSL '1'


Property changes on: long/3D/SNAC/trunk/Snac/VMake/Config/gsl-config.sh
___________________________________________________________________
Name: svn:executable
   + *

Modified: long/3D/SNAC/trunk/Snac/project-config.sh
===================================================================
--- long/3D/SNAC/trunk/Snac/project-config.sh	2009-08-11 17:47:36 UTC (rev 15528)
+++ long/3D/SNAC/trunk/Snac/project-config.sh	2009-08-11 17:47:46 UTC (rev 15529)
@@ -53,5 +53,6 @@
 . ./VMake/Config/mpi-config.sh
 . ./VMake/Config/xml-config.sh
 . ./VMake/Config/StGermain-config.sh
+. ./VMake/Config/gsl-config.sh --optional
 ## . ./VMake/Config/python-config.sh --optional
 



More information about the CIG-COMMITS mailing list