LINUX.ORG.RU
решено ФорумAdmin

Gentoo парсинг cflags в ebuild

 ,


1

1

Нужно в ebuild посмотреть, стоит ли флаг -fomit-frame-pointer и выставить

GLOBALCMAKEARGS=(
DENABLE_OMIT_FRAME_POINTER=OFF/ON( в зависимости от того, найден ли -fomit-frame-pointer в CFLAGS.)

Как такое сделать?
megabaks Pinkbyte

★★★★

Последнее исправление: ymuv (всего исправлений: 1)
Ответ на: комментарий от Kroz

CFLAGS доступные, но cmake перетирает CFLAGS и нужно выставлять опции.

То есть, к примеру: выставлено CFLAGS="-msse4.1 -fomit-frame-pointer"
Но cmake принудительно ставит: -mno-sse4.1 -fno-omit-frame-pointer

и в результате компилятор компилирует с флагами:

g++ ... -msse4.1 -fomit-frame-pointer ... -mno-sse4.1 -fno-omit-frame-pointer 
Флаги SSE и другие я исправил, осталось только -fomit-frame-pointer

ymuv ★★★★
() автор топика
Последнее исправление: ymuv (всего исправлений: 1)

1. Флаги парсятся с помощью get-flag. Есть ещё replace-flags и append-flags, чего они делают ты сам додумай.

2. Cmake хранил свои флаги в CMAKE_C_FLAGS и CMAKE_CXX_FLAGS.

Bfgeshka ★★★★★
()
Ответ на: комментарий от Bfgeshka

Спасибо, сделал:


ENABLE_OMIT_FRAME_POINTER=OFF
if [ ! -z $(get-flag -fomit-frame-pointer) ]; then
	ENABLE_OMIT_FRAME_POINTER=ON
fi

ymuv ★★★★
() автор топика

Если опция ENABLE_OMIT_FRAME_POINTER только добавляет CFLAGS в при сборке(фактически переопределяя заданные пользователем) и ничего больше, то может вообще выпилить её вообще из билдсистемы(патчем или через sed, смотря что проще)?

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.