Jak utworzyć skrypt configure?

To może brzmieć jak bardzo ogólne pytanie, ale proszę bardzo.

Mam wymóg stworzenia skryptu configure dla mojej aplikacji, wynikiem tej konfiguracji będzie wygenerowany makefile (basic configure, make, make install). Moje pytanie brzmi, Od czego zacząć to budować? Czy jest jakiś przykład, za którym mogę podążać?

Author: horro, 2012-06-12

3 answers

Do stworzenia standardowego skryptu "configure" potrzebny jest GNU autoconf. Możesz też potrzebować GNU automake i libtool.

Istnieje mnóstwo dokumentacji i poradników. Google dla czegoś takiego jak "autoconf automake howto". Dobra dokumentacja znajduje się na oficjalnych stronach podręcznika:

Autoconf utworzy Twój skrypt configure zaczynając od "configure.ac" plik. The "Makefile.am" plik poinstruuje automake, jak utworzyć plik makefile za pomocą configure string. Libtool jest potrzebny do uproszczenia obsługi bibliotek wokół Twojego kodu.

Możesz zacząć tworzyć configure.ac plik ręcznie lub możesz użyć pomocnika "autoscan", który może pomóc Ci stworzyć coś półautomatycznego dla ty.

Wtedy, kiedy będziesz gotowy, ten zrobi magię:

autoreconf -i
 61
Author: dAm2K,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-17 12:33:52

Jest build flow w Linuksie
Tutaj wpisz opis obrazka i jest bardzo dobry tutorial
https://robots.thoughtbot.com/the-magic-behind-configure-make-make-install

 14
Author: hamSh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-09 09:04:17

Czasami oprogramowanie będzie wysyłane bez skryptu configure. Szukaj autogen.sh scenariusz. pewnie będzie działać:

aclocal || die "aclocal failed"
automake --add-missing --force-missing --copy --foreign || die "automake failed"
autoreconf || die "autoreconf failed"
 1
Author: Alan Jurgensen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-10 19:41:56