1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-03-09 15:50:02 +00:00

Fix build scripts so ksh compiles on recent macOS (Mac OS X)

This updates the cc.darwin* compiler compatibility wrapper scripts
and patches bin/package to identify a 64-bit system, allowing ksh
to build using a simple 'bin/package make' command on at least on
macOS Mojave (10.14.6). Testing on other macOS versions is invited.

src/cmd/INIT/cc.darwin:
- Remove obsolete compatibility cruft
- Update compiler flags:
  * remove obsolete/unneeded -DCLK_TCK=100 (this is already defined
    in the system header i386/limits.h included by time.h)
  * add necessary flags from Apple's Makefile in ksh-27.tar.gz:
    -DSHOPT_SPAWN=0 -D_ast_int8_t=int64_t -D_lib_memccpy
    source: https://opensource.apple.com/tarballs/ksh/
  * add -Wno-unused-value and -Wno-parentheses to suppress excessive
    clang warnings that object to David Korn's coding style.
- Update linker flags:
  * remove obsolete -Wl,-m
  * add flag from Apple's Makefile: -Wl,-search_paths_first

src/cmd/INIT/cc.darwin.i386,
src/cmd/INIT/cc.darwin.i386-64:
- Removed as superfluous (was identical to generic cc.darwin).

bin/package,
src/cmd/INIT/package.sh:
- Fix the recognition of a 64-bit system from the output of a 'file
  /bin/sh' command (what an ugly hack... never mind), so that the
  architecture is correctly identified as darwin.i386-64.

(cherry picked from commit e74e98b886a2bc5760166c124412474293f85fd8)
This commit is contained in:
Martijn Dekker 2020-05-13 17:02:38 +01:00
parent 38df54982f
commit e856094ca2
5 changed files with 7 additions and 171 deletions

View file

@ -2487,7 +2487,7 @@ int b() { return 0; }
;;
*) case $bits in
'') case `file /bin/sh 2>/dev/null` in
*universal*64*)
*universal*64* | *64-bit* | *x86[_-]64*)
pwd=`pwd`
cd ${TMPDIR:-/tmp}
tmp=hi$$