source: trunk/README @ 2213

Last change on this file since 2213 was 2213, checked in by Peter, 12 years ago

recommend calling 'make doc' before 'make check'

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
  • Property svn:mime-type set to text/x-trac-wiki
File size: 6.3 KB
RevLine 
[2]1$Id: README 2213 2010-03-12 12:51:56Z peter $
2
[1939]3= About yat =
[573]4
[1939]5This directory contains the yat library. For an overview of the
6project, visit
7 
8    http://dev.thep.lu.se/yat
[573]9
[1939]10
11= Configuring and building yat =
12
[1262]13 1. If you checked out this project from the subversion repository you
14    must run '`bootstrap`' to initialize the build system.
15 2. Issue '`./configure`' to create the Makefiles. Optionally run
16    configure with '`--enable-debug`', which will turn on debug
17    options.
18 3. Compile with '`make`'.
[2213]19 4. '`make doc`' will generate documentation.
20 5. Optionally do '`make check`' to run test programs.
[1303]21 6. Issue '`make install`' to install the package on your system,
22    documentation will not be installed if documentation was not
[1939]23    generated above. Default installation location is `/usr/local`;
[1303]24    this can be changed with
25    '`./configure --prefix=/dir/to/install/to`'.
[573]26
[1939]27The `configure` script has additional options; `./configure --help`
28will offer you those choices or refer to Requirements below.
[848]29
[1059]30= Requirements =
31
[1262]32Except for the obviously needed C++ compiler there are a few packages
33and programs required for compiling yat and generate supporting
34material. The configure script will look for required programs and
35report failure to meet the requirements. Here we list some of the
[1557]36requirements, but omit required standard utilities such as echo and
[1262]37sed since these are normally available.
[1059]38
[1262]39== Required packages ==
[1059]40
[1262]41=== GSL ===
[1059]42
[1262]43GNU Scientific Library, [http://www.gnu.org/software/gsl/ GSL] version
[1939]441.8 or later. If you have GSL installed in a non-standard location,
[2129]45`./configure --with-gsl=DIR` can be useful to provide the location of
46GSL. The `gsl-config` script, which is used to retrieve needed
47compiler and linker flags, is expected to be found in `DIR/bin/`. The
48check for existing GSL can be turned off with option
49`--without-gsl`. This can be useful, for example, if gsl-config is not
50available at configure time but header file will be available at make
51time.
[1059]52
[1262]53=== BLAS ===
[1059]54
[1262]55A C implementation of Basic Linear Algebra Subprograms
56([http://www.netlib.org/blas BLAS]) is required. GSL comes with a
57reference implementation, but you should consider getting a hardware
58optimized implementation. ATLAS provides optimized BLAS (see below).
[1059]59
[1939]60The `configure` script searches for many different BLAS libraries in a
[2019]61specific order (for details refer to `m4/yat_cblas.m4`). If you want
62to use a specific CBLAS library, `./configure --with-cblas=LIB` may be
[2028]63useful. Note, however, that the chosen/detected CBLAS library is not
64hard-coded into the installed libyat, but a user can choose a
[2029]65different CBLAS when she links her application. A way to access which
[2028]66CBLAS was detected during the configuration is to access the
67yat-config script directly or via the autoconf macros included in the
68distribution. If you do want to hard-code a choice of CBLAS into the
69installed libyat, you may provide the appropriate value to LIBS. The
70following line, for example:
[1939]71
[2028]72  #> ./configure LIBS=-lcblas
73
74will hard-code the choice of -lcblas into the libyat.
75
[1325]76=== Boost ===
77
[2153]78[http://www.boost.org Boost] version 1.35 or later. If you have Boost
[1939]79installed in a non-standard location, `./configure --with-boost=DIR`
80can be useful to provide the location of Boost. Boost header files are
[2129]81expected to be found in `DIR/include`. The check for boost header
82files can be turned off with `--without-boost`.
[1325]83
[1262]84=== quiet nan ===
[1059]85
[1262]86Quiet NaN's must be supported.
[1059]87
[1353]88=== infinity ===
89
90infinity for type double must be supported.
91
[1262]92== Optional packages ==
[1059]93
[1262]94=== ATLAS ===
95
[1059]96GSL supplies a reference implementation of BLAS. You may want to
[1262]97consider using hardware optimized BLAS. The
98[http://math-atlas.sourceforge.net/ ATLAS] software provides an
99automatic hardware optimized BLAS library.
[1059]100
101The detection of ATLAS is supported by the yat configuration script
102but in many cases the ATLAS libraries are installed in
[1262]103non-conventional directory locations. As an example, on Fedora 8,
104ATLAS libraries are
[1059]105located in /usr/lib/atlas or /usr/lib64/atlas depending on your
106hardware architecture. If you have ATLAS installed and the configure
107script fails to locate it, try to add the location to the atlas
[1078]108libraries when running configure:
[1059]109
[1424]110  #> ./configure LDFLAGS="-L/usr/lib64/atlas"
[1059]111
[1262]112=== Doxygen ===
[1059]113
[1442]114[http://www.doxygen.org/ Doxygen] 1.5 (or newer) is required for
115generation of the API documentation. Doxygen uses a number of
116applications, epstopdf, latex, makeindex, and pdflatex. If any of
117these applications are missing, generation of API documentation is
118disabled.
[1262]119
[1272]120= Documentation =
[1262]121
[2080]122The API documentation for the latest release is available in PDF and
[1437]123HTML and can be found through http://dev.thep.lu.se/yat. If you wish
[1272]124to build a local copy, issue `make doc` and you will find the
125documents in directory `doc/`.
[1262]126
[1368]127= Developers =
128
[1371]129See file README.developer for developer specific information.
[1368]130
[2080]131= Mac OS X =
132
133On Mac OS X you can create a universal library, a library that works
134on multiple systems. You can do this by specifying multiple `-arch`
135options to the compiler (but not to the preprocessor):
136
137 #> ./configure CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
138                CXXCPP="g++ -E" --disable-dependency-tracking
139
140This will produce a universal yat library with 4 architectures. If
141your OS X does not support both Power-PC and Intel-based processors,
142you can omit these architectures. Also, required libraries, GSL and
143CBLAS, need to be available as universal libraries with desired
144architectures.
145
[1262]146----------------------------------------------------------------------
147{{{
[2119]148Copyright (C) 2003 Jari Häkkinen, Peter Johansson
149Copyright (C) 2004 Jari Häkkinen
150Copyright (C) 2006, 2007, 2008 Jari Häkkinen, Peter Johansson
[2161]151Copyright (C) 2009, 2010 Peter Johansson
[1262]152
[1437]153This file is part of yat library, http://dev.thep.lu.se/yat
[1262]154
155The yat library is free software; you can redistribute it and/or
156modify it under the terms of the GNU General Public License as
[1486]157published by the Free Software Foundation; either version 3 of the
[1262]158License, or (at your option) any later version.
159
160The yat library is distributed in the hope that it will be useful, but
161WITHOUT ANY WARRANTY; without even the implied warranty of
162MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
163General Public License for more details.
164
165You should have received a copy of the GNU General Public License
[1487]166along with yat. If not, see <http://www.gnu.org/licenses/>.
[1262]167}}}
Note: See TracBrowser for help on using the repository browser.