summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authormidipix <writeonce@midipix.org>2020-01-03 23:57:22 +0000
committermidipix <writeonce@midipix.org>2020-01-04 00:07:48 +0000
commitbbde52fad070942323510a4c25ad17953cc2284d (patch)
tree6e19833a3d9fec4ff9958b57d8e022eee72c9e54
parent2628b5a70e9bce4a9831edb7acce8a55ec1b7e7c (diff)
downloadperk-bbde52fad070942323510a4c25ad17953cc2284d.tar.bz2
perk-bbde52fad070942323510a4c25ad17953cc2284d.tar.xz
build system: config.log: initial implementation.
-rw-r--r--Makefile.in1
-rwxr-xr-xconfigure34
-rw-r--r--sofort/ccenv/ccenv.sh63
3 files changed, 76 insertions, 22 deletions
diff --git a/Makefile.in b/Makefile.in
index 576ec20..c289824 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -258,6 +258,7 @@ distclean: clean
rm -f ccenv/native.mk
rm -f cfgdefs.mk
rm -f usrdefs.mk
+ rm -f config.log
rm -f Makefile
rmdir build ccenv bin lib 2>&1 || true
diff --git a/configure b/configure
index 607a974..1ce2ee8 100755
--- a/configure
+++ b/configure
@@ -52,6 +52,8 @@ output_step_prolog()
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 "configure step: ${2}()\n" >&3
printf "%s%${mb_step_dlen}.${mb_step_dlen}s " "${mb_step_desc}" "${mb_line_dots}"
}
@@ -64,6 +66,8 @@ output_script_status()
{
mb_step_name="${1##*/} : ${2}"
mb_step_desc="${mb_package} : ${mb_step_name}"
+
+ printf "configure info: ${2}\n" >&3
printf "%s\n" "${mb_step_desc}"
}
@@ -87,6 +91,20 @@ verify_safe_path()
esac
}
+init_log()
+{
+ exec 3> config.log
+
+ printf "This is config.log, generated by sofort's configure script.\n\n" >&3
+ printf '$ %s' "$mb_script" >&3
+
+ for arg in $mb_args; do
+ printf ' %s' "$arg" >&3
+ done
+
+ printf '\n\n' >&3
+}
+
init_vars()
{
mb_project_dir=$(cd -- "${mb_script%/*}/" ; pwd -P)
@@ -506,7 +524,7 @@ config_custom()
if [ _$mb_use_custom_cfgdefs = _yes ]; then
output_section_break
output_script_status ${mb_script} \
- 'invoking project-specific cfgdefs.sh ==>'
+ 'invoking project-specific cfgdefs.sh'
eval . $mb_project_dir/project/config/cfgdefs.sh \
"$mb_custom_cfgdefs_args"
@@ -518,7 +536,7 @@ config_custom()
if [ _$mb_use_custom_usrdefs = _yes ]; then
output_section_break
output_script_status ${mb_scirpt} \
- 'invoking project-specific usrdefs.sh ==>'
+ 'invoking project-specific usrdefs.sh'
. $mb_project_dir/project/usrdefs.sh
output_section_break
@@ -574,6 +592,8 @@ config_failure()
return 0
fi
+ printf 'configure info: exiting due to an error.\n' >&3
+
if [ -f Makefile ]; then
mb_error='failed to use the generated Makefile.'
printf '\n%s: error: %s\n' "${0}" "$mb_error" >&2
@@ -593,6 +613,16 @@ config_success()
# one: init
+mb_args=
+mb_args_space=
+
+for arg ; do
+ mb_escaped_arg=\'$(printf '%s\n' "$arg" | sed -e "s/'/'\\\\''/g")\'
+ mb_args="$mb_args$mb_args_space$mb_escaped_arg"
+ mb_args_space=' '
+done
+
+init_log
init_vars
verify_build_directory
diff --git a/sofort/ccenv/ccenv.sh b/sofort/ccenv/ccenv.sh
index ee63ec2..200564c 100644
--- a/sofort/ccenv/ccenv.sh
+++ b/sofort/ccenv/ccenv.sh
@@ -54,6 +54,8 @@ ccenv_tool_prolog()
ccenv_tool_desc="=== checking for ${1}"
ccenv_tool_dlen="${#ccenv_line_dots}"
+ printf '\n%s\n' '________________________' >&3
+ printf "ccenv: checking for ${1}\n\n" >&3
printf "%${ccenv_tool_dlen}.${ccenv_tool_dlen}s" \
"${ccenv_tool_desc} ${mb_line_dots}"
}
@@ -66,6 +68,14 @@ ccenv_tool_epilog()
printf "%${ccenv_tool_dlen}.${ccenv_tool_dlen}s %s.\n" \
"${ccenv_line_dots}" "${1}"
+
+ if [ "${1}" = 'false' ]; then
+ printf '\n\nccenv: not (yet) found.\n' >&3
+ else
+ printf "\n\nccenv : found $(command -v ${1}).\n" >&3
+ fi
+
+ printf '%s\n' '------------------------' >&3
}
@@ -87,12 +97,22 @@ ccenv_attr_prolog()
printf "%${ccenv_attr_dlen}.${ccenv_attr_dlen}s" \
"${ccenv_attr_desc} ${ccenv_line_dots}"
+
+ printf '\n%s\n' '________________________' >&3
+ printf "ccenv: detecting ${1}\n\n" >&3
}
ccenv_attr_epilog()
{
- ccenv_tool_epilog "${1}"
+ ccenv_line_dots='................................'
+ ccenv_tool_dlen="$((${#ccenv_line_dots} - ${#1}))"
+
+ printf "%${ccenv_tool_dlen}.${ccenv_tool_dlen}s %s.\n" \
+ "${ccenv_line_dots}" "${1}"
+
+ printf '\n\nccenv: detected result: %s\n' "${1}" >&3
+ printf '%s\n' '------------------------' >&3
}
@@ -107,7 +127,7 @@ ccenv_find_tool()
fi
else
if command -v "$ccenv_candidate" > /dev/null; then
- if "$ccenv_candidate" $@ > /dev/null 2>&1; then
+ if "$ccenv_candidate" $@ > /dev/null 2>&3; then
ccenv_tool="$ccenv_candidate"
return 0
fi
@@ -386,7 +406,7 @@ ccenv_set_cc()
ccenv_cc_cmd="$ccenv_cc"
if [ "$ccenv_cfgtype" = 'native' ]; then
- ccenv_host=$($ccenv_cc $(printf '%s' "$ccenv_cflags") -dumpmachine 2>/dev/null)
+ ccenv_host=$($ccenv_cc $(printf '%s' "$ccenv_cflags") -dumpmachine 2>&3)
ccenv_cchost=$ccenv_host
ccenv_tool_epilog "$ccenv_cc"
return 0
@@ -401,7 +421,7 @@ ccenv_set_cc()
fi
if [ -z "$ccenv_host" ]; then
- ccenv_host=$($ccenv_cc $(printf '%s' "$ccenv_cflags") -dumpmachine 2>/dev/null)
+ ccenv_host=$($ccenv_cc $(printf '%s' "$ccenv_cflags") -dumpmachine 2>&3)
ccenv_cchost=$ccenv_host
else
ccenv_tmp=$(mktemp ./tmp_XXXXXXXXXXXXXXXX)
@@ -416,16 +436,19 @@ ccenv_set_cc()
if [ -z "$ccenv_errors" ]; then
ccenv_tflags="--target=$ccenv_host"
ccenv_cc="$ccenv_cc $ccenv_tflags"
+ else
+ printf '%s' "$ccenv_errors" >&3
fi
fi
rm -f "$ccenv_tmp"
unset ccenv_tmp
- ccenv_cchost=$($ccenv_cc $(printf '%s' "$ccenv_cflags") -dumpmachine 2>/dev/null)
+ ccenv_cchost=$($ccenv_cc $(printf '%s' "$ccenv_cflags") -dumpmachine 2>&3)
fi
if [ "$ccenv_cchost" != "$ccenv_host" ]; then
+ printf 'error!\n' >&2
printf 'ccenv:\n' >&2
printf 'ccenv: ccenv_host: %s \n' $ccenv_host >&2
printf 'ccenv: ccenv_cchost: %s \n' $ccenv_cchost >&2
@@ -578,7 +601,7 @@ ccenv_set_cc_bits()
printf '%s' "$ccenv_internal_str" \
| $ccenv_cc -S -xc - -o - \
$(printf '%s' "$ccenv_cflags") \
- > /dev/null 2>/dev/null \
+ > /dev/null 2>&3 \
&& ccenv_internal_size=$ccenv_internal_guess
fi
done
@@ -671,7 +694,7 @@ ccenv_set_cc_binfmt()
# PE / perk
if [ -n "$ccenv_perk" ]; then
- if $ccenv_perk $ccenv_image 2>/dev/null; then
+ if $ccenv_perk $ccenv_image 2>&3; then
ccenv_cc_binfmt='PE'
ccenv_use_perk=yes
fi
@@ -679,7 +702,7 @@ ccenv_set_cc_binfmt()
# ELF / readelf
if [ -n "$ccenv_readelf" ] && [ -z "$ccenv_cc_binfmt" ]; then
- if $ccenv_readelf -h $ccenv_image 2>/dev/null \
+ if $ccenv_readelf -h $ccenv_image 2>&3 \
| grep 'Magic:' | sed -e 's/[ ]*//g' \
| grep 'Magic:7f454c46' \
> /dev/null; then
@@ -699,7 +722,7 @@ ccenv_set_cc_binfmt()
# PE / readelf
if [ -n "$ccenv_readany" ] && [ -z "$ccenv_cc_binfmt" ]; then
- if $ccenv_readany -h $ccenv_image 2>/dev/null \
+ if $ccenv_readany -h $ccenv_image 2>&3 \
| grep 'Magic:' | sed -e 's/[ ]*//g' \
| grep 'Magic:MZ' \
> /dev/null; then
@@ -710,7 +733,7 @@ ccenv_set_cc_binfmt()
# MACHO-64 / otool
if [ -n "$ccenv_otool" ] && [ -z "$ccenv_cc_binfmt" ]; then
- if $ccenv_otool -hv $ccenv_image 2>/dev/null \
+ if $ccenv_otool -hv $ccenv_image 2>&3 \
| grep -i 'MH_MAGIC_64' \
> /dev/null; then
ccenv_cc_binfmt='MACHO'
@@ -720,7 +743,7 @@ ccenv_set_cc_binfmt()
# MACHO-32 / otool
if [ -n "$ccenv_otool" ] && [ -z "$ccenv_cc_binfmt" ]; then
- if $ccenv_otool -hv $ccenv_image 2>/dev/null \
+ if $ccenv_otool -hv $ccenv_image 2>&3 \
| grep -i 'MH_MAGIC' \
> /dev/null; then
ccenv_cc_binfmt='MACHO'
@@ -730,7 +753,7 @@ ccenv_set_cc_binfmt()
# MACHO-64 / readelf
if [ -n "$ccenv_readany" ] && [ -z "$ccenv_cc_binfmt" ]; then
- if $ccenv_readany -h $ccenv_image 2>/dev/null \
+ if $ccenv_readany -h $ccenv_image 2>&3 \
| grep -i 'Magic:' | sed -e 's/[ ]*//g' \
| grep -i '(0xfeedfacf)' \
> /dev/null; then
@@ -741,7 +764,7 @@ ccenv_set_cc_binfmt()
# MACHO-32 / readelf
if [ -n "$ccenv_readany" ] && [ -z "$ccenv_cc_binfmt" ]; then
- if $ccenv_readany -h $ccenv_image 2>/dev/null \
+ if $ccenv_readany -h $ccenv_image 2>&3 \
| grep -i 'Magic:' | sed -e 's/[ ]*//g' \
| grep -i '(0xcafebabe)' \
> /dev/null; then
@@ -752,7 +775,7 @@ ccenv_set_cc_binfmt()
# MACHO / readobj
if [ -n "$ccenv_readobj" ] && [ -z "$ccenv_cc_binfmt" ]; then
- if $ccenv_readobj $ccenv_image 2>/dev/null \
+ if $ccenv_readobj $ccenv_image 2>&3 \
| grep -i 'Format:' | sed 's/ /_/g' \
| grep -i '_Mach-O_' \
> /dev/null; then
@@ -764,7 +787,7 @@ ccenv_set_cc_binfmt()
# MACHO / objdump (llvm)
if [ -n "$ccenv_objdump" ] && [ -z "$ccenv_cc_binfmt" ]; then
if $ccenv_objdump -section-headers $ccenv_image \
- 2>/dev/null \
+ 2>&3 \
| grep -i 'file format Mach-O' \
> /dev/null; then
ccenv_cc_binfmt='MACHO'
@@ -774,7 +797,7 @@ ccenv_set_cc_binfmt()
# MACHO / objdump (bfd)
if [ -n "$ccenv_objdump" ] && [ -z "$ccenv_cc_binfmt" ]; then
- $ccenv_objdump -h $ccenv_image 2>/dev/null \
+ $ccenv_objdump -h $ccenv_image 2>&3 \
| grep -i 'file format Mach-O' \
> /dev/null \
&& ccenv_cc_binfmt='MACHO' \
@@ -783,7 +806,7 @@ ccenv_set_cc_binfmt()
# PE / objdump (bfd)
if [ -n "$ccenv_objdump" ] && [ -z "$ccenv_cc_binfmt" ]; then
- if $ccenv_objdump -h $ccenv_image 2>/dev/null \
+ if $ccenv_objdump -h $ccenv_image 2>&3 \
| grep -i 'file format pei-' \
> /dev/null; then
ccenv_cc_binfmt='PE'
@@ -1183,7 +1206,7 @@ ccenv_dso_verify()
rm -f a.out
printf '%s' "$ccenv_str" | $ccenv_cmd \
- > /dev/null 2>/dev/null \
+ > /dev/null 2>&3 \
|| mb_disable_shared=yes
rm -f a.out
@@ -1285,7 +1308,7 @@ ccenv_set_toolchain_variables()
ccenv_set_host_variables()
{
output_script_status ${mb_script} \
- 'detect and query host toolchain ==>'
+ 'detect and query host toolchain'
ccenv_set_toolchain_variables 'host'
ccenv_dso_verify
@@ -1294,7 +1317,7 @@ ccenv_set_host_variables()
ccenv_set_native_variables()
{
output_script_status ${mb_script} \
- 'detect and query native toolchain ==>'
+ 'detect and query native toolchain'
if [ _$mb_ccenv_skip_native != _yes ]; then
ccenv_set_toolchain_variables 'native'