/[ascend]/trunk/base/autotools/NOTES.configure
ViewVC logotype

Contents of /trunk/base/autotools/NOTES.configure

Parent Directory Parent Directory | Revision Log Revision Log


Revision 189 - (show annotations) (download)
Mon Jan 16 07:48:18 2006 UTC (17 years, 10 months ago) by johnpye
File size: 2314 byte(s)
Changing default name for Jam-built libraries
Annotating out-of-date NOTES.configure
Removing apparently-broken ability to use Jam build in PyGTK GUI
1 *** NOTE: this file is largely outdated. Consult the ASCEND Wiki for
2 more up-to-date information.
3 ***
4
5 Ok, so here's the assumptions and goals.
6
7 0) source directory layout:"
8 blas
9 linpack
10 lsod
11 base
12 base/generic
13 base/generic/[compiler, etc]
14 base/unixac213
15
16 1) configure and its auxiliaries will exist in unixac213 for the 2.13 autoconf build.
17 2) relative to unixac213, the source code is in ../generic.
18 3) unixac213/configure may be run from *anywhere*
19 and therefore the makefiles must be structured accordingly.
20 4) We will require gnu make in the autoconf-based builds.
21 gmake is available on all but windows now, and windows users
22 generally want to use a Visual tool or jam or something other
23 than autoconf anyway.
24
25 Let's assume we're going to build in /tmp/ascend
26 and the subversion source is in $HOME/newcmu.
27 This means $HOME/newcmu/code/trunk/base/unixAC213 exists and is the home
28 of the configure source for ac213 purposes.
29
30 The implications of 3) are--
31
32 a) generated files will all be under /tmp/ascend, including:
33 makefiles from configure, parser from yacc, .o from compiler, etc.
34 b) The source is never touched by the build process, just read.
35 c) If we want to blow away the build mess and start over, it's easy.
36 d) configure has to have a clue or be given one. The autotools standard
37 says the clue is given: --srcdir=where-the-configure-is-dir
38 e) VPATH must *always* be present in the generated makefiles,
39 not just when --srcdir is passed to configure. Note autoconf 2.13
40 gets rid of VPATH lines in makefiles whenever it can, as it isn't
41 portable to solaris make, so we force VPATH lines to be left in
42 by using a gmake-ism (VPATH := or VPATH += rather than VPATH=).
43
44
45 So the build example cases that must work are:
46
47 A) (build in place -- this is what we should never do, btw.)
48 cd $HOME/newcmu/code/trunk/base/unixAC213; ./configure {stuff}; make; make install
49
50 B) (srcdir build)
51 cd /tmp/ascend; ../../home/baallan/newcmu/code/trunk/base/unixAC213/configure --srcdir=$HOME/newcmu/code/trunk/base/unixAC213 {stuff}; make; make install
52
53 (B) is what Mark had working almost forever while we were at CMU,
54 but under the old directory layout. When (B) works, A is the trivial
55 case, so the challenge is to make B work and to use --src-dir as
56 required when configuring ascend.

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22