"Writing portable software using Autoconf" by Jim Hayes (CSE, UCSD) AP&M room 4882 Friday 10/27/00 at 3pm If you write a program using Unix C library calls, you should be able to take the code to any Unix system, compile it, and run, right? Think again. The fact is that there is no such operating system as Unix, and the various "Unix" variations each incorporate mutually-incompatable choices of library placement and definition, header placement and include requirements, and even system function parameters. On top of this you have wide differences in compiler and linker features and switches, all of which leaves the poor portable code developer with a maintenance nightmare. This talk will cover autoconf, a freely-available tool developed by GNU programmers to ease the pain of porting software. autoconf automates the process of testing a system for variants like compiler features, library and header file locations, and system call definitions. The tool takes a file specifying the system and compiler features you need and produces a shell script that you can copy between systems to properly configure your Makefiles. In addition to providing predefined tests for well-known variant features, autoconf allows you to write your own short tests for new features. Making effective use of autoconf can significantly ease the process of porting your software between Unix systems.