Autotools: an Overview

Autotools: an Overview

Autotools: An Overview Autotools: An Overview Danny Robson 2014-09-24 2014-09-24 Autotools: An Overview Danny Robson Overview Autotools autoconf Autotools: An Overview automake pkg-config Final Words Danny Robson 2014-09-24 Autotools: An Overview About Me Performance systems programming About Me C, C++ Linux GNU autotools Self-taught. Slowly. caveat emptor About Me Ask lots of questions 2014-09-24 Autotools: An Overview Danny Robson Overview Performance systems programming Autotools C, C++ autoconf Linux automake GNU pkg-config autotools Final Words Self-taught. Slowly. caveat emptor Ask lots of questions Autotools: An Overview About Me Performance systems programming About Me C, C++ Linux GNU autotools Self-taught. Slowly. caveat emptor About Me Ask lots of questions 2014-09-24 Autotools: An Overview Danny Robson Overview Performance systems programming Autotools C, C++ autoconf Linux automake GNU pkg-config autotools Final Words Self-taught. Slowly. caveat emptor Ask lots of questions Autotools: An Overview About Me Performance systems programming About Me C, C++ Linux GNU autotools Self-taught. Slowly. caveat emptor About Me Ask lots of questions 2014-09-24 Autotools: An Overview Danny Robson Overview Performance systems programming Autotools C, C++ autoconf Linux automake GNU pkg-config autotools Final Words Self-taught. Slowly. caveat emptor Ask lots of questions Autotools: An Overview What You're In For 1 Overview What You're In For 2 Autotools 3 autoconf What You're In For 4 automake 5 pkg-config 2014-09-24 6 Final Words Autotools: An Overview Danny Robson 1 Overview Overview Autotools 2 Autotools autoconf automake 3 pkg-config autoconf Final Words 4 automake 5 pkg-config 6 Final Words Autotools: An Overview Overview Section 1 Overview 2014-09-24 Autotools: An Overview Danny Robson Overview Autotools autoconf Section 1 automake pkg-config Final Words Overview Autotools: An Overview Build automation Overview Build automation Automate for consistency, tedium: compilation packaging Build automation testing 2014-09-24 Autotools: An Overview Danny Robson Overview Autotools autoconf Automate for consistency, tedium: automake compilation pkg-config packaging Final Words testing Autotools: An Overview Prominent Systems Overview Prominent Systems make bjam, SCons, Waf autotools CMake, gyp, premake Prominent Systems Many IDEs: Visual Studio, Eclipse, Netbeans, ... 2014-09-24 Autotools: An Overview Danny Robson • manual dependencies Overview • replicate existing functionality Autotools autoconf make automake bjam, SCons, Waf pkg-config autotools Final Words CMake, gyp, premake Many IDEs: Visual Studio, Eclipse, Netbeans, ... Autotools: An Overview Prominent Systems Overview Prominent Systems make bjam, SCons, Waf autotools CMake, gyp, premake Prominent Systems Many IDEs: Visual Studio, Eclipse, Netbeans, ... 2014-09-24 Autotools: An Overview Danny Robson • build your own systems Overview • less well known and supported Autotools make • many similar flaws autoconf automake bjam, SCons, Waf { speed pkg-config autotools { complexity Final Words { systems supported CMake, gyp, premake Many IDEs: Visual Studio, Eclipse, Netbeans, ... Autotools: An Overview Prominent Systems Overview Prominent Systems make bjam, SCons, Waf autotools CMake, gyp, premake Prominent Systems Many IDEs: Visual Studio, Eclipse, Netbeans, ... 2014-09-24 Autotools: An Overview Danny Robson Overview Autotools autoconf make automake bjam, SCons, Waf pkg-config autotools Final Words CMake, gyp, premake Many IDEs: Visual Studio, Eclipse, Netbeans, ... Autotools: An Overview Prominent Systems Overview Prominent Systems make bjam, SCons, Waf autotools CMake, gyp, premake Prominent Systems Many IDEs: Visual Studio, Eclipse, Netbeans, ... 2014-09-24 Autotools: An Overview Danny Robson • Multiple target backends Overview • Newer languages Autotools make • Faster backends: ninja autoconf automake bjam, SCons, Waf • IDE backends, useful for Windows pkg-config autotools Final Words CMake, gyp, premake Many IDEs: Visual Studio, Eclipse, Netbeans, ... Autotools: An Overview Prominent Systems Overview Prominent Systems make bjam, SCons, Waf autotools CMake, gyp, premake Prominent Systems Many IDEs: Visual Studio, Eclipse, Netbeans, ... 2014-09-24 Autotools: An Overview Danny Robson Overview Autotools autoconf make automake bjam, SCons, Waf pkg-config autotools Final Words CMake, gyp, premake Many IDEs: Visual Studio, Eclipse, Netbeans, ... Autotools: An Overview Why autotools Overview Why autotools Features for downstream VPATH, DESTDIR, standard targets, config.site, cross compilation, ... Portability Why autotools Just works: configure && make && make install 2014-09-24 Autotools: An Overview Danny Robson • More platforms than you have access to Overview • Will just work everywhere, solved problems already Autotools autoconf Features for downstream automake VPATH, DESTDIR, standard targets, config.site, cross pkg-config compilation, ... Final Words Portability Just works: configure && make && make install Autotools: An Overview Why autotools Overview Why autotools Features for downstream VPATH, DESTDIR, standard targets, config.site, cross compilation, ... Portability Why autotools Just works: configure && make && make install 2014-09-24 Autotools: An Overview Danny Robson • More platforms than you have access to Overview • Will just work everywhere, solved problems already Autotools autoconf Features for downstream automake VPATH, DESTDIR, standard targets, config.site, cross pkg-config compilation, ... Final Words Portability Just works: configure && make && make install Autotools: An Overview Why autotools Overview Why autotools Features for downstream VPATH, DESTDIR, standard targets, config.site, cross compilation, ... Portability Why autotools Just works: configure && make && make install 2014-09-24 Autotools: An Overview Danny Robson • More platforms than you have access to Overview • Will just work everywhere, solved problems already Autotools autoconf Features for downstream automake VPATH, DESTDIR, standard targets, config.site, cross pkg-config compilation, ... Final Words Portability Just works: configure && make && make install Autotools: An Overview Why not autotools Overview Why not autotools Targets UNIX systems Error prone in IDE heavy development Why not autotools Archaic toolsets 2014-09-24 Autotools: An Overview Danny Robson • Windows support is possible, but painful. Overview • IDE integration is error prone, manual syncing is common Autotools • 70s tools autoconf automake Targets UNIX systems • 90s framework pkg-config Error prone in IDE heavy development • What Year Is It Final Words Archaic toolsets Autotools: An Overview Why not autotools Overview Why not autotools Targets UNIX systems Error prone in IDE heavy development Why not autotools Archaic toolsets 2014-09-24 Autotools: An Overview Danny Robson • Windows support is possible, but painful. Overview • IDE integration is error prone, manual syncing is common Autotools • 70s tools autoconf automake Targets UNIX systems • 90s framework pkg-config Error prone in IDE heavy development • What Year Is It Final Words Archaic toolsets Autotools: An Overview Why not autotools Overview Why not autotools Targets UNIX systems Error prone in IDE heavy development Why not autotools Archaic toolsets 2014-09-24 Autotools: An Overview Danny Robson • Windows support is possible, but painful. Overview • IDE integration is error prone, manual syncing is common Autotools • 70s tools autoconf automake Targets UNIX systems • 90s framework pkg-config Error prone in IDE heavy development • What Year Is It Final Words Archaic toolsets Autotools: An Overview Overview 2014-09-24 Autotools: An Overview Danny Robson Overview Autotools autoconf automake pkg-config Final Words Autotools: An Overview Autotools Section 2 Autotools 2014-09-24 Autotools: An Overview Danny Robson Overview Autotools autoconf Section 2 automake pkg-config Final Words Autotools Autotools: An Overview Philosophy Autotools Philosophy UNIX focused Extreme portability Probe, don't ask Philosophy Convention 2014-09-24 Autotools: An Overview Danny Robson • Probe avoids out of date tables, allows hacked systems Overview • GNITS, foreign. README, NEWS, COPYING, ... targets. Autotools autoconf UNIX focused automake Extreme portability pkg-config Final Words Probe, don't ask Convention Autotools: An Overview Language Support Autotools Language Support Primarily geared towards systems languages. C, C++, Objective-C, Fortran lex, yacc Erlang Language Support Lisp, Python, Java 2014-09-24 Autotools: An Overview Danny Robson • Java via gcj Overview • Scripts more suited to own tools Autotools Primarily geared towards systems languages. • Erlang... autoconf automake C, C++, Objective-C, Fortran pkg-config lex, yacc Final Words Erlang Lisp, Python, Java Autotools: An Overview Language Support Autotools Language Support Primarily geared towards systems languages. C, C++, Objective-C, Fortran lex, yacc Erlang Language Support Lisp, Python, Java 2014-09-24 Autotools: An Overview Danny Robson • Java via gcj Overview • Scripts more suited to own tools Autotools Primarily geared towards systems languages. • Erlang... autoconf automake C, C++, Objective-C, Fortran pkg-config lex, yacc Final Words Erlang Lisp, Python, Java Autotools: An Overview Language Support Autotools Language Support Primarily geared towards systems languages. C, C++, Objective-C, Fortran lex, yacc Erlang Language Support Lisp, Python, Java 2014-09-24 Autotools: An Overview Danny Robson • Java via gcj Overview • Scripts more

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    73 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us