--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/antlr/patches/antlr-parfait.patch Tue Jun 18 15:52:28 2013 -0700
@@ -0,0 +1,30 @@
+--- ./lib/cpp/antlr/TokenRefCount.hpp.orig Mon Mar 18 11:58:26 2013
++++ ./lib/cpp/antlr/TokenRefCount.hpp Mon Mar 18 11:58:52 2013
+@@ -84,9 +84,9 @@
+ return *this;
+ }
+
+- operator T* () const { return ref ? static_cast<T*>(ref->ptr) : 0; }
+- T* operator->() const { return ref ? static_cast<T*>(ref->ptr) : 0; }
+- T* get() const { return ref ? static_cast<T*>(ref->ptr) : 0; }
++ operator T* () const { return ref ? static_cast<T* const>(ref->ptr) : 0; }
++ T* operator->() const { return ref ? static_cast<T* const>(ref->ptr) : 0; }
++ T* get() const { return ref ? static_cast<T* const>(ref->ptr) : 0; }
+ };
+
+ typedef TokenRefCount<Token> RefToken;
+--- ./lib/cpp/antlr/ASTRefCount.hpp.orig Mon Mar 18 11:59:16 2013
++++ ./lib/cpp/antlr/ASTRefCount.hpp Mon Mar 18 11:59:28 2013
+@@ -84,9 +84,9 @@
+ return *this;
+ }
+
+- operator T* () const { return ref ? static_cast<T*>(ref->ptr) : 0; }
+- T* operator->() const { return ref ? static_cast<T*>(ref->ptr) : 0; }
+- T* get() const { return ref ? static_cast<T*>(ref->ptr) : 0; }
++ operator T* () const { return ref ? static_cast<T* const>(ref->ptr) : 0; }
++ T* operator->() const { return ref ? static_cast<T* const>(ref->ptr) : 0; }
++ T* get() const { return ref ? static_cast<T* const>(ref->ptr) : 0; }
+ };
+
+ typedef ASTRefCount<AST> RefAST;
--- a/components/clisp/Makefile Tue Jun 18 13:15:45 2013 -0700
+++ b/components/clisp/Makefile Tue Jun 18 15:52:28 2013 -0700
@@ -56,6 +56,9 @@
# clisp's configure script is not a GNU auto* tools generated configure script
# and doesn't take --sbindir, so we need to override the default values.
CONFIGURE_OPTIONS = CC="$(CC) -DNO_GENERATIONAL_GC"
+ifeq ($(strip $(PARFAIT_BUILD)),yes)
+CONFIGURE_OPTIONS = CC="$(CC) -DNO_GENERATIONAL_GC -DNO_ASM"
+endif
CONFIGURE_OPTIONS += CPPFLAGS="$(CPPFLAGS)"
CONFIGURE_OPTIONS += --prefix=$(CONFIGURE_PREFIX)
CONFIGURE_OPTIONS += --mandir=$(CONFIGURE_MANDIR)
--- a/components/cmake/Makefile Tue Jun 18 13:15:45 2013 -0700
+++ b/components/cmake/Makefile Tue Jun 18 15:52:28 2013 -0700
@@ -24,7 +24,7 @@
# parfait seems to hang on libcmsysTestDynload.so.bc, so for
# now we have to disable it.
-PARFAIT_BUILD=no
+export PARFAIT_BUILD=no
include ../../make-rules/shared-macros.mk
--- a/components/ghostscript/Makefile Tue Jun 18 13:15:45 2013 -0700
+++ b/components/ghostscript/Makefile Tue Jun 18 15:52:28 2013 -0700
@@ -22,10 +22,6 @@
# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
#
-# parfait seems to spin when looking at the .bc files, so
-# for now disable it.
-PARFAIT_BUILD=no
-
include ../../make-rules/shared-macros.mk
COMPONENT_NAME= ghostscript
--- a/components/ksh93/Makefile Tue Jun 18 13:15:45 2013 -0700
+++ b/components/ksh93/Makefile Tue Jun 18 15:52:28 2013 -0700
@@ -20,7 +20,6 @@
#
# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
#
-PARFAIT_BUILD=no
include ../../make-rules/shared-macros.mk
--- a/components/libtorrent/Makefile Tue Jun 18 13:15:45 2013 -0700
+++ b/components/libtorrent/Makefile Tue Jun 18 15:52:28 2013 -0700
@@ -20,12 +20,12 @@
#
#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
#
# we really need to use studio, mostly because that's what
# sigc++ uses, so we don't like that parfait is g++ in disguise
-PARFAIT_BUILD=no
+export PARFAIT_BUILD=no
include ../../make-rules/shared-macros.mk
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/libtorrent/patches/rlibtorrent-06-parfait.patch Tue Jun 18 15:52:28 2013 -0700
@@ -0,0 +1,10 @@
+--- libtorrent-0.12.2/rak/functional.h.orig Mon Apr 29 10:51:44 2013
++++ libtorrent-0.12.2/rak/functional.h Mon Apr 29 10:51:54 2013
+@@ -38,6 +38,7 @@
+ #define RAK_FUNCTIONAL_H
+
+ #include <functional>
++#include <stdio.h>
+
+ namespace rak {
+
--- a/components/net-snmp/Makefile Tue Jun 18 13:15:45 2013 -0700
+++ b/components/net-snmp/Makefile Tue Jun 18 15:52:28 2013 -0700
@@ -18,8 +18,12 @@
#
# CDDL HEADER END
#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
#
+
+# parfait is upset about some inline assembly
+export PARFAIT_BUILD=no
+
include ../../make-rules/shared-macros.mk
PATH=$(SPRO_VROOT)/bin:/usr/gnu/bin:/usr/bin
--- a/components/openssl/openssl-0.9.8-fips-140/Makefile Tue Jun 18 13:15:45 2013 -0700
+++ b/components/openssl/openssl-0.9.8-fips-140/Makefile Tue Jun 18 15:52:28 2013 -0700
@@ -20,7 +20,7 @@
#
# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
#
-PARFAIT_BUILD=no
+export PARFAIT_BUILD=no
include ../../../make-rules/shared-macros.mk
--- a/components/rtorrent/Makefile Tue Jun 18 13:15:45 2013 -0700
+++ b/components/rtorrent/Makefile Tue Jun 18 15:52:28 2013 -0700
@@ -20,12 +20,12 @@
#
#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
#
# we really need to use studio, mostly because that's what
# sigc++ uses, so we don't like that parfait is g++ in disguise
-PARFAIT_BUILD=no
+export PARFAIT_BUILD=no
include ../../make-rules/shared-macros.mk
--- a/components/stdcxx/Makefile Tue Jun 18 13:15:45 2013 -0700
+++ b/components/stdcxx/Makefile Tue Jun 18 15:52:28 2013 -0700
@@ -23,7 +23,7 @@
# we really need to use studio so we don't like that
# parfait is g++ in disguise
-PARFAIT_BUILD=no
+export PARFAIT_BUILD=no
include ../../make-rules/shared-macros.mk
--- a/components/webalizer/Makefile Tue Jun 18 13:15:45 2013 -0700
+++ b/components/webalizer/Makefile Tue Jun 18 15:52:28 2013 -0700
@@ -55,6 +55,14 @@
CONFIGURE_OPTIONS += CFLAGS="$(CFLAGS)"
CONFIGURE_OPTIONS += LDFLAGS="$(LDFLAGS)"
+# webalizer is defining u_int64_t but also uses db.h
+# which typedefs it, and parfait isn't happy.
+# gcc4 may not be as well.
+ifeq ($(strip $(PARFAIT_BUILD)),yes)
+CC += -Du_int64_t=uint64_t
+CONFIGURE_OPTIONS += c_cv_type_u_int64_t=yes
+endif
+
# Needed to correctly build that 64-bit library.
LDFLAGS += $(CC_BITS)
--- a/make-rules/ant.mk Tue Jun 18 13:15:45 2013 -0700
+++ b/make-rules/ant.mk Tue Jun 18 15:52:28 2013 -0700
@@ -18,7 +18,7 @@
#
# CDDL HEADER END
#
-# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
#
ANT=/usr/bin/ant
@@ -32,6 +32,9 @@
(cd $(@D) ; $(ENV) $(COMPONENT_BUILD_ENV) \
$(ANT) $(COMPONENT_BUILD_ARGS) $(COMPONENT_BUILD_TARGETS))
$(COMPONENT_POST_BUILD_ACTION)
+ifeq ($(strip $(PARFAIT_BUILD)),yes)
+ -$(PARFAIT) $(@D)
+endif
$(TOUCH) $@
COMPONENT_INSTALL_ENV += JAVA_HOME="$(JAVA_HOME)"
@@ -43,5 +46,12 @@
$(COMPONENT_POST_INSTALL_ACTION)
$(TOUCH) $@
+ifeq ($(strip $(PARFAIT_BUILD)),yes)
+parfait: build
+else
+parfait:
+ $(MAKE) PARFAIT_BUILD=yes parfait
+endif
+
clean::
$(RM) -r $(SOURCE_DIR) $(BUILD_DIR)
--- a/make-rules/attpackagemake.mk Tue Jun 18 13:15:45 2013 -0700
+++ b/make-rules/attpackagemake.mk Tue Jun 18 15:52:28 2013 -0700
@@ -18,7 +18,7 @@
#
# CDDL HEADER END
#
-# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2012, 2013, Oracle and/or its affiliates. All rights reserved.
#
#
# Rules and Macros for building opens source software that uses AT&T's package
@@ -72,6 +72,9 @@
cd $(@D); $(ENV) $(COMPONENT_BUILD_ENV) \
bin/package make $(COMPONENT_BUILD_TARGETS) $(COMPONENT_BUILD_ARGS)
$(COMPONENT_POST_BUILD_ACTION)
+ifeq ($(strip $(PARFAIT_BUILD)),yes)
+ -$(PARFAIT) $(@D)
+endif
$(TOUCH) $@
# install the built source into a prototype area
@@ -94,5 +97,12 @@
$(COMPONENT_POST_TEST_ACTION)
$(TOUCH) $@
+ifeq ($(strip $(PARFAIT_BUILD)),yes)
+parfait: build
+else
+parfait:
+ $(MAKE) PARFAIT_BUILD=yes parfait
+endif
+
clean::
$(RM) -r $(BUILD_DIR) $(PROTO_DIR)
--- a/make-rules/configure.mk Tue Jun 18 13:15:45 2013 -0700
+++ b/make-rules/configure.mk Tue Jun 18 15:52:28 2013 -0700
@@ -18,7 +18,7 @@
#
# CDDL HEADER END
#
-# Copyright (c) 2010, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
#
#
@@ -121,7 +121,7 @@
$(GMAKE) $(COMPONENT_BUILD_ARGS) $(COMPONENT_BUILD_TARGETS))
$(COMPONENT_POST_BUILD_ACTION)
ifeq ($(strip $(PARFAIT_BUILD)),yes)
- -$(PARFAIT) build
+ -$(PARFAIT) $(@D)
endif
$(TOUCH) $@
@@ -142,8 +142,7 @@
$(TOUCH) $@
ifeq ($(strip $(PARFAIT_BUILD)),yes)
-parfait: install
- -$(PARFAIT) build
+parfait: build
else
parfait:
$(MAKE) PARFAIT_BUILD=yes parfait
--- a/make-rules/justmake.mk Tue Jun 18 13:15:45 2013 -0700
+++ b/make-rules/justmake.mk Tue Jun 18 15:52:28 2013 -0700
@@ -18,7 +18,7 @@
#
# CDDL HEADER END
#
-# Copyright (c) 2011, 2012, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
#
#
# Rules and Macros for building opens source software that just uses their
@@ -55,7 +55,7 @@
$(GMAKE) $(COMPONENT_BUILD_ARGS) $(COMPONENT_BUILD_TARGETS))
$(COMPONENT_POST_BUILD_ACTION)
ifeq ($(strip $(PARFAIT_BUILD)),yes)
- -$(PARFAIT) build
+ -$(PARFAIT) $(@D)
endif
$(TOUCH) $@
@@ -77,8 +77,7 @@
$(TOUCH) $@
ifeq ($(strip $(PARFAIT_BUILD)),yes)
-parfait: install
- -$(PARFAIT) build
+parfait: build
else
parfait:
$(MAKE) PARFAIT_BUILD=yes parfait
--- a/make-rules/makemaker.mk Tue Jun 18 13:15:45 2013 -0700
+++ b/make-rules/makemaker.mk Tue Jun 18 15:52:28 2013 -0700
@@ -71,6 +71,9 @@
(cd $(@D) ; $(ENV) $(COMPONENT_BUILD_ENV) \
$(GMAKE) $(COMPONENT_BUILD_ARGS) $(COMPONENT_BUILD_TARGETS))
$(COMPONENT_POST_BUILD_ACTION)
+ifeq ($(strip $(PARFAIT_BUILD)),yes)
+ -$(PARFAIT) $(@D)
+endif
$(TOUCH) $@
@@ -92,10 +95,14 @@
(cd $(@D) ; $(ENV) $(COMPONENT_TEST_ENV) $(GMAKE) \
$(COMPONENT_TEST_ARGS) $(COMPONENT_TEST_TARGETS))
$(COMPONENT_POST_TEST_ACTION)
+ $(TOUCH) $@
+
ifeq ($(strip $(PARFAIT_BUILD)),yes)
- -$(PARFAIT) build
+parfait: build
+else
+parfait:
+ $(MAKE) PARFAIT_BUILD=yes parfait
endif
- $(TOUCH) $@
clean::
$(RM) -r $(BUILD_DIR) $(PROTO_DIR)
--- a/make-rules/setup.py.mk Tue Jun 18 13:15:45 2013 -0700
+++ b/make-rules/setup.py.mk Tue Jun 18 15:52:28 2013 -0700
@@ -73,7 +73,7 @@
$(PYTHON.$(BITS)) ./setup.py build)
$(COMPONENT_POST_BUILD_ACTION)
ifeq ($(strip $(PARFAIT_BUILD)),yes)
- -$(PARFAIT) $(SOURCE_DIR)/$(@D:$(BUILD_DIR)/%=%)
+ -$(PARFAIT) $(@D)
endif
$(TOUCH) $@
@@ -110,8 +110,7 @@
$(TOUCH) $@
ifeq ($(strip $(PARFAIT_BUILD)),yes)
-parfait: install
- -$(PARFAIT) build
+parfait: build
else
parfait:
$(MAKE) PARFAIT_BUILD=yes parfait
--- a/make-rules/shared-macros.mk Tue Jun 18 13:15:45 2013 -0700
+++ b/make-rules/shared-macros.mk Tue Jun 18 15:52:28 2013 -0700
@@ -225,7 +225,7 @@
SPRO_ROOT = $(BUILD_TOOLS)/SUNWspro
SPRO_VROOT = $(SPRO_ROOT)/sunstudio12.1
-PARFAIT_ROOT = $(BUILD_TOOLS)/parfait/parfait-tools-1.0.1/
+PARFAIT_ROOT = $(BUILD_TOOLS)/parfait/parfait-tools-1.2.0.1
PARFAIT= $(PARFAIT_ROOT)/bin/parfait
export PARFAIT_NATIVESUNCC=$(SPRO_VROOT)/bin/cc
export PARFAIT_NATIVESUNCXX=$(SPRO_VROOT)/bin/CC
--- a/tools/Makefile Tue Jun 18 13:15:45 2013 -0700
+++ b/tools/Makefile Tue Jun 18 15:52:28 2013 -0700
@@ -41,7 +41,8 @@
echo "export PARFAIT_NATIVESUNCXX=$(SPRO_VROOT)/bin/CC" >> parfait/$$i ; \
echo "export PARFAIT_NATIVEGCC=$(GCC_ROOT)/bin/gcc" >> parfait/$$i ; \
echo "export PARFAIT_NATIVEGXX=$(GCC_ROOT)/bin/g++" >> parfait/$$i ; \
- echo "exec" $(PARFAIT_ROOT)/bin/parfait-$$i '$$*' >> parfait/$$i ; \
+ echo "export PARFAIT_NATIVELD=/usr/bin/ld" >> parfait/$$i ; \
+ echo "exec" $(PARFAIT_ROOT)/$(MACH)/parfait-$$i '$$*' >> parfait/$$i ; \
chmod +x parfait/$$i ; \
done