b"\n_START_ARTICLE_\nAutoconf\n_START_PARAGRAPH_\nGNU Autoconf - zestaw narz\xc4\x99dzi oraz makr M4 stworzonych w ramach projektu GNU, kt\xc3\xb3re s\xc5\x82u\xc5\xbc\xc4\x85 do generowania skrypt\xc3\xb3w pow\xc5\x82oki maj\xc4\x85cych zaj\xc4\x85\xc4\x87 si\xc4\x99 procesem kompilacji program\xc3\xb3w komputerowych rozprowadzanych w formie kodu \xc5\xbar\xc3\xb3d\xc5\x82owego._NEWLINE_Autoconf jest w stanie dostosowa\xc4\x87 si\xc4\x99 do specyfiki wielu system\xc3\xb3w operacyjnych bez anga\xc5\xbcowania u\xc5\xbcytkownika.\n_START_SECTION_\nKompilacja z u\xc5\xbcyciem autoconf\n_START_PARAGRAPH_\nPodstawowym plikiem dla Autoconfa jest configure.ac (w starszych wersjach u\xc5\xbcywano configure.in, kt\xc3\xb3re wprowadza\xc5\x82o w pomy\xc5\x82ki poprzez podobizn\xc4\x99\xc2\xa0do Makefile.in, teraz narz\xc4\x99dzia wy\xc5\x9bwietlaj\xc4\x85 ostrze\xc5\xbcenie w przypadku u\xc5\xbcywania starej nazwy). Na podstawie tego pliku program autoconf generuje skrypt configure w katalogu g\xc5\x82\xc3\xb3wnym pakietu z oprogramowaniem. Skrypt ten, kt\xc3\xb3ry jest uruchamiany przez u\xc5\xbcytkownika ko\xc5\x84cowego, sprawdza obecno\xc5\x9b\xc4\x87 program\xc3\xb3w, bibliotek, nag\xc5\x82\xc3\xb3wk\xc3\xb3w i spe\xc5\x82nienia innych warunk\xc3\xb3w okre\xc5\x9blonych przez programist\xc4\x99. W zale\xc5\xbcno\xc5\x9bci od zastosowanej konfiguracji, Autoconf zmienia tworzone przez siebie pliki Makefile, kt\xc3\xb3re to bezpo\xc5\x9brednio odpowiadaj\xc4\x85 za kompilacj\xc4\x99 programu. Nast\xc4\x99pnie u\xc5\xbcytkownik, uzyskawszy ju\xc5\xbc pliki Makefile, wywo\xc5\x82uje polecenie make, aby skompilowa\xc4\x87 program._NEWLINE_Oto uproszczony schemat dzia\xc5\x82ania:_NEWLINE__NEWLINE_configure.ac + aclocal \xe2\x86\x92 aclocal.m4_NEWLINE_configure.ac + aclocal.m4 + autoconf \xe2\x86\x92 configure_NEWLINE_configure.ac + aclocal.m4 + autoheader \xe2\x86\x92 config.h.in_NEWLINE_configure.ac + aclocal.m4 + Makefile.am \xe2\x86\x92 Makefile.in_NEWLINE_configure + config.h.in + Makefile.in \xe2\x86\x92 Makefile + config.h_NEWLINE_make + Makefile + pustak.c \xe2\x86\x92 pustak.o \xe2\x86\x92 pustak_NEWLINE_(narz\xc4\x99dzia aclocal i automake s\xc4\x85 cz\xc4\x99\xc5\x9bciami pakietu Automake, ale rozwa\xc5\xbca si\xc4\x99\xc2\xa0przeniesienie aclocal do Autoconf).\n_START_SECTION_\nPrzyk\xc5\x82ad\n_START_PARAGRAPH_\nOto przyk\xc5\x82adowy plik configure.in, dla programu Pustak:_NEWLINE__NEWLINE_dnl Komentarz, ignorowany przez program_NEWLINE_AC_INIT([Pustak], [0.1], [pustak-bugreport@example.org], [pustak], [http://example.org/pustak/])_NEWLINE_AC_CONFIG_HEADERS([config.h])_NEWLINE_AC_CONFIG_SRCDIR([src/pustak.c])_NEWLINE_dnl Je\xc5\x9bli u\xc5\xbcywamy Automake:_NEWLINE_AC_CONFIG_AUX_DIR([build-aux]) dnl W folderze build-aux automake umie\xc5\x9bci skrypty pomocnicze_NEWLINE_AC_CONFIG_MACRO_DIR([m4]) dnl W folderze m4 Libtool, Gnulib i Gettext umieszcz\xc4\x85 repozytorium makr_NEWLINE_AM_INIT_AUTOMAKE_NEWLINE_dnl Je\xc5\x9bli u\xc5\xbcywamy Libtool:_NEWLINE_LT_INIT_NEWLINE__NEWLINE_dnl Je\xc5\x9bli u\xc5\xbcywamy j\xc4\x99zyka C:_NEWLINE_AC_PROG_CC_NEWLINE_dnl Je\xc5\x9bli u\xc5\xbcywamy Gnulib:_NEWLINE_gl_EARLY_NEWLINE_dnl Je\xc5\x9bli C++:_NEWLINE_AC_PROG_CXX_NEWLINE_dnl Je\xc5\x9bli Objective C:_NEWLINE_AC_PROG_OBJC_NEWLINE_dnl Je\xc5\x9bli Objective C++:_NEWLINE_AC_PROG_OBJCXX_NEWLINE_dnl Par\xc4\x99 u\xc5\xbcytecznych program\xc3\xb3w:_NEWLINE_AC_PROG_SED_NEWLINE_AC_PROG_AWK_NEWLINE_AC_PROG_GREP_NEWLINE_AC_PROG_EGREP_NEWLINE_AC_PROG_FGREP_NEWLINE_AC_PROG_LEX_NEWLINE_AC_PROG_YACC_NEWLINE__NEWLINE_dnl Je\xc5\x9bli u\xc5\xbcywamy Gnulib:_NEWLINE_gl_INIT_NEWLINE__NEWLINE_dnl Sprawdza, czy w bibliotece `-lselinux' jest symbol getfilecon_NEWLINE_AC_CHECK_LIB([selinux], [getfilecon])_NEWLINE__NEWLINE_dnl Sprawdza, czy w systemie jest nag\xc5\x82\xc3\xb3wek errno.h i/lub err.h i/lub errx.h_NEWLINE_AC_CHECK_HEADERS([errno.h err.h errx.h])_NEWLINE__NEWLINE_dnl Sprawdza, czy w standardowo w\xc5\x82\xc4\x85czanych nag\xc5\x82\xc3\xb3wkach ($ac_includes_default) jest funkcja fork i/lub vfork_NEWLINE_AC_CHECK_FUNCS([fork vfork])_NEWLINE__NEWLINE_dnl Szuka typu bezznakowego 16-bitowego_NEWLINE_AC_TYPE_UINT16_T_NEWLINE__NEWLINE_AC_CONFIG_FILES([Makefile src/Makefile doc/Makefile m4/Makefile])_NEWLINE_AC_OUTPUT_NEWLINE_Pierwsze wiersze, do AM_INIT_AUTOMAKE, to typowy pocz\xc4\x85tek pliku. Argumentem w\xc2\xa0trzeciej linii jest wzgl\xc4\x99dna \xc5\x9bcie\xc5\xbcka do pliku \xc5\xbar\xc3\xb3d\xc5\x82owego programu (w celu sprawdzenia, czy \xc5\xbar\xc3\xb3d\xc5\x82a s\xc4\x85 poprawnie rozpakowane), w\xc2\xa0pierwszej nazwa (u\xc5\xbcytkownika), wersja, adres zg\xc5\x82aszania b\xc5\x82\xc4\x99d\xc3\xb3w, nazwa (pliku) i strona domowa. Autoconf ma bardzo du\xc5\xbco makr. Aby zobaczy\xc4\x87 je wszystkie, nale\xc5\xbcy przeczyta\xc4\x87 dokumentacj\xc4\x99."