components/python/python26/patches/Python26-25-studio-profile.patch
author Mike Sullivan <Mike.Sullivan@Oracle.COM>
Mon, 11 Mar 2013 10:38:09 -0700
branchs11-update
changeset 2520 ceec631e74d1
parent 841 1a62cefa636d
child 2213 b87f3edd5dd7
permissions -rw-r--r--
Close of build 10.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
634
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
     1
This changes Python's standard profile-guided build target to work with
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
     2
Studio instead of gcc.  The unfortunate repetition of options seen below
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
     3
is a workaround for build peculiarities and to meet Studio's requirement
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
     4
that the profiling options be used at all steps of the build -- not just
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
     5
compilation.
841
1a62cefa636d 7121707 python 2.6.4 should be updated to latest 2.6.X release
Rich Burridge <rich.burridge@oracle.com>
parents: 634
diff changeset
     6
--- Python-2.6.4/Makefile.pre.in.orig	2012-05-14 06:37:59.575335093 -0700
1a62cefa636d 7121707 python 2.6.4 should be updated to latest 2.6.X release
Rich Burridge <rich.burridge@oracle.com>
parents: 634
diff changeset
     7
+++ Python-2.6.4/Makefile.pre.in	2012-05-14 06:41:08.439443308 -0700
1a62cefa636d 7121707 python 2.6.4 should be updated to latest 2.6.X release
Rich Burridge <rich.burridge@oracle.com>
parents: 634
diff changeset
     8
@@ -361,27 +361,36 @@
634
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
     9
 profile-opt:
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    10
 	@echo "Building with support for profile generation:"
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    11
 	$(MAKE) clean
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    12
+	$(MAKE) profile-removal
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    13
 	$(MAKE) build_all_generate_profile
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    14
 	@echo "Running benchmark to generate profile data:"
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    15
-	$(MAKE) profile-removal
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    16
 	$(MAKE) run_profile_task
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    17
 	@echo "Rebuilding with profile guided optimizations:"
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    18
 	$(MAKE) clean
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    19
 	$(MAKE) build_all_use_profile
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    20
 
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    21
 build_all_generate_profile:
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    22
-	$(MAKE) all CFLAGS="$(CFLAGS) -fprofile-generate" LIBS="$(LIBS) -lgcov"
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    23
+	$(MAKE) all CC="$(CC) -xprofile=collect:$(XPROFILE_DIR)" \
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    24
+	    CFLAGS="$(CFLAGS) -xprofile=collect:$(XPROFILE_DIR)" \
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    25
+	    LDFLAGS="$(LDFLAGS) -xprofile=collect:$(XPROFILE_DIR)" \
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    26
+	    BLDSHARED="$(BLDSHARED) -xprofile=collect:$(XPROFILE_DIR)"
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    27
 
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    28
 run_profile_task:
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    29
-	./$(BUILDPYTHON) $(PROFILE_TASK)
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    30
+	LD_LIBRARY_PATH=. ./$(BUILDPYTHON) $(PROFILE_TASK)
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    31
 
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    32
 build_all_use_profile:
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    33
-	$(MAKE) all CFLAGS="$(CFLAGS) -fprofile-use"
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    34
+	$(MAKE) all CC="$(CC) -xprofile=use:$(XPROFILE_DIR)" \
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    35
+	    CFLAGS="$(CFLAGS) -xprofile=use:$(XPROFILE_DIR)" \
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    36
+	    LDFLAGS="$(LDFLAGS) -xprofile=use:$(XPROFILE_DIR)" \
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    37
+	    BLDSHARED="$(BLDSHARED) -xprofile=use:$(XPROFILE_DIR)"
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    38
 
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    39
 coverage:
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    40
 	@echo "Building with support for coverage checking:"
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    41
 	$(MAKE) clean
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    42
-	$(MAKE) all CFLAGS="$(CFLAGS) -O0 -pg -fprofile-arcs -ftest-coverage" LIBS="$(LIBS) -lgcov"
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    43
+	$(MAKE) all CC="$(CC) -xprofile=tcov" \
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    44
+	    CFLAGS="$(CFLAGS) -xO1 -xprofile=tcov" \
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    45
+	    LDFLAGS="$(LDFLAGS) -xprofile=tcov" \
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    46
+	    BLDSHARED="$(BLDSHARED) -xprofile=tcov"
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    47
 
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    48
 
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    49
 # Build the interpreter
