--- a/components/cmake/Makefile Mon Apr 17 15:28:06 2017 -0700
+++ b/components/cmake/Makefile Mon Apr 17 16:38:34 2017 -0700
@@ -25,6 +25,7 @@
BUILD_BITS=64
# Currently only builds with gcc
COMPILER= gcc
+export PARFAIT_BUILD=no
include ../../make-rules/shared-macros.mk
COMPONENT_NAME= cmake
--- a/components/desktop/espeak/Makefile Mon Apr 17 15:28:06 2017 -0700
+++ b/components/desktop/espeak/Makefile Mon Apr 17 16:38:34 2017 -0700
@@ -23,6 +23,9 @@
# Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved.
#
+# parfait doesn't like sketchy code (25158912)
+export PARFAIT_BUILD=no
+
BUILD_BITS= 64
# For now, all things built for C++11 require gcc.
COMPILER = gcc
--- a/components/ghostscript/Makefile Mon Apr 17 15:28:06 2017 -0700
+++ b/components/ghostscript/Makefile Mon Apr 17 16:38:34 2017 -0700
@@ -23,6 +23,10 @@
#
# Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
#
+# parfait seems to spin when looking at the .bc files (13704877), so
+# for now disable it.
+export PARFAIT_BUILD=no
+
# Prefer 32-bit due to ghostcript's hybrid build system.
BUILD_BITS= 32_and_64
include ../../make-rules/shared-macros.mk
--- a/components/gnome/gtkmm/Makefile Mon Apr 17 15:28:06 2017 -0700
+++ b/components/gnome/gtkmm/Makefile Mon Apr 17 16:38:34 2017 -0700
@@ -26,6 +26,9 @@
BUILD_BITS = 32_and_64
# For now, all things built for C++11 require gcc.
COMPILER = gcc
+# parfait spins on sparc
+export PARFAIT_BUILD=no
+
include ../../../make-rules/shared-macros.mk
COMPONENT_NAME= gtkmm
--- a/components/groff/Makefile Mon Apr 17 15:28:06 2017 -0700
+++ b/components/groff/Makefile Mon Apr 17 16:38:34 2017 -0700
@@ -46,7 +46,10 @@
CONFIGURE_OPTIONS += \
--with-appresdir=$(CONFIGURE_PREFIX)/X11/lib/X11/app-defaults
+# this option causes errors with parfait
+ifneq ($(strip $(PARFAIT_BUILD)),yes)
CXXFLAGS += -std=c++11
+endif
# Don't generate tmac wrappers for the Solaris troff macro packages.
# Some man pages (such as groff.1) use long macro name definitions
--- a/components/ilmbase/Makefile Mon Apr 17 15:28:06 2017 -0700
+++ b/components/ilmbase/Makefile Mon Apr 17 16:38:34 2017 -0700
@@ -45,6 +45,10 @@
# it seems that --with-pic doesn't get PIC flags to the C++ compiler
CXXFLAGS += $(CC_PIC)
CXXFLAGS += -std=sun03
+ifeq ($(strip $(PARFAIT_BUILD)),yes)
+CXXFLAGS += -U__i386__
+endif
+
# libtools seems to be forcing -nolibs, so we have to add back libc, libm,
# libCstd and libCrun. The last two are needed because with Studio 12.2
# (and beyond), there is a bug in the CC driver that is not correctly using
--- a/components/imagemagick/Makefile Mon Apr 17 15:28:06 2017 -0700
+++ b/components/imagemagick/Makefile Mon Apr 17 16:38:34 2017 -0700
@@ -50,6 +50,11 @@
PATH=$(SPRO_VROOT)/bin:$(USRBINDIR):$(GNUBIN)
+ifeq ($(strip $(PARFAIT_BUILD)),yes)
+CFLAGS += -U__i386__ -U__x86_64__
+CXXFLAGS += -U__i386__ -U__x86_64__
+endif
+
# IPS_COMPONENT_VERSION is by default set to $(COMPONENT_VERSION) but in
# this case we need to replace the '-' by '.'.
IPS_COMPONENT_VERSION= $(COMPONENT_VERSION).$(COMPONENT_SUBVERSION)
--- a/make-rules/shared-macros.mk Mon Apr 17 15:28:06 2017 -0700
+++ b/make-rules/shared-macros.mk Mon Apr 17 16:38:34 2017 -0700
@@ -480,7 +480,7 @@
SPRO_ROOT ?= $(BUILD_TOOLS)/SUNWspro
SPRO_VROOT ?= $(SPRO_ROOT)/solarisstudio12.4
-PARFAIT_ROOT = $(BUILD_TOOLS)/parfait/parfait-tools-1.9.0
+PARFAIT_ROOT = $(BUILD_TOOLS)/parfait/parfait-tools-1.9.3
PARFAIT_TOOLS= $(WS_TOOLS)/$(MACH)/parfait
PARFAIT= $(PARFAIT_ROOT)/bin/parfait
export PARFAIT_NATIVESUNCC=$(SPRO_VROOT)/bin/cc