Autotools (МФА [ˈɔːtəʊtuːlz]; с англ. — «автоинструменты») — это система сборки проекта GNU, набор программных средств, предназначенных для поддержки переносимости исходного кода программ между UNIX-подобными системами[1].
Перенос кода с одной системы на другую может оказаться непростой задачей. Различные реализации компилятора языка Си могут существенно различаться: некоторые функции языка могут отсутствовать, иметь другое имя или находиться в разных библиотеках. Программист может решить эту задачу, используя макросы и директивы препроцессора, например #if
, #ifdef
и прочие. Но в таком случае пользователь, компилирующий программу на своей системе, должен будет определить все эти макросы, что не так просто, поскольку существует множество разных дистрибутивов и вариаций систем. Autotools вызываются последовательностью команд ./configure && make && make install
и решают эти проблемы автоматически.
Система сборки GNU Autotools является частью GNU toolchain и широко используется во многих проектах с открытым исходным кодом. Средства сборки распространяются в соответствии с GNU General Public License с возможностью использования их в коммерческих проектах[2][3].