Autotools. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska

Podobne dokumenty
Autotools. Bogdan Kreczmer.

Schemat konstrukcja pliku Makefile

Qt sygnały i sloty. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydział Elektroniki Politechnika Wrocławska

Przestrzenie nazw. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Zasoby, pliki graficzne

Weryfikatory, zasoby graficzne

Szablony funkcji i szablony klas

Czujniki PSD i dalmierze triangulacyjne

Praca z aplikacją designer

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Papyrus. Papyrus. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

GStreamer. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska

Nazwy programów, polece, katalogów, wyniki działania wydawanych polece.

Dalmierze optyczne. Bogdan Kreczmer.

Czujniki PSD i dalmierze triangulacyjne

Qt sygnały i designer

Wprowadzenie do szablonów klas

Make jest programem komputerowym automatyzującym proces kompilacji programów, na które składa się wiele zależnych od siebie plików.

Tworzenie oprogramowania

Powłoki systemu operacyjnego i intepretery

Programowanie Proceduralne

X P.I.W.O. Portowanie Tizena na nowe architektury na przykładzie ARMv6. Maciej Wereski Samsung R&D Institute Poland. 17 Maj Poznań, Polska

Wprowadzenie do szablonów szablony funkcji

Instrukcja konfiguracji usługi Wirtualnej Sieci Prywatnej w systemie Mac OSX

Wprowadzenie do szablonów szablony funkcji

Plan wykładów. Oprogramowanie i wykorzystanie stacji roboczych. Wykład 1. Konkurs programistyczny. Literatura. Dr inż. Tomasz Olas

Automatyzacja kompilacji. Automatyzacja kompilacji 1/28

Programowanie proceduralne w języku C++ Podstawy

Automatyzacja kompilacji. Automatyzacja kompilacji 1/40

Pobieranie argumentów wiersza polecenia

Kompilacja i scalanie programów w linii poleceń gcc i make

Administracja serwerami

Programowanie niskopoziomowe

Pola i metody statyczne

System backup ów Bacula

Wyjątki. Wyjątki. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Politechnika Wrocławska

Wykład. Materiały bazują częściowo na slajdach Marata Dukhana

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Bazy Danych i Usługi Sieciowe

Systemy Operacyjne. Ćwiczenia

Instalacja środowiska MPI w systemie operacyjnym Linux

Fragment wykładu z języka C ( )

Gdy dystrybucja Linuksa staje się niepotrzebna

Geneza C++, manipulatory

Operacje wejścia/wyjścia odsłona pierwsza

IBM SPSS Statistics - Essentials for R: Instrukcje instalacji dla Linux

Bazy danych i usługi sieciowe

Programowanie w C++ Wykład 10. Katarzyna Grzelak. 21 maja K.Grzelak (Wykład 10) Programowanie w C++ 1 / 21

Zaawansowane programowanie w (pakiecie) Delphi

Wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

Przesłanianie nazw, przestrzenie nazw

Wstęp do Informatyki i Programowania Laboratorium: Lista 0 Środowisko programowania

1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 26 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 28

Język JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

OpenGL oświetlenie. Bogdan Kreczmer. Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska

Tworzenie oprogramowania

Programowanie Systemów Wbudowanych

Adam Wójs <adam[shift+2]wojs.pl> git --wprowadzenie

Wyliczanie wyrażenia obiekty tymczasowe

Kompilacja image z CVS

Pracownia Technik Obliczeniowych

Preprocesor języka C

Laboratorium Projektowania Systemów VLSI-ASIC Katedra Elektroniki Akademia Górniczo-Hutnicza

WPROWADZENIE DO INFORMATYKI

Embedded GNU/Linux. Krzysztof Mazur

MS Visual Studio 2005 Team Suite - Performance Tool

Wstęp. Ale po co? Implementacja

Programowanie i projektowanie obiektowe

Wprowadzenie do UML, przykład użycia kolizja

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Podstawy informatyki

Podstawy programowania. Wykład 9 Preprocesor i modularna struktura programów. Krzysztof Banaś Podstawy programowania 1

