LINUX.ORG.RU

[gentoo][cflags]WTF?

 ,


0

0

обнаружил что перестало работать вот это

/etc/portage/env/категория/имя_пакета
например
/etc/portage/env/media-libs/xine-lib
с вот таким содержимым
CFLAGS="-O2 -march=core2"

погуглил - нашёл как было раньше

cat /etc/portage/package.cflags
dev-util/boost-build -O2 -march=core2
app-arch/p7zip -O2 -march=core2

тоже не работает
WTF?
и как выкручиваться теперь?
~x86

★★★★

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

/etc/portage/package.cflags/local ?
тоже не прокатывает

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

больше идей нет?

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

сколько видел инструкций, везде в дополнение к /etc/portage/env/категория/имя_пакета нужно было ещё делать вот так:

$ cat /etc/portage/bashrc
for MY_ENV in ${PN} ${P} ${PF}; do
        if [ -f /etc/portage/env.d/${CATEGORY}/${MY_ENV} ]; then
                . /etc/portage/env.d/${CATEGORY}/${MY_ENV}
        fi
done

post_src_install() {
    lafilefixer "${D}"
}
name_no ★★
()
Ответ на: комментарий от name_no

в том то и дело что раньше этого не надо было!

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

у тебя это работает?
короче распиши - нифига не догоняю сегодня (

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

и если /etc/portage/env/категория/имя_пакета, то как минимум

for MY_ENV in ${PN} ${P} ${PF}; do 
        if [ -f /etc/portage/env/${CATEGORY}/${MY_ENV} ]; then 
                . /etc/portage/env/${CATEGORY}/${MY_ENV} 
        fi 
done 
 
post_src_install() { 
    lafilefixer "${D}" 
}

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

man portage:

bashrc If needed, this file can be used to set up a special environment for ebuilds, different from the standard root environment. The syntax is the same as for any other bash script.

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

дык вот и спрашиваю - велосипедить не охота совсем

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

> и если /etc/portage/env/категория/имя_пакета, то как минимум

наоборот, скрипт не меняй, сделай /etc/portage/env.d/категория/имя_пакета env.d — более правильное название каталога. Не может быть, чтоб раньше не нужно было, скорее всего, либо ты настроил и забыл, либо у тебя оно не работало.

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

в том то и дело что работало!
оно при сборке пакетов из /env писало чёт типа EXTRA CFLAGS или типа того
и потом через /var/db/pkg/категория/пакет/CFLAGS проверял - всё пучком было

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

короче - есть рабочий вариант?
я сегодня вообще ничего не понимаю - перегрелся походу %)

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

короче

for MY_ENV in ${PN} ${P} ${PF}; do   
        if [ -f /etc/portage/env/${CATEGORY}/${MY_ENV} ]; then   
                . /etc/portage/env/${CATEGORY}/${MY_ENV}   
        fi   
 
done   
   
post_src_install() {   
    lafilefixer "${D}"   
}
не работает
если добавить echo $CFLAGS, то показывает нужные флаги, однако сборка происходит с флагами из make.conf
где я туплю?

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

короче я туплю %)

for MY_ENV in ${PN} ${P} ${PF}; do  
        if [ -f /etc/portage/env/${CATEGORY}/${MY_ENV} ]; then  
                . /etc/portage/env/${CATEGORY}/${MY_ENV}  
        fi  
export CXXFLAGS="$CFLAGS"
done  

post_src_install() {  
    lafilefixer "${D}"  
}
так работает - WTF?

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

> так работает - WTF?

тебе просто надо было в файл /etc/portage/env/${CATEGORY}/${MY_ENV} написать не только CFLAGS, но и CXXFLAGS, если твой пакет написан на плюсах.

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

тьфу ты
в make.conf
CXXFLAGS=$CFLAGS
поэтому что писать фиолетово
проблема в том что флаги не используются при сборке без экспорта, хотя скрипт их выплёвывает без проблем
короче перечитай несколько постов выше - те что с кодом...

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

я про то что в любом случае они одинаковые в данном случае
sqlite и zlib ведь не на плюсах!? а ведь прокатывает!

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

ХЗ, у меня работает как я написал.

$ cat /etc/portage/env.d/media-video/ffmpeg
CFLAGS="-O2 -pipe -march=native -mssse3 -mmmx"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--enable-new-dtags"
name_no ★★
()
Ответ на: комментарий от name_no

у меня вот так

desktop megabaks # cat /etc/portage/bashrc
#!/bin/bash
for MY_ENV in ${PN} ${P} ${PF}; do  
        if [ -f /etc/portage/env/${CATEGORY}/${MY_ENV} ]; then  
                . /etc/portage/env/${CATEGORY}/${MY_ENV}  
        fi  
export CXXFLAGS="${CFLAGS}"
done  

post_src_install() {  
    lafilefixer "${D}"  
}
и
desktop megabaks # cat /etc/portage/env/media-video/ffmpeg 
CFLAGS="-O2 -march=core2 -ftree-vectorize  -msse4.1"

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

> т.е. без этого не работает? ;)

ХЗ. я его с самого начала написал

name_no ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.