841
1a62cefa636d 7121707 python 2.6.4 should be updated to latest 2.6.X release
Rich Burridge <rich.burridge@oracle.com>
parents: 634
diff changeset
    50
@@ -396,10 +405,7 @@
634
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    51
 
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    52
 # Build the shared modules
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    53
 sharedmods: $(BUILDPYTHON)
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    54
-	@case $$MAKEFLAGS in \
841
1a62cefa636d 7121707 python 2.6.4 should be updated to latest 2.6.X release
Rich Burridge <rich.burridge@oracle.com>
parents: 634
diff changeset
    55
-	*s*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(LDFLAGS)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py -q build;; \
1a62cefa636d 7121707 python 2.6.4 should be updated to latest 2.6.X release
Rich Burridge <rich.burridge@oracle.com>
parents: 634
diff changeset
    56
-	*) $(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' LDFLAGS='$(LDFLAGS)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build;; \
634
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    57
-	esac
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    58
+	$(RUNSHARED) CC='$(CC)' LDSHARED='$(BLDSHARED)' OPT='$(OPT)' ./$(BUILDPYTHON) -E $(srcdir)/setup.py build
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    59
 
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    60
 # Build static library
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    61
 # avoid long command lines, same as LIBRARY_OBJS
841
1a62cefa636d 7121707 python 2.6.4 should be updated to latest 2.6.X release
Rich Burridge <rich.burridge@oracle.com>
parents: 634
diff changeset
    62
@@ -1170,6 +1176,7 @@
634
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    63
 clean: pycremoval
841
1a62cefa636d 7121707 python 2.6.4 should be updated to latest 2.6.X release
Rich Burridge <rich.burridge@oracle.com>
parents: 634
diff changeset
    64
 	find . -name '*.[oa]' -exec rm -f {} ';'
634
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    65
 	find . -name '*.s[ol]' -exec rm -f {} ';'
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    66
+	find . -name '*.s[ol].*' -exec rm -f {} ';'
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    67
 	find $(srcdir)/build -name 'fficonfig.h' -exec rm -f {} ';' || true
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    68
 	find $(srcdir)/build -name 'fficonfig.py' -exec rm -f {} ';' || true
841
1a62cefa636d 7121707 python 2.6.4 should be updated to latest 2.6.X release
Rich Burridge <rich.burridge@oracle.com>
parents: 634
diff changeset
    69
 	find . -name '*.so.[0-9]*.[0-9]*' -exec rm -f {} ';'
1a62cefa636d 7121707 python 2.6.4 should be updated to latest 2.6.X release
Rich Burridge <rich.burridge@oracle.com>
parents: 634
diff changeset
    70
@@ -1177,6 +1184,7 @@
634
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    71
 
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    72
 profile-removal:
841
1a62cefa636d 7121707 python 2.6.4 should be updated to latest 2.6.X release
Rich Burridge <rich.burridge@oracle.com>
parents: 634
diff changeset
    73
 	find . -name '*.gc??' -exec rm -f {} ';'
634
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    74
+	find . -name '.profile' -exec rm -rf {} ';'
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    75
 
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    76
 clobber: clean profile-removal
bd9c94f9f6e0 6771457 explore compiler performance improvements for python
Shawn Walker <shawn.walker@oracle.com>
parents:
diff changeset
    77
 	-rm -f $(BUILDPYTHON) $(PGEN) $(LIBRARY) $(LDLIBRARY) $(DLLLIBRARY) \