From: Raymond T. <rt...@us...> - 2012-03-15 05:57:54
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "matlisp". The branch, master has been updated via 55a0678924a585263937fdff69c5d522f1589d7a (commit) via ced92c7a0cbf00be10fd0dff010a4768130da9c1 (commit) via 74e3f184bf5e3b0974d145a823b4f86e33e00a1a (commit) via 45962c22d9931aa0961dca11931b50d884e3ec01 (commit) from 8a2722a7452cac1de3edd5fc8cc65d97c0d1a0a8 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 55a0678924a585263937fdff69c5d522f1589d7a Author: Raymond Toy <toy...@gm...> Date: Wed Mar 14 22:57:39 2012 -0700 Regenerated. diff --git a/configure b/configure index 35ee372..2c91c83 100755 --- a/configure +++ b/configure @@ -15236,6 +15236,82 @@ else fi +# Check to see if the ATLAS libraries are compatible with matlisp's +# ffi. Basically the same test as above that checks to see if -ff2c +# is needed. We call zdotu which is a Fortran function returning a +# complex number. Matlisp assumes such functions return the result by +# storing the answer at address given by a hidden first parameter to +# the function. + +if test x"$atlas" = xtrue; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking if ATLAS is compatible with f2c calling conventions" >&5 +$as_echo_n "checking if ATLAS is compatible with f2c calling conventions... " >&6; } + # From the value of f77_name, figure out the actual name for + # Fortran's zdotu. + case $f77_name in + F77*) case $f77_name in + F77_NAME) ZDOTU="ZDOTU" ;; + F77_NAME_) ZDOTU="ZDOTU_" ;; + F77_NAME__) ZDOTU="ZDOTU_" ;; + esac + ;; + f77*) case $f77_name in + f77_name) ZDOTU="zdotu" ;; + f77_name_) ZDOTU="zdotu_" ;; + f77_name__) ZDOTU="zdotu_" ;; + esac + ;; + esac + + cat > conftest.c <<EOF + +#include <stdio.h> +#include <math.h> + +extern void ${ZDOTU}(double *, int *, double *, int *, double *, int *); + +int main() +{ + int rc; + + int n = 2; + int incx = 1; + double x[4]; + double out[2]; + x[0] = 1; + x[1] = 0; + x[2] = 2; + x[3] = 0; + out[0] = 0; + out[1] = 0; + + ${ZDOTU}(out, &n, x, &incx, x, &incx); + + if (fabs(out[0] - 5) < 1e-10) { + rc = 0; + } else { + printf("Actual output = %lg, %lg, instead of 5, 0\n", out[0], out[1]); + rc = 1; + } + + return rc; +} + +EOF + $CC $CFLAGS -c conftest.c + $F77 $FFLAGS -o a.out conftest.o -L${ATLAS_DIR} -latlas -lcblas -lf77blas -llapack + if a.out; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + F2C=-ff2c + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + F2C="" + fi +fi + +# The following variables will be substituted into the .in files commit ced92c7a0cbf00be10fd0dff010a4768130da9c1 Author: Raymond Toy <toy...@gm...> Date: Wed Mar 14 22:57:28 2012 -0700 Put back the check for ATLAS compatible with f2c conventions. We need to know this to compile the libmatisp compatibility function correctly because it calls zdotu/c. diff --git a/configure.ac b/configure.ac index ef543fb..9bbb440 100644 --- a/configure.ac +++ b/configure.ac @@ -314,78 +314,79 @@ AC_HELP_STRING([--with-atlas=libpath], [Location of the ATLAS libraries]), ]) AM_CONDITIONAL([ATLAS], [test x$atlas = xtrue]) -dnl # Check to see if the ATLAS libraries are compatible with matlisp's -dnl # ffi. Basically the same test as above that checks to see if -ff2c -dnl # is needed. We call zdotu which is a Fortran function returning a -dnl # complex number. Matlisp assumes such functions return the result by -dnl # storing the answer at address given by a hidden first parameter to -dnl # the function. -dnl -dnl if test x"$atlas" = xtrue; then -dnl AC_MSG_CHECKING([if ATLAS is compatible with matlisp's FFI]) -dnl # From the value of f77_name, figure out the actual name for -dnl # Fortran's zdotu. -dnl case $f77_name in -dnl F77*) case $f77_name in -dnl F77_NAME) ZDOTU="ZDOTU" ;; -dnl F77_NAME_) ZDOTU="ZDOTU_" ;; -dnl F77_NAME__) ZDOTU="ZDOTU_" ;; -dnl esac -dnl ;; -dnl f77*) case $f77_name in -dnl f77_name) ZDOTU="zdotu" ;; -dnl f77_name_) ZDOTU="zdotu_" ;; -dnl f77_name__) ZDOTU="zdotu_" ;; -dnl esac -dnl ;; -dnl esac -dnl -dnl cat > conftest.c <<EOF -dnl [ -dnl #include <stdio.h> -dnl #include <math.h> -dnl -dnl extern void ${ZDOTU}(double *, int *, double *, int *, double *, int *); -dnl -dnl int main() -dnl { -dnl int rc; -dnl -dnl int n = 2; -dnl int incx = 1; -dnl double x[4]; -dnl double out[2]; -dnl x[0] = 1; -dnl x[1] = 0; -dnl x[2] = 2; -dnl x[3] = 0; -dnl out[0] = 0; -dnl out[1] = 0; -dnl -dnl ${ZDOTU}(out, &n, x, &incx, x, &incx); -dnl -dnl if (fabs(out[0] - 5) < 1e-10) { -dnl rc = 0; -dnl } else { -dnl printf("Actual output = %lg, %lg, instead of 5, 0\n", out[0], out[1]); -dnl rc = 1; -dnl } -dnl -dnl return rc; -dnl } -dnl ] -dnl EOF -dnl $CC $CFLAGS -c conftest.c -dnl $F77 $FFLAGS -o a.out conftest.o -L${ATLAS_DIR} -latlas -lcblas -lf77blas -llapack -dnl if a.out; then -dnl AC_MSG_RESULT([yes]) -dnl else -dnl AC_MSG_RESULT([no]) -dnl AC_MSG_ERROR([ATLAS libraries are not compatible with matlisp.]) -dnl fi -dnl fi -dnl -dnl The following variables will be substituted into the .in files +# Check to see if the ATLAS libraries are compatible with matlisp's +# ffi. Basically the same test as above that checks to see if -ff2c +# is needed. We call zdotu which is a Fortran function returning a +# complex number. Matlisp assumes such functions return the result by +# storing the answer at address given by a hidden first parameter to +# the function. + +if test x"$atlas" = xtrue; then + AC_MSG_CHECKING([if ATLAS is compatible with f2c calling conventions]) + # From the value of f77_name, figure out the actual name for + # Fortran's zdotu. + case $f77_name in + F77*) case $f77_name in + F77_NAME) ZDOTU="ZDOTU" ;; + F77_NAME_) ZDOTU="ZDOTU_" ;; + F77_NAME__) ZDOTU="ZDOTU_" ;; + esac + ;; + f77*) case $f77_name in + f77_name) ZDOTU="zdotu" ;; + f77_name_) ZDOTU="zdotu_" ;; + f77_name__) ZDOTU="zdotu_" ;; + esac + ;; + esac + + cat > conftest.c <<EOF +[ +#include <stdio.h> +#include <math.h> + +extern void ${ZDOTU}(double *, int *, double *, int *, double *, int *); + +int main() +{ + int rc; + + int n = 2; + int incx = 1; + double x[4]; + double out[2]; + x[0] = 1; + x[1] = 0; + x[2] = 2; + x[3] = 0; + out[0] = 0; + out[1] = 0; + + ${ZDOTU}(out, &n, x, &incx, x, &incx); + + if (fabs(out[0] - 5) < 1e-10) { + rc = 0; + } else { + printf("Actual output = %lg, %lg, instead of 5, 0\n", out[0], out[1]); + rc = 1; + } + + return rc; +} +] +EOF + $CC $CFLAGS -c conftest.c + $F77 $FFLAGS -o a.out conftest.o -L${ATLAS_DIR} -latlas -lcblas -lf77blas -llapack + if a.out; then + AC_MSG_RESULT([yes]) + F2C=-ff2c + else + AC_MSG_RESULT([no]) + F2C="" + fi +fi + +# The following variables will be substituted into the .in files AC_SUBST(LISPEXEC) AC_SUBST(BLAS_OBJS) AC_SUBST(NO_ATLAS_LAPACK_OBJS) @@ -404,7 +405,7 @@ AC_SUBST(FLIBS_OPTS) AC_SUBST(share_ext) AC_SUBST(GIT_VERSION) AC_SUBST(HAVE_QL) -dnl AC_SUBST(F2C) +AC_SUBST(F2C) echo host = $host commit 74e3f184bf5e3b0974d145a823b4f86e33e00a1a Author: Raymond Toy <toy...@gm...> Date: Wed Mar 14 22:56:23 2012 -0700 Load matlisp after loading all the rest of the libraries. diff --git a/lib/lazy-loader.lisp.in b/lib/lazy-loader.lisp.in index d558183..ba1296c 100644 --- a/lib/lazy-loader.lisp.in +++ b/lib/lazy-loader.lisp.in @@ -180,8 +180,8 @@ ) (t (cffi:use-foreign-library blas) - (cffi:use-foreign-library matlisp) - (cffi:use-foreign-library lapack)))) + (cffi:use-foreign-library lapack) + (cffi:use-foreign-library matlisp)))) #+:allegro (defun load-blas-&-lapack-libraries () commit 45962c22d9931aa0961dca11931b50d884e3ec01 Author: Raymond Toy <toy...@gm...> Date: Wed Mar 14 22:55:54 2012 -0700 Don't need the dependency on libblas. diff --git a/lib-src/compat/Makefile.am b/lib-src/compat/Makefile.am index afa1180..95a71cd 100644 --- a/lib-src/compat/Makefile.am +++ b/lib-src/compat/Makefile.am @@ -5,8 +5,8 @@ if LIB32 AM_FFLAGS += -m32 endif -libmatlisp_la_LDFLAGS = ../../LAPACK/BLAS/SRC/libblas.la $(FLIBS_OPTS) -libmatlisp_la_LIBADD = $(FLIBS) +libmatlisp_la_LDFLAGS = $(FLIBS_OPTS) +libmatlisp_la_LIBADD = $(FLIBS_LIBS) libmatlisp_la_SOURCES = \ compat.f ----------------------------------------------------------------------- Summary of changes: configure | 76 +++++++++++++++++++++++ configure.ac | 147 ++++++++++++++++++++++---------------------- lib-src/compat/Makefile.am | 4 +- lib/lazy-loader.lisp.in | 4 +- 4 files changed, 154 insertions(+), 77 deletions(-) hooks/post-receive -- matlisp |