Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
F
frama-c
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Container Registry
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
pub
frama-c
Commits
fae6b055
Commit
fae6b055
authored
4 years ago
by
Virgile Prevosto
Browse files
Options
Downloads
Patches
Plain Diff
[devman] more configure.ac documentation
parent
00184197
No related branches found
No related tags found
1 merge request
!3
Fixed a semantic error concerning ISO C99 Uninitialized Value Undefined Behaviour in Eva main manual
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
doc/developer/advance.tex
+40
-5
40 additions, 5 deletions
doc/developer/advance.tex
doc/developer/changes.tex
+2
-1
2 additions, 1 deletion
doc/developer/changes.tex
with
42 additions
and
6 deletions
doc/developer/advance.tex
+
40
−
5
View file @
fae6b055
...
...
@@ -210,7 +210,7 @@ It takes two arguments, the name of the package (as known by \texttt{findlib}),
and a message that will be displayed if the package is not found.
The
\texttt
{
configure
\_
library
}
macro takes three arguments. The first one is
the
(uppercase)
name of the library, the second one is a filename
the name of the library, the second one is a filename
which is used by the script to check the availability of the library.
In case there are multiple locations possible for the library, this
argument can be a list of filenames. In this case, the argument must
...
...
@@ -222,8 +222,19 @@ argument is a warning message to display if a configuration problem
appears (usually because the library does not exist). Using these
arguments, the script checks the availability of the library.
Results of this macro are available through two variables which are
substituted in the files generated by
\texttt
{
configure
}
.
Results of these macros are available through variables which are
substituted in the files generated by
\texttt
{
configure
}
, where
\texttt
{$
library
$}
stands for the
\emph
{
uppercased
}
version of the library name.
\begin{itemize}
\item
For
\texttt
{
configure
\_
pkg
}
:
\begin{itemize}
\item
\texttt
{
HAS
\_
OCAML
\_
$
library
$}
\scodeidxdef
{
configure.in
}{
HAS
\_
OCAML
\_
$
library
$}
is set to
\texttt
{
yes
}
or
\texttt
{
no
}
depending on the availability
of the library
\end{itemize}
\item
For
\texttt
{
configure
\_
library
}
:
\begin{itemize}
\item
\texttt
{
HAS
\_
$
library
$}
\scodeidxdef
{
configure.in
}{
HAS
\_
$
library
$}
is set to
\texttt
{
yes
}
or
\texttt
{
no
}
depending on the availability
...
...
@@ -231,8 +242,10 @@ substituted in the files generated by \texttt{configure}.
\item
\texttt
{
SELECTED
\_
$
library
$}
\scodeidxdef
{
configure.in
}{
SELECTED
\_
$
library
$}
contains the name of the version selected as described above.
\end{itemize}
\end{itemize}
When checking for
\ocaml
{}
libraries and object files, remember that
If checking for
\ocaml
{}
libraries and object files without
\texttt
{
configure
\_
pkg
}
, remember that
they come in two flavors: bytecode and native
code, which have distinct suffixes. Therefore, you should use the
variables
\texttt
{
LIB
\_
SUFFIX
}
\scodeidx
{
configure.in
}{
LIB
\_
SUFFIX
}
...
...
@@ -262,7 +275,22 @@ configure_library(
\subsection
{
Addition of Library/Tool Dependencies
}
\label
{
conf:dep-lib
}
\index
{
Library!Dependency
}
\index
{
Tool!Dependency
}
Dependencies upon external tools and libraries are governed by two macros:
Dependencies upon OCaml packages (checked by
\texttt
{
configure
\_
pkg
}
) are
governed by two macros:
\begin{itemize}
\item
\texttt
{
plugin
\_
require
\_
pkg(
$
plugin
$
,
$
library
$
)
}
%
\scodeidxdef
{
configure.in
}{
plugin
\_
require
\_
pkg
}
indicates that
$
plugin
$
requires
$
library
$
in order to be compiled.
\item
\texttt
{
plugin
\_
use
\_
pkg(
$
plugin
$
,
$
library
$
)
}
%
\scodeidxdef
{
configure.in
}{
plugin
\_
use
\_
pkg
}
indicates that
$
plugin
$
uses
$
library
$
, but can nevertheless be compiled if
$
library
$
is not installed (potentially offering reduced functionality).
\end{itemize}
Dependencies upon external tools and libraries (checked by
\texttt
{
configure
\_
library
}
or
\texttt
{
configure
\_
tool
}
)
are governed by two macros:
\begin{itemize}
\item
\texttt
{
plugin
\_
require
\_
external(
$
plugin
$
,
$
library
$
)
}
%
\scodeidxdef
{
configure.in
}{
plugin
\_
require
\_
external
}
indicates that
...
...
@@ -372,6 +400,13 @@ are met. This is done with the following macro:\scodeidxdef{configure.in}{check\
\begin
{
configurecode
}
check
_
plugin
_
dependencies
\end
{
configurecode
}
It is only after this point that the variables
\texttt
{
HAS
\_
$
library
$}
,
\texttt
{
SELECTED
\_
$
library
$}
, and
\texttt
{
ENABLE
\_
$
plugin
$}
get their final value. If parts of the
\texttt
{
configure
}
script depends on these variables,
they should appear after the call to
\texttt
{
check
\_
plugin
\_
dependencies
}
.
An external plug
-
in can
have dependencies upon previously installed plug
-
ins.
However two separately installed plug
-
ins can not be
...
...
This diff is collapsed.
Click to expand it.
doc/developer/changes.tex
+
2
−
1
View file @
fae6b055
...
...
@@ -7,7 +7,8 @@ This chapter summarizes the major changes in this documentation between each
\section*
{
21.0 Scandium
}
\begin{itemize}
\item
\textbf
{
Configure
}
: Documentation of
\texttt
{
configure
\_
pkg
}
macro.
\item
\textbf
{
Configure
}
: Documentation of
\texttt
{
configure
\_
pkg
}
,
\texttt
{
plugin
\_
require
\_
pkg
}
and
\texttt
{
plugin
\_
use
\_
pkg
}
macros.
\end{itemize}
\section*
{
20.0 Calcium
}
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment