Форум — Admin Gentoo парсинг cflags в ebuild ebuild, gentoo 1 1 Нужно в ebuild посмотреть, стоит ли флаг -fomit-frame-pointer и выставитьGLOBALCMAKEARGS=( DENABLE_OMIT_FRAME_POINTER=OFF/ON( в зависимости от того, найден ли -fomit-frame-pointer в CFLAGS.) Как такое сделать? megabaks Pinkbyte Ссылка
То есть ты хочешь сказать что CFLAGS не доступны в ebuild'е? Kroz ★★★★★ (08.07.17 21:27:34 MSK) Показать ответ Ссылка
Ответ на: комментарий от Kroz 08.07.17 21:27:34 MSK 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 ★★★★ (08.07.17 21:52:53 MSK) автор топика Последнее исправление: ymuv 08.07.17 21:53:28 MSK (всего исправлений: 1) Ссылка
1. Флаги парсятся с помощью get-flag. Есть ещё replace-flags и append-flags, чего они делают ты сам додумай.2. Cmake хранил свои флаги в CMAKE_C_FLAGS и CMAKE_CXX_FLAGS. Bfgeshka ★★★★★ (09.07.17 02:50:54 MSK) Показать ответ Ссылка
Ответ на: комментарий от Bfgeshka 09.07.17 02:50:54 MSK Спасибо, сделал: ENABLE_OMIT_FRAME_POINTER=OFF if [ ! -z $(get-flag -fomit-frame-pointer) ]; then ENABLE_OMIT_FRAME_POINTER=ON fi ymuv ★★★★ (09.07.17 04:07:21 MSK) автор топика Ссылка
Если опция ENABLE_OMIT_FRAME_POINTER только добавляет CFLAGS в при сборке(фактически переопределяя заданные пользователем) и ничего больше, то может вообще выпилить её вообще из билдсистемы(патчем или через sed, смотря что проще)? Pinkbyte ★★★★★ (09.07.17 14:23:33 MSK) Последнее исправление: Pinkbyte 09.07.17 14:24:11 MSK (всего исправлений: 2) Показать ответ Ссылка
Ответ на: комментарий от Pinkbyte 09.07.17 14:23:33 MSK Можешь посмотреть пул-рекветс?Все ли верно? https://github.com/gentoo/gentoo/pull/5036/filesСпасибо. ymuv ★★★★ (10.07.17 17:08:58 MSK) автор топика Последнее исправление: ymuv 10.07.17 17:09:09 MSK (всего исправлений: 1) Ссылка