PRE/94/2011. Instalacja i uruchomienie systemu TinyOS. Instalacja i uruchomienie systemu TinyOS. Tomasz Surmacz

Programowanie w C++ Wykład 1. Katarzyna Grzelak. 25 luty K.Grzelak (Wykład 1) Programowanie w C++ 1 / 38

Wartości domyślne, przeciażenia funkcji

Wartości domyślne, przeciażenia funkcji

Administracja serwerami

Zarządzanie pakietami Linuks.

Systemy wbudowane. Rysunek 1: Ilustracja procesu kompilacji oprogramowania

MMX i SSE. Zbigniew Koza. Wydział Fizyki i Astronomii Uniwersytet Wrocławski. Wrocław, 10 marca Zbigniew Koza (WFiA UWr) MMX i SSE 1 / 16

Monitorowanie i zarządzanie urządzeniami sieciowymi przy pomocy narzędzi Net-SNMP

INFORMATOR TECHNICZNY WONDERWARE

Wprowadzenie do narzędzia MAVEN

Technologie Komponentowe. Piotr Łukasik p /

Twitter Status. plugin dla Joomla! 1.5. wersja 1.1

Volcano MC-GM4 OPTICAL MOUSE USER S MANUAL MODECOM

Podstawowy warsztat informatyka

Kurs programowania. Wykład 7. Wojciech Macyna. 25 kwietnia 2017

Volcano MC-GMX4 OPTICAL MOUSE USER S MANUAL MODECOM

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Szablon klasy std::vector

Paostwowa Wyższa Szkoła Zawodowa w Płocku Dariusz Wardowski

Projekt i uruchomienie prostego serwera OPC UA w oparciu o oprogramowanie szkieletowe Quasar opracowane w CERN

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz

X11R5. .Xresources. Pliki konfiguracyjne X-Windows. Zasada działania X11. .xinitrc. X protocol X server. X client. X library

Programowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz

CODE::BLOCKS & VALGRIND OPRACOWAŁ MICHAŁ BETHKE

Transkrypt:

Bogdan Kreczmer bogdan.kreczmer@pwr.edu.pl Katedra Cybernetyki i Robotyki Wydziału Elektroniki Politechnika Wrocławska Kurs: Copyright c 2018 Bogdan Kreczmer Niniejszy dokument zawiera materiały do wykładu dotyczącego programowania obiektowego. Jest on udostępniony pod warunkiem wykorzystania wyłącznie do własnych prywatnych potrzeb i może on być kopiowany wyłącznie w całości, razem z niniejszą stroną tytułową.

Niniejsza prezentacja została wykonana przy użyciu systemu składu PDFL A TEX oraz stylu beamer, którego autorem jest Till Tantau. Strona domowa projektu Beamer: http://latex-beamer.sourceforge.net

1 Pakiet i jego narzędzia

