Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
AUTOTOOLS
FOREWORD PREFACE
Why Use the Autotools? Acknowledgments I Wish You the Very Best
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
autoconf autoreconf autoheader autoscan autoupdate ifnames autom4te Working Together
Automake
automake aclocal
Libtool
libtool libtoolize ltdl, the Libtool C API
Building Your Package
Running configure
Building Outside the Source Directory
Running make
Installing the Most Up-to-Date Autotools Summary
2. UNDERSTANDING THE GNU CODING STANDARDS
Creating a New Project Directory Structure Project Structure Makefile Basics
Commands and Rules Variables A Separate Shell for Each Command Variable Binding Rules in Detail
Automatic Variables Dependency Rules Implicit Rules Phony Targets Multiple Targets
Resources for Makefile Authors
Creating a Source Distribution Archive
Forcing a Rule to Run Leading Control Characters
Automatically Testing a Distribution Unit Testing, Anyone? Installing Products
Installation Choices Uninstalling a Package Testing Install and Uninstall
The Filesystem Hierarchy Standard Supporting Standard Targets and Variables
Standard Targets Standard Variables Adding Location Variables to Jupiter
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
The Proverbial autogen.sh Script Updating Makefile.in
Initialization and Package Information
AC_PREREQ AC_INIT AC_CONFIG_SRCDIR
The Instantiating Macros
AC_CONFIG_HEADERS Using autoheader to Generate an Include File Template
Back to Remote Builds for a Moment Summary
4. MORE FUN WITH AUTOCONF: CONFIGURING USER OPTIONS
Substitutions and Definitions
AC_SUBST AC_DEFINE
Checking for Compilers Checking for Other Programs A Common Problem with Autoconf Checks for Libraries and Header Files
Is It Right or Just Good Enough? Printing Messages
Supporting Optional Features and Packages
Coding Up the Feature Option Formatting Help Strings
Checks for Type and Structure Definitions The AC_OUTPUT Macro Summary
5. AUTOMATIC MAKEFILES WITH AUTOMAKE
Getting Down to Business
Enabling Automake in configure.ac A Hidden Benefit: Automatic Dependency Tracking
What's in a Makefile.am File? Analyzing Our New Build System
Product List Variables
Installation Location Prefixes Prefixes Not Associated with Installation Primaries
Product Source Variables PLV and PSV Modifiers
Unit Tests: Supporting make check Reducing Complexity with Convenience Libraries
Product Option Variables Per-Makefile Option Variables
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
Dynamic Linking at Load Time Automatic Dynamic Linking at Runtime Manual Dynamic Linking at Runtime
Using Libtool
Abstracting the Build Process Abstraction at Runtime
Installing Libtool Adding Shared Libraries to Jupiter
Using the LTLIBRARIES Primary Public Include Directories Customizing Libtool with LT_INIT Options Reconfigure and Build So What Is PIC, Anyway? Fixing the Jupiter PIC Problem
Summary
7. LIBRARY INTERFACE VERSIONING AND RUNTIME DYNAMIC LINKING
System-Specific Versioning
Linux and Solaris Library Versioning IBM AIX Library Versioning HP-UX/AT&T SVR4 Library Versioning
The Libtool Library Versioning Scheme
Library Versioning Is Interface Versioning When Library Versioning Just Isn't Enough
Using libltdl
Necessary Infrastructure Adding a Plug-In Interface Doing It the Old-Fashioned Way Converting to Libtool's ltdl Library Preloading Multiple Modules Checking It All Out
Summary
8. FLAIM: AN AUTOTOOLS EXAMPLE
What Is FLAIM? Why FLAIM? An Initial Look Getting Started
Adding the configure.ac Files
Automake in the Umbrella Project Why Add the Libtool Macros? Adding a Macro Subdirectory
The Top-Level Makefile.am File
The FLAIM Subprojects
The FLAIM Toolkit configure.ac File
Automake Configuration Features Doing Threads the Right Way Getting Just the Right Libraries Maintainer-Defined Command-Line Options
The FLAIM Toolkit Makefile.am File
Automake -hook and -local Rules
Designing the ftk/src/Makefile.am File Moving On to the ftk/util Directory
Designing the XFLAIM Build System
The XFLAIM configure.ac File Creating the xflaim/src/Makefile.am File Turning to the xflaim/util Directory
Stamp Targets Cleaning Your Room
Summary
9. FLAIM PART II: PUSHING THE ENVELOPE
Building Java Sources Using the Autotools
Autotools Java Support Using ac-archive Macros Canonical System Information The xflaim/java Directory Structure The xflaim/src/Makefile.am File Building the JNI C++ Sources The Java Wrapper Classes and JNI Headers A Caveat About Using the JAVA Primary
Building the C# Sources
Manual Installation Cleaning Up Again
Configuring Compiler Options Hooking Doxygen into the Build Process Adding Nonstandard Targets Summary
10. USING THE M4 MACRO PROCESSOR WITH AUTOCONF
M4 Text Processing
Defining Macros Macros with Arguments
Whitespace Around Arguments
The Recursive Nature of M4
Quoting Rules
Autoconf and M4
The Autoconf M4 Environment
Writing Autoconf Macros
Simple Text Replacement Documenting Your Macros M4 Conditionals
Adding Precision
Diagnosing Problems Summary
11. A CATALOG OF TIPS AND REUSABLE SOLUTIONS FOR CREATING GREAT PROJECTS
Item 1: Keeping Private Details out of Public Interfaces
Solutions in C Solutions in C++
The PIMPL Pattern C++ Virtual 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
Providing Library-Specific 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
Providing pkg-config Files for Your Library Projects Using pkg-config Files in configure.ac
Item 10: Using Incremental Installation Techniques Item 11: Using Generated Source Code
Using the BUILT_SOURCES Variable Dependency Management
A Two-Pass System Doing It in One Pass
Built Sources Done Right
Item 12: Disabling Undesirable Targets Item 13: Watch Those Tab Characters! Item 14: Packaging Choices Wrapping Up
UPDATES
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion