41 lines
1.4 KiB
Bash
41 lines
1.4 KiB
Bash
|
#!/usr/bin/env bash
|
||
|
#
|
||
|
# SPDX-License-Identifier: GPL-2.0
|
||
|
#
|
||
|
# Copyright (c) 2013-2023 Igor Pecovnik, igor@armbian.com
|
||
|
#
|
||
|
# This file is a part of the Armbian Build Framework
|
||
|
# https://github.com/armbian/build/
|
||
|
|
||
|
function prepare_compilation_vars() {
|
||
|
# moved from config: rpardini: ccache belongs in compilation, not config. I think.
|
||
|
if [[ $USE_CCACHE != no ]]; then
|
||
|
CCACHE=ccache
|
||
|
export PATH="/usr/lib/ccache:$PATH" # this actually needs export'ing
|
||
|
# private ccache directory to avoid permission issues when using build script with "sudo"
|
||
|
# see https://ccache.samba.org/manual.html#_sharing_a_cache for alternative solution
|
||
|
[[ $PRIVATE_CCACHE == yes ]] && export CCACHE_DIR=$SRC/cache/ccache # actual export
|
||
|
else
|
||
|
CCACHE=""
|
||
|
fi
|
||
|
|
||
|
# moved from config: this does not belong in configuration. it's a compilation thing.
|
||
|
# optimize build time with 100% CPU usage
|
||
|
CPUS=$(grep -c 'processor' /proc/cpuinfo)
|
||
|
if [[ $USEALLCORES != no ]]; then
|
||
|
CTHREADS="-j$((CPUS + CPUS / 2))"
|
||
|
else
|
||
|
CTHREADS="-j1"
|
||
|
fi
|
||
|
|
||
|
call_extension_method "post_determine_cthreads" "config_post_determine_cthreads" <<- 'POST_DETERMINE_CTHREADS'
|
||
|
*give config a chance modify CTHREADS programatically. A build server may work better with hyperthreads-1 for example.*
|
||
|
Called early, before any compilation work starts.
|
||
|
POST_DETERMINE_CTHREADS
|
||
|
|
||
|
# readonly, global
|
||
|
declare -g -r CTHREADS="${CTHREADS}"
|
||
|
|
||
|
return 0
|
||
|
}
|