Difference between revisions of "Olena/SourceTree"
From LRDE
(Add the OlenaMenu on each Olena pages) |
(Don't include the menu if the page is used included in another page) |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
− | {{OlenaMenu}} |
+ | <noinclude>{{OlenaMenu}}</noinclude> |
(most of the information contained in this page is an overview |
(most of the information contained in this page is an overview |
||
Line 23: | Line 23: | ||
This means that: |
This means that: |
||
+ | <syntaxhighlight lang="bash" line enclose="div"> |
||
− | <pre> |
||
− | + | ./configure |
|
− | + | make distcheck |
|
+ | </syntaxhighlight> |
||
− | </pre> |
||
and |
and |
||
+ | <syntaxhighlight lang="bash" line enclose="div"> |
||
− | <pre> |
||
− | + | mkdir .../build |
|
− | + | cd .../build |
|
− | + | path_to_oln_sources/configure |
|
− | + | make distcheck |
|
+ | </syntaxhighlight> |
||
− | </pre> |
||
'''are known to produce different results''', and that only a successful run of the second method ensures that the distribution is autonomous. |
'''are known to produce different results''', and that only a successful run of the second method ensures that the distribution is autonomous. |
||
Line 44: | Line 44: | ||
=== More technicalities === |
=== More technicalities === |
||
+ | <syntaxhighlight lang="email" line enclose="div"> |
||
− | <pre> |
||
From: Raphal Poss <raph@lrde.epita.fr> |
From: Raphal Poss <raph@lrde.epita.fr> |
||
Line 108: | Line 108: | ||
Raphaël Poss |
Raphaël Poss |
||
+ | </syntaxhighlight> |
||
− | </pre> |
||
− | |||
− | ----- |
Latest revision as of 15:04, 12 November 2014
Resources
(most of the information contained in this page is an overview of the oln-dev manual distributed in the oln-doc distribution)
General information
A manual is now available, in the doc/dev subdirectory of the PRCS repository for Olena. Please read it first when you have a question about the source tree.
How to check for the correctness of a submission
The general Olena guidelines dictate that no change should be commited to the PRCS archive, thus neither in any Olena distribution, without checking for regressions first.
The simpler yet correct way to check this is to run make distcheck in the toplevel source directory. This command ensures that all build phases happen without errors in « release conditions ».
However, it is important to run this command from a separate build directory. Indeed, there are many wrong ways to write build control files (Makefile.am, configure.ac, etc) which lead to errorless make distcheck runs, when run from the source directory.
This means that:
1./configure
2make distcheck
and
1mkdir .../build
2cd .../build
3path_to_oln_sources/configure
4make distcheck
are known to produce different results, and that only a successful run of the second method ensures that the distribution is autonomous.
More technicalities
1From: Raphal Poss <raph@lrde.epita.fr>
2Subject: Re: Un petit truc concernant les projets autoconfés.
3Newsgroups: epita.lrde.olena, epita.lrde.general
4Date: Fri, 13 Dec 2002 18:18:27 +0100
5Organization: EPITA / LRDE http://www.lrde.epita.fr
6
7yann@lrde.epita.fr (Yann Rgis-Gianas) writes:
8
9> Raphal Poss <raph@lrde.epita.fr> writes:
10>
11>> http://www.lrde.epita.fr/cgi-bin/twiki/view/Olena/SourceTree
12>
13>
14> J'ai lu. Si c'est ce qu'il faut faire, je veux bien le faire.
15>
16> Cependant, est-ce que tu peux expliquer le pourquoi, s'il te plaît ?
17
18Un simple problèmes de dépendances.
19
20Imagine:
21
22data/output.ppm: data/lena.ppm
23 (operation $< -o $@ )
24
25trucmachin: data/output.ppm
26
27Si tu lances ça dans le répertoire de sources, cool tout va bien data/
28à gauche et à droite des dépendances pointe bien vers le même
29répertoire.
30
31Si tu le lance dans un autre répertoire, c pas cool, parce que
32data/lena.ppm fait référence au "data/" dans le rep. de sources, et le
33data/output.ppm fait référence à celui du rpertoire de construction,
34qui n'existe pas au moment où la règle est invoquée par make.
35
36Q1) pourquoi avec make distcheck on s'en aperçoit pas ?
37R1) data/output.ppm est inclus dans la distribution, donc la règle
38n'est pas invoquée par "make distcheck" vu qu'il n'y en a alors pas
39besoin.
40
41Q1bis) si dans une distrib y a plus de problème, à qui ça peut en
42 poser ?
43R1bis) aux gens qui veulent bosser sur olena partir d'une
44 distribution (i.e. pas à partir du prcs).
45
46Q2) idée:
47 $(srcdir)/data/output.ppm: $(srcdir)/data/lena.ppm
48 (operation $< -o $@ )
49
50 trucmachin: $(srcdir)/data/output.ppm
51
52R2) ça marche, mais c pas propre. Tout l'intérêt d'un proj autoconfé
53 correctement est de pouvoir travailler dans des conditions telles
54 que :
55
56 - le répertoire de sources est en lecture-seule
57 - on veut tester l'influence de flags "configure" sur les phases
58 de construction (ce que je suis en train de faire)
59
60--
61Raphaël Poss