Current section
Files
Jump to
Current section
Files
nerves_toolchain_x86_64_nerves_linux_musl
patches
crosstool-ng
0004-Fix-incomplete-generation-of-Makefiles-on-macOS.patch
patches/crosstool-ng/0004-Fix-incomplete-generation-of-Makefiles-on-macOS.patch
From 8f1e8e22b5c7fcd20f7b7abc36a25e8c8c94ee6b Mon Sep 17 00:00:00 2001
From: Frank Hunleth <fhunleth@troodon-software.com>
Date: Sat, 20 Jun 2026 16:41:27 -0400
Subject: [PATCH 4/4] Fix incomplete generation of Makefiles on macOS
---
scripts/build/companion_libs/220-ncurses.sh | 42 +++++++++++++++++++++
1 file changed, 42 insertions(+)
diff --git a/scripts/build/companion_libs/220-ncurses.sh b/scripts/build/companion_libs/220-ncurses.sh
index 46b1ec724..ceb83b476 100644
--- a/scripts/build/companion_libs/220-ncurses.sh
+++ b/scripts/build/companion_libs/220-ncurses.sh
@@ -112,6 +112,46 @@ fi
# ldflags : ldflags to use : string : (empty)
# shared : build shared lib : bool : n
# --* : passed to configure : n/a : n/a
+do_ncurses_fixup_darwin_makefiles() {
+ local trace_file subdir current_subdir line
+
+ case "${CT_BUILD}" in
+ *darwin*) ;;
+ *) return 0 ;;
+ esac
+
+ if grep -q "generated by mk-1st.awk" ncurses/Makefile; then
+ return 0
+ fi
+
+ CT_DoLog EXTRA "Repairing incomplete ncurses Makefiles generated on Darwin"
+ trace_file="${PWD}/config.status.trace"
+ "${CONFIG_SHELL}" -x ./config.status >"${trace_file}" 2>&1
+
+ current_subdir=
+ while IFS= read -r line; do
+ case "${line}" in
+ *"Appending rules for "*'('*':'*')'*)
+ current_subdir="${line#*(}"
+ current_subdir="${current_subdir%%:*}"
+ ;;
+ +\ *mk-1st.awk*|+\ *mk-2nd.awk*)
+ [ -n "${current_subdir}" ] || continue
+ "${CONFIG_SHELL}" -c "${line#+ }" >> "${current_subdir}/Makefile"
+ ;;
+ esac
+ done < "${trace_file}"
+
+ rm -f "${trace_file}"
+
+ for subdir in ncurses progs panel menu form; do
+ grep -q "generated by mk-1st.awk" "${subdir}/Makefile" \
+ || CT_Abort "Darwin ncurses Makefile repair failed for ${subdir}"
+ grep -q "generated by mk-2nd.awk" "${subdir}/Makefile" \
+ || CT_Abort "Darwin ncurses object rules are still missing for ${subdir}"
+ done
+}
+
do_ncurses_backend() {
local -a ncurses_opts
local host
@@ -166,6 +206,8 @@ do_ncurses_backend() {
--enable-termcap \
"${ncurses_opts[@]}"
+ do_ncurses_fixup_darwin_makefiles
+
# FIXME: old ncurses build code was removing -static from progs/Makefile,
# claiming static linking does not work on MacOS. A knowledge base article
# (https://developer.apple.com/library/mac/qa/qa1118/_index.html) says that
--
2.50.1 (Apple Git-155)