16921386 move to parfait 1.2.0.1
authorMike Sullivan <Mike.Sullivan@Oracle.COM>
Tue, 18 Jun 2013 15:52:28 -0700
changeset 1352 1358a1e1ff4c
parent 1351 5c589218fa09
child 1353 6e63aa51bc82
16921386 move to parfait 1.2.0.1
components/antlr/patches/antlr-parfait.patch
components/clisp/Makefile
components/cmake/Makefile
components/ghostscript/Makefile
components/ksh93/Makefile
components/libtorrent/Makefile
components/libtorrent/patches/rlibtorrent-06-parfait.patch
components/net-snmp/Makefile
components/openssl/openssl-0.9.8-fips-140/Makefile
components/rtorrent/Makefile
components/stdcxx/Makefile
components/webalizer/Makefile
make-rules/ant.mk
make-rules/attpackagemake.mk
make-rules/configure.mk
make-rules/justmake.mk
make-rules/makemaker.mk
make-rules/setup.py.mk
make-rules/shared-macros.mk
tools/Makefile
--- /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
[email protected]@ -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
[email protected]@ -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
[email protected]@ -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) [email protected]
 
 COMPONENT_INSTALL_ENV += JAVA_HOME="$(JAVA_HOME)"
@@ -43,5 +46,12 @@
 	$(COMPONENT_POST_INSTALL_ACTION)
 	$(TOUCH) [email protected]
 
+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) [email protected]
 
 # install the built source into a prototype area
@@ -94,5 +97,12 @@
 	$(COMPONENT_POST_TEST_ACTION)
 	$(TOUCH) [email protected]
 
+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) [email protected]
 
@@ -142,8 +142,7 @@
 	$(TOUCH) [email protected]
 
 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) [email protected]
 
@@ -77,8 +77,7 @@
 	$(TOUCH) [email protected]
 
 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) [email protected]
 
 
@@ -92,10 +95,14 @@
 	(cd $(@D) ; $(ENV) $(COMPONENT_TEST_ENV) $(GMAKE) \
 			$(COMPONENT_TEST_ARGS) $(COMPONENT_TEST_TARGETS))
 	$(COMPONENT_POST_TEST_ACTION)
+	$(TOUCH) [email protected]
+
 ifeq   ($(strip $(PARFAIT_BUILD)),yes)
-	-$(PARFAIT) build
+parfait: build
+else
+parfait:
+	$(MAKE) PARFAIT_BUILD=yes parfait
 endif
-	$(TOUCH) [email protected]
 
 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) [email protected]
 
@@ -110,8 +110,7 @@
 	$(TOUCH) [email protected]
 
 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