Кіріспе

Автоматты түрде конфигурациялық скрипттер құрастырушы

GNU Autoconf – бұл Bourne қабығы бар компьютерлік жүйелерде бағдарламалық құралдарды құру, орнату және жинау үшін конфигурациялық скрипттерді жасауға арналған құрал. Autoconf қолданылатын бағдарламалау тілдеріне тәуелді емес, бірақ көбінесе C, C++, Fortran, Fortran 77, Erlang немесе Objective C тілдерін пайдаланатын жобалар үшін қолданылады.

Конфигурациялық скрипт белгілі бір мақсатты жүйеге орнату үшін бағдарламалық қамтамасыз ету жинағын конфигурациялайды. Мақсатты жүйеде бірқатар тесттерді жүргізгеннен кейін, конфигурациялық скрипт үлгілерден қанағат файлдарын және makefile-ды жасайды, осылайша бағдарламалық қамтамасыз ету жинағын мақсатты жүйеге бейімдейді. Automake және Libtool-мен бірге Autoconf GNU Build System құрамын құрайды, ол бірнеше басқа құралдарды, атап айтқанда Autoheader-ді қамтиды.

Пайдалану туралы жалпы түсінік

Әзірлеуші конфигурация скриптінің қажетті әрекетін GNU m4 тіліндегі нұсқаулар тізімін "configure.ac" деп аталатын файлда жазу арқылы анықтайды. Көп қолданылатын конфигурациялық скрипт нұсқауларын сипаттау үшін алдын ала анықталған m4 макростарының кітапханасы қолжетімді. Autoconf "configure.ac" файлындағы нұсқауларды портативті конфигурациялық скриптке түрлендіреді. Құрастыруды жүзеге асыратын жүйеде Autoconf орнатылуы міндетті емес: Autoconf тек конфигурациялық скриптті құру үшін қажет, ол әдетте бағдарламалық қамтамасымен бірге таратылады.

Тарих

Autoconf 1991 жылы жазда Дэвид Маккензи оны Ертіс бағдарламалық қамтамасыз ету қорындағы жұмысын қолдау мақсатымен бастады. Келесі жылдары ол көптеген авторлардың үлесімен дамып, портативті, еркін немесе ашық кодты бағдарламалық жасақтама жазу үшін ең көп таралған құрастыру конфигурациясы жүйесіне айналды.

Сын

Autoconf ескірген технологияларды қолданады, көптеген мұралық шектеулерге ие және `configure.ac` сценарийлерін жасайтын автор үшін қарапайым жағдайларды қажетсіз күрделендіреді деген сын бар. Autoconf-тың жиі айтылатын әлсіз жақтары: қолданылатын архитектураның жалпы күрделілігі, көптеген жобалар бірнеше қайталауларды пайдаланады. Кейбір адамдар Autoconf арқылы жасалған 'конфигурациялау' скрипттері тек қолмен басқарылатын командалық қатар интерфейсін ұсынады және ешқандай стандартизация жоқ деп санайды. M4 көптеген дамытушылар үшін ерекше және беймәлім. Дамытушылар Autoconf-ты стандартты емес тексерулермен кеңейту үшін оны үйренуі керек. Артқа және алға қарай нашар үйлесімділік орама скриптін қажет етеді. Autoconf жасаған скрипттер әдетте үлкен және өте күрделі болады. Олар кең көлемде журналдайтын болса да, оларды түзету қиын болуы мүмкін. Осы шектеулерге байланысты, GNU Build System-ді пайдаланған бірнеше жобалар CMake және SCons сияқты басқа құрылыс жүйелеріне көшті.