File: cernlib.1

package info (click to toggle)
cernlib 20061220%2Bdfsg3-4.3%2Bdeb9u2
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 7,872 kB
  • sloc: sh: 9,517; makefile: 187
file content (133 lines) | stat: -rw-r--r-- 5,274 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
.\"                                      Hey, EMACS: -*- nroff -*-
.TH CERNLIB 1 "Jan 6, 2005"
.\" Please adjust this date whenever revising the manpage.
.\"
.SH NAME
cernlib \- print CERN library dependencies
.SH SYNOPSIS
.B cernlib
.RI [ options ] " libraries"
.SH DESCRIPTION
.PP
\fBcernlib\fP is a tool to list the compiler and linker options necessary
to compile a CERNLIB program that has the given library dependencies.
It is generally used within a command substitution, as in the following
example:
.PP
gfortran \-o myprogram myprogram.F `cernlib \-G Motif pawlib`
.PP
This version of cernlib has been completely rewritten from the original
script provided by CERN.  It now does recursive library dependency checking and
removes duplicate entries.
.PP
Note that by default, the cernlib script assumes that the CERN libraries are
to be linked against statically; if the environment variables $CERN or
$CERN_ROOT are specified, it looks for the libraries only in the
"lib" subdirectory of those locations, not any "shlib" subdirectory.
Furthermore, the script brackets the CERN libraries with linker instructions to
link statically.  This is done to preserve the original upstream behavior, in
which all CERNLIB libraries exist only in static form.  For instance,
"cernlib packlib" outputs:
.PP
\-Wl,\-static \-lpacklib \-lkernlib \-Wl,\-dy \-lm \-lnsl \-lcrypt \-ldl \-lg2c
.PP
If you want to link against ALL libraries (including CERNLIB) either
statically or dynamically, call the cernlib script with its \-safe flag
to omit these bracketing linker flags.
That is: if you want to link against all libraries (not just CERNLIB)
statically, use the \-static compiler flag and call cernlib with its \-safe
flag:
.PP
gfortran \-o myprogram myprogram.F \-static `cernlib \-safe \-G Motif pawlib`
.PP
and if you want to link against all libraries (including the CERN libraries)
dynamically, use the same command without the \-static compiler flag
(the linker assumes dynamic linking by default):
.PP
gfortran \-o myprogram myprogram.F `cernlib \-safe \-G Motif pawlib`
.SH OPTIONS
.TP
.BI "\-a " arch
Specify a system architecture, e.g. Linux (default), AIX, HP\-UX, etc.
.TP
.B \-dy
Equivalent to \-safe; for backwards compatibility.
.TP
.BI "\-G " driver
Specify a graphics driver.  The available options on Linux are X11 and Motif
(the latter option will also work when the Lesstif library is present).
.TP
.B \-P, \-s
Ignored; for backwards compatibility.
.TP
.B \-safe
Do not make any assumptions about whether the CERN libraries should be linked
against dynamically or statically.  (The default behavior, if this flag is not
used, is to link them statically.)
.TP
.B \-u
Do not include architecture\-specific libraries in the output.
.TP
.BI "\-v " version
Specify version of $CERN_LEVEL.  This is meaningless unless you have installed
an upstream version of CERNLIB (i.e. not packaged by Debian); see the file
.IR /usr/share/doc/cernlib\-base/README.Debian .
.TP
.B \-?, \-\-help
Show a summary of options.
.TP
.B \-\-
Tell cernlib that this marks the end of cernlib\-specific flags, and
all following arguments are to be parsed as described in the \fBLIBRARIES\fP
section below.  If \-\- is not given, the first word parsed as a library
name will be the first word not starting with a hyphen "\-" that is not
an argument to a preceding cernlib flag.
.SH LIBRARIES
The following library names are recognized by this version of the cernlib
script.  These names may be used exactly as shown here, or prefixed by "\-l".
.TP
.B Core CERN libraries
mathlib, packlib, kernlib
.TP
.B Graphics and PAW libraries
graflib, pawlib
.TP
.B Monte Carlo and GEANT libraries
cojets, eurodec, geant321, herwig59, isajet758, pdflib804, photos202, phtools
.TP
.B Additional Monte Carlo libraries
(to obtain these, see /usr/share/doc/montecarlo\-base/README.Debian)
.br
ariadne, ariadne\-p5, fritiof, jetset, lepto, pythia5, pythia6
.TP
.B Aliases
The numerals at the end may be left off most of the library names above.
.TP
.B Other library names
Various other names are recognized for backwards compatibility, internal use,
and non\-Linux architectures.  For the complete list, please see the cernlib
script.
.TP
.B Other
Any names not recognized by cernlib that start with "\-l" or with
any character other than a hyphen ("\-") are output as \-l${name#\-l}
(\fIi.e.\fP, are assumed to be a library).  Names starting with a hyphen for
which the second character is not "l" are assumed to be compiler flags, and are
output at the beginning of the line before all other output.
.SH SEE ALSO
.PP
.I /usr/share/doc/cernlib\-base/README.Debian
describes some of the changes that have been made to the CERN libraries in
order to comply with Debian policy and the Filesystem Hierarchy Standard.
.PP
CERNLIB documentation for all related libraries and programs is available
at the following URL:
.I http://cern.ch/cernlib/
.SH AUTHOR
This manual page and the version of the cernlib script that it describes
were written by Kevin McCarty <kmccarty@debian.org>
for the Debian GNU/Linux system (but may be used by others).  They are
licensed under the GNU General Public License, version 2 or later (at your
choice).
.SH COPYRIGHT
Copyright (C) Kevin B. McCarty, 2002, 2003, 2004, 2005, 2006.