Skip to main content

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

Project description

# 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](http://www.gnu.org). 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](mailto:tom@tomthorogood.com).

AC.py’s central repository is located at [github.com/tomthorogood/ac.py](http://www.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])

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ac-0.3-alpha.tar.gz (9.3 kB view details)

Uploaded Source

Built Distribution

ac-0.3_alpha-py2.7.egg (26.7 kB view details)

Uploaded Source

File details

Details for the file ac-0.3-alpha.tar.gz.

File metadata

  • Download URL: ac-0.3-alpha.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ac-0.3-alpha.tar.gz
Algorithm Hash digest
SHA256 f5fa14b9679ff94898a8ed727f63451b827063a605e5e5cee00103fbe2846f62
MD5 995a58d4fb932e61249228ef9235a36f
BLAKE2b-256 9868017efc9313ce68a7d2f5116f1921374f982000e8eb645691859b26c0bd10

See more details on using hashes here.

File details

Details for the file ac-0.3_alpha-py2.7.egg.

File metadata

  • Download URL: ac-0.3_alpha-py2.7.egg
  • Upload date:
  • Size: 26.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for ac-0.3_alpha-py2.7.egg
Algorithm Hash digest
SHA256 bf78cca9b3ad6f3a72791fd78e0e04eabd920ef0efaf669fb39cf313250bef10
MD5 992dad7056bbff12418488d5783b7241
BLAKE2b-256 1b4075ece545407ddd3a38a81ad65d12de6a7707a2f53441d1e414fcd7920f96

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page