Autotools
Table of Contents
This website contains the Autotools tutorial of the TREX build system Hackathon. The content is released under the CC-BY-SA license.
1 Installation instructions
You need to use an isolated Conda environment. If you do not have Anaconda or Miniconda on your system, you can install it using instructions from one of the following pages (the version of Python is not important here):
- for Linux users: https://docs.conda.io/en/latest/miniconda.html#linux-installers
- for MacOS users: https://docs.conda.io/en/latest/miniconda.html#macosx-installers
Once you have Conda installed, you can use the environment.yml file to set up the environment needed for the Autotools tutorial. Download the file on your hard drive, then in the terminal navigate to the directory with the file and execute the following command:
$ conda env create -f environment.yml
You then need to activate the new environment:
$ conda activate autotools
Now you should have Autoconf, Automake, compilers and a few other packages installed in an isolated environment. Before you proceed to the tutorial, download the example project called Sherman-Morrison using the following link: Starting point: https://github.com/q-posev/Sherman-Morrison/archive/refs/tags/v0.1-demo.tar.gz
Here is a checkpoint betweeen the two parts: https://github.com/q-posev/Sherman-Morrison/archive/refs/tags/v0.1-checkpoint.tar.gz
Make sure to extract the files from the archive before starting the tutorial.
2 Tutorial
- Part I: Autoconf
- Part II: Automake
- Link to the final files that you should have at the end of this tutorial.
If you want to go deeper into Autotools, we recommend:
- The Basics of Autotools, an online introduction
- Autotools Mythbuster
- the excellent book A Practitioner's Guide to GNU Autoconf, Automake, and Libtool by John Calcote,
- the "Autobook" by Gary V. Vaughan, Ben Elliston, Tom Tromey and Ian Lance Taylor, which is available online or as a PDF document.
TREX : Targeting Real Chemical Accuracy at the Exascale project has received funding from the European Union’s Horizon 2020 - Research and Innovation program - under grant agreement no. 952165. The content of this document does not represent the opinion of the European Union, and the European Union is not responsible for any use that might be made of such content.
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.