summaryrefslogtreecommitdiff
path: root/configure
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2020-01-02 21:32:28 +0000
committermidipix <writeonce@midipix.org>2020-01-02 22:21:17 +0000
commit98c28fbe97ec07cf147da207e10931859cb456f9 (patch)
tree9cf1bf8da6685fa6c4f2f22cc20097fe0da70b53 /configure
parentf726fa418e14439c0e4b465b1eeda22184b504e3 (diff)
downloadapimagic-98c28fbe97ec07cf147da207e10931859cb456f9.tar.bz2
apimagic-98c28fbe97ec07cf147da207e10931859cb456f9.tar.xz
build system: configure, ccenv.sh: provide informative output.
Diffstat (limited to 'configure')
-rwxr-xr-xconfigure87
1 files changed, 83 insertions, 4 deletions
diff --git a/configure b/configure
index fd82db9..607a974 100755
--- a/configure
+++ b/configure
@@ -46,6 +46,32 @@ warning_msg()
printf '%s\n' "$@" >&2
}
+output_step_prolog()
+{
+ mb_line_dots='..................................'
+ mb_line_dots="${mb_line_dots}${mb_line_dots}"
+ mb_step_desc="${mb_package} : ${1##*/} : ${2}() "
+ mb_step_dlen="$((${#mb_line_dots} - ${#mb_step_desc}))"
+ printf "%s%${mb_step_dlen}.${mb_step_dlen}s " "${mb_step_desc}" "${mb_line_dots}"
+}
+
+output_step_epilog()
+{
+ printf 'OK.\n'
+}
+
+output_script_status()
+{
+ mb_step_name="${1##*/} : ${2}"
+ mb_step_desc="${mb_package} : ${mb_step_name}"
+ printf "%s\n" "${mb_step_desc}"
+}
+
+output_section_break()
+{
+ printf '...\n'
+}
+
verify_safe_path()
{
case "$mb_safe_path_name" in
@@ -121,6 +147,9 @@ init_vars()
. "$mb_config"
fi
+ # step prolog
+ output_step_prolog ${mb_script} 'init_vars'
+
# project
mb_nickname=$NICKNAME
mb_source_dir=$SOURCE_DIR
@@ -208,11 +237,16 @@ init_vars()
mb_native_pe_subsystem=$NATIVE_PE_SUBSYSTEM
mb_native_pe_image_base=$NATIVE_PE_IMAGE_BASE
+
+ # step epilog
+ output_step_epilog
}
verify_build_directory()
{
+ output_step_prolog ${mb_script} 'verify_build_directory'
+
if [ "$mb_project_dir" = "$mb_pwd" ]; then
if [ _$mb_require_out_of_tree = _yes ]; then
error_msg "$mb_package: out-of-tree builds are required."
@@ -224,11 +258,15 @@ verify_build_directory()
fi
rm -f Makefile Makefile.host Makefile.tmp Makefile.failed
+
+ output_step_epilog
}
verify_source_directory()
{
+ output_step_prolog ${mb_script} 'verify_source_directory'
+
if [ -z "$mb_source_dir" ]; then
if [ _$mb_require_source_dir = _yes ]; then
error_msg "$mb_package: specifying an external source directory is required."
@@ -237,11 +275,16 @@ verify_source_directory()
exit 1
fi
fi
+
+ output_step_epilog
}
common_defaults()
{
+ # step prolog
+ output_step_prolog ${mb_script} 'common_defaults'
+
# project-specific config definitions
if [ _$mb_use_custom_cfgdefs = _yes ]; then
cat $sfrt_cfgdefs_in > cfgdefs.mk
@@ -386,11 +429,17 @@ common_defaults()
# inherited cflags & ldflags
mb_cflags_cmdline="$mb_cflags_cmdline $mb_cflags"
mb_ldflags_cmdline="$mb_ldflags_cmdline $mb_ldflags"
+
+ # step epilog
+ output_step_epilog
}
config_flags()
{
+ # step prolog
+ output_step_prolog ${mb_script} 'config_flags'
+
mb_ldflags_tmp=" $mb_ldflags "
mb_ldflags_libs=$(printf '%s' "$mb_ldflags_tmp" | sed 's/ -static / /g')
@@ -408,11 +457,16 @@ config_flags()
if [ _$mb_ldstrict = _yes ]; then
mb_ldflags_strict='-Wl,--no-undefined'
fi
+
+ # step epilog
+ output_step_epilog
}
config_copy()
{
+ output_step_prolog ${mb_script} 'config_copy'
+
mb_vars=$(cut -d'=' -f1 $sfrt_config_vars \
| grep -v '^#')
@@ -426,6 +480,8 @@ config_copy()
$mb_project_dir/Makefile.in \
| sed -e 's/[[:blank:]]*$//g' \
> $mb_pwd/Makefile.tmp
+
+ output_step_epilog
}
@@ -435,28 +491,45 @@ config_ccenv()
touch ./ccenv/host.mk
touch ./ccenv/native.mk
+ output_section_break
ccenv_set_host_variables
+
+ output_section_break
ccenv_set_native_variables
+ output_section_break
config_copy
}
config_custom()
{
if [ _$mb_use_custom_cfgdefs = _yes ]; then
+ output_section_break
+ output_script_status ${mb_script} \
+ 'invoking project-specific cfgdefs.sh ==>'
+
eval . $mb_project_dir/project/config/cfgdefs.sh \
"$mb_custom_cfgdefs_args"
+
+ output_section_break
config_copy
fi
if [ _$mb_use_custom_usrdefs = _yes ]; then
+ output_section_break
+ output_script_status ${mb_scirpt} \
+ 'invoking project-specific usrdefs.sh ==>'
+
. $mb_project_dir/project/usrdefs.sh
+ output_section_break
fi
}
config_cfghost()
{
+ output_step_prolog ${mb_script} 'config_cfghost'
+
if [ -z "$mb_cfghost" ]; then
mb_cfghost=$mb_cchost
fi
@@ -467,12 +540,18 @@ config_cfghost()
rm $mb_pwd/Makefile.tmp
mv $mb_pwd/Makefile.host $mb_pwd/Makefile
+
+ output_step_epilog
}
config_host()
{
- make -s host.tag && return 0
+ output_step_prolog ${mb_script} 'config_host'
+
+ make -s host.tag \
+ && output_step_epilog \
+ && return 0
error_msg "configure was able to generate a Makefile for the selected host,"
error_msg "however the host-targeting compiler was found to be missing"
@@ -483,9 +562,9 @@ config_host()
config_status()
{
- printf '\n\n'
- make -j1 .display
- printf '\nconfiguration completed successfully.\n\n'
+ output_script_status ${mb_script} \
+ 'configuration completed successfully.'
+ printf '\n'
}