Autotools and GNU Build system

Size: px
Start display at page:

Download "Autotools and GNU Build system"

Transcription

1 Autotools and GNU Build system YAKA 2008 EPITA 12/12/2006 YAKA 2008 (EPITA) Autotools and GNU Build system Page 1 / 13

2 Licence Copying is allowed Copyright c 2006 Benoit Sigoure Copyright c 2006 Alexandre Duret-Lutz Trivial source code examples displayed in this tutorial (such as the C files, Makefile.ams, and configure.acs of all the amhello projects) can be reused as if they were in the public domain. YAKA 2008 (EPITA) Autotools and GNU Build system Page 2 / 13

3 Outline 1 Why use autotools? 2 YAKA 2008 (EPITA) Autotools and GNU Build system Page 3 / 13

4 Deal with portability issues Consider C functions that do not exist everywhere (e.g., setenv) that have different names (e.g., strchr() vs. index()) that have varying prototypes (e.g., int setpgrp(void); vs. int setpgrp(int, int);) that can behave differently (e.g., malloc(0);, free(null);) that might require other libraries (is pow() in libm.so or in libc.so?) that can be defined in different headers (string.h vs. strings.h vs. memory.h) How to handle that? YAKA 2008 (EPITA) Autotools and GNU Build system Page 4 / 13

5 Standard build systems People are used to a standard installation procedure: % tar zxf amhello-1.0.tar.gz % cd amhello-1.0 /amhello-1.0 %./configure /amhello-1.0 % make /amhello-1.0 % make check /amhello-1.0 % su Password: /amhello-1.0 # make install YAKA 2008 (EPITA) Autotools and GNU Build system Page 6 / 13

6 Standard build systems People are used to a standard installation procedure: % tar zxf amhello-1.0.tar.gz % cd amhello-1.0 /amhello-1.0 %./configure /amhello-1.0 % make /amhello-1.0 % make check /amhello-1.0 % su Password: /amhello-1.0 # make install YAKA 2008 (EPITA) Autotools and GNU Build system Page 6 / 13

7 Standard build systems People are used to a standard installation procedure: % tar zxf amhello-1.0.tar.gz % cd amhello-1.0 /amhello-1.0 %./configure /amhello-1.0 % make /amhello-1.0 % make check /amhello-1.0 % su Password: /amhello-1.0 # make install YAKA 2008 (EPITA) Autotools and GNU Build system Page 6 / 13

8 Standard build systems People are used to a standard installation procedure: % tar zxf amhello-1.0.tar.gz % cd amhello-1.0 /amhello-1.0 %./configure /amhello-1.0 % make /amhello-1.0 % make check /amhello-1.0 % su Password: /amhello-1.0 # make install YAKA 2008 (EPITA) Autotools and GNU Build system Page 6 / 13

9 Standard build systems People are used to a standard installation procedure: % tar zxf amhello-1.0.tar.gz % cd amhello-1.0 /amhello-1.0 %./configure /amhello-1.0 % make /amhello-1.0 % make check /amhello-1.0 % su Password: /amhello-1.0 # make install YAKA 2008 (EPITA) Autotools and GNU Build system Page 6 / 13

10 Standard build systems People are used to a standard installation procedure: % tar zxf amhello-1.0.tar.gz % cd amhello-1.0 /amhello-1.0 %./configure /amhello-1.0 % make /amhello-1.0 % make check /amhello-1.0 % su Password: /amhello-1.0 # make install YAKA 2008 (EPITA) Autotools and GNU Build system Page 6 / 13

11 Standard build systems People are used to a standard installation procedure: % tar zxf amhello-1.0.tar.gz % cd amhello-1.0 /amhello-1.0 %./configure /amhello-1.0 % make /amhello-1.0 % make check /amhello-1.0 % su Password: /amhello-1.0 # make install YAKA 2008 (EPITA) Autotools and GNU Build system Page 6 / 13

12 Standard targets You don t want to bother to create all these rules: make install Install what needs to be installed. make uninstall The opposite of make install. make clean Erase what has been built (the opposite of make all ). make distclean Additionally erase anything./configure created. make check Run the test suite, if any. make distcheck Check the tarball is complete and that VPATH builds work. make dist Create PACKAGE-VERSION.tar.gz. YAKA 2008 (EPITA) Autotools and GNU Build system Page 7 / 13

13 Generate your build system The autotools help you generate a complete build system. autoconf and automake are the central tools. autoconf Generates your (portable) configure script. Provides a comprehensive library of tests. automake Generates your (portable) Makefiles. Provides your build system with all the standard rules. YAKA 2008 (EPITA) Autotools and GNU Build system Page 8 / 13

14 1 Why use autotools? 2 YAKA 2008 (EPITA) Autotools and GNU Build system Page 9 / 13

15 Hello world. Makefile.am src/ Makefile.am configure.ac automake autoconf Makefile.in src/ Makefile.in configure Makefile src/ Makefile YAKA 2008 (EPITA) Autotools and GNU Build system Page 10 / 13

16 Hello world. Makefile.am src/ Makefile.am configure.ac automake autoconf Makefile.in src/ Makefile.in configure Makefile src/ Makefile YAKA 2008 (EPITA) Autotools and GNU Build system Page 10 / 13

