Автонастройка бағдарламасын жасау құралы – GNU Autoconf. Ол жүйеде орнату және құрастыру скрипттерін жасауға көмектеседі. C, C++ тілдері үшін өте пайдалы!
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Автоматты түрде конфигурациялық скрипттер құрастырушы
Automatic configure script builder
GNU Autoconf – бұл Bourne қабығы бар компьютерлік жүйелерде бағдарламалық құралдарды құру, орнату және жинау үшін конфигурациялық скрипттерді жасауға арналған құрал. Autoconf қолданылатын бағдарламалау тілдеріне тәуелді емес, бірақ көбінесе C, C++, Fortran, Fortran 77, Erlang немесе Objective C тілдерін пайдаланатын жобалар үшін қолданылады.
GNU Autoconf is a tool for producing configure scripts for building, installing, and packaging software on computer systems where a Bourne shell is available. Autoconf is agnostic about the programming languages used, but it is often used for projects using C, C++, Fortran, Fortran 77, Erlang, or Objective C.
Конфигурациялық скрипт белгілі бір мақсатты жүйеге орнату үшін бағдарламалық қамтамасыз ету жинағын конфигурациялайды. Мақсатты жүйеде бірқатар тесттерді жүргізгеннен кейін, конфигурациялық скрипт үлгілерден қанағат файлдарын және makefile-ды жасайды, осылайша бағдарламалық қамтамасыз ету жинағын мақсатты жүйеге бейімдейді. Automake және Libtool-мен бірге Autoconf GNU Build System құрамын құрайды, ол бірнеше басқа құралдарды, атап айтқанда Autoheader-ді қамтиды.
A configure script configures a software package for installation on a particular target system. After running a series of tests on the target system, the configure script generates header files and a makefile from templates, thus customizing the software package for the target system. Together with Automake and Libtool, Autoconf forms the GNU Build System, which comprises several other tools, notably Autoheader.
Пайдалану туралы жалпы түсінік
Әзірлеуші конфигурация скриптінің қажетті әрекетін GNU m4 тіліндегі нұсқаулар тізімін "configure.ac" деп аталатын файлда жазу арқылы анықтайды. Көп қолданылатын конфигурациялық скрипт нұсқауларын сипаттау үшін алдын ала анықталған m4 макростарының кітапханасы қолжетімді. Autoconf "configure.ac" файлындағы нұсқауларды портативті конфигурациялық скриптке түрлендіреді. Құрастыруды жүзеге асыратын жүйеде Autoconf орнатылуы міндетті емес: Autoconf тек конфигурациялық скриптті құру үшін қажет, ол әдетте бағдарламалық қамтамасымен бірге таратылады.
The developer specifies the desired behaviour of the configure script by writing a list of instructions in the GNU m4 language in a file called "configure. ac". A library of pre defined m4 macros is available to describe common configure script instructions. Autoconf transforms the instructions in "configure. ac" into a portable configure script. The system that will be doing the building need not have autoconf installed: autoconf is needed only to build the configure script, that is usually shipped with the software.
Тарих
Autoconf 1991 жылы жазда Дэвид Маккензи оны Ертіс бағдарламалық қамтамасыз ету қорындағы жұмысын қолдау мақсатымен бастады. Келесі жылдары ол көптеген авторлардың үлесімен дамып, портативті, еркін немесе ашық кодты бағдарламалық жасақтама жазу үшін ең көп таралған құрастыру конфигурациясы жүйесіне айналды.
Autoconf was begun in the summer of 1991 by David Mackenzie to support his work at the Free Software Foundation. In the subsequent years it grew to include enhancements from a variety of authors and became the most widely used build configuration system for writing portable free or open source software.
Сын
Autoconf ескірген технологияларды қолданады, көптеген мұралық шектеулерге ие және `configure.ac` сценарийлерін жасайтын автор үшін қарапайым жағдайларды қажетсіз күрделендіреді деген сын бар. Autoconf-тың жиі айтылатын әлсіз жақтары: қолданылатын архитектураның жалпы күрделілігі, көптеген жобалар бірнеше қайталауларды пайдаланады. Кейбір адамдар Autoconf арқылы жасалған 'конфигурациялау' скрипттері тек қолмен басқарылатын командалық қатар интерфейсін ұсынады және ешқандай стандартизация жоқ деп санайды. M4 көптеген дамытушылар үшін ерекше және беймәлім. Дамытушылар Autoconf-ты стандартты емес тексерулермен кеңейту үшін оны үйренуі керек. Артқа және алға қарай нашар үйлесімділік орама скриптін қажет етеді. Autoconf жасаған скрипттер әдетте үлкен және өте күрделі болады. Олар кең көлемде журналдайтын болса да, оларды түзету қиын болуы мүмкін. Осы шектеулерге байланысты, GNU Build System-ді пайдаланған бірнеше жобалар CMake және SCons сияқты басқа құрылыс жүйелеріне көшті.
There is some criticism that states that Autoconf uses dated technologies, has a lot of legacy restrictions, and complicates simple scenarios unnecessarily for the author of configure. ac scripts. In particular, often cited weak points of Autoconf are:
General complexity of used architecture, most projects use multiple repetitions. Some people think that 'configure' scripts generated by autoconf provide only manual driven command line interface without any standardization. M4 is unusual and unknown to many developers. Developers will need to learn it to extend autoconf with non standard checks. Weak backward and forward compatibility requires a wrapper script. Autoconf generated scripts are usually large and rather complex. Although they produce extensive logging, debugging them can still be difficult. Due to these limitations, several projects that used GNU Build System switched to different build systems, such as CMake and SCons.