Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/orsonteodoro/gcf2
My per-package cflags for Gentoo Linux
https://github.com/orsonteodoro/gcf2
Last synced: 5 days ago
JSON representation
My per-package cflags for Gentoo Linux
- Host: GitHub
- URL: https://github.com/orsonteodoro/gcf2
- Owner: orsonteodoro
- Created: 2017-09-11T17:20:12.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-12-14T18:01:40.000Z (22 days ago)
- Last Synced: 2024-12-14T18:30:43.070Z (22 days ago)
- Language: Shell
- Size: 860 KB
- Stars: 25
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-starred - orsonteodoro/gcf2 - My per-package cflags for Gentoo Linux (Shell)
- awesome-starred - orsonteodoro/gcf2 - My per-package cflags for Gentoo Linux (Shell)
README
# gcf2
Formerly my gentoo-cflags. gcf2 is a collection of personal cflags profiles
for the portage build system.## Precautions
* Backup make.conf, env/*, bashrc before using gcf2. These will be clobbered
when restoring a profile. This can be done with `--save-profile=name`.
* It is assumed that you will make additional changes to make.conf to work with
your personal setup.
* It is a hard requirement to have a Rescue CD/USB especially with CFI ON.
[SystemRescue](https://www.system-rescue.org) can be used.## Running
`./gcf2 --help` - Gets help
`./gcf2 --save-profile=name` - Saves profile as name
`./gcf2 --restores-profile=name` - Restores profile from profiles/name### Environment variables
EROOT - The absolute path to the root of an existing installation.
(It can be unset or be empty if CHOST == CBUILD.)## Prebuilt profiles
### Production
* gaming - optimizes for install time while maintaining decent runtime
performance while sacrificing security. Anti premature optimization.
Anti security. (Development is active)
* minmax-2018 - Hardened GCC with systemwide Retpoline with -O3. No LTO.
* minmax-v1 - LTO based profile which can be configured for CFI. It comes with
an blacklist/whitelist LTO generator to prevent IR incompatibilities.
(Development is End of Life [EOL])### Development / pre-alpha
* minmax-v2 - LTO based profile with dynamically generated profiles with O(1)
MLOC estimator to auto tag packages needing Ccache or -O1, auto tag -O3 or
-Ofast based on matching keyword ebuild scans, auto disables fast-math
sub-options with violations to minimize ffast-math related bugs. Includes
minmax-v1 LTO generators. (Development is on ice)## Notes
Refer to profiles//README.md or profiles//docs for more information.
Initially, it was decided to unify all profiles with minmax-v2 but at the same
time have the capability to switch between cflag profiles for seasonal reasons
like summer for gaming and winter for security. gcf2 is created as a result.The bashrc maybe moved or copied, and clobbered when restoring. If you have
customizations, you need to add them back.