./configure
--help — вывести это сообщение;
*--prefix=DIR — установить корневой каталог установки как DIR (по умолчанию: /usr/local);
*--bindir=DIR — задать каталог установки исполняемых файлов как DIR (по умолчанию: ${prefix}/bin);
*--libdir=DIR — задать каталог установки библиотек как DIR (по умолчанию: ${prefix}/lib);
*--mandir=DIR — задать каталог установки документации как DIR (по умолчанию: ${prefix}/share/man);
*--objdir=DIR — задать каталог сборки как DIR (по умолчанию: PWD);
*--sysconfdir=DIR — переопределить каталог etc как DIR.
*--with-elfutils=DIR — искать elfutils в DIR/include и DIR/lib.
--without-libelf — собрать без libelf (и libdw) (даже если они есть в системе);
--without-libdw — собрать без libdw (даже если он есть в системе);
--without-libstdc++ — собрать без libstdc++ (даже если она есть в системе);
--without-libpython — собрать без libpython (даже если она есть в системе);
--without-libluajit — собрать без libluajit (даже если она есть в системе);
--without-libncurses — собрать без libncursesw (даже если она есть в системе);
--without-capstone — собрать без capstone (даже если она есть в системе);
--without-perf — собрать без perf event (даже если доступен);
--without-schedule — собрать без scheduler event (даже если доступен).
*--arch=ARCH — задать целевую архитектуру (по умолчанию: архитектура системы по умолчанию), например, x86_64, aarch64, i386 или arm;
*--cross-compile=CROSS_COMPILE — указать префикс компилятора во время компиляции, например, CC заменяется на $(CROSS_COMPILE)gcc;
*--cflags=CFLAGS — передать дополнительные флаги компилятору C;
*--ldflags=LDFLAGS — передать дополнительные флаги компоновщику.
-p — сохранить старые настройки.
Некоторые важные переменные среды:
ARCH — целевая архитектура, например, x86_64, aarch64, i386, или arm;
CROSS_COMPILE — префикс компилятора при компиляции;
CFLAGS — флаги компилятора C;
LDFLAGS — флаги компоновщика.
Также можно настроить целевую архитектуру и параметры компилятора, такие как CC, CFLAGS.
Можно отключить некоторые функции в зависимости от внешних библиотек или поведения системы. Например, опция --without-libpython отключит функцию сценариев — команда uftrace script будет существовать, но не будет работать.
Для кросс-компиляции вы можете настроить набор инструментов следующим образом:
$ export CROSS_COMPILE=/path/to/cross/toolchain/arm-unknown-linux-gnueabihf-
$ ARCH=arm CFLAGS='--sysroot /path/to/sysroot' ./configure
или
$ ./configure --arch=arm --cflags='--sysroot /path/to/sysroot'
--cross-compile=/path/to/cross/toolchain/arm-unknown-linux-gnueabihf-
Предполагается, что вы уже установили кросс-скомпилированный libelf в каталоге sysroot. В противном случае вы также можете собрать его из исходного кода (см. ниже) или использовать его в другом пути с помощью --with-elfutils=.
Может быть полезно вручную скомпилировать libelf/libdw для сборки uftrace, если в целевой системе они не установлены. Скрипт misc/install-elfutils.sh позволяет загрузить и собрать libelf и libdw, которые являются библиотеками в elfutils.
Вот способ скомпилировать uftrace вместе с libelf/libdw:
$ export CROSS_COMPILE=arm-linux-gnueabi-
$ export ARCH=arm
$ export CFLAGS="-march=armv7-a"
$ ./misc/install-elfutils.sh --prefix=/path/to/install
$ ./configure --prefix=/path/to/install --with-elfutils=/path/to/install
$ make
$ make install
Скрипт misc/install-elfutils.sh загружает и собирает elfutils и устанавливает libelf и libdw в каталог префикса. Установленные libelf и libdw можно найти с помощью параметра --with-elfutils. Скрипт configure.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )