1
0
Fork 0
mirror of git://git.code.sf.net/p/cdesktopenv/code synced 2025-02-15 04:32:24 +00:00

Fix Solaris cc wrappers (re: 4e67234a)

The versions from the Solaris patch require $CC_EXPLICIT to be set,
which is specific to the internal Solaris build environment.

src/cmd/INIT/cc.sol11.*:
- Cope without $CC_EXPLICIT set in environment; fall back to $CC
  and if that is not set either, detect whether to use cc or gcc.
- Set appropriate flags for cc (Solaris Studio) or gcc, including
  the necessary -D_XPG6 flag, without which ksh crashes on Solaris.

bin/package, src/cmd/INIT/package.sh:
- Update hack to add the -D_XPG6 flag so it applies to gcc only
  (note: the src/cmd/INIT/cc.* scripts are never used for gcc).
This commit is contained in:
Martijn Dekker 2021-01-16 18:10:39 +01:00
parent 2e839d8775
commit 68a6f9a6e2
6 changed files with 38 additions and 10 deletions

View file

@ -5442,12 +5442,12 @@ make|view)
esac esac
;; ;;
esac esac
# Hack for Solaris 11.4, which needs -D_XPG6 in C flags to not segfault # Hack for Solaris gcc, which needs -D_XPG6 in C flags to not segfault
case `uname` in case `uname` in
SunOS) case " $CCFLAGS " in SunOS) case "$CC, $CCFLAGS " in
*" -D_XPG6 "*) *" -D_XPG6 "*)
;; ;;
*) CCFLAGS="-D_XPG6${CCFLAGS:+ $CCFLAGS}" *gcc,*) CCFLAGS="-D_XPG6${CCFLAGS:+ $CCFLAGS}"
export CCFLAGS export CCFLAGS
;; ;;
esac esac

View file

@ -1,4 +1,4 @@
: solaris.i386 cc wrapper for reasonable ansi C defaults and 32 bit : 2012-05-18 : : solaris.i386 cc wrapper for reasonable ansi C defaults and 32 bit : 2021-01-16 :
HOSTTYPE=sol11.i386 HOSTTYPE=sol11.i386
@ -6,4 +6,11 @@ case " $* " in
*" -dumpmachine "*) echo $HOSTTYPE; exit ;; *" -dumpmachine "*) echo $HOSTTYPE; exit ;;
esac esac
# Solaris build scripts set $CC_EXPLICIT. If not set, function without it.
case ${CC_EXPLICIT:=$CC} in
'' | cc)
PATH=`/usr/bin/getconf PATH` # avoid infinite recursion executing 'cc'
CC_EXPLICIT=cc
esac
$CC_EXPLICIT -m32 -xc99 -D_XPG6 "$@" $CC_EXPLICIT -m32 -xc99 -D_XPG6 "$@"

View file

@ -1,4 +1,4 @@
: solaris.i386-64 cc wrapper for reasonable ansi C defaults and 64 bit : 2012-05-18 : : solaris.i386-64 cc wrapper for reasonable ansi C defaults and 64 bit : 2021-01-16 :
HOSTTYPE=sol11.i386-64 HOSTTYPE=sol11.i386-64
@ -6,4 +6,11 @@ case " $* " in
*" -dumpmachine "*) echo $HOSTTYPE; exit ;; *" -dumpmachine "*) echo $HOSTTYPE; exit ;;
esac esac
# Solaris build scripts set $CC_EXPLICIT. If not set, function without it.
case ${CC_EXPLICIT:=$CC} in
'' | cc)
PATH=`/usr/bin/getconf PATH` # avoid infinite recursion executing 'cc'
CC_EXPLICIT=cc
esac
$CC_EXPLICIT -m64 -xc99 -D_XPG6 "$@" $CC_EXPLICIT -m64 -xc99 -D_XPG6 "$@"

View file

@ -1,4 +1,4 @@
: solaris.sparc cc wrapper for reasonable ansi C defaults and 32 bit : 2012-05-18 : : solaris.sparc cc wrapper for reasonable ansi C defaults and 32 bit : 2021-01-16 :
HOSTTYPE=sol11.sparc HOSTTYPE=sol11.sparc
@ -6,4 +6,11 @@ case " $* " in
*" -dumpmachine "*) echo $HOSTTYPE; exit ;; *" -dumpmachine "*) echo $HOSTTYPE; exit ;;
esac esac
# Solaris build scripts set $CC_EXPLICIT. If not set, function without it.
case ${CC_EXPLICIT:=$CC} in
'' | cc)
PATH=`/usr/bin/getconf PATH` # avoid infinite recursion executing 'cc'
CC_EXPLICIT=cc
esac
$CC_EXPLICIT -m32 -xc99 -D_XPG6 "$@" $CC_EXPLICIT -m32 -xc99 -D_XPG6 "$@"

View file

@ -1,4 +1,4 @@
: solaris.sparc-64 cc wrapper for reasonable ansi C defaults and 64 bit : 2012-05-18 : : solaris.sparc-64 cc wrapper for reasonable ansi C defaults and 64 bit : 2021-01-16 :
HOSTTYPE=sol11.sparc-64 HOSTTYPE=sol11.sparc-64
@ -6,4 +6,11 @@ case " $* " in
*" -dumpmachine "*) echo $HOSTTYPE; exit ;; *" -dumpmachine "*) echo $HOSTTYPE; exit ;;
esac esac
# Solaris build scripts set $CC_EXPLICIT. If not set, function without it.
case ${CC_EXPLICIT:=$CC} in
'' | cc)
PATH=`/usr/bin/getconf PATH` # avoid infinite recursion executing 'cc'
CC_EXPLICIT=cc
esac
$CC_EXPLICIT -m64 -xc99 -D_XPG6 "$@" $CC_EXPLICIT -m64 -xc99 -D_XPG6 "$@"

View file

@ -5441,12 +5441,12 @@ make|view)
esac esac
;; ;;
esac esac
# Hack for Solaris 11.4, which needs -D_XPG6 in C flags to not segfault # Hack for Solaris gcc, which needs -D_XPG6 in C flags to not segfault
case `uname` in case `uname` in
SunOS) case " $CCFLAGS " in SunOS) case "$CC, $CCFLAGS " in
*" -D_XPG6 "*) *" -D_XPG6 "*)
;; ;;
*) CCFLAGS="-D_XPG6${CCFLAGS:+ $CCFLAGS}" *gcc,*) CCFLAGS="-D_XPG6${CCFLAGS:+ $CCFLAGS}"
export CCFLAGS export CCFLAGS
;; ;;
esac esac