Pakiet i jego narzędzia Problemy przenośności pakietów instalacyjnych Różnice w sprzęcie: układ słowa big-endian, little-endian, rozmiar typów zmiennych np. sizeof(long int), gcc, dla Intel Core2 Duo 32, Amd64 64. Różnice w systemach operacyjnych: różne konwencje nazw, różne nazwy urządzeń. Różne kompilatory: nazwy kompilatorów, nazwy i rodzaj opcji, różne pliki nagłówkowe. występowanie lub nie występowanie makr np. M PI, różne lokalizacje zapowiedzi niektórych funkcji np. exit(). Różne wersje bibliotek

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> _

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello-3.4.1.tar.gz jkowalsk@comp:package> _

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello-3.4.1.tar.gz jkowalsk@comp:package> gunzip hello-3.4.1.tar.gz

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello-3.4.1.tar.gz jkowalsk@comp:package> gunzip hello-3.4.1.tar.gz jkowalsk@comp:package> _

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello-3.4.1.tar.gz jkowalsk@comp:package> gunzip hello-3.4.1.tar.gz jkowalsk@comp:package> ls hello-3.4.1.tar jkowalsk@comp:package>

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello-3.4.1.tar.gz jkowalsk@comp:package> gunzip hello-3.4.1.tar.gz jkowalsk@comp:package> ls hello-3.4.1.tar jkowalsk@comp:package> tar -xf hello-3.4.1.tar jkowalsk@comp:package>

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello-3.4.1.tar.gz jkowalsk@comp:package> gunzip hello-3.4.1.tar.gz jkowalsk@comp:package> ls hello-3.4.1.tar jkowalsk@comp:package> tar -xf hello-3.4.1.tar jkowalsk@comp:package> ls

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello-3.4.1.tar.gz jkowalsk@comp:package> gunzip hello-3.4.1.tar.gz jkowalsk@comp:package> ls hello-3.4.1.tar jkowalsk@comp:package> tar -xf hello-3.4.1.tar jkowalsk@comp:package> ls hello-3.4.1/ hello-3.4.1.tar jkowalsk@comp:package>

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello-3.4.1.tar.gz jkowalsk@comp:package> _

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello-3.4.1.tar.gz jkowalsk@comp:package> tar -xzf hello-3.4.1.tar.gz

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello-3.4.1.tar.gz jkowalsk@comp:package> tar -xzf hello-3.4.1.tar.gz jkowalsk@comp:package> _

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello-3.4.1.tar.gz jkowalsk@comp:package> tar -xzf hello-3.4.1.tar.gz jkowalsk@comp:package> ls

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello-3.4.1.tar.gz jkowalsk@comp:package> tar -xzf hello-3.4.1.tar.gz jkowalsk@comp:package> ls hello-3.4.1/ hello-3.4.1.tar.gz jkowalsk@comp:package>

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello-3.4.1.tar.gz jkowalsk@comp:package> tar -xzf hello-3.4.1.tar.gz jkowalsk@comp:package> ls hello-3.4.1/ hello-3.4.1.tar.gz jkowalsk@comp:package> cd hello-3.4.1

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello-3.4.1.tar.gz jkowalsk@comp:package> tar -xzf hello-3.4.1.tar.gz jkowalsk@comp:package> ls hello-3.4.1/ hello-3.4.1.tar.gz jkowalsk@comp:package> cd hello-3.4.1 jkowalsk@comp:hello-3.4.1>

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello-3.4.1.tar.gz jkowalsk@comp:package> tar -xzf hello-3.4.1.tar.gz jkowalsk@comp:package> ls hello-3.4.1/ hello-3.4.1.tar.gz jkowalsk@comp:package> cd hello-3.4.1 jkowalsk@comp:hello-3.4.1>./configure

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:package> ls hello-3.4.1.tar.gz jkowalsk@comp:package> tar -xzf hello-3.4.1.tar.gz jkowalsk@comp:package> ls hello-3.4.1/ hello-3.4.1.tar.gz jkowalsk@comp:package> cd hello-3.4.1 jkowalsk@comp:hello-3.4.1>./configure checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1>

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1>

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello-3.4.1 Making all in contrib

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello-3.4.1 Making all in contrib jkowalsk@comp:hello-3.4.1>

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello-3.4.1 Making all in contrib jkowalsk@comp:hello-3.4.1> su Password:

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello-3.4.1 Making all in contrib jkowalsk@comp:hello-3.4.1> su Password: jkowalsk@comp:hello-3.4.1#

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello-3.4.1 Making all in contrib jkowalsk@comp:hello-3.4.1> su Password: jkowalsk@comp:hello-3.4.1# make install

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello-3.4.1 Making all in contrib jkowalsk@comp:hello-3.4.1> su Password: jkowalsk@comp:hello-3.4.1# make install set fnord $MAKEFLAGS; amf=$2; dot_seen=no; \ target= echo installrecursive sed s/recursive// ; \

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello-3.4.1 Making all in contrib jkowalsk@comp:hello-3.4.1> su Password: jkowalsk@comp:hello-3.4.1# make install set fnord $MAKEFLAGS; amf=$2; dot_seen=no; \ target= echo installrecursive sed s/recursive// ; \

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure --prefix=${home}/soft

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure --prefix=${home}/soft checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1>

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure --prefix=${home}/soft checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello-3.4.1 Making all in contrib jkowalsk@comp:hello-3.4.1>

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure --prefix=${home}/soft checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello-3.4.1 Making all in contrib jkowalsk@comp:hello-3.4.1> make install

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure --prefix=${home}/soft checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello-3.4.1 Making all in contrib jkowalsk@comp:hello-3.4.1> make install set fnord $MAKEFLAGS; amf=$2; dot_seen=no; \ target= echo installrecursive sed s/recursive// ; \

