octave-maintainers
[Top][All Lists]
Advanced

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

Re: gnulib and automake


From: David Grundberg
Subject: Re: gnulib and automake
Date: Mon, 09 Nov 2009 15:25:22 +0100
User-agent: Thunderbird 2.0.0.21 (X11/20090302)

John W. Eaton wrote:
On  6-Nov-2009, Benjamin Lindner wrote:

| Ok, now make is stopping at the following error:
| | ln -s .libs/`sed -n -e "s/dlname='\([^']*\)'/\1/p" < | DLD-FUNCTIONS/__convn__.la` DLD-FUNCTIONS/__convn__.oct | ln: creating symbolic link `DLD-FUNCTIONS/__convn__.oct' to | `.libs/__convn__-0.dll': No such file or directory
| make[3]: *** [DLD-FUNCTIONS/__convn__.oct] Error 1
| make[3]: Leaving directory | `/octmgw32/octave/.build_mingw32_octave-tip-automake-4_gcc-4.4.0-dw2/src' | | In my build directrory I have
|   .build/src/.libs/
| and
|   .build/src/DLD-FUNCTION/.libs/
| | and the dld-function shared libs are located in the latter (while | liboctinterp.dll is found in the former diretctory)
| So in my case, since the makefile is executed in the src/ directory
| the ln command should probably read
| | ln -s DLD-FUNCTIONS/.libs/`sed -n -e "s/dlname='\([^']*\)'/\1/p" < | DLD-FUNCTIONS/__convn__.la` DLD-FUNCTIONS/__convn__.oct | | I don't know if this is now a mingw speciality of libtool to put the | libraries there.

On my system, running the command

  $(LN_S) .libs/foo.dll DLD-FUNCTIONS/foo.oct

in the parent of the DLD-FUNCTIONS directory creates a symbolic link
in the DLD-FUNCTIONS directory with the name __convn__.oct that points
to the file .libs/foo.dll.

Ah, but Windows doesn't have symbolic links and $(LN_S) is just cp, so
I guess this fails.  OK, I think what we need to do is

  cd DLD-FUNCTIONS && $(LN_S) .libs/foo.dll foo.oct

so that it will work correctly with either cp or "ln -s".  I've made a
change that should do this correctly now.  The updated versinon of my
patch is now on http://jweaton.org/automake-diffs.gz. This version of
the patch includes all the other changes I made on Friday.

Thanks,

jwe

Hi jwe,

I made some changes on top of automake-diffs in order to build liboctave/ and src/.

amd.patch is just a rewrite of an earlier changeset that fixes a configure test on my setup.

lt-flags.patch are some changes I made while compiling against ARPACK, SparseSuite, qrupdate and FFTW for liboctave/. It fixes the convhulln typo in src/.

Best regards,
David

diff --git a/liboctave/Makefile.am b/liboctave/Makefile.am
--- a/liboctave/Makefile.am
+++ b/liboctave/Makefile.am
@@ -494,10 +494,10 @@
 LINK_DEPS = \
   $(RLD_FLAG) \
   ../libcruft/libcruft.la \
-  $(SPARSE_LDFLAGS) $(SPARSE_XLIBS) \
+  $(SPARSE_XLIBS) \
   $(ARPACK_LIBS) \
   $(QRUPDATE_LIBS) \
-  $(FFTW_LDFLAGS) $(FFTW_XLIBS) \
+  $(FFTW_XLIBS) \
   $(LAPACK_LIBS) $(BLAS_LIBS) \
   $(READLINE_LIBS) $(TERM_LIBS) \
   $(LIBGLOB) $(REGEX_LIBS) $(DL_LIBS) \
@@ -511,7 +511,17 @@
 
 liboctave_la_LIBADD = $(LINK_DEPS)
 
-liboctave_la_LDFLAGS = -release $(version)
+liboctave_la_LDFLAGS = -release $(version) \
+  $(SPARSE_XLDFLAGS) \
+  $(ARPACK_LDFLAGS) \
+  $(QRUPDATE_LDFLAGS) \
+  $(FFTW_XLDFLAGS)
+
+liboctave_la_CPPFLAGS = \
+  $(SPARSE_XCPPFLAGS) \
+  $(FFTW_XCPPFLAGS) \
+  $(ARPACK_CPPFLAGS) \
+  $(AM_CPPFLAGS)
 
 octinclude_HEADERS = \
   $(INCS) \
@@ -538,46 +548,6 @@
        $(AWK) -f $(srcdir)/mk-ops.awk prefix=mx make_inclusive_header=mx-ops.h 
$(srcdir)/mx-ops > address@hidden
        $(simple_move_if_change_rule)
 
-CSparse.d CSparse.df pic/CSparse.o CSparse.o: CPPFLAGS += $(SPARSE_CPPFLAGS)
-
-dSparse.d dSparse.df pic/dSparse.o dSparse.o: CPPFLAGS += $(SPARSE_CPPFLAGS)
-
-SparseCmplxLU.d SparseCmplxLU.df pic/SparseCmplxLU.o SparseCmplxLU.o: \
-  CPPFLAGS += $(SPARSE_CPPFLAGS)
-
-SparsedbleLU.d SparsedbleLU.df pic/SparsedbleLU.o SparsedbleLU.o: \
-  CPPFLAGS += $(SPARSE_CPPFLAGS)
-
-SparseCmplxQR.d SparseCmplxQR.df pic/SparseCmplxQR.o SparseCmplxQR.o: \
-  CPPFLAGS += $(SPARSE_CPPFLAGS)
-
-SparsedbleQR.d SparsedbleQR.df pic/SparsedbleQR.o SparsedbleQR.o: \
-  CPPFLAGS += $(SPARSE_CPPFLAGS)
-
-SparseCmplxCHOL.d SparseCmplxCHOL.df pic/SparseCmplxCHOL.o SparseCmplxCHOL.o: \
-  CPPFLAGS += $(SPARSE_CPPFLAGS)
-
-SparsedbleCHOL.d SparsedbleCHOL.df pic/SparsedbleCHOL.o SparsedbleCHOL.o: \
-  CPPFLAGS += $(SPARSE_CPPFLAGS)
-
-CMatrix.d CMatrix.df pic/CMatrix.o CMatrix.o: CPPFLAGS += $(FFTW_CPPFLAGS)
-
-CNDArray.d CNDArray.df pic/CNDArray.o CNDArray.o: CPPFLAGS += $(FFTW_CPPFLAGS)
-
-dMatrix.d dMatrix.df pic/dMatrix.o dMatrix.o: CPPFLAGS += $(FFTW_CPPFLAGS)
-
-dNDArray.d dNDArray.df pic/dNDArray.o dNDArray.o: CPPFLAGS += $(FFTW_CPPFLAGS)
-
-fCMatrix.d fCMatrix.df pic/fCMatrix.o fCMatrix.o: CPPFLAGS += $(FFTW_CPPFLAGS)
-
-fCNDArray.d fCNDArray.df pic/fCNDArray.o fCNDArray.o: CPPFLAGS += 
$(FFTW_CPPFLAGS)
-
-fMatrix.d fMatrix.df pic/fMatrix.o fMatrix.o: CPPFLAGS += $(FFTW_CPPFLAGS)
-
-fNDArray.d fNDArray.df pic/fNDArray.o fNDArray.o: CPPFLAGS += $(FFTW_CPPFLAGS)
-
-oct-fftw.d oct-fftw.df pic/oct-fftw.o oct-fftw.o: CPPFLAGS += $(FFTW_CPPFLAGS)
-
 distclean-local maintainer-clean-local:
        rm -f $(BUILT_INCS) $(BUILT_LIBOCTAVE_CXX_SOURCES)
 .PHONY: distclean-local maintainer-clean-local
diff --git a/src/Makefile.am b/src/Makefile.am
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -724,7 +724,7 @@
 DLD_FUNCTIONS_lib__magick_read___la_LIBADD = $(OCT_LINK_DEPS) 
$(MAGICK_LDFLAGS) $(MAGICK_LIBS)
 
 DLD-FUNCTIONS/convhull.df: CPPFLAGS += $(QHULL_CPPFLAGS)
-DLD_FUNCTIONS_libconvhull_la_CPPFLAGS = $(AM_CPPFLAGS) $(QHULL_CPPFLAGS)
+DLD_FUNCTIONS_libconvhulln_la_CPPFLAGS = $(AM_CPPFLAGS) $(QHULL_CPPFLAGS)
 DLD_FUNCTIONS_libconvhulln_la_LIBADD = $(OCT_LINK_DEPS) $(QHULL_LDFLAGS) 
$(QHULL_LIBS)
 
 DLD-FUNCTIONS/__delaunayn__.df: CPPFLAGS += $(QHULL_CPPFLAGS)
Miscellaneous build fixes

diff --git a/ChangeLog b/ChangeLog
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,10 @@
 2009-10-29  Thomas Treichl  <address@hidden>
 
        * configure.in: Add support for dlopen on Mac systems.
+
+2009-10-21  David Grundberg  <address@hidden>
+
+       * configure.ac: Use AMD_CPPFLAGS while checking for UMFPACK.
 
 2009-10-20  Jaroslav Hajek  <address@hidden>
 
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -990,12 +990,15 @@
 # Check for UMFPACK library.
 
 save_LIBS="$LIBS"
+save_CPPFLAGS="$CPPFLAGS"
 LIBS="$AMD_LDFLAGS $AMD_LIBS $BLAS_LIBS $FLIBS $LIBS"
+CPPFLAGS="$AMD_CPPFLAGS $CPPFLAGS"
 OCTAVE_CHECK_LIBRARY(umfpack, UMFPACK,
   [UMFPACK not found.  This will result in some lack of functionality for 
sparse matrices.],
   [suitesparse/umfpack.h ufsparse/umfpack.h umfpack/umfpack.h umfpack.h],
   [umfpack_zi_get_determinant],
   [], [don't use UMFPACK, disable some sparse functionality])
+CPPFLAGS="$save_CPPFLAGS"
 LIBS="$save_LIBS"
 
 if test -z "$UMFPACK_LIBS"; then

reply via email to

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