Dans le fichier /etc/portage/env/CATEGORIE/PAQUET
:
CFLAGS="$CFLAGS -Og" CXXFLAGS="$CXXFLAGS -Og"
Dans le dossier /etc/portage/env
, créer les fichiers :
COMMON_FLAGS="${COMMON_FLAGS} -O1" CFLAGS="${COMMON_FLAGS} -O1" CXXFLAGS="${COMMON_FLAGS} -O1" FCFLAGS="${COMMON_FLAGS} -O1" FFLAGS="${COMMON_FLAGS} -O1" LDFLAGS="${LDFLAGS} -Wl,-O1"
et
MAKEOPTS="-j2" EMERGE_DEFAULT_OPTS="-j2 --load-average=2"
Puis dans le fichier package.env
, indiquer pour chaque paquet quel fichier utiliser :
sys-devel/llvm j2.conf sys-devel/clang j2.conf dev-libs/ocl-icd O1.conf
Ici, on utilise :
j2.conf
quand le paquet ne peut pas compiler avec tous les cœurs. Notamment car on ne peut pas différencier le nombre d'instances en parallèle pour le compilateur et le lieur.O1.conf
quand on a les erreurs classiques de type undefined symbol
pour les fonctions mal déclarées inline
et qui ne compile que sans -O0
.C'est la même chose :
debugcompress
et -Wl,--compress-debug-sections,zlib
: 534056 odebugcompress
: 534080 o-Wl,--compress-debug-sections,zlib
: 534056 o
Ne pas compiler avec default-compiler-rt
. Sinon, il sera nécessaire de lier chaque compilation clang
avec -lgcc_s
pour éviter les erreurs de type undefined reference to symbol '_Unwind_Resume@@GCC_3.0
'.
clang 7, undefined reference '_Unwind_Resume@@GCC_' Archive du 27/01/2019 le 15/01/2020
Compresser en multithreading sous Linux Archive du 30/01/2015 le 13/12/2019
echo "app-arch/pigz symlink" >> /etc/portage/package.use/custom echo "app-arch/lbzip2 symlink" >> /etc/portage/package.use/custom emerge pigz lbzip2
Cela marche pour les tar -czvf
(tar.gz
) et tar -cjvf
(tar.bz2
). Il n'y a pas équivalent pour tar.xz
.
equery has repository ${repo_name}
ou eix –installed-from-overlay