Instalacja pakietów GNU Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure --prefix=${home}/soft checking for a BSDcompatible install /usr/bin/install c checking whether build environment is sane yes checking for gawk gawk checking whether make sets $MAKE yes checking for gcc gcc jkowalsk@comp:hello-3.4.1> make make allrecursive make[1]: Entering directory /home/jkowalsk/package/hello-3.4.1 Making all in contrib jkowalsk@comp:hello-3.4.1> make install set fnord $MAKEFLAGS; amf=$2; dot_seen=no; \ target= echo installrecursive sed s/recursive// ; \

Przykładowe opcje skryptu configure Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure --help configure configures hello 3.1.1 to adapt to many kinds of systems. Usage:./configure [OPTION] [VAR=VALUE] To assign environment variables (e.g., CC, CFLAGS), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help --help=short --help=recursive -V, --version display this help and exit display options specific to this package display the short help of all the included packages display version information and exit

Przykładowe opcje skryptu configure Pakiet i jego narzędzia jkowalsk@comp:hello-3.4.1>./configure --help Installation directories: --prefix=prefix install architecture-independent files in PREFIX [/usr/local] --exec-prefix=eprefix install architecture-dependent files in EPREFIX [PREFIX] By default, make install will install all the files in /usr/local/bin, /usr/local/lib etc. You can specify an installation prefix other than /usr/local using --prefix, for instance --prefix=$home. For better control, use the options below. Fine tuning of the installation directories: --bindir=dir user executables [EPREFIX/bin]

Podstawowe cechy pakietu autotools Pakiet i jego narzędzia jest to pakiet narzędzi, który powstał jako część projektu GNU. Podstawowym ich zadaniem jest wspieranie tworzenia przenośnych pakietów instalacyjnych dla oprogramowania tworzonego w ramach projektu GNU. Podstawowe programy z pakietu: automake, autoconf, libtool Dodatkowe narzędzia: autoconf, autoheader, autom4te, autoupdate, autodep, autoinst, autopoint, autoscan, aclocal, libtoolize

Podstawowe cechy pakietu autotools Pakiet i jego narzędzia jest to pakiet narzędzi, który powstał jako część projektu GNU. Podstawowym ich zadaniem jest wspieranie tworzenia przenośnych pakietów instalacyjnych dla oprogramowania tworzonego w ramach projektu GNU. Podstawowe programy z pakietu: automake, autoconf, libtool Dodatkowe narzędzia: autoconf, autoheader, autom4te, autoupdate, autodep, autoinst, autopoint, autoscan, aclocal, libtoolize

Podstawowe cechy pakietu autotools Pakiet i jego narzędzia jest to pakiet narzędzi, który powstał jako część projektu GNU. Podstawowym ich zadaniem jest wspieranie tworzenia przenośnych pakietów instalacyjnych dla oprogramowania tworzonego w ramach projektu GNU. Podstawowe programy z pakietu: automake, autoconf, libtool Dodatkowe narzędzia: autoconf, autoheader, autom4te, autoupdate, autodep, autoinst, autopoint, autoscan, aclocal, libtoolize

Autoconf czym jest Pakiet i jego narzędzia Autoconf narzędzie umożliwiające generowanie skryptów, które służą do tworzenia pakietów, ich kompilacji oraz instalacji. Narzędzie to jest niezależna od języka programowania, w którym napisany jest dany pakiet. Skrypty tworzone przez autoconf wykorzystują Bourne shell a.

