[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Last commit may break your builds
From: |
John W. Eaton |
Subject: |
Re: Last commit may break your builds |
Date: |
Fri, 3 Aug 2012 22:02:04 -0400 |
On 3-Aug-2012, John W. Eaton wrote:
| On 3-Aug-2012, Michael Goffioul wrote:
|
| | Any chance to get that fixed? I'd like to keep to abilty to build outside
| | source directory.
|
| I'm going to take a look and try to fix this.
With the attached changes, I'm able to do the following to build the
gui in a build tree separates from the sources.
* in the source tree, run ./autogen.sh
* in the build tree, run $srcdir/configure and make
* cd to the gui directory in the build tree (create it if it doesn't
exist) and run
qmake $srcdir/gui
make
* to run the resulting bin/octave-gui binary, have to use
LD_LIBRARY_PATH=$builddir/src/.libs:$builddir/liboctave/.libs:$builddir/libcruft/.libs
bin/octave
I hope these changes will make it possible for you to build again.
However, I don't plan to polish this any further as it isn't really
the right approach for Octave. Some of the things that need to be
fixed are
* We should be compiling and linking with libtool so that we can let
libtool take care of setting LD_LIBRARY_PATH when we run in the
build tree.
* We need some way for the dist target to work. It seems easiest to
me to do that consistently for Octave if we are using automake for
all the Makefiles.
* We should not be generating the src.pro file in the source tree,
but I don't know how to tell qmake to properly set up paths if the
src.pro file is in the build tree, separate from the source tree.
* Things like CXXFLAGS should be handled consistently throughout the
Octave build. Currently, doing "make CXXFLAGS=-g" will not work
in the gui directory.
* Dependency tracking should be handled consistently and
automatically throughout the Octave build. It looks like
dependency rules are stored directly in the Makefiles generated by
qmake, so they have to be updated by running qmake again if
anything changes. Automake handles dependencies automatically.
jwe
diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -2814,6 +2814,7 @@
doc/liboctave/Makefile
doc/refcard/Makefile
examples/Makefile
+ $srcdir/gui/src/src.pro
libcruft/Makefile
libcruft/mkf77def
libgnu/Makefile
diff --git a/gui/src/src.pro b/gui/src/src.pro.in
rename from gui/src/src.pro
rename to gui/src/src.pro.in
--- a/gui/src/src.pro
+++ b/gui/src/src.pro.in
@@ -30,12 +30,12 @@
win32-msvc*: include(msvc.pri)
-LIBS += -lreadline -lqscintilla2 \
- -L../qterminal/libqterminal/$$LIBDIR_SUFFIX -lqterminal
-lm \
- -L../../libcruft/.libs -lcruft \
- -L../../liboctave/.libs -loctave \
- -L../../src/.libs -loctinterp
-
+LIBS += @abs_top_builddir@/src/.libs/liboctinterp.so \
+ @abs_top_builddir@/liboctave/.libs/liboctave.so \
+ @abs_top_builddir@/libcruft/.libs/libcruft.so \
+ -L../qterminal/libqterminal/$$LIBDIR_SUFFIX \
+ -lqterminal -lreadline -lqscintilla2 -lm
+
mac {
CONFIG -= app_bundle
}
@@ -47,19 +47,22 @@
qtinfo \
../qterminal/libqterminal \
/usr/include/qt4 \
- ../.. \
- ../../src \
- ../../liboctave \
- ../../libcruft/misc
-
-#QMAKE_LIBDIR += $$system(octave-config -p OCTLIBDIR)
-#unix {
-# QMAKE_RPATHDIR += $$system(octave-config -p OCTLIBDIR)
-#}
-
-mac {
- LFLAGS += -L/opt/local/lib
-}
+ @abs_top_builddir@ \
+ @top_srcdir@/libcruft/misc \
+ @top_srcdir@/liboctave \
+ @abs_top_builddir@/liboctave \
+ @top_srcdir@/src \
+ @abs_top_builddir@/src \
+ @top_srcdir@/src/octave-value \
+ @abs_top_builddir@/src/parse-tree \
+ @top_srcdir@/src/parse-tree \
+ @abs_top_builddir@/src/octave-value \
+ @top_srcdir@/src/interp-core \
+ @abs_top_builddir@/src/interp-core \
+ @top_srcdir@/src/interpfcn \
+ @abs_top_builddir@/src/interpfcn \
+ @abs_top_builddir@/src/operators \
+ @top_srcdir@/src/operators
unix {
LIBS += -lutil
- Re: Last commit may break your builds, Michael Goffioul, 2012/08/03
- Re: Last commit may break your builds, John W. Eaton, 2012/08/03
- Re: Last commit may break your builds,
John W. Eaton <=
- Re: Last commit may break your builds, Jacob Dawid, 2012/08/04
- Re: Last commit may break your builds, John W. Eaton, 2012/08/04
- Re: Last commit may break your builds, John W. Eaton, 2012/08/04
- Re: Last commit may break your builds, Jacob Dawid, 2012/08/04
- Re: Last commit may break your builds, Mike Miller, 2012/08/05
- Re: Last commit may break your builds, Michael Goffioul, 2012/08/05
- Re: Last commit may break your builds, Michael Goffioul, 2012/08/05
- Re: Last commit may break your builds, Michael Goffioul, 2012/08/05
- integrating octave-gui and octave main programs (was: Re: Last commit may break your builds), John W. Eaton, 2012/08/05
- Re: integrating octave-gui and octave main programs (was: Re: Last commit may break your builds), Michael Goffioul, 2012/08/05