1.[Gitlab users: make a source distribution](#org274450d)
1.[The git pre-commit hook](#org34778df)
2.[The CI/CD pipeline](#org9402a70)
2.[Everyone: configure, make and install](#org6e132d9)
5.[Let me know](#org629d015)
1.[READ ME](#org9f06ff3)
2.[About tarot](#org4bf0263)
3.[Project site](#orgc9ca723)
4.[Compile this project](#orga627b20)
1.[Gitlab users: make a source distribution](#org1ec3712)
1.[The git pre-commit hook](#org325403e)
2.[The CI/CD pipeline](#org311ea92)
2.[Everyone: configure, make and install](#org1a24dae)
5.[Introspection and cross-compilation](#orgd6dad60)
6.[Let me know](#orgb6d349a)
<aid="org7a2beec"></a>
<aid="org9f06ff3"></a>
# READ ME
RUN THE CONFIGURE SCRIPT NOT `autogen.sh`. If you don't have a
configure script, see section [4.1](#org274450d).
configure script, see section [4.1](#org1ec3712).
<aid="org7af94e6"></a>
<aid="org4bf0263"></a>
# About tarot
...
...
@@ -30,14 +31,14 @@ Of Tarot*. It aims at providing a game and an artificial
intelligence.
<aid="org3f643fb"></a>
<aid="orgc9ca723"></a>
# Project site
Go check out the [project manual](http://gugurumbe.frama.io/tarot/share/doc/tarot/tarot.html/index.html) and the [project code coverage report](http://gugurumbe.frama.io/tarot/coverage/index.html).
<aid="orgdb94484"></a>
<aid="orga627b20"></a>
# Compile this project
...
...
@@ -49,7 +50,7 @@ some more work. Note that a source distribution is already available
my autotools!).
<aid="org274450d"></a>
<aid="org1ec3712"></a>
## Gitlab users: make a source distribution
...
...
@@ -61,10 +62,10 @@ distribution, such as emacs with a recent enough version of org-mode
is *not* available, or difficult to install, then I advise you to make
a *source* distribution from an easier system or download [the build
from the latest passing commit](http://gugurumbe.frama.io/tarot/tarot-devel.tar.gz), and then use this distribution as
discussed in section [4.2](#org6e132d9).
discussed in section [4.2](#org1a24dae).
<aid="org34778df"></a>
<aid="org325403e"></a>
### The git pre-commit hook
...
...
@@ -88,7 +89,7 @@ the project. And if you disable the hook, then the CI pipeline is
very likely to fail anyways.
<aid="org9402a70"></a>
<aid="org311ea92"></a>
### The CI/CD pipeline
...
...
@@ -104,7 +105,7 @@ Dockerfile and `.gitlab-ci.yml`.
I already have bison, flex and gperf, and emacs, in that category.
<aid="org6e132d9"></a>
<aid="org1a24dae"></a>
## Everyone: configure, make and install
...
...
@@ -120,10 +121,43 @@ a pkg-config configuration. In this case, pass the compiler flags and
linker flags as instructed at the end of `./configure --help`.
<aid="org629d015"></a>
<aid="orgd6dad60"></a>
# Introspection and cross-compilation
This package uses some introspection techniques: *help2man*, and maybe
in the future (distributed) code coverage and GObject introspection.
It means that you will need to run some just-built code in order to
update some distributed files. In case you are cross-compiling the
package, you may not be able to run the built code, so the
introspection will not work. Most of the time, you will not have to
do anything, since the results of the introspection will be up to
date. However, if you patch some specific source files, then the
results of the introspection will need to be re-built.
Here is a way out: if you intend to change the source code,
- configure the program out-of-source for the BUILD system <sup><aid="fnr.1"class="footref"href="#fn.1">1</a></sup>;
- configure the program out-of-source for the HOST system;
- patch the source;
- in the BUILD directory, run "make dist", or even "make distcheck";
- in the HOST directory, you can safely compile and DESTDIR install,
since the results of the introspection are now up to date. I'm
generally not using cross-compilation myself so the theory may not
hold in practice. If you still get an error, then please, report a
bug!
<aid="orgb6d349a"></a>
# Let me know
I develop Tarot as a personal hobby. If you find it interesting, or
have bugs to submit, please let me know: `vivien@planete-kraus.eu`