README.dependencies 7.93 KB
Newer Older
1
2
3
4
this is <README.dependencies>
============================================================================
library dependencies
--------------------
thomas.forbriger's avatar
thomas.forbriger committed
5
$Id$
6
7
============================================================================

8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
This file tells you on which libraries/modules the different software
packages in TFSoftware depend on. There are a lot of internal dependencies
(libraries in TFSoftware depend on other libraries in TFSoftware) as well as
external dependencies (libraries in TFSoftware depend on non-standard external
libraries). 

External libraries
------------------
External non-standard libraries on which parts of TFSoftware depend are:

  PGPLOT
  boost
  gsl
  lapack
  fftw3
  f2c

Make sure that you have the external libraries together with the
header files available.

thomas.forbriger's avatar
thomas.forbriger committed
28
29
30
31
32
33
34
Doxygen documentation
---------------------
Source code of several package is prepared to be processed by doxygen to
create documentation (primarily in html format). Where applicable the
install.sh script will try to execute doxygen. For this reason it is
recommended to have a recent version of doxygen installed.

35
36
37
38
graphviz:
In order to create inheritance diagrams graphviz is required by doxygen.
It is therfore recommended to have graphviz installed.

39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
Internal dependencies
---------------------
Some of the library sources come together with test-programs. These
test-programs often depend on libtfxx or other libraries in TFSoftware
although libtfxx might depend on the current library. This reciprocal
dependency appears irritating at first, but can be accepted, since the library
can first be installed without compiling the test-code. To install a
particular library, only the header files from the libraries on which the
to-be-installed library depends on are required. The binary libraries
themselves are only required when linking programs with the libraries. Hence,
it is always a safe way to install the headers first (make target
install-include) and to compile the libraries subsequently (make install).

Nevertheless such mutual dependencies should be avoided or even removed in the
future. Dependencies listed below mention dependencies which exist for the
installation(!) of the library. This means that there still may be other
libraries be needed if you wish to use the library in a meaningful way. The
order of the libraries is listed with increasing dependency, the top one being
57
58
59
60
61
62
63
64
the most independent one. Consequently no library should depend on a library
following after it in the list.

Details on the prerequisites for each library can be found in the Makefiles.
The Makefiles are also the place to provide more detailed information on how
prerequisites can be obtained.

tfmacros.h
65
  is not a library and is obsolete
66

thomas.forbriger's avatar
thomas.forbriger committed
67
68
C++ libraries
-------------
69
70
  libaff
    language: C++
71
    libraries: C++ template code, libaff.a, and libaff.so
thomas.forbriger's avatar
thomas.forbriger committed
72
73
    external dependencies: -
    internal dependencies: -
74
75
    test program dependency: -
    checked: 22.03.2013 (tforb)
thomas.forbriger's avatar
thomas.forbriger committed
76
77
  libgsexx
    language: C++
78
    libraries: libgsexx.a, libgsexx.so
thomas.forbriger's avatar
thomas.forbriger committed
79
    external dependencies: -
80
    internal dependencies: -
81
82
    test program dependency: -
    checked: 22.03.2013 (tforb)
83
84
  libsffxx
    language: C++
85
    libraries: libsffxx.a, libsffxx.so
86
    external dependencies: -
uqchw's avatar
uqchw committed
87
    internal dependencies: libaff libgsexx libtime
88
89
    test program dependency: libtfxx
    checked: 22.03.2013 (tforb)
90
  libdatrwxx
91
    language: C++
uqchw's avatar
uqchw committed
92
    libraries: libdatrwxx.a, libdatrwxx.so
93
    external dependencies: -
94
    internal dependencies: libaff libgsexx libtime++ libsffxx
95
    test program dependency: libtfxx
96
    checked: 22.11.2010 (tforb)
thomas.forbriger's avatar
thomas.forbriger committed
97
98
  libfapidxx
    language: C++
uqchw's avatar
uqchw committed
99
    libraries: libfapidxx.a, libfapidxx.so
thomas.forbriger's avatar
thomas.forbriger committed
100
101
    external dependencies: -
    internal dependencies: libdatrwxx libaff libgsexx libtime++ libsffxx
thomas.forbriger's avatar
thomas.forbriger committed
102
103
  libtsxx
    language: C++
uqchw's avatar
uqchw committed
104
    libraries: libtsxx.a
thomas.forbriger's avatar
thomas.forbriger committed
105
    external dependencies: -
106
107
    internal dependencies: libtfxx libgsexx libtime++ libseife libaff
                           libdatrwxx libsffxx
108
109
    test program dependency: libtfxx
    checked: 26.01.2014 (tforb)
110
  liblinearxx
thomas.forbriger's avatar
thomas.forbriger committed
111
    language: C++
uqchw's avatar
uqchw committed
112
    libraries: liblinearxx.a
113
114
115
    external dependencies: lapack gsl blas gslcblas
    internal dependencies: libaff libtfxx
    test program dependency: libtfxx
thomas.forbriger's avatar
thomas.forbriger committed
116
    checked: 18.03.2010 (tforb)
117
118
  libserialxx
    language: C++
uqchw's avatar
uqchw committed
119
    libraries: libserialxx.a, libserialxx.so
120
121
122
    external dependencies: -
    internal dependencies: -
    test program dependency: libtfxx
thomas.forbriger's avatar
thomas.forbriger committed
123
124
125
    checked: 16.10.2010 (tforb)
  libpgplot++
    language: C++
uqchw's avatar
uqchw committed
126
    libraries: libpgplotCpp.a, libpgplotCpp.so
thomas.forbriger's avatar
thomas.forbriger committed
127
128
129
130
    external dependencies: PGPLOT
    internal dependencies: libaff 
    test program dependency: libtfxx
    checked: 16.10.2010 (tforb)
131
  libtfxx
thomas.forbriger's avatar
thomas.forbriger committed
132
    language: C++
uqchw's avatar
uqchw committed
133
    libraries: libtfxx.a
134
    external dependencies: libgsl libboost
135
    internal dependencies: libaff libdatrwxx libgsexx libtime
136
137
138
                           libsffxx libtsxx
    checked: 16.10.2010 (tforb)

139
140
141
142
143
144
145
146
147
148
C++ and C libraries
-------------------
  libstfinv
    libraries: libstfinv.a 
    language: C and C++
    external dependencies: fftw3
    internal dependencies: libaff libfourierxx
    test program dependency: libtfxx
    checked: 29.02.2013 (tforb)

149
150
151
152
153
154
155
156
C++, C and Fortran 77 libraries
-------------------------------
  libfourier
    libraries: libfourier.a (Fortran 77), libfourierxx.a (C++)
    language: Fortran 77 and C++
    external dependencies: fftw3
    internal dependencies: libaff
    test program dependency: libtfxx
157
    checked: 29.02.2013 (tforb)
158
159
  librheology
    language: Fortran 77 (and C++)
uqchw's avatar
uqchw committed
160
    libraries: librheology.a, librheologyxx.a
thomas.forbriger's avatar
thomas.forbriger committed
161
    external dependencies: -
162
163
164
165
166
    internal dependencies: -
    test program dependency: libtf
    comment: C++ part is currently not active
    checked: 16.10.2010 (tforb)
  libtime
167
    libraries: libtime_trad.a libtime.a libctime.a libtime++.a libtime++.so
168
    language: Fortran 77, C and C++
thomas.forbriger's avatar
thomas.forbriger committed
169
170
    external dependencies: -
    internal dependencies: -
171
172
    test program dependency: -
    checked: 22.03.2013 (tforb)
thomas.forbriger's avatar
thomas.forbriger committed
173
174
175

