source: trunk/doc/build_tool.doxygen @ 3561

Last change on this file since 3561 was 3133, checked in by Peter, 8 years ago

yat-config: mention that YAT_CBLAS_LIB is overideable; doxygen docs: prefer quotation like 'this', remove trailing WS, and give an easy example using yat-config in Makefile with default rules.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 3.4 KB
Line 
1// $Id: build_tool.doxygen 3133 2013-11-24 01:06:28Z peter $
2//
3// Copyright (C) 2008 Jari Häkkinen, Peter Johansson
4// Copyright (C) 2009, 2010, 2011, 2013 Peter Johansson
5//
6// This file is part of the yat library, http://dev.thep.lu.se/yat
7//
8// The yat library is free software; you can redistribute it and/or
9// modify it under the terms of the GNU General Public License as
10// published by the Free Software Foundation; either version 3 of the
11// License, or (at your option) any later version.
12//
13// The yat library is distributed in the hope that it will be useful,
14// but WITHOUT ANY WARRANTY; without even the implied warranty of
15// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16// General Public License for more details.
17//
18// You should have received a copy of the GNU General Public License
19// along with yat. If not, see <http://www.gnu.org/licenses/>.
20
21
22/**
23\page build_tool Build Tools
24
25\section yat-config
26
27The \c yat-config script provides information on the local version of
28the library. For instance the following command shows that yat was
29installed at prefix \c '/usr/local'
30
31\verbatim
32 #> yat-config --prefix
33/usr/local
34\endverbatim
35
36This information can then be used in a Makefile, for example, as follows:
37
38\verbatim
39BIN=foo
40SRC=$(BIN).cc
41OBJECTS=$(SRC:.cc=.o)
42
43CPPFLAGS+=`yat-config --cppflags`
44CXXFLAGS+=`yat-config --cxxflags`
45LDFLAGS+=`yat-config --ldflags`
46LIBS+=`yat-config --libs`
47
48all: $(BIN)
49
50$(BIN): $(OBJECTS)
51  $(CXX) $(LDFLAGS) $(OBJECTS) -o $(BIN) $(LIBS)
52
53.cc.o:
54  $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $< -o $@
55
56clean:; $(RM) $(OBJECTS) $(BIN)
57\endverbatim
58
59or if you are using <a href="http://www.gnu.org/software/make/">GNU
60Make</a> and prefer using default rules, you can use \c yat-config with
61
62\verbatim
63CPPFLAGS = `yat-config --cppflags`
64CXXFLAGS = `yat-config --cxxflags`
65LDFLAGS = `yat-config --ldflags --libs`
66
67all: foo
68\endverbatim
69
70From yat 0.6 an alternative \c CBLAS library can be specified using \c
71YAT_CBLAS_LIB environment variable. By default the \c CBLAS library
72detected during configuration of yat is used.
73
74For further information on yat-config use \c 'yat-config \c --help'
75
76\since New in yat 0.5
77
78\section macro Autoconf Macro
79
80For applications using <a href="http://www.gnu.org/software/make/">GNU
81Autoconf</a> there is a macro available in \c yat.m4. The macro can be
82called from your \c configure.ac:
83
84\verbatim
85YAT_CHECK_YAT([minimum-version=0.5], [action-if-found], [action-if-not-found])
86\endverbatim
87
88The argument minimum-version should be the number (\c MAJOR.MINOR or
89\c MAJOR.MINOR.PATCH) of the version you require. If yat header files
90and library are not found or the version is not new enough, macro will
91complain and execute shell command \c action-if-not-found. A suitable
92\c action-if-not-found could be
93
94\verbatim
95AC_MSG_FAILURE([could not find required version of yat])
96\endverbatim
97
98If the test is successful, \c HAVE_YAT is defined and \c
99action-if-found is executed. The test calls \c yat-config and sets
100variables \c YAT_CPPFLAGS, \c YAT_CXXFLAGS, \c YAT_LDFLAGS, \c
101YAT_LIBS, and \c YAT_LA_FILE. These flags can then be used in the \c
102Makefile.am. For instance:
103
104\verbatim
105AM_CPPFLAGS = $(YAT_CPPFLAGS)
106AM_CXXFLAGS = $(YAT_CXXFLAGS)
107AM_LDFLAGS = $(YAT_LDFLAGS)
108LDADD = $(YAT_LIBS)
109\endverbatim
110
111\note this macro assumes that \c yat-config has been installed; \c
112      yat-config was introduced in yat \b 0.5 and consequently this macro
113      \b does \b not work with yat \b 0.4.x (or older).
114
115*/
Note: See TracBrowser for help on using the repository browser.