octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: OSX blas wrapper for release (plans for release)


From: Richard Campbell
Subject: Re: OSX blas wrapper for release (plans for release)
Date: Sat, 12 Feb 2011 13:32:49 -0500

On Feb 7, 2011, at 7:05 AM, Jarno Rajahalme wrote:

> 
> On Feb 6, 2011, at 22:03 , ext John W. Eaton wrote:
> 
>> 
>> +## On OSX, try again with a wrapper library (without -ff2c!)
>> +if test "x$ax_blas_f77_func_ok" = "xno"; then
>> +  case "$canonical_host_type" in
>> +    *-*-darwin*)
>> +      ## test if wrapper functions help
>> +      $CC $CPPFLAGS $CFLAGS -DUSE_BLASWRAP -c -fomit-frame-pointer -W -Wall 
>> libcruft/misc/blaswrap.c -o conftest_blaswrap.o
>> 
>> Please use autoconf macros to invoke compilers, and don't add random
>> flags like -fomit-frame-pointer or other warning options.  That way
>> the options determined earlier in the configure script will be used
>> consistently.  See the OCTAVE_CHECK_FORTRAN_INTEGER_SIZE macro
>> definition in acinclude.m4 for an example of using AC_COMPILE_IFELSE
>> to compile a temporary file.
> 
> 
> OK, does this look about right? It works as expected for me:
> 
> ## On OSX, try again with a wrapper library (without -ff2c!)
> if test "x$ax_blas_f77_func_ok" = "xno"; then
>  case "$canonical_host_type" in
>    *-*-darwin*)
>      ## test if wrapper functions help
>      octave_blaswrap_save_CFLAGS="$CFLAGS"
>      CFLAGS="$CFLAGS -DUSE_BLASWRAP"
>      AC_LANG_PUSH(C)
>      AC_COMPILE_IFELSE(
>       [#include "libcruft/misc/blaswrap.c"],
>       [mv conftest.$ac_objext blaswrap.$ac_objext
>        octave_blaswrap_save_BLAS_LIBS="$BLAS_LIBS"
>        BLAS_LIBS="blaswrap.$ac_objext -framework vecLib"
> 
>        save_FFLAGS="$FFLAGS"
>        FFLAGS="$FFLAGS $F77_INTEGER_8_FLAG"
> 
>        AX_BLAS_WITH_F77_FUNC([:], [:])
>        AX_LAPACK([:], [:])
> 
>        ## Restore FFLAGS.
>        FFLAGS="$save_FFLAGS"
> 
>        ## remove temp file
>        rm -f blaswrap.$ac_objext],
>       [AC_MSG_FAILURE([cannot compile libcruft/misc/blaswrap.c])])
>      AC_LANG_POP(C)
>      CFLAGS="$octave_blaswrap_save_CFLAGS"
> 
>      if test "x$ax_blas_f77_func_ok" = "xno"; then
>        BLAS_LIBS="$octave_blaswrap_save_BLAS_LIBS"
>      else
>        ## wrapper in libcruft, remove from BLAS_LIBS
>        BLAS_LIBS="`echo $BLAS_LIBS | sed -e 's/blaswrap.[[^ ]]* //g'`"
>        AC_DEFINE(USE_BLASWRAP, [1], [Define this if BLAS functions need to be 
> wrapped (potentially needed for 64-bit OSX only).])
>      fi
>    ;;
>  esac
> fi
> 
>  Jarno

I don't see that this made it into 3.4.0. What remains to be done, and who is 
doing it?

Campbell



reply via email to

[Prev in Thread] Current Thread [Next in Thread]