[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: ATLAS and octave
From: |
R Clint Whaley |
Subject: |
Re: ATLAS and octave |
Date: |
Sat, 5 Feb 2000 15:17:18 -0500 |
> Clint> The most direct method is, with a previously installed ATLAS, build
> Clint> octave's libcruft as normal, but you then ar into it the contents
> Clint> of: ATLAS/lib/<arch>/liblapack.a (overwriting some LAPACK routines)
> Clint> ATLAS/lib/<arch>/libatlas.a (ATLAS internals)
> Clint> ATLAS/lib/<arch>/libf77blas.a (F77 BLAS interface -- overwrite BLAS)
> Clint> ATLAS/lib/<arch>/libcblas.a (C BLAS interface)
>
>Could you send me your Makefile snippet? I'd *love* to try that on my Octave
>build process for the Debian package as we already have Atlas libraries.
The kludge I used (invented at 6AM, so elegant it's not) is:
Run octave's configure, but don't start build yet. Replace
libcruft/blas/Makefile
with the file I include below. ar x the above mentioned ATLAS libs (looks
like in your case they have been combined into two libs, just x those two
libs) into the libcruft/blas directory.
Compile octave's specialized xerbla.f to overwrite ATLAS's. Also, edit
ATLAS/interfaces/lapack/F77/src/ilaenv.f
and comment out all mention of IEEECK, and compile this file over the top of
ilaenv.o.
Now continue with octave install. I issued
make CFLAGS=-O CXXFLAGS=-O LDFLAGS=
twice. The second time I hoped to overwrite lapack's API with ATLAS's (this
is necessary because I only hacked the libcruft/blas makefile, and used it
to put ATLAS's BLAS & LAPACK routines into the library).
As you can see, this was a rather brutal kludge; I just wanted to make sure
the libraries would play nicely. Obviously, my hope is one of the octave
maintainers will find a formal and elegant way to make this a painless
process; it is unlikely that I will have the time to become an octave expert
in order to make this smooth . . .
Cheers,
Clint
TOPDIR = ../..
srcdir = /home/rwhaley/dload/octave-2.0.16/libcruft/blas
top_srcdir = /home/rwhaley/dload/octave-2.0.16
VPATH = /home/rwhaley/dload/octave-2.0.16/libcruft/blas
EXTERNAL_DISTFILES = $(DISTFILES)
include $(TOPDIR)/Makeconf
SOURCES = xerbla.f
DISTFILES = $(SOURCES)
CRUFT_SRC = xerbla.f
CRUFT_BASE = xerbla
CRUFT_OBJ = $(wildcard *.o)
CWD = $(shell pwd)
THISDIR = $(notdir $(CWD))
LIBCRUFT = ../libcruft.a
LIBCRUFT_OBJS = $(CRUFT_OBJ)
LIBCRUFT_DEPS =
all :
ar r $(LIBCRUFT) *.o
.PHONY : all
.PRECIOUS: all
pic : all
install :: all
.PHONY: install
uninstall::
.PHONY: uninstall
clean::
touch clean
.PHONY: clean
mostlyclean::
touch mostlyclean
.PHONY: mostlyclean
distclean::
touch distclean
.PHONY: distclean
maintainer-clean::
touch maintainer-clean
.PHONY: maintainer-clean
#include ../Makerules
-----------------------------------------------------------------------
Octave is freely available under the terms of the GNU GPL.
Octave's home on the web: http://www.che.wisc.edu/octave/octave.html
How to fund new projects: http://www.che.wisc.edu/octave/funding.html
Subscription information: http://www.che.wisc.edu/octave/archive.html
-----------------------------------------------------------------------
- Re: ATLAS and octave, (continued)
Re: ATLAS and octave (and HDF5 too!), O. Scott Sands, 2000/02/04
Re: ATLAS and octave, R Clint Whaley, 2000/02/04
Re: ATLAS and octave, R Clint Whaley, 2000/02/05
Re: ATLAS and octave, stevenj, 2000/02/05
Re: ATLAS and octave,
R Clint Whaley <=
Re: ATLAS and octave, R Clint Whaley, 2000/02/05
Re: ATLAS and octave, stevenj, 2000/02/05
Re: ATLAS and octave, R Clint Whaley, 2000/02/09
Re: ATLAS and octave, R Clint Whaley, 2000/02/09
Re: ATLAS and octave, Steven G. Johnson, 2000/02/09
Re: ATLAS and octave, chenu-tournier marc, 2000/02/10