Autoconf czym jest Pakiet i jego narzędzia Autoconf narzędzie umożliwiające generowanie skryptów, które służą do tworzenia pakietów, ich kompilacji oraz instalacji. Narzędzie to jest niezależna od języka programowania, w którym napisany jest dany pakiet. Skrypty tworzone przez autoconf wykorzystują Bourne shell a. Zalety: skrypt konfiguracyjny daje sensowne rezulaty dla systemów, które powstały później niż sam pakiet. pozwala adminstratorom na dopasowanie generowanych skryptów do specyfiki danego komputera i systemu, automatycznie sprawdza niezbędne zależności.

Autoconf czym jest Pakiet i jego narzędzia Autoconf narzędzie umożliwiające generowanie skryptów, które służą do tworzenia pakietów, ich kompilacji oraz instalacji. Narzędzie to jest niezależna od języka programowania, w którym napisany jest dany pakiet. Skrypty tworzone przez autoconf wykorzystują Bourne shell a. Zalety: skrypt konfiguracyjny daje sensowne rezulaty dla systemów, które powstały później niż sam pakiet. pozwala adminstratorom na dopasowanie generowanych skryptów do specyfiki danego komputera i systemu, automatycznie sprawdza niezbędne zależności. Wady: generowane skrypty są bardzo złożone, wykorzystywane makra M4 są dla wielu użytkowników niezrozumiałe.

Automake czym jest Pakiet i jego narzędzia Automake wykorzystywany jest do generowania plików typu Makefile. Program automake napisany jest w Perlu. W tworzonych plikach Makefile uwzględnia zależności między plikami. Mogą one być wyznaczone z wykorzystaniem narzędzi makedepend (ale nie muszą).

Automake czym jest Pakiet i jego narzędzia Automake wykorzystywany jest do generowania plików typu Makefile. Program automake napisany jest w Perlu. W tworzonych plikach Makefile uwzględnia zależności między plikami. Mogą one być wyznaczone z wykorzystaniem narzędzi makedepend (ale nie muszą). Generowany plik Makefile umożliwia realizację takich celów jak: clean install budowanie oprogramowania (kompilacja, konsolidacja), usuwanie produktów kompilacji, instalacja zbudowanego oprogramowania, uninstall deinstalacja oprogramowania.

Automake czym jest Pakiet i jego narzędzia Automake wykorzystywany jest do generowania plików typu Makefile. Program automake napisany jest w Perlu. W tworzonych plikach Makefile uwzględnia zależności między plikami. Mogą one być wyznaczone z wykorzystaniem narzędzi makedepend (ale nie muszą). Generowany plik Makefile umożliwia realizację takich celów jak: clean install budowanie oprogramowania (kompilacja, konsolidacja), usuwanie produktów kompilacji, instalacja zbudowanego oprogramowania, uninstall deinstalacja oprogramowania. Przykład wywołania z realizacją danego podcelu: make clean

Libtool czym jest Pakiet i jego narzędzia Libtool umożliwia tworzenie przenośnych kompilowalnych bibliotek zarówno statycznych jak też bibliotek dynamicznie konsolidowanych. Pozwala na ukrycie elementów procesu tworzenia takich bibliotek zależnych od systemu operacyjnego.

Libtool czym jest Pakiet i jego narzędzia Libtool umożliwia tworzenie przenośnych kompilowalnych bibliotek zarówno statycznych jak też bibliotek dynamicznie konsolidowanych. Pozwala na ukrycie elementów procesu tworzenia takich bibliotek zależnych od systemu operacyjnego. Libtoolize jest częścią pakietu Libtool. Wspomaga proces tworzenia pakietu instalacyjnego poprzez dodanie obsługi tworzenia bibliotek za pomocą libtool do pakietu instalacyjnego.

Jak to wygląda Pakiet i jego narzędzia interp4rob/ *-README *-src/ *-main.cpp

Jak to wygląda Pakiet i jego narzędzia interp4rob/ *-README *-src/ *- main.cpp main.cpp: #i n c l u d e <i ostream > u s i n g namespace s t d ; i n t main ( ) { cout << I n t e r p r e t e r p o l e c e n << e n d l ; }

