1# shellcheck shell=bash
2
3build2ConfigurePhase() {
4 runHook preConfigure
5
6 local flagsArray=(
7 "config.c=$CC"
8 "config.cxx=$CXX"
9 "config.cc.coptions+=-O2"
10 "config.cc.poptions+=-DNDEBUG"
11 "config.install.root=$prefix"
12 "config.install.bin=${!outputBin}/bin"
13 "config.install.doc=${!outputDoc}/share/doc/${shareDocName}"
14 "config.install.exec_root=${!outputBin}"
15 "config.install.include=${!outputInclude}/include"
16 "config.install.lib=${!outputLib}/lib"
17 "config.install.libexec=${!outputLib}/libexec"
18 "config.install.man=${!outputDoc}/share/man"
19 "config.install.sbin=${!outputBin}/sbin"
20 "config.install.bin.mode=755"
21 )
22 concatTo flagsArray build2ConfigureFlags build2ConfigureFlagsArray
23
24 # shellcheck disable=SC2157
25 if [ -n "@isTargetDarwin@" ]; then
26 flagsArray+=("config.bin.ld=ld64-lld")
27 flagsArray+=("config.cc.loptions+=-fuse-ld=lld")
28 flagsArray+=("config.cc.loptions+=-headerpad_max_install_names")
29 fi
30
31 echo 'configure flags' "${flagsArray[@]}"
32
33 b configure "${flagsArray[@]}"
34
35 runHook postConfigure
36}
37
38build2BuildPhase() {
39 runHook preBuild
40
41 local flagsArray=()
42 concatTo flagsArray build2BuildFlags build2BuildFlagsArray
43
44 echo 'build flags' "${flagsArray[@]}"
45 b "${flagsArray[@]}"
46
47 runHook postBuild
48}
49
50build2CheckPhase() {
51 runHook preCheck
52
53 local flagsArray=()
54 concatTo flagsArray build2CheckFlags build2CheckFlags
55
56 echo 'check flags' "${flagsArray[@]}"
57
58 b test "${build2Dir:-.}" "${flagsArray[@]}"
59
60 runHook postCheck
61}
62
63build2InstallPhase() {
64 runHook preInstall
65
66 local flagsArray=()
67 concatTo flagsArray build2InstallFlags build2InstallFlagsArray installTargets
68
69 echo 'install flags' "${flagsArray[@]}"
70 b install "${flagsArray[@]}"
71
72 runHook postInstall
73}
74
75if [ -z "${dontUseBuild2Configure-}" ] && [ -z "${configurePhase-}" ]; then
76 # shellcheck disable=SC2034
77 setOutputFlags=
78 configurePhase=build2ConfigurePhase
79fi
80
81if [ -z "${dontUseBuild2Build-}" ] && [ -z "${buildPhase-}" ]; then
82 buildPhase=build2BuildPhase
83fi
84
85if [ -z "${dontUseBuild2Check-}" ] && [ -z "${checkPhase-}" ]; then
86 checkPhase=build2CheckPhase
87fi
88
89if [ -z "${dontUseBuild2Install-}" ] && [ -z "${installPhase-}" ]; then
90 installPhase=build2InstallPhase
91fi