LINUX.ORG.RU

[gentoo][make] override make.conf variables

 ,


0

1

суть такова: есть amd64 гента, на которой надо собрать несколько програмулин из ванильных исходников (не из портежа), так, чтобы в последствии собраное запустилось на i386. как задать свои CFLAGS CXXFLAGS не редактируя make.conf?

★★★★★

Ответ на: комментарий от Sylvia

и я бы перед этим запустила еще setarch


# i386
# source /etc/profile
# CFLAGS="-O99 -fomg-opt" CXXFLAGS=${CFLAGS} emerge ...

* setarch (i386) заставит машину определяться как 32битную

Sylvia ★★★★★
()

А в чём связь make.conf и gcc?

NAME
       make.conf - custom settings for Portage

SYNOPSIS
       /etc/make.conf and /etc/portage/make.conf

DESCRIPTION
       This  file  contains various variables that are used by Portage.  Portage will check the currently-defined environment variables first for any settings
qnikst ★★★★★
()
Ответ на: комментарий от madgnu

сомневаюсь, что для make будет приоритетнее установленные переменные окружения, нежели переменные в /etc/make.conf

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

CFLAGS="..." CXXFLAGS="..." ./configure ...

аналогично

или сделать export


# i386
# source /etc/profile
# export CFLAGS="-O99 -fomg-opt"
# export CXXFLAGS=${CFLAGS}
# ./configure
...

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

и кстати, make.conf к компиляции не через emerge никак не относится, используются только переменные окружения

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

так, хорошо, я зря написал в тегах gentoo. пусть тачила, на которой собираем работает под любым линаксом. связь тут make.conf и make

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

/etc/make.conf - исключительно гентушная вещь,
можете вообще забыть что она существует вне emerge

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

> make.conf к компиляции не через emerge никак не относится

хм, это хорошо. а если CFLAGS и CXXFLAGS не заданы, то что мейком подставится?

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

ок, везде, кроме генты нету файла make.conf.

всё задаётся через переменные окружения: CFLAGS="-march=i386 -mtune=i386 -other-flags" make

если не ошибаюсь

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

make не подставляет ничего
то что будет использовано для пакета - ставит конфигуратор

autotools configure обычно использует -O2 -g

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

таки плохо, когда нет опыта сборки не в гентах. почитаю заодно документации на днях

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

-mtune=i386 .... кшмар

во-первых i386 надо еще поискать,
во-вторых планировщик инструкция появился начиная с i586

ну и даже для самых древних имеет смысл использовать
-march=i486

в Слаке кстати -march=i486 -mtune=i686

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

> -mtune=i386 .... кшмар

по-первых i386 надо еще поискать,

ну и даже для самых древних имеет смысл использовать


-march=i486


в топике сказано 386, значит 386. мопед не мой

во-вторых планировщик инструкция появился начиная с i586

принимается, буду знать

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

-march=i486 -mtune=generic

наверное будет оптимальным вариантом с точки зрения производительности и совместимости

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