Jak to wygląda Pakiet i jego narzędzia interp4rob/ *- README *-src/ *-main.cpp README: W sklad niniejszego pakietu wchodzi program interp4rob. Jedna z istotnych funkcjonalnosci tego programu jest to, ze generuje on plik core (i naprawde nie wiem dlaczego).

Jak to wygląda Pakiet i jego narzędzia interp4rob/ *-README *-src/ *-main.cpp

Jak to wygląda Pakiet i jego narzędzia interp4rob/ *-configure.ac *-README *-src/ *-main.cpp

Jak to wygląda Pakiet i jego narzędzia interp4rob/ *-configure.ac *-README *-src/ *-main.cpp Skrypt configure.ac jest przetwarzany przez program autoconf (sta d rozszerzenie *.ac).

Jak to wygląda Pakiet i jego narzędzia interp4rob/ *- configure.ac *-README *-src/ *-main.cpp AC_INIT([interp4rob], [1.0], [jkowals@diablo.iiar.pwr.wroc.pl]) AM_INIT_AUTOMAKE([-Wall -Werror foreign]) AC_LANG_CPLUSPLUS AC_PROG_CXX AC_CONFIG_HEADERS([config.h]) AC_CONFIG_FILES([ Makefile src/makefile ]) AC_PROG_INSTALL AC_OUTPUT

Krótka charakterystyka Pakiet i jego narzędzia AC INIT([interp4rob], [1.0], [jkowals@diablo.iiar.pwr.wroc.pl]) AM INIT AUTOMAKE([-Wall -Werror foreign]) AC LANG CPLUSPLUS AC PROG CXX AC CONFIG HEADERS([config.h]) AC CONFIG FILES([ Makefile src/makefile ]) AC PROG INSTALL AC OUTPUT W języku skryptowym Autoconf nie ma rozróżnienia między zwykłym tekstem, a instrukcjami dla Autoconf. Pod względem składni mają one ten sam status. Jeśli chcemy, aby Autonconf nie podejmował proby interpretacji danego tekstu, jako zestawu instrukcji/makr, to musimy ten tekst odpowiedno zacytować. W tym celu należy tekst musi być ujęty w nawiasy kwadratowe.

Krótka charakterystyka Pakiet i jego narzędzia interp4rob/ *-configure.ac *-README *-src/ *-main.cpp

Krótka charakterystyka Pakiet i jego narzędzia interp4rob/ *-configure.ac *-Makefile.am *-README *-src/ *-main.cpp

Krótka charakterystyka Pakiet i jego narzędzia interp4rob/ *-configure.ac *- Makefile.am *-README *-src/ *-main.cpp SUBDIRS = src dist_doc_data = README

Krótka charakterystyka Pakiet i jego narzędzia interp4rob/ *-configure.ac *-Makefile.am *-README *-src/ *-main.cpp

Krótka charakterystyka Pakiet i jego narzędzia interp4rob/ *-configure.ac *-Makefile.am *-README *-src/ *-Makefile.am *-main.cpp

Krótka charakterystyka Pakiet i jego narzędzia interp4rob/ *-configure.ac *-Makefile.am *-README *-src/ *- Makefile.am *-main.cpp bin_programs = interp4rob interp4rob_sources = main.cpp

Generowanie plików konfiguracyjnych Pakiet i jego narzędzia interp4rob/ *-configure.ac *-Makefile.am *-README *-src/ *-Makefile.am *-main.cpp jkowalsk@comp:interp4rob>

Generowanie plików konfiguracyjnych Pakiet i jego narzędzia interp4rob/ *-configure.ac *-Makefile.am *-README *-src/ *-Makefile.am *-main.cpp jkowalsk@comp:interp4rob> autoreconf --install

Generowanie plików konfiguracyjnych Pakiet i jego narzędzia interp4rob/ *-configure.ac *-Makefile.am *-README *-src/ *-Makefile.am *-main.cpp jkowalsk@comp:interp4rob> autoreconf --install configure.ac:2: installing./install-sh configure.ac:2: installing./missing src/makefile.am: installing./depcomp jkowalsk@comp:interp4rob>

