components/python/python26/patches/Python26-25-studio-profile.patch
branchs11u3-sru
changeset 7811 9126e6f58cd8
parent 7792 ee802f9b5132
child 7816 79ee06fdecc5
--- a/components/python/python26/patches/Python26-25-studio-profile.patch	Wed Mar 22 09:27:09 2017 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-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.
---- Python-2.6.4/Makefile.pre.in.orig	2012-05-14 06:37:59.575335093 -0700
-+++ Python-2.6.4/Makefile.pre.in	2012-05-14 06:41:08.439443308 -0700
-@@ -361,27 +361,36 @@
- 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:
--	./$(BUILDPYTHON) $(PROFILE_TASK)
-+	LD_LIBRARY_PATH=. ./$(BUILDPYTHON) $(PROFILE_TASK)
- 
- build_all_use_profile:
--	$(MAKE) all CFLAGS="$(CFLAGS) -fprofile-use"
-+	$(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)"
- 
- coverage:
- 	@echo "Building with support for coverage checking:"
- 	$(MAKE) clean
--	$(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"
- 
- 
- # Build the interpreter
-@@ -396,10 +405,7 @@
- 
- # Build the shared modules
- sharedmods: $(BUILDPYTHON)
--	@case $$MAKEFLAGS in \
--	*s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(LDFLAGS)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
--	*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(LDFLAGS)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
--	esac
-+	$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build
- 
- # Build static library
- # avoid long command lines, same as LIBRARY_OBJS
-@@ -1166,6 +1172,7 @@
- clean: pycremoval
- 	find . -name '*.[oa]' -exec rm -f {} ';'
- 	find . -name '*.s[ol]' -exec rm -f {} ';'
-+	find . -name '*.s[ol].*' -exec rm -f {} ';'
- 	find $(srcdir)/build -name 'fficonfig.h' -exec rm -f {} ';' || true
- 	find $(srcdir)/build -name 'fficonfig.py' -exec rm -f {} ';' || true
- 	find . -name '*.so.[0-9]*.[0-9]*' -exec rm -f {} ';'
-@@ -1173,6 +1180,7 @@
- 
- profile-removal:
- 	find . -name '*.gc??' -exec rm -f {} ';'
-+	find . -name '.profile' -exec rm -rf {} ';'
- 
- clobber: clean profile-removal
- 	-rm -f $(BUILDPYTHON) $(PGEN) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \