Model programs and their Automake files
In order to concentrate on actually used features and on practical usage of Automake compatibility layer, I chose a few programs that currently use Automake, in order to make it possible to build them using SCons.
Since SCons lacks any Gettext support and adding it is non-trivial and not in scope of this project, as far as my project is concerned, if any of referenced programs uses Gettext, support for it will not be included in SConsified version.
Additional suggestions for model programs, both simple and (more important) complex, are welcome.
Simple projects
AMHello
Canonical 'Hello, World' example included with Automake as an example. Minimal project, a must-have.
No own home or project page.
- Browse sources
http://cvs.savannah.gnu.org/viewvc/automake/doc/amhello/?root=automake
- `configure.ac` file
- `Makefile.am` files
SConstruct
Low-level API:
GNU cpio
Simple C program, referenced as an example throughout Automake manual, multiple directories, Texinfo documentation, library, header files.
- Home page
- Project page
- Browse sources
- `configure.ac` file
- `Makefile.am` files
Automake
Not a very complicated program, written in Perl (project not based on C language), non-trivial installation.
- Home page
- Project page
- Browse sources
- `configure.ac` file
- `Makefile.am` files
Fetchmail
Simple, C-based program. Unique feature to test is Lex and Yacc usage.
- Home page
- Project page
- Browse sources
- `configure.ac` file
- `Makefile.am` files
SConstruct file: GSoC2007/MaciejPasternacki/ModelPrograms/FetchmailSConstruct
Complex projects
Nix
Complex, C++-based programs. Lots of subdirectories. Non-trivial installation.
- Home page
- Browse sources
- `configure.ac` file
- `Makefile.am` files
Gnucash
Complex GUI program, mixes Guile Scheme and C (SWIG bindings), and maybe some Perl.
I'm not sure if I will manage to actually convert it, since it uses libtool, which is very tightly integrated with Autotools and libtool support is out of immediate scope of this project. Even if I won't, usage patterns from Gnucash should be beneficial to the project.
- Home page
- Browse sources
- `configure.ac` file
- `Makefile.am` files
GRUB Legacy
Complex program; lots of documentation; conditional build; many custom build rules.
- Home page
- Browse sources
- `configure.ac` file
- `Makefile.am` files
Irssi
Complex program and complex build process (generated Makefile.am files!). C with embedded Perl. Heavy usage of conditional build.
- Home page
- Browse sources
- `configure.ac` file
- `Makefile.am` files