17 Hello world. Makefile.am src/ Makefile.am configure.ac automake autoconf Makefile.in src/ Makefile.in configure Makefile src/ Makefile YAKA 2008 (EPITA) Autotools and GNU Build system Page 10 / 13

18 Hello world. Makefile.am src/ Makefile.am configure.ac automake autoconf Makefile.in src/ Makefile.in configure Makefile src/ Makefile YAKA 2008 (EPITA) Autotools and GNU Build system Page 10 / 13

19 Autotools Inputs configure.ac AC_INIT([amhello], [1.0], AC_CONFIG_AUX_DIR([build-aux]) AM_INIT_AUTOMAKE([ -Wall -Werror foreign]) AC_PROG_CC AC_CONFIG_FILES([ Makefile src/makefile ]) AC_OUTPUT Makefile.am SUBDIRS = src EXTRA_DIST = AUTHORS src/ Makefile.am bin_programs = hello hello_sources = main.c \ hello.h bootstrap #! /bin/sh autoreconf -f -v -i YAKA 2008 (EPITA) Autotools and GNU Build system Page 12 / 13

20 Autotools Inputs configure.ac AC_INIT([amhello], [1.0], AC_CONFIG_AUX_DIR([build-aux]) AM_INIT_AUTOMAKE([ -Wall -Werror foreign]) AC_PROG_CC AC_CONFIG_FILES([ Makefile src/makefile ]) AC_OUTPUT Makefile.am SUBDIRS = src EXTRA_DIST = AUTHORS src/ Makefile.am bin_programs = hello hello_sources = main.c \ hello.h bootstrap #! /bin/sh autoreconf -f -v -i YAKA 2008 (EPITA) Autotools and GNU Build system Page 12 / 13

21 Autotools Inputs configure.ac AC_INIT([amhello], [1.0], AC_CONFIG_AUX_DIR([build-aux]) AM_INIT_AUTOMAKE([ -Wall -Werror foreign]) AC_PROG_CC AC_CONFIG_FILES([ Makefile src/makefile ]) AC_OUTPUT Makefile.am SUBDIRS = src EXTRA_DIST = AUTHORS src/ Makefile.am bin_programs = hello hello_sources = main.c \ hello.h bootstrap #! /bin/sh autoreconf -f -v -i YAKA 2008 (EPITA) Autotools and GNU Build system Page 12 / 13

22 Autotools Inputs configure.ac AC_INIT([amhello], [1.0], AC_CONFIG_AUX_DIR([build-aux]) AM_INIT_AUTOMAKE([ -Wall -Werror foreign]) AC_PROG_CC AC_CONFIG_FILES([ Makefile src/makefile ]) AC_OUTPUT Makefile.am SUBDIRS = src EXTRA_DIST = AUTHORS src/ Makefile.am bin_programs = hello hello_sources = main.c \ hello.h bootstrap #! /bin/sh autoreconf -f -v -i YAKA 2008 (EPITA) Autotools and GNU Build system Page 12 / 13

23 Links THE ultimate tutorial: Duret-Lutz/autotools.html YAKA 2008 (EPITA) Autotools and GNU Build system Page 13 / 13

GNU Autotools Tutorial

GNU Autotools Tutorial GNU Autotools Tutorial Copyright c 2010 Nils Turner Chapter 1: Introduction 1 1 Introduction Those of us that have installed software from source code at some time in our career have no doubt become familiar

More information

July 8, 2007 Jim Huang (jserv)

July 8, 2007 Jim Huang (jserv) Introduction to Autotools July 8, 2007 Jim Huang (jserv) Overview Autoconf, Automake, and libtool working together Address portability, configuration needs Support GNU Coding Standards

More information

GNU Automake. For version , 1 February David MacKenzie Tom Tromey Alexandre Duret-Lutz

GNU Automake. For version , 1 February David MacKenzie Tom Tromey Alexandre Duret-Lutz GNU Automake For version 1.11.3, 1 February 2012 David MacKenzie Tom Tromey Alexandre Duret-Lutz This manual is for GNU Automake (version 1.11.3, 1 February 2012), a program that creates GNU standards-compliant

More information

Autotools Tutorial. Mengke HU. ASPITRG Group Meeting. ECE Department Drexel University

Autotools Tutorial. Mengke HU. ASPITRG Group Meeting. ECE Department Drexel University Autotools Tutorial Mengke HU ECE Department Drexel University ASPITRG Group Meeting Outline 1 Introduction 2 GNU Coding standards 3 Autoconf 4 Automake 5 Libtools 6 Demonstration The Basics of Autotools

More information

Software Building (Sestavování aplikací)

Software Building (Sestavování aplikací) Software Building (Sestavování aplikací) http://d3s.mff.cuni.cz Pavel Parízek parizek@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Outline Maven NuGet Gradle GNU build

More information

COMP 2400 UNIX Tools

COMP 2400 UNIX Tools COMP 2400 UNIX Tools Christian Grothoff christian@grothoff.org http://grothoff.org/christian/ 1 Makefile Basics make reads instructions from a file Makefile. A Makefile is essentially a list of rules.

More information

Beyond Makefiles: Autotools and the GNU Build System

Beyond Makefiles: Autotools and the GNU Build System SEA : Autotools and the GNU Build System Patrick Nichols Software Engineer CISL Consulting Group UCAR SEA December 10, 2015 Why do we need more tools? Diversity! 1. Compilers, programming languages and

More information

How To Create a GNU Autoconf / Automake Based Configure Script for Your Application Under Construction

How To Create a GNU Autoconf / Automake Based Configure Script for Your Application Under Construction How To Create a GNU Autoconf / Automake Based Configure Script for Your Application Under Construction by Prof.Dr. University of Applied Science Suedwestfalen, Germany 1 Table of Contents 1 Typography...

More information

Development Tools. Akim D le Roland Levillain June 14, 2012

Development Tools. Akim D le Roland Levillain June 14, 2012 Development Tools Akim Demaille akim@lrde.epita.fr Roland Levillain roland@lrde.epita.fr EPITA École Pour l Informatique et les Techniques Avancées June 14, 2012 Development Tools 1 tc Tasks 2 3 A. Demaille,

More information

The Makefile utility. (Extract from the slides by Terrance E. Boult

The Makefile utility. (Extract from the slides by Terrance E. Boult The Makefile utility (Extract from the slides by Terrance E. Boult http://vast.uccs.edu/~tboult/) Motivation Small programs single file Not so small programs : Many lines of code Multiple components More

More information

Make was originally a Unix tool from 1976, but it has been re-implemented several times, notably as GNU Make.

Make was originally a Unix tool from 1976, but it has been re-implemented several times, notably as GNU Make. make Make was originally a Unix tool from 1976, but it has been re-implemented several times, notably as GNU Make. Make accepts a Makefile, which is a strictly formatted file detailing a series of desired

More information

ESTABLISHED Paul Kunz SLAC. Overview. Examples. Expose the downsides. Benefits. Risks and Costs. Building with Automake 1 Paul F.

ESTABLISHED Paul Kunz SLAC. Overview. Examples. Expose the downsides. Benefits. Risks and Costs. Building with Automake 1 Paul F. Building with Automake Paul Kunz SLAC Overview Examples Expose the downsides Benefits Risks and Costs Building with Automake 1 Paul F. Kunz Overview Primary targets build in developer s working directory

More information

Why Use the Autotools?...xviii Acknowledgments... xx I Wish You the Very Best... xx

Why Use the Autotools?...xviii Acknowledgments... xx I Wish You the Very Best... xx CONTENTS IN DETAIL FOREWORD by Ralf Wildenhues xv PREFACE xvii Why Use the?...xviii Acknowledgments... xx I Wish You the Very Best... xx INTRODUCTION xxi Who Should Read This Book... xxii How This Book

More information

NetCDF Build and Test System. Ed Hartnett, 1/25/8

NetCDF Build and Test System. Ed Hartnett, 1/25/8 NetCDF Build and Test System Ed Hartnett, 1/25/8 Outline NetCDF Repository Building NetCDF Testing NetCDF NetCDF Code Repository We use cvs for netcdf code repository. The cvs repository module is called

More information

CS354R: Game Technology

CS354R: Game Technology CS354R: Game Technology DevOps and Quality Assurance Fall 2018 What is DevOps? Development Operations Backend facilitation of development Handles local and remote hardware Maintains build infrastructure

More information

CONFIGURING YOUR PROJECT WITH AUTOCONF

CONFIGURING YOUR PROJECT WITH AUTOCONF CONFIGURING YOUR PROJECT WITH AUTOCONF Come my friends, Tis not too late to seek a newer world. Alfred, Lord Tennyson, Ulysses Because Automake and Libtool are essentially add-on components to the original

More information

Managing Code Variants

Managing Code Variants Steven J Zeil March 19, 2013 Contents 1 Problems 2 2 AUTOCONF 8 3 Dynamic Loading 11 1 1 Problems Code Variations Environment management, Previously identified as common SCM problems: Coping with change

More information

Managing Code Variants

Managing Code Variants Steven J Zeil March 19, 2013 Contents 1 Problems 2 2 AUTOCONF 9 3 Dynamic Loading 14 1 1 Problems Code Variations Environment management, Previously identified as common SCM problems: Coping with change

More information

FOLLOW ALONG WITH THE EXAMPLES

FOLLOW ALONG WITH THE EXAMPLES FOLLOW ALONG WITH THE EXAMPLES $ git clone https://gitlab.com/jtfrey/unix-software-dev.git ( or "git pull" if you cloned at last session ) $ git checkout tags/session2 $ ls -l total 8 -rw-r--r-- 1 frey

More information

Brief History of Automake

Brief History of Automake Brief History of Automake David MacKenzie Tom Tromey Alexandre Duret-Lutz This manual describes (part of) the history of GNU Automake, a program that creates GNU standards-compliant Makefiles from template

More information

GLIMMER, Version Control and Build Systems

GLIMMER, Version Control and Build Systems Outlines GLIMMER, Version Control and Build Systems Magnus Hagdorn School of GeoSciences University of Edinburgh December 5, 2005 Outlines Outline of Part I Unix Directory Structure Installing GLIMMER

More information

Use GNU AutoTools to generate the configure file for AstroBEAR. Baowei Liu University of Rochester

Use GNU AutoTools to generate the configure file for AstroBEAR. Baowei Liu University of Rochester Use GNU AutoTools to generate the configure file for AstroBEAR Baowei Liu University of Rochester October 20, 2014 Contents 1 Introduction 2 2 Examples 3 2.1 C Hello World: amhello.......................

More information

Code Generators for MySQL Plugins and User Defined Functions. Hartmut Holzgraefe

Code Generators for MySQL Plugins and User Defined Functions. Hartmut Holzgraefe Code Generators for MySQL Plugins and User Defined Functions Hartmut Holzgraefe Why UDFs / Plugins? to add functionality not available elsewhere to build upon functionality already

More information

Cybernetics Oriented Programming (CYBOP)

Cybernetics Oriented Programming (CYBOP) Cybernetics Oriented Programming (CYBOP) Beginners Tutorial 04.04.2013 Tim Illner Index Of Contents 1Introduction...4 2Installing CYBOP...4 2.1Download for Linux distributions...4

More information

The WAF build system

The WAF build system Sebastian Jeltsch Electronic Vision(s) Kirchhoff Institute for Physics Ruprecht-Karls-Universität Heidelberg 31. August 2010 Sebastian Jeltsch 31. August 2010 1 / 19 Introduction WorkBuildflow Sebastian

More information

Autoconf Tutorial. Mark Galassi

Autoconf Tutorial. Mark Galassi Autoconf Tutorial Mark Galassi Copyright c 1996 Mark Galassi Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved

More information

Build automation. CSE260, Computer Science B: Honors Stony Brook University

Build automation. CSE260, Computer Science B: Honors Stony Brook University Build automation CSE260, Computer Science B: Honors Stony Brook University http://www.cs.stonybrook.edu/~cse260 2 Build Automation Build automation is the act of scripting or automating a wide variety

More information

Software Building (Sestavování aplikací)

Software Building (Sestavování aplikací) Software Building (Sestavování aplikací) http://d3s.mff.cuni.cz Pavel Parízek parizek@d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Make Nástroje pro vývoj software Software

More information

DePloying an embedded ERLANG System

DePloying an embedded ERLANG System DePloying an embedded ERLANG System A case example Deploying an Erlang System Public 2015-06-01 Page 1 Content What are Autotools and why use them? What is Yocto/Bitbake and why use it? A case example

More information

Maemo Diablo Reference Manual for maemo 4.1. GNU Build System

Maemo Diablo Reference Manual for maemo 4.1. GNU Build System Maemo Diablo Reference Manual for maemo 4.1 GNU Build System December 22, 2008 Contents 1 GNU Build System 2 1.1 Introduction.............................. 2 1.2 GNU Make and Makefiles......................

More information

Hacking Gromacs: Getting Your Feet Wet With CVS Code

Hacking Gromacs: Getting Your Feet Wet With CVS Code Hacking Gromacs: Getting Your Feet Wet With CVS Code Erik Lindahl lindahl@cbr.su.se CBR Outline: Hacking Gromacs Release vs. development codebase Building the CVS version(s) of Gromacs Configuration with

More information

These steps may include:

These steps may include: Build Tools 1 Build Tools Building a program for a large project is usually managed by a build tool that controls the various steps involved. These steps may include: 1. Compiling source code to binaries

More information

My ld.so. Version 1 5 December Epita systems/security laboratory 2018

My ld.so. Version 1 5 December Epita systems/security laboratory 2018 My ld.so Version 1 5 December 2016 Epita systems/security laboratory 2018 1 I Copyright This document is for internal use only at EPITA http://www.epita.fr/. Copyright 2016/2017

More information

MODULARITY is a prerequisite for component technology

MODULARITY is a prerequisite for component technology 588 IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 31, NO. 7, JULY 2005 Build-Level Components Merijn de Jonge Abstract Reuse between software systems is often not optimal. An important reason is that

More information

Developing Product Lines with Third-Party Components

Developing Product Lines with Third-Party Components Electronic Notes in Theoretical Computer Science 238 (2009) 63 80 www.elsevier.com/locate/entcs Developing Product Lines with Third-Party Components Merijn de Jonge 1 Philips Research Eindhoven, The Netherlands

More information

Fun with LD_PRELOAD. Kevin Pulo.

Fun with LD_PRELOAD. Kevin Pulo. Fun with LD_PRELOAD Kevin Pulo kev@pulo.com.au Australian National University Supercomputing Facility, National Computational Infrastructure National Facility, Canberra, Australia 2009-01-23 Overview 1.

More information

2 Compiling a C program

2 Compiling a C program 2 Compiling a C program This chapter describes how to compile C programs using gcc. Programs can be compiled from a single source file or from multiple source files, and may use system libraries and header

More information

Deep C. Multifile projects Getting it running Data types Typecasting Memory management Pointers. CS-343 Operating Systems

Deep C. Multifile projects Getting it running Data types Typecasting Memory management Pointers. CS-343 Operating Systems Deep C Multifile projects Getting it running Data types Typecasting Memory management Pointers Fabián E. Bustamante, Fall 2004 Multifile Projects Give your project a structure Modularized design Reuse

More information

The GNU configure and build system

The GNU configure and build system !"$#% &(') *+ The GNU configure and build system Ian Lance Taylor Copyright c 1998 Cygnus Solutions Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice

More information

Study of tools used in build process

Study of tools used in build process Study of tools used in build process Sameera Deshpande November 16, 2005 Contents 1 Introduction 2 1.1 Introduction to configure and build process................. 2 1.2 Configure and Build Process.........................

More information

How to install sngrep on your VoipNow server

How to install sngrep on your VoipNow server How to install sngrep on your VoipNow server sngrep is a t ool for displaying SIP calls message flows from the terminal of your server. It can be used to display real-time SIP traffic and to process PCAP

More information

Build Debian/Ubuntu packages to make it easy for users to install your software

Build Debian/Ubuntu packages to make it easy for users to install your software Build Debian/Ubuntu packages to make it easy for users to install your software Samuel Thibault 2016 November 8th 1 Outline Why making packages? How about Debian Introduction to distribution & packages

More information

The System Services Interface (SSI) to LAM/MPI SSI Version 1.0.0

The System Services Interface (SSI) to LAM/MPI SSI Version 1.0.0 The System Services Interface (SSI) to LAM/MPI SSI Version 1.0.0 Jeffrey M. Squyres Brian Barrett Andrew Lumsdaine http://www.lam-mpi.org/ Open Systems Laboratory Pervasive Technologies Labs Indiana University

More information

CMPT 300. Operating Systems. Brief Intro to UNIX and C

CMPT 300. Operating Systems. Brief Intro to UNIX and C CMPT 300 Operating Systems Brief Intro to UNIX and C Outline Welcome Review Questions UNIX basics and Vi editor Using SSH to remote access Lab2(4214) Compiling a C Program Makefile Basic C/C++ programming

More information

Getting Started Guide Bayesian Filtering Library. Tinne De Laet, Wim Meeussen, Klaas Gadeyne

Getting Started Guide Bayesian Filtering Library. Tinne De Laet, Wim Meeussen, Klaas Gadeyne Getting Started Guide Bayesian Filtering Library Tinne De Laet, Wim Meeussen, Klaas Gadeyne February 16, 2007 Chapter 1 Introduction to BFL 1.1 What is BFL? The Bayesian Filtering Library (BFL) has been

More information

Shell Project Part 1 (140 points)

Shell Project Part 1 (140 points) CS 453: Operating Systems Project 1 Shell Project Part 1 (140 points) 1 Setup All the programming assignments for Linux will be graded on the onyx cluster(onyx.boisestate.edu). Please test your programs

More information

Build Tools. Stefan Vigerske COIN-OR Workshop October 15, 2018

Build Tools.   Stefan Vigerske COIN-OR Workshop October 15, 2018 Build Tools https://projects.coin-or.org/buildtools Stefan Vigerske COIN-OR Workshop October 15, 2018 BuildTools 0.5 0.8 COIN-OR BuildTools project a set of scripts to utilize Autotools (GNU Build System)

More information

MRCP. Installation Manual. Developer Guide. Powered by Universal Speech Solutions LLC

MRCP. Installation Manual. Developer Guide. Powered by Universal Speech Solutions LLC Powered by Universal Speech Solutions LLC MRCP Installation Manual Developer Guide Revision: 39 Last updated: August 28, 2017 Created by: Arsen Chaloyan Universal Speech Solutions LLC Overview 1 Table

More information

Mobile Location Protocol

Mobile Location Protocol Mobile Location Protocol User Guide Petr VLFčIL Mobile Location Protocol: User Guide Petr VLFčIL Copyright 2009 Petr VLFčIL Licensed Materials. All rights reserved. Materials are provided subject to Terms

More information

DIMMA 2.0 Release Notes

DIMMA 2.0 Release Notes Poseidon House Castle Park Cambridge CB3 0RD United Kingdom TELEPHONE: Cambridge (01223) 515010 INTERNATIONAL: +44 1223 515010 FAX: +44 1223 359779 E-MAIL: apm@ansa.co.uk DCAN DIMMA 2.0 Release Notes Nicola

More information

Ingenic GCC Cross-Compiler Tool Chain Handbook. 1 Installation and usage of Ingenic GCC cross-compile

Ingenic GCC Cross-Compiler Tool Chain Handbook. 1 Installation and usage of Ingenic GCC cross-compile Ingenic GCC cross-compiler tool chain handbook Ingenic GCC Cross-Compiler Tool Chain Handbook 1 Installation and usage of Ingenic GCC cross-compile This section describes the installation and use of Ingenic

More information

Operating Systems 2013/14 Assignment 1. Submission Deadline: Monday, November 18th, :30 a.m.

Operating Systems 2013/14 Assignment 1. Submission Deadline: Monday, November 18th, :30 a.m. Name Matriculation no. Tutorial no. Operating Systems 2013/14 Assignment 1 Prof. Dr. Frank Bellosa Dipl.-Inform. Marius Hillenbrand Dipl.-Inform. Marc Rittinghaus Submission Deadline: Monday, November

More information

User- and distro-friendly packaging

User- and distro-friendly packaging User- and distro-friendly packaging Recommendations to upstream tarball providers Jan Engelhardt Presented at the opensuse Conference 2011 2011-Sep-11 14 Jan Engelhardt (o.s.c.2011) User-

More information

CS480. Compilers Eclipse, SVN, Makefile examples

CS480. Compilers Eclipse, SVN, Makefile examples CS480 Compilers Eclipse, SVN, Makefile examples January 26, 2015 New Project New Project C/C++ Project Create a New C Project Choose Makefile Project EmptyProject Toolchain: Linux GCC Next Advanced C/C++

More information

Compiling and Installing Your Own Software

Compiling and Installing Your Own Software S Compiling and Installing Your Own Software Chapter Contents Understanding Unix software installation Finding Unix software Downloading, placing, and uncompressing software Configuring software Compiling

More information

AUTOTOOLS GNU AUTOCONF, AUTOMAKE, A N D LIBTOOL JOHN CALCOTE.

AUTOTOOLS GNU AUTOCONF, AUTOMAKE, A N D LIBTOOL JOHN CALCOTE. AUTOTOOLS A P R A C T I T I O N E R S G U I D E T O GNU AUTOCONF, AUTOMAKE, A N D LIBTOOL JOHN CALCOTE AUTOTOOLS AUTOTOOLS A Practitioner s Guide to GNU Autoconf, Automake, and Libtool by John Calcote

More information

Module 2: GNU Tools and Compilation Process Introduction to GCC and History The original GNU C Compiler is developed by Richard Stallman in 1984 to create a complete UNIX like operating systems as free

More information

C Compilation Model. Comp-206 : Introduction to Software Systems Lecture 9. Alexandre Denault Computer Science McGill University Fall 2006

C Compilation Model. Comp-206 : Introduction to Software Systems Lecture 9. Alexandre Denault Computer Science McGill University Fall 2006 C Compilation Model Comp-206 : Introduction to Software Systems Lecture 9 Alexandre Denault Computer Science McGill University Fall 2006 Midterm Date: Thursday, October 19th, 2006 Time: from 16h00 to 17h30

More information

CS Basics 15) Compiling a C prog.

CS Basics 15) Compiling a C prog. CS Basics 15) Compiling a C prog. Emmanuel Benoist Fall Term 2016-17 Berner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 1 Compiling a C program Example of a small

More information

CMake & Ninja. by István Papp

CMake & Ninja. by István Papp CMake & Ninja by István Papp istvan.papp@ericsson.com Hello & Disclaimer I don t know everything (surprise!), if I stare blankly after a question, go to https://cmake.org/ Spoiler alert: or https://ninja-build.org/

More information

CSSE 332 Standard Library, Storage classes, and Make

CSSE 332 Standard Library, Storage classes, and Make CSSE 332 Standard Library, Storage classes, and Make 1 Provides a simple and efficient buffered I/O interface from man stdio Prototypes standard I/O functions (Mostly) system-independent (e.g.

More information

UNIX Makefile. C Project Library Distribution and Installation.

UNIX Makefile. C Project Library Distribution and Installation. UNIX Makefile C Project Library Distribution and Installation. Tarballs Most non-package software is distributed in source code format. The most common format being C project libraries in compressed TAR

More information

Berner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 2

Berner Fachhochschule Haute cole spcialise bernoise Berne University of Applied Sciences 2 Compiling a C program CS Basics 15) Compiling a C prog. Emmanuel Benoist Fall Term 2016-17 Example of a small program Makefile Define Variables Compilation options Conclusion Berner Fachhochschule Haute

More information

Unit test research. Project Team 2 Team. Date 문성찬 이종빈 송원종. Team Information

Unit test research. Project Team 2 Team. Date 문성찬 이종빈 송원종. Team Information Unit test research Project Team 2 Team Date 2016-10-31 Team Information 201511260 문성찬 201511284 이종빈 201211356 송원종 1 Define of Unit test Unit test를하는이유는소스코드가각모듈별로의도하는바에대하여정확하게작동하는지검증하는절차이다. 각세션을분리시켜오류가생겼을때이를쉽게감지및변경을하게해준다.

More information

Lab #3 Automating Installation & Introduction to Make Due in Lab, September 15, 2004

Lab #3 Automating Installation & Introduction to Make Due in Lab, September 15, 2004 Lab #3 Automating Installation & Introduction to Make Due in Lab, September 15, 2004 Name: Lab Time: Grade: /10 Error Checking In this lab you will be writing a shell script to automate the installation

More information

CS 322 Operating Systems Programming Assignment 4 Writing a memory manager Due: April 5, 11:30 PM

CS 322 Operating Systems Programming Assignment 4 Writing a memory manager Due: April 5, 11:30 PM CS 322 Operating Systems Programming Assignment 4 Writing a memory manager Due: April 5, 11:30 PM Goals To understand the nuances of building a memory allocator. To create a shared library. Background

More information

CS 322 Operating Systems Programming Assignment 4 Writing a memory manager Due: November 16, 11:30 PM

CS 322 Operating Systems Programming Assignment 4 Writing a memory manager Due: November 16, 11:30 PM CS 322 Operating Systems Programming Assignment 4 Writing a memory manager Due: November 16, 11:30 PM Goals To understand the nuances of building a memory allocator. To create a shared library. Background

More information

Makefile Tutorial. Eric S. Missimer. December 6, 2013

Makefile Tutorial. Eric S. Missimer. December 6, 2013 Makefile Tutorial Eric S. Missimer December 6, 2013 1 Basic Elements of a Makefile 1.1 Explicit Rules A the major part of a Makefile are the explicit rules (a.k.a. recipes) that make certain files. Below

More information

[Software Development] Makefiles. Davide Balzarotti. Eurecom Sophia Antipolis, France

[Software Development] Makefiles. Davide Balzarotti. Eurecom Sophia Antipolis, France [Software Development] Makefiles Davide Balzarotti Eurecom Sophia Antipolis, France 1 Software Development Tools 1. Configuring and Building the program GCC Makefiles Autotools 2. Writing and managing

More information

Outline. COMP 2718: Software Development Tools: gcc and make. C and Java 3/28/16

Outline. COMP 2718: Software Development Tools: gcc and make. C and Java 3/28/16 Outline COMP 2718: Software Development Tools: gcc and make Slides adapted by Andrew Vardy ( Memorial University) Originally created by Marty Stepp, Jessica Miller, and Ruth Anderson (University of Washington)

More information

Introducing LCG Views. Pere Mato LIM Meeting, 16th January 2016

Introducing LCG Views. Pere Mato LIM Meeting, 16th January 2016 Introducing LCG Views Pere Mato LIM Meeting, 16th January 2016 Motivations Easy runtime environment setup Current methods allow to setup a running environment starting from a top level package/application

More information

User Manual. 1. Open pjsip-apps/build/wince-evc4/wince_demos.vcw EVC4 workspace, 2. Build the pjsua_wince application.

User Manual. 1. Open pjsip-apps/build/wince-evc4/wince_demos.vcw EVC4 workspace, 2. Build the pjsua_wince application. User Manual 1. Information Building with GNU tools (Linux, *BSD, MacOS X, mingw, etc.) Generally these should be all that are needed to build the libraries, applications, and samples: $./configure $ make

More information

Student Number: Computer Science 211b Final Examination. 28 April hours

Student Number: Computer Science 211b Final Examination. 28 April hours Computer Science 211b Final Examination 28 April 2006 3 hours Student Number: Surname: Given name: Instructions/Notes: The examination has 40 questions on 15 pages, and a total of 150 marks. Put all answers

More information

Reliable C++ development - session 1: From C to C++ (and some C++ features)

Reliable C++ development - session 1: From C to C++ (and some C++ features) Reliable C++ development - session 1: From C to C++ (and some C++ features) Thibault CHOLEZ - thibault.cholez@loria.fr TELECOM Nancy - Université de Lorraine LORIA - INRIA Nancy Grand-Est From Nicolas

More information

Release Management for Stratego/XT with Nix

Release Management for Stratego/XT with Nix Release Management for Stratego/XT with Nix Eelco Dolstra Center for Software Technology Utrecht University eelco@cs.uu.nl March 4, 2004 Eelco Dolstra SUD 04 1 The problem Software deployment (the act

More information

Reviewing gcc, make, gdb, and Linux Editors 1

Reviewing gcc, make, gdb, and Linux Editors 1 Reviewing gcc, make, gdb, and Linux Editors 1 Colin Gordon csgordon@cs.washington.edu University of Washington CSE333 Section 1, 3/31/11 1 Lots of material borrowed from 351/303 slides Colin Gordon (University

More information

GNU Source Installer. version 0.5, 16 September Claudio Fontana

GNU Source Installer. version 0.5, 16 September Claudio Fontana GNU Source Installer version 0.5, 16 September 2005 Claudio Fontana claudio@gnu.org Copyright c 2005 Claudio Fontana Published by the Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston,

More information

GNU Make 1. 1 material adapted from GNU Make by Richard Stallman

GNU Make 1. 1 material adapted from GNU Make by Richard Stallman 1 The make utility automatically determines which pieces of a large program need to be recompiled, and issues commands to recompile them. Make can be used with any programming language whose compiler can

More information

6.S096 Lecture 7 Intro to Projects

6.S096 Lecture 7 Intro to Projects 6.S096 Lecture 7 Intro to Projects Unit testing, third-party libraries, code review Andre Kessler Andre Kessler 6.S096 Lecture 7 Intro to Projects 1 / 13 Outline 1 2 3 4 5 6 Best Practices Final Project

More information

C++ for Particle Physicists

C++ for Particle Physicists C++ for Particle Physicists Oliver Schulz oschulz@mpp.mpg.de May 21, 2014 Id Part I The Apple doesn't Fall Far from the Tree About This Course This Course aims to teach the basics of the C++ programming

More information

Lab00: Software Environment Setup

Lab00: Software Environment Setup Lab00: Software Environment Setup Michele Svanera February 22, 2016 Contents 1 What you need 1 2 How to 2 3 Guide 2 3.1 Creating the VM......................................... 2 3.1.1 Customizing.......................................

More information

Data Clustering in C++

Data Clustering in C++ Chapman & Hall/CRC Data Mining and Knowledge Discovery Series Data Clustering in C++ An Object-Oriented Approach Guojun Gan CRC Press Taylor & Francis Group Boca Raton London New York CRC Press Is an imprint

More information

Building the X Window System from the X.org Source Distribution 1

Building the X Window System from the X.org Source Distribution 1 Building the X Window System from the X.org Source Distribution Jim Gettys and Keith Packard (for X11R6.7) David Dawes and Matthieu Herrb (for XFree86 4.4 RC2) 6April 2004 Abstract This document describes

More information

Assignment 5: Priority Queue

Assignment 5: Priority Queue Assignment 5: Priority Queue Topic(s): Priority Queues, Code Reusability, More Advanced Makefiles, Debugging, Testing Date assigned: Wednesday, October 18, 2017 Date due: Wednesday, November 1, 2017, 9:15

More information

Oregon State University School of Electrical Engineering and Computer Science. CS 261 Recitation 1. Spring 2011

Oregon State University School of Electrical Engineering and Computer Science. CS 261 Recitation 1. Spring 2011 Oregon State University School of Electrical Engineering and Computer Science CS 261 Recitation 1 Spring 2011 Outline Using Secure Shell Clients GCC Some Examples Intro to C * * Windows File transfer client:

More information

CS2141 Software Development using C/C++ Compiling a C++ Program

CS2141 Software Development using C/C++ Compiling a C++ Program CS2141 Software Development using C/C++ Compiling a C++ Program g++ g++ is the GNU C++ compiler. A program in a file called hello.cpp: #include using namespace std; int main( ) { cout

More information

Introduction to HPC Programming 4. C and FORTRAN compilers; make, configure, cmake. Valentin Pavlov

Introduction to HPC Programming 4. C and FORTRAN compilers; make, configure, cmake. Valentin Pavlov Introduction to HPC Programming 4. C and FORTRAN compilers; make, configure, cmake Valentin Pavlov About these lectures This is the fourth of series of six introductory lectures discussing

More information

The make utility. Alark Joshi COMPSCI 253

The make utility. Alark Joshi COMPSCI 253 The make utility Alark Joshi COMPSCI 253 What is make? Make is a utility that is included with Linux/Unix operating systems It is a command generator It is designed to help you compile large projects It

More information

GUI Programming with GTK+

GUI Programming with GTK+ GUI Programming with GTK+ Second Part Florian Pelz E-Mail: pelzflorian@pelzflorian.de Today Distribution Miniature IMS Internationalization Other features Last time We talked about how to write a C program,

More information

Rebuild Linux and Buildroot for the DCP-SH7785 board

Rebuild Linux and Buildroot for the DCP-SH7785 board 2 Rebuild Linux and Buildroot for the DCP-SH7785 board Contents 2.1.............................................. 1 2.2......................................... 1 2.3 Buildroot.........................................

More information

MARS Code Reorganization

MARS Code Reorganization MARS Code Reorganization Build Systems, Code Repositories, and much more... Tiago Quintino Sebastien Villaume, Manuel Fuentes, Baudouin Raoult mars-admins@ecmwf.int ECMWF March 9, 2016 Code Cleanup MARS

More information

DataTAG Advance Reservation WP2 Database Management in GARA

DataTAG Advance Reservation WP2 Database Management in GARA DataTAG Advance Reservation WP2 Installation and Configuration Manual Network reservation in Gara With database MySQL/MyODBC 1 Installation and Configuration Manual... 1 1.1 Introduction... 3 1.2 Packages

More information

Cross Compiling. Real Time Operating Systems and Middleware. Luca Abeni

Cross Compiling. Real Time Operating Systems and Middleware. Luca Abeni Cross Compiling Real Time Operating Systems and Middleware Luca Abeni luca.abeni@unitn.it The Kernel Kernel OS component interacting with hardware Runs in privileged mode (Kernel Space KS) User Level Kernel

More information

Exercise 1: Basic Tools

Exercise 1: Basic Tools Exercise 1: Basic Tools This exercise is created so everybody can learn the basic tools we will use during this course. It is really more like a tutorial than an exercise and, you are not required to submit

More information

Installing LEON VxWorks

Installing LEON VxWorks . Installing LEON VxWorks-6.7 i Installing LEON VxWorks Installing LEON VxWorks-6.7 Source distribution VXWORKS-6.7-INSTALL Version 1.0.20 september 2017 Kungsgatan 12 tel +46 31 7758650 411 19 Gothenburg

More information

TRansportation ANalysis SIMulation System

TRansportation ANalysis SIMulation System TRANSIMS: TRansportation ANalysis SIMulation System Version: TRANSIMS-LANL-3.1 VOLUME SIX INSTALLATION 31 August 2004 LA-UR-04-5849 Volume 6 Installation 31 August 2004 ii Copyright, 2004, The Regents

More information

Introduction. Who This Guide Is For. Caveats. Install Cygwin

Introduction. Who This Guide Is For. Caveats. Install Cygwin Contents Contents... 1 Introduction... 2 Who This Guide Is For... 2 Caveats... 2 Install Cygwin... 2 Download FlightGear And The Dependent Packages... 6 OpenAL... 6 OpenAL For FlightGear 0.9.8... 6 OpenAL

More information

cc -o build/test_translate build/test_translate.o b... $

cc -o build/test_translate build/test_translate.o b... $ EECS 211 Homework 2 Winter 2019 Due: Partners: January 24, 2019 at 11:59 PM No; must be completed by yourself Purpose The goal of this assignment is to get you programming with strings, iteration, and

More information

Exiv2 - Patch #696 cmake: out of src compilation

Exiv2 - Patch #696 cmake: out of src compilation Exiv2 - Patch #696 cmake: out of src compilation 14 Apr 2010 02:22 - Nikolai Saoukh Status: Closed Start date: 14 Apr 2010 Priority: Normal Due date: Assignee: % Done: 0% Category: build Estimated time:

More information

SAP Business One Components High Availability Guide, Version for SAP HANA

SAP Business One Components High Availability Guide, Version for SAP HANA ADMINISTRATION GUIDE CUSTOMER SAP Business One, version for SAP HANA Document Version: 1.5 2018-04-24 SAP Business One Components High Availability Guide, Version for SAP HANA 2019 SAP SE or an SAP affiliate

More information