--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/components/python/python34/patches/05-studio-profile.patch Fri Feb 06 16:51:20 2015 -0800
@@ -0,0 +1,77 @@
+This changes Python's standard profile-guided build target to work with
+Studio instead of gcc. The unfortunate repetition of options seen below
+is a workaround for build peculiarities and to meet Studio's requirement
+that the profiling options be used at all steps of the build -- not just
+compilation. As it is Solaris-specific, it is not suitable for upstream.
+
+--- Python-3.4.0/Makefile.pre.in.~2~ 2014-03-19 10:42:20.230354945 -0700
++++ Python-3.4.0/Makefile.pre.in 2014-03-19 10:42:20.412767814 -0700
+@@ -472,30 +472,39 @@
+ profile-opt:
+ @echo "Building with support for profile generation:"
+ $(MAKE) clean
++ $(MAKE) profile-removal
+ $(MAKE) build_all_generate_profile
+ @echo "Running benchmark to generate profile data:"
+- $(MAKE) profile-removal
+ $(MAKE) run_profile_task
+ @echo "Rebuilding with profile guided optimizations:"
+ $(MAKE) clean
+ $(MAKE) build_all_use_profile
+
+ build_all_generate_profile:
+- $(MAKE) all CFLAGS="$(CFLAGS) -fprofile-generate" LIBS="$(LIBS) -lgcov"
++ $(MAKE) all CC="$(CC) -xprofile=collect:$(XPROFILE_DIR)" \
++ CFLAGS="$(CFLAGS) -xprofile=collect:$(XPROFILE_DIR)" \
++ LDFLAGS="$(LDFLAGS) -xprofile=collect:$(XPROFILE_DIR)" \
++ BLDSHARED="$(BLDSHARED) -xprofile=collect:$(XPROFILE_DIR)"
+
+ run_profile_task:
+ : # FIXME: can't run for a cross build
+- $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK)
++ LD_LIBRARY_PATH=. $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK)
+
+ build_all_use_profile:
+- $(MAKE) all CFLAGS="$(CFLAGS) -fprofile-use -fprofile-correction"
++ $(MAKE) all CC="$(CC) -xprofile=use:$(XPROFILE_DIR)" \
++ CFLAGS="$(CFLAGS) -xprofile=use:$(XPROFILE_DIR)" \
++ LDFLAGS="$(LDFLAGS) -xprofile=use:$(XPROFILE_DIR)" \
++ BLDSHARED="$(BLDSHARED) -xprofile=use:$(XPROFILE_DIR)"
+
+ # Compile and run with gcov
+ .PHONY=coverage coverage-lcov coverage-report
+ coverage:
+ @echo "Building with support for coverage checking:"
+ $(MAKE) clean profile-removal
+- $(MAKE) all CFLAGS="$(CFLAGS) -O0 -pg -fprofile-arcs -ftest-coverage" LIBS="$(LIBS) -lgcov"
++ $(MAKE) all CC="$(CC) -xprofile=tcov" \
++ CFLAGS="$(CFLAGS) -xO1 -xprofile=tcov" \
++ LDFLAGS="$(LDFLAGS) -xprofile=tcov" \
++ BLDSHARED="$(BLDSHARED) -xprofile=tcov"
+
+ coverage-lcov:
+ @echo "Creating Coverage HTML report with LCOV:"
+@@ -556,13 +565,9 @@
+ # -s, --silent or --quiet is always the first char.
+ # Under BSD make, MAKEFLAGS might be " -s -v x=y".
+ sharedmods: $(BUILDPYTHON) pybuilddir.txt
+- @case "$$MAKEFLAGS" in \
+- *\ -s*|s*) quiet="-q";; \
+- *) quiet="";; \
+- esac; \
+ $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' \
+ _TCLTK_INCLUDES='$(TCLTK_INCLUDES)' _TCLTK_LIBS='$(TCLTK_LIBS)' \
+- $(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
++ $(PYTHON_FOR_BUILD) $(srcdir)/setup.py build
+
+ # Build static library
+ # avoid long command lines, same as LIBRARY_OBJS
+@@ -1575,7 +1580,7 @@
+ -rm -f Modules/_testembed Modules/_freeze_importlib
+
+ profile-removal:
+- find . -name '*.gc??' -exec rm -f {} ';'
++ find . -name '*profile' -exec rm -f {} ';'
+ rm -f $(COVERAGE_INFO)
+ rm -rf $(COVERAGE_REPORT)
+