diff -r ee802f9b5132 -r 9126e6f58cd8 components/python/python26/patches/Python26-25-studio-profile.patch --- 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) \