Differences

This shows you the differences between two versions of the page.

Link to this comparison view

gnucap:manual:autotools [2020/02/17 07:45]
felixs created
gnucap:manual:autotools [2024/02/10 03:39] (current)
felixs add 20240205 tarball
Line 1: Line 1:
-<code> +=== Build Gnucap with foreign build systems ===
-The autotools build system is not included with the main repo.+
  
 +Building a program boils down to compiling binaries from source code using a compiler. However, an large number of "build systems" has been invented for the purpose of invoking a compiler and managing the data. Such build systems are necessarily bound to tradeoffs between simplicity and fancyness driven by both taste and policies. Good tradeoffs do not seem to exist yet. The high number of different implementations displays the lack of agreement on best practice, and every build system is rejected by more than accept it.
 +
 +Currently, Gnucap includes a simplistic, modular, make based build system. However, the data used is provided separately and stored in a simple format.
 +Virtually any build system can process this data, and is hence supported. For some, there is a more or less complete implementation.
 +
 +Foreign build system files are not part of the main repo to reduce friction, improve flexibility and avoid lock-in. To try these examples, first clone the main repo.
 +
 +<code>
 $ git clone git://git.savannah.gnu.org/gnucap.git/ $ git clone git://git.savannah.gnu.org/gnucap.git/
 $ cd gnucap $ cd gnucap
 $ git checkout develop # as of 17.02.20 $ git checkout develop # as of 17.02.20
 +</code>
 +
 +== autotools ==
 +
 +<code>
 $ git clone git://git.savannah.gnu.org/gnucap/gnucap-tools.git --branch autotools autotools $ git clone git://git.savannah.gnu.org/gnucap/gnucap-tools.git --branch autotools autotools
 $ ./autotools/bootstrap $ ./autotools/bootstrap
Line 20: Line 32:
 [..] [..]
 gnucap> gnucap>
 +</code>
  
 +Here's a tarball generated by autotools. It should work with just a POSIX shell and some Make.
 +{{:gnucap:manual:gnucap-20240205-auto.tar.gz|}}
 +
 +== cmake ==
 +
 +TODO: this never worked properly, need a cmake expert.
 +<code>
 +$ git clone git://git.savannah.gnu.org/gnucap/gnucap-tools.git --branch cmake cmake
 +$ mkdir build
 +$ cd build
 +$ less ../cmake/README
 +
 +and
 +
 +$ cmake ../cmake
 +[..]
 +$ make
 +$ GNUCAP_PLUGPATH=apps main/gnucap
 +[..]
 +gnucap>
 </code> </code>
gnucap/manual/autotools.1581947127.txt.gz · Last modified: 2020/02/17 07:45 by felixs
 
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Run by Debian Driven by DokuWiki