commit:     98ec2081186ec227a303ea48b7532646b5938271
Author:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
AuthorDate: Tue May 28 12:21:01 2019 +0000
Commit:     Fabian Groffen <grobian <AT> gentoo <DOT> org>
CommitDate: Tue May 28 12:21:01 2019 +0000
URL:        https://gitweb.gentoo.org/repo/proj/prefix.git/commit/?id=98ec2081

scripts/bootstrap-prefix: fix bootstrap_python on Solaris 10

GCC 3.4.3 used by Solaris 10 doesn't quite grok the HUGE_VAL and isnan()
bits (more exactly they lead to strange errors) so replace them with
fallbacks.  The final Python will obviously be compiled with a more
recent compiler that handles said constructs just fine.

confirmed not to break with i386-pc-solaris2.11/20190527, bootstrap in
progress (beyond bootstrap_python running Portage now) for
sparc-sun-solaris2.10.

Signed-off-by: Fabian Groffen <grobian <AT> gentoo.org>

 scripts/bootstrap-prefix.sh | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/scripts/bootstrap-prefix.sh b/scripts/bootstrap-prefix.sh
index 224fbb5ba3..23b3ec412c 100755
--- a/scripts/bootstrap-prefix.sh
+++ b/scripts/bootstrap-prefix.sh
@@ -945,6 +945,18 @@ bootstrap_python() {
                patch -p0 < 
"${DISTDIR}"/python-3.6-02_all_disable_modules_and_ssl.patch
        fi
 
+       # Solaris' host compiler (if old -- 3.4.3) doesn't grok HUGE_VAL,
+       # and barfs on isnan() so patch it out
+       case ${CHOST} in
+       (*-solaris*)
+               sed -i \
+                       -e '/^#define 
Py_HUGE_VAL/s/HUGE_VAL$/(__builtin_huge_val())/' \
+                       -e '/defined HAVE_DECL_ISNAN/s/ISNAN/USE_FALLBACK/' \
+                       Include/pymath.h
+               ;;
+       esac
+
+
        case ${CHOST} in
        (*-*-cygwin*)
                # apply patches from cygwinports much like the ebuild does

Reply via email to