Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 261121 - make the settings in make.conf apply to all build systems
Summary: make the settings in make.conf apply to all build systems
Status: RESOLVED NEEDINFO
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Enhancement/Feature Requests (show other bugs)
Hardware: All All
: High enhancement with 1 vote (vote)
Assignee: PMS/EAPI
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-03-03 23:26 UTC by Martin Walch
Modified: 2017-06-07 14:52 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Walch 2009-03-03 23:26:17 UTC
Currently, some variables like FEATURES and MAKEOPTS contain settings that are only used for the make build system. But nowadays there are many more build systems like SCons, CMake, Makeit, Jam, qmake, Ant, Rake, Rant, Makepp and so on. And some of them are in heavy usage in packages throughout the portage tree (scons, cmake, ant...). But if you want to have global settings like a maximum number of parallel jobs (-j/--jobs option in make), it is not sufficient to set this in MAKEOPTS in make.conf. The ebuild maintainers must fetch the settings and pass them  manually to the build system in use. This is the same for e. g. ccache in the FEATURES variable.

It would be nice to have a generic frontend for all build systems that can be configured globally (make.conf?) and applies the settings to every build system where possible and appropriate.
Comment 1 Jeremy Olexa (darkside) (RETIRED) archtester Gentoo Infrastructure gentoo-dev Security 2009-03-03 23:52:17 UTC
I don't see an easy way to do this myself without knowing how each build system works then you have to document what to do for every build system. Considering that most of the compile commands happen in eclasses, then, I don't think there is much to do here. portage uses MAKEOPTS because it offers emake, which is a wrapper for make. 

So, you are really requesting a way for portage to wrap eant in ant-tasks.eclass. cmake-utils_src_make() in cmake-utils.eclass, which btw, uses emake so it honors MAKEOPTS. scons, dunno.

Does this make sense? I think your request is either somewhat difficult or partially invalid. I'll let the portage devs answer now.
Comment 2 Zac Medico gentoo-dev 2009-03-04 00:32:33 UTC
It's a somewhat complex topic, worthy of discussion on the gentoo-dev mailing list. A few months ago there was a similar discussion about a JOBS variable:

http://archives.gentoo.org/gentoo-dev/msg_750e33f68b16d971dff1f40dd9145e56.xml
Comment 3 Ulrich Müller gentoo-dev 2017-06-07 14:52:09 UTC
No progress since several years.

Feel free to reopen if you have a concrete proposal for this.