Fortran 77 libraries
--------------------
176
177
178
179
180
181
182
183
184
185
  libanaly
    language: Fortran 77
    external dependencies: -
    internal dependencies: -
    checked: 16.10.2010 (tforb)
  libbuggy
    language: Fortran 77
    external dependencies: libwmexcp
    internal dependencies: -
    checked: 16.10.2010 (tforb)
thomas.forbriger's avatar
thomas.forbriger committed
186
  libemod
uqchw's avatar
uqchw committed
187
    libraries: libemod.a
188
189
190
    language: Fortran 77
    external dependencies: -
    internal dependencies: -
uqchw's avatar
uqchw committed
191
    checked: 15.08.2013 (tmetz)
thomas.forbriger's avatar
thomas.forbriger committed
192
  libfcb
193
194
195
196
    language: Fortran 77
    external dependencies: mpi
    internal dependencies: -
    checked: 16.10.2010 (tforb)
thomas.forbriger's avatar
thomas.forbriger committed
197
  libgrrefsub
uqchw's avatar
uqchw committed
198
    libraries: libgrrefsub.a
199
200
201
202
    language: Fortran 77
    external dependencies: -
    internal dependencies: -
    checked: 16.10.2010 (tforb)
thomas.forbriger's avatar
thomas.forbriger committed
203
  libnumrec
204
205
206
207
    language: Fortran 77
    external dependencies: -
    internal dependencies: -
    checked: 16.10.2010 (tforb)
thomas.forbriger's avatar
thomas.forbriger committed
208
  libwrefsub
209
    language: Fortran 77
uqchw's avatar
uqchw committed
210
    libraries: libwrefsub.a
211
212
213
    external dependencies: -
    internal dependencies: -
    checked: 16.10.2010 (tforb)
thomas.forbriger's avatar
thomas.forbriger committed
214
  libsff
215
216
217
218
    language: Fortran 77
    external dependencies: -
    internal dependencies: -
    checked: 16.10.2010 (tforb)
thomas.forbriger's avatar
thomas.forbriger committed
219
  libts
220
    language: Fortran 77
uqchw's avatar
uqchw committed
221
    libraries: libts.a
222
223
224
    external dependencies: -
    internal dependencies: -
    checked: 16.10.2010 (tforb)
uqchw's avatar
uqchw committed
225
226
  libttsynt
    language: Fortran 77
uqchw's avatar
uqchw committed
227
    libraries: libttsynt.a
uqchw's avatar
uqchw committed
228
229
    external dependencies: -
    internal dependencies: -
thomas.forbriger's avatar
thomas.forbriger committed
230
231
232

C libraries
-----------
233
  libdatread
thomas.forbriger's avatar
thomas.forbriger committed
234
    language: C
235
236
237
    external dependencies: f2c.h
    internal dependencies: libtf libsffu tfmacros.h
    checked: 16.10.2010 (tforb)
thomas.forbriger's avatar
thomas.forbriger committed
238
239
240

Fortran 77 and C libraries
--------------------------
241
  libsffu
uqchw's avatar
uqchw committed
242
    libraries:libsffu.a 
243
    language: Fortran 77 and C
thomas.forbriger's avatar
thomas.forbriger committed
244
    external dependencies: -
uqchw's avatar
uqchw committed
245
    internal dependencies: libsff libtime
thomas.forbriger's avatar
thomas.forbriger committed
246
    checked: 18.03.2010 (tforb)
247
  libseife
thomas.forbriger's avatar
thomas.forbriger committed
248
249
250
251
    language: Fortran 77 and C
    external dependencies: -
    internal dependencies: -
    checked: 16.10.2010 (tforb)
252
  libtf
thomas.forbriger's avatar
thomas.forbriger committed
253
254
255
256
257
    language: Fortran 77 and C
    external dependencies: -
    internal dependencies: -
    checked: 16.10.2010 (tforb)

258
----- END OF README.dependencies -----