From 8f1e8e22b5c7fcd20f7b7abc36a25e8c8c94ee6b Mon Sep 17 00:00:00 2001 From: Frank Hunleth 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)