# HG changeset patch # User jwe # Date 1036726055 0 # Node ID e9e2055ad0afd2ac9748e57ab381e484d2e3b16b # Parent d837e6375cbce16b6ec7f40526446901740c9909 [project @ 2002-11-08 03:27:35 by jwe] diff -r d837e6375cbc -r e9e2055ad0af src/ChangeLog --- a/src/ChangeLog Fri Nov 08 01:50:18 2002 +0000 +++ b/src/ChangeLog Fri Nov 08 03:27:35 2002 +0000 @@ -1,5 +1,9 @@ 2002-11-07 John W. Eaton + * Makefile.in (liboctinterp.$(LIBEXT)): Include $(XERBLA) here. + (octave.$(EXEEXT)): Not here. + (liboctinterp.$(SHLEXT)): Include $(PIC_XERBLA) here. + * main.c: Move decl for xerbla here from octave.cc. * cutils.c (octave_vsnprintf): Use portable_snprintf to avoid diff -r d837e6375cbc -r e9e2055ad0af src/Makefile.in --- a/src/Makefile.in Fri Nov 08 01:50:18 2002 +0000 +++ b/src/Makefile.in Fri Nov 08 03:27:35 2002 +0000 @@ -227,15 +227,17 @@ objects: $(OBJECTS) XERBLA = ../libcruft/blas-xtra/xerbla.o +ifdef FPICFLAG + PIC_XERBLA = ../libcruft/blas-xtra/pic/xerbla.o +else + PIC_XERBLA = $(XERBLA) +endif ifeq ($(SHARED_LIBS), true) ifeq ($(STATIC_LIBS), true) LIBRARIES = liboctinterp.$(LIBEXT) liboctinterp.$(SHLEXT_VER) else LIBRARIES = liboctinterp.$(SHLEXT_VER) - ifdef FPICFLAG - XERBLA = ../libcruft/blas-xtra/pic/xerbla.o - endif endif else ifeq ($(STATIC_LIBS), true) @@ -243,14 +245,13 @@ else ## This is not going to work, but hey, you asked for it... LIBRARIES = - XERBLA = endif endif libraries: $(LIBRARIES) .PHONY: libraries -liboctinterp.$(LIBEXT): $(OBJECTS) +liboctinterp.$(LIBEXT): $(OBJECTS) $(XERBLA) rm -f $@ $(TEMPLATE_AR) $(TEMPLATE_ARFLAGS) $@ $^ $(RANLIB) $@ @@ -259,7 +260,7 @@ rm -f $@ $(LN_S) $< $@ -liboctinterp.$(SHLEXT): $(PICOBJ) +liboctinterp.$(SHLEXT): $(PICOBJ) $(PIC_XERBLA) rm -f $@ $(SH_LD) $(SH_LDFLAGS) $(SONAME_FLAGS) -o $@ $^ $(OCTINTERP_LINK_DEPS) @@ -275,7 +276,7 @@ octave$(EXEEXT): stamp-prereq $(LIBRARIES) main.o $(DLD_STATIC_OBJ) $(LD_CXX) $(CPPFLAGS) $(ALL_CXXFLAGS) $(RDYNAMIC_FLAG) \ $(ALL_LDFLAGS) -o $@ \ - main.o $(XERBLA) $(DLD_STATIC_OBJ) \ + main.o $(DLD_STATIC_OBJ) \ $(OCTAVE_LFLAGS) \ $(OCTAVE_LIBS) \ $(LEXLIB) $(BLAS_LIBS) $(FFTW_LIBS) $(LIBS) $(FLIBS) diff -r d837e6375cbc -r e9e2055ad0af src/main.c --- a/src/main.c Fri Nov 08 01:50:18 2002 +0000 +++ b/src/main.c Fri Nov 08 03:27:35 2002 +0000 @@ -25,12 +25,10 @@ #endif #include "f77-fcn.h" +#include "lo-ieee.h" #include "octave.h" -// Kluge. -extern void F77_FUNC (xerbla, XERBLA) (const char *, int); - int main (int argc, char **argv) { diff -r d837e6375cbc -r e9e2055ad0af src/octave.cc --- a/src/octave.cc Fri Nov 08 01:50:18 2002 +0000 +++ b/src/octave.cc Fri Nov 08 03:27:35 2002 +0000 @@ -74,6 +74,9 @@ #include "variables.h" #include +// Kluge. +extern "C" void F77_FUNC (xerbla, XERBLA) (const char *, int, long); + extern void install_builtins (void); #if !defined (HAVE_ATEXIT) && defined (HAVE_ON_EXIT) @@ -375,6 +378,14 @@ sysdep_init (); + // The idea here is to force xerbla to be referenced so that we will + // link to our own version instead of the one provided by the BLAS + // library. But octave_NaN should never be -1, so we should never + // actually call xerbla. + + if (octave_NaN == -1) + F77_FUNC (xerbla, XERBLA) ("octave", 13, 6L); + initialize_error_handlers (); install_defaults ();