summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrew MacIntyre <andymac@bullseye.apana.org.au>2003-07-16 13:31:11 (GMT)
committerAndrew MacIntyre <andymac@bullseye.apana.org.au>2003-07-16 13:31:11 (GMT)
commitbac1ea937e944a27644777d4522d929890922840 (patch)
treeafa5131692c8d08996a1b2d00b2fa625f24e1449
parentd24c767d5b3e8bbcfe7c9185f71a954df49c18c3 (diff)
downloadcpython-bac1ea937e944a27644777d4522d929890922840.zip
cpython-bac1ea937e944a27644777d4522d929890922840.tar.gz
cpython-bac1ea937e944a27644777d4522d929890922840.tar.bz2
More pre-2.3 build tweaks for the OS/2 EMX port:
- more clean up of the generated import library definiton (.DEF file) following checking of patch 770521, and tightening of the sed regexps. - use -O3 even with gcc 2.8.1 - worth nearly 10% with 2.3; worth nothing with 2.2.x. - clean up a couple of whitespace issues introduced by a cut'n'paste.
-rw-r--r--PC/os2emx/Makefile34
-rw-r--r--PC/os2emx/README.os2emx13
-rw-r--r--PC/os2emx/pyconfig.h8
-rw-r--r--PC/os2emx/python23.def12
4 files changed, 24 insertions, 43 deletions
diff --git a/PC/os2emx/Makefile b/PC/os2emx/Makefile
index 296200b..fae7fb4 100644
--- a/PC/os2emx/Makefile
+++ b/PC/os2emx/Makefile
@@ -91,7 +91,7 @@ ifeq ($(MODE),debug)
CFLAGS+= -g -O
LDFLAGS+= -g
else
- CFLAGS+= -s -O2 -fomit-frame-pointer
+ CFLAGS+= -s -O3 -fomit-frame-pointer
LDFLAGS+= -s
endif
CFLAGS+= $(PY_DEF)
@@ -515,28 +515,16 @@ $(PYTHON.DEF): $(PYTHON.LIB)
@echo DATA MULTIPLE NONSHARED >>$@
@echo EXPORTS >>$@
$(EXPLIB) -u $(PYTHON.LIB) |\
- sed -e "/ .init.*/s/^ /; /" \
- -e "/ .pcre_.*/s/^ /; /" \
- -e "/ .array_methods/s/^ /; /" \
- -e "/ .fast_save_leave/s/^ /; /" \
- -e "/ .dlopen/s/^ /; /" \
- -e "/ .dlsym/s/^ /; /" \
- -e "/ .dlclose/s/^ /; /" \
- -e "/ .dlerror/s/^ /; /" \
- -e "/ .cycle_type/s/^ /; /" \
- -e "/ .dropwhile_type/s/^ /; /" \
- -e "/ .takewhile_type/s/^ /; /" \
- -e "/ .islice_type/s/^ /; /" \
- -e "/ .starmap_type/s/^ /; /" \
- -e "/ .imap_type/s/^ /; /" \
- -e "/ .chain_type/s/^ /; /" \
- -e "/ .ifilter_type/s/^ /; /" \
- -e "/ .ifilterfalse_type/s/^ /; /" \
- -e "/ .count_type/s/^ /; /" \
- -e "/ .izip_type/s/^ /; /" \
- -e "/ .repeat_type/s/^ /; /" \
- -e "/ ._Py_re_.*/s/^ /; /" \
- -e "/ ._Py_MD5.*/s/^ /; /" >>$@
+ sed -e "/^ .init.*/s/^ /; /" \
+ -e "/^ .pcre_.*/s/^ /; /" \
+ -e "/^ .array_methods/s/^ /; /" \
+ -e "/^ .fast_save_leave/s/^ /; /" \
+ -e "/^ .dlopen/s/^ /; /" \
+ -e "/^ .dlsym/s/^ /; /" \
+ -e "/^ .dlclose/s/^ /; /" \
+ -e "/^ .dlerror/s/^ /; /" \
+ -e "/^ ._Py_re_.*/s/^ /; /" \
+ -e "/^ ._Py_MD5.*/s/^ /; /" >>$@
$(PYTHON.IMPLIB): $(PYTHON.DEF)
$(IMPLIB) -o $@ $^
diff --git a/PC/os2emx/README.os2emx b/PC/os2emx/README.os2emx
index 7201908..b8d2115 100644
--- a/PC/os2emx/README.os2emx
+++ b/PC/os2emx/README.os2emx
@@ -554,10 +554,15 @@ error.
I have not attempted to compile Python with any version of gcc prior to
v2.8.1.
-While gcc supports more aggressive optimisation than I use, a lot of
-benchmarking indicates that Python's performance is at best only
-marginally improved by more aggressive optimisation, at least on my
-hardware (AMD Athlon 1.4GHz, VIA C3 800MHz).
+This release sees the default optimisation change to
+"-O3 -fomit-frame-pointer". This works fine too for pgcc 2.95 but not
+for gcc 3.2.1.
+
+With gcc 3.2.1, -O3 causes 2 unexpected test failures: test_format and
+test_unicode. Both these tests pass if -O2 is instead of -O3 with this
+compiler, and the performance difference is negligible (in contrast to
+gcc 2.8.1 and pgcc 2.95, where the performance difference between the
+2 optimisation settings approaches 10%).
17. os.spawnv() and os.spawnve() expose EMX's library routines rather
than use the emulation in os.py.
diff --git a/PC/os2emx/pyconfig.h b/PC/os2emx/pyconfig.h
index 206223f..33fbda2 100644
--- a/PC/os2emx/pyconfig.h
+++ b/PC/os2emx/pyconfig.h
@@ -31,12 +31,12 @@
* imported from the Python core DLL aren't duplicated.
*/
#ifdef Py_BUILD_CORE
-# define PyAPI_FUNC(RTYPE) RTYPE
+# define PyAPI_FUNC(RTYPE) RTYPE
#else
-# define PyAPI_FUNC(RTYPE) extern RTYPE
+# define PyAPI_FUNC(RTYPE) extern RTYPE
#endif
-#define PyAPI_DATA(RTYPE) extern RTYPE
-#define PyMODINIT_FUNC void
+#define PyAPI_DATA(RTYPE) extern RTYPE
+#define PyMODINIT_FUNC void
/* Use OS/2 flavour of threads */
#define WITH_THREAD 1
diff --git a/PC/os2emx/python23.def b/PC/os2emx/python23.def
index 7c33327..2927fba 100644
--- a/PC/os2emx/python23.def
+++ b/PC/os2emx/python23.def
@@ -1070,18 +1070,6 @@ EXPORTS
; From python23_s.lib(itertoolsmodule)
; "inititertools"
-; "cycle_type"
-; "dropwhile_type"
-; "takewhile_type"
-; "islice_type"
-; "starmap_type"
-; "imap_type"
-; "chain_type"
-; "ifilter_type"
-; "ifilterfalse_type"
-; "count_type"
-; "izip_type"
-; "repeat_type"
; From python23_s.lib(_localemodule)
; "init_locale"