Generowanie plików konfiguracyjnych Pakiet i jego narzędzia interp4rob/ *-configure *-Makefile.in *-(duzo innych plikow)... jkowalsk@comp:interp4rob>

Generowanie plików konfiguracyjnych Pakiet i jego narzędzia interp4rob/ *-configure *-Makefile.in *-(duzo innych plikow)... jkowalsk@comp:interp4rob>./configure

Generowanie plików konfiguracyjnych Pakiet i jego narzędzia jkowalsk@comp:interp4rob>./configure checking for a BSD-compatible install /usr/bin/install -c checking whether build environment is sane yes checking for a thread-safe mkdir -p /bin/mkdir -p checking for gawk gawk checking whether make sets $(MAKE) yes checking for g++ g++ checking whether the C++ compiler works yes checking for C++ compiler default output file name a.out checking for suffix of executables checking whether we are cross compiling no checking for suffix of object files o checking whether we are using the GNU C++ compiler yes checking whether g++ accepts -g yes checking for style of include used by make GNU checking dependency style of g++ gcc3 configure: creating./config.status config.status: creating Makefile config.status: creating src/makefile config.status: creating config.h config.status: executing depfiles commands jkowalsk@comp:interp4rob>

config.h Pakiet i jego narzędzia / c o n f i g. h. G e n e r a t e d from c o n f i g. h. i n by c o n f i g u r e. / / c o n f i g. h. i n. G e n e r a t e d from c o n f i g u r e. ac by a u t o h e a d e r. / / Name o f package / #d e f i n e PACKAGE interp4rob / Define to the address where bug r e p o r t s f o r t h i s package should be sent. / #d e f i n e PACKAGE BUGREPORT j k o w a l s @ d i a b l o. i i a r. pwr. wroc. p l / Define to the f u l l name of t h i s package. / #d e f i n e PACKAGE NAME interp4rob / D e f i n e to t h e f u l l name and v e r s i o n o f t h i s package. / #d e f i n e PACKAGE STRING interp4rob 1.0 / Define to the one symbol short name of t h i s package. / #d e f i n e PACKAGE TARNAME interp4rob / Define to the home page f o r t h i s package. / #d e f i n e PACKAGE URL / D e f i n e to t h e v e r s i o n o f t h i s package. / #d e f i n e PACKAGE VERSION 1.0 / V e r s i o n number o f package / #d e f i n e VERSION 1.0

Tworzenie pakietu instalacyjnego jkowalsk@comp:interp4rob> Pakiet i jego narzędzia

Tworzenie pakietu instalacyjnego jkowalsk@comp:interp4rob> make Pakiet i jego narzędzia

Tworzenie pakietu instalacyjnego jkowalsk@comp:interp4rob> make jkowalsk@comp:interp4rob> Pakiet i jego narzędzia

Tworzenie pakietu instalacyjnego jkowalsk@comp:interp4rob> make jkowalsk@comp:interp4rob> src/interp4rob Pakiet i jego narzędzia

Tworzenie pakietu instalacyjnego jkowalsk@comp:interp4rob> make jkowalsk@comp:interp4rob> src/interp4rob Interpreter polecen jkowalsk@comp:interp4rob> Pakiet i jego narzędzia

Tworzenie pakietu instalacyjnego jkowalsk@comp:interp4rob> make jkowalsk@comp:interp4rob> src/interp4rob Interpreter polecen jkowalsk@comp:interp4rob> make distcheck Pakiet i jego narzędzia

Tworzenie pakietu instalacyjnego Pakiet i jego narzędzia jkowalsk@comp:interp4rob> make jkowalsk@comp:interp4rob> src/interp4rob Interpreter polecen jkowalsk@comp:interp4rob> make distcheck ================================================ interp4rob-1.0 archives ready for distribution: interp4rob-1.0.tar.gz ================================================ jkowalsk@comp:interp4rob>

Koniec prezentacji Dziękuję za uwagę