ac

A python library for writing C/C++ configure files.


License
GPL-3.0
Install
pip install ac==0.1-alpha

Documentation

AC.py - Python Autoconf

Introduction

AC.py is a Python implementation of the popular autoconf tool used in ascertaining a sane, stable environment before attempting to build large projects. The purpose of AC.py is to provide a simpler way of performing these tests, along with added functionality to resolve environmental issues at the same time.

License

AC.py is licensed with GPLv3. This is free software that may be used by anyone for any purposes and distributed freely, and comes with no warranty.

Author Info.

Originally authored by Tom A. Thorogood.

AC.py's central repository is located at github.com/tomthorogood/ac.py.

Installation

AC.py can be installed using

pip install ac

or

easy_install ac

Additionally, you can clone and install yourself using:

git clone git://github.com/tomthorogood/AC.py
cd AC.py
python setup.py install

You do not need to install ac.py in order to use it. It can be cloned and used as any standard Python module.

Usage

AC.py aims to be simpler than than traditional autoconf, and is highly customizable. The following tutorial will allow you to:

  • Test for libraries and executables
  • Set up distribution-specific alternatives for failed tests
  • Use test results to populate fields in a manifest Makefile.

The Shell Environment#

AC.py will always attempt to test the shell environment first. The default shell can be changed using the --shell flag. When running any shell scripts generated by AC.py or written by you, the hashbang interpreter directive will always be at the head of each script (#!/bin/sh), using the results from the shell environment test.

If you do not want your users to have to use the shell flag, but do want to require a specific shell environment, you can set the default using

# ac.set_shell
ac.set_shell("sh")
ac.set_shell("bash")
ac.set_shell("tcsh")

However, it is highgly recommended that you use bash commands and scripts that will work across all platforms and shells.

Required Successes

Tests marked as required (or called with a 'require' function) will halt the configuration script if the test is not a success and there is no fail alternative provided.

A Generic Test

You can use any Python scripting to come up with a true/false result and pass the result into the test framework using

# ac.test("test_name", result, [required=True|False])