Что такое команда `. / Configure`? - PullRequest
       5

Что такое команда `. / Configure`?

1 голос
/ 12 сентября 2011

Я обычно вижу ./configure, чтобы что-то построить. Это выглядит сценарий, созданный инструментом. И сегодня я понял, что не знаю, что это такое.

Что это? Какова роль этого сценария, и кто это делает? И как мне сделать что-то подобное?

Ответы [ 3 ]

4 голосов
/ 12 сентября 2011

Каждая система отличается.Например, существуют разные компиляторы и версии компиляторов, инструменты вашей системы могут поддерживать определенные флаги (или нет), у вас могут быть установлены определенные библиотеки или нет, и т. Д. Pp. Есть много вещей, которыена компьютерах разные, что может повлиять на компиляцию проекта.

Сценарий configure пытается выяснить все эти вещи и выдает жалобу, если предварительные условия не выполнены (например, когда отсутствует компилятор или когдабиблиотека отсутствует).Затем он генерирует Makefile, специфичный для вашей системы, и просто набрав make, мы надеемся, правильно построить проект в вашей системе.

До configure мы имеливручную настроить Make-файлы (часто настраиваемые части были смещены в отдельный Make-файл).Это означало, что вам нужно было много знать о вашей системе и часто вам нужно было изменить Make-файлы.Это было большое препятствие, тем более что почти каждый проект делал это по-своему.GNU autoconf и automake (которые анализируют файлы Makefile.am и configure.ac для генерации сценариев Makefile.in и configure) действительно очень упрощают ситуацию (особенно если вы делаете экзотические вещи, такие как кросс-компиляция, для которойпочти ни один проект не хочет добавлять поддержку; если вы делаете autoconf / automake в чистом виде, то вы получаете кросс-компиляцию бесплатно, например).

4 голосов
/ 12 сентября 2011

Обычно это скрипт, созданный GNU autoconf. Другие инструменты сборки также могут использовать то же имя. Autoconf - довольно сложный инструмент, но в Интернете доступно несколько коротких руководств. Мне нравится этот: http://www.edwardrosten.com/code/autoconf/index.html

1 голос
/ 12 сентября 2011

GNU Autoconf Autoconf генерирует скрипт конфигурации на основе содержимого файла configure.ac, который характеризует конкретную часть исходного кода. При запуске сценария configure сканирует среду сборки и генерирует подчиненный сценарий config.status, который, в свою очередь, преобразует другие входные файлы и чаще всего Makefile.in в выходные файлы (Makefile), которые подходят для этой среды сборки. Наконец, программа make использует Makefile для генерации исполняемых программ из исходного кода.

http://en.wikipedia.org/wiki/GNU_build_system

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...