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ć?
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: http://www.gnu.org/software/autoconf /
- Automake: http://www.gnu.org/software/automake/automake.html
- Libtool : http://www.gnu.org/software/libtool/libtool.html
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
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
i jest bardzo dobry tutorial
https://robots.thoughtbot.com/the-magic-behind-configure-make-make-install
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"
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