Franklin

Autotools : A Practicioner's Guide to GNU Autoconf, Automake, and Libtool.

Other records:
Author/Creator:
Calcote, John.
Edition:
1st ed.
Publication:
San Francisco : No Starch Press, Incorporated, 2010.
Format/Description:
Book
1 online resource (364 pages)
Subjects:
Autotools (Electronic resource).
UNIX (Computer file).
Cross-platform software development.
Open source software.
Form/Genre:
Electronic books.
Summary:
The GNU Autotools (the GNU Build System) is a group of utilities designed to make it easy for developers to create software that is portable across many Unix-like operating systems. Unfortunately, most Autotools documentation is merely reference material, and a serious guide to the tools is needed. With its solution-oriented instruction and cookbook-style approach, Autotools: A Developer's Guide is the first book to offer programmers a tutorial-based guide to the Autotools. Beginning with high-level concepts, the book discusses many use-cases and examples, and ends with more advanced details, like using the M4 Macro Processor with Autoconf, extending the framework provided by Automake, building Java and CSharp sources, and more. The book also shows readers how to structure and organize open source software, master the Autotools framework and functional project configuration scripts, use extensions to Autoconf, convert an existing, complex open source project from a custom build system to an Autotools build system, and write their own Autotools macros. Rather than teach specific Autotools, Autotools: A Developer's Guide focuses on the key Autotools concepts.
Contents:
Intro
Brief Contents
Contents in Detail
Foreword
Preface
Introduction
Who Should Read This Book
How This Book Is Organized
Conventions Used in This Book
Autotools Versions Used in This Book
1: A Brief Introduction to the GNU Autotools
Who Should Use the Autotools?
When Should You Not Use the Autotools?
Apple Platforms and Mac OS X
The Choice of Language
Generating Your Package Build System
Autoconf
Automake
Libtool
Building Your Package
Installing the Most Up-to-Date Autotools
Summary
2: Understanding the GNU Coding Standards
Creating a New Project Directory Structure
Project Structure
Makefile Basics
Creating a Source Distribution Archive
Automatically Testing a Distribution
Unit Testing, Anyone?
Installing Products
The Filesystem Hierarchy Standard
Supporting Standard Targets and Variables
Getting Your Project into a Linux Distro
Build vs. Installation Prefix Overrides
User Variables
Configuring Your Package
Summary
3: Configuring Your Project with Autoconf
Autoconf Configuration Scripts
The Shortest configure.ac File
Comparing M4 to the C Preprocessor
The Nature of M4 Macros
Executing autoconf
Executing configure
Executing config.status
Adding Some Real Functionality
Generating Files from Templates
Adding VPATH Build Functionality
Let's Take a Breather
An Even Quicker Start with autoscan
Initialization and Package Information
The Instantiating Macros
Back to Remote Builds for a Moment
Summary
4: More Fun with Autoconf: Configuring User Options
Substitutions and Definitions
Checking for Compilers
Checking for Other Programs
A Common Problem with Autoconf
Checks for Libraries and Header Files
Supporting Optional Features and Packages.
Checks for Type and Structure Definitions
The AC_OUTPUT Macro
Summary
5: Automatic Makefiles with Automake
Getting Down to Business
What's in a Makefile.am File?
Analyzing Our New Build System
Unit Tests: Supporting make check
Reducing Complexity with Convenience Libraries
Building the New Library
What Goes into a Distribution?
Maintainer Mode
Cutting Through the Noise
Summary
6: Building Libraries with Libtool
The Benefits of Shared Libraries
How Shared Libraries Work
Using Libtool
Installing Libtool
Adding Shared Libraries to Jupiter
Summary
7: Library Interface Versioning and Runtime Dynamic Linking
System-Specific Versioning
The Libtool Library Versioning Scheme
Using libltdl
Summary
8: FLAIM: An Autotools Example
What Is FLAIM?
Why FLAIM?
An Initial Look
Getting Started
The FLAIM Subprojects
Designing the XFLAIM Build System
Summary
9: FLAIM Part II: Pushing the Envelope
Building Java Sources Using the Autotools
Building the C# Sources
Configuring Compiler Options
Hooking Doxygen into the Build Process
Adding Nonstandard Targets
Summary
10: Using the M4 Macro Processor with Autoconf
M4 Text Processing
The Recursive Nature of M4
Autoconf and M4
Writing Autoconf Macros
Diagnosing Problems
Summary
11: A Catalog of Tips and Reusable Solutions for Creating Great Projects
Item 1: Keeping Private Details out of Public Interfaces
Item 2: Implementing Recursive Extension Targets
Item 3: Using a Repository Revision Number in a Package Version
Item 4: Ensuring Your Distribution Packages Are Clean
Item 5: Hacking Autoconf Macros
Item 6: Cross-Compiling
Item 7: Emulating Autoconf Text Replacement Techniques
Item 8: Using the ac-archive Project
Item 9: Using pkg-config with Autotools.
Item 10: Using Incremental Installation Techniques
Item 11: Using Generated Source Code
Item 12: Disabling Undesirable Targets
Item 13: Watch Those Tab Characters!
Item 14: Packaging Choices
Wrapping Up
Index.
Notes:
Description based on publisher supplied metadata and other sources.
Local notes:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2021. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Other format:
Print version: Calcote, John Autotools
ISBN:
9781593273316
9781593272067
OCLC:
830164508
Loading...
Location Notes Your Loan Policy
Description Status Barcode Your Loan Policy