Kaydet (Commit) bac1ea93 authored tarafından Andrew MacIntyre's avatar Andrew MacIntyre

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.
üst d24c767d
...@@ -91,7 +91,7 @@ ifeq ($(MODE),debug) ...@@ -91,7 +91,7 @@ ifeq ($(MODE),debug)
CFLAGS+= -g -O CFLAGS+= -g -O
LDFLAGS+= -g LDFLAGS+= -g
else else
CFLAGS+= -s -O2 -fomit-frame-pointer CFLAGS+= -s -O3 -fomit-frame-pointer
LDFLAGS+= -s LDFLAGS+= -s
endif endif
CFLAGS+= $(PY_DEF) CFLAGS+= $(PY_DEF)
...@@ -515,28 +515,16 @@ $(PYTHON.DEF): $(PYTHON.LIB) ...@@ -515,28 +515,16 @@ $(PYTHON.DEF): $(PYTHON.LIB)
@echo DATA MULTIPLE NONSHARED >>$@ @echo DATA MULTIPLE NONSHARED >>$@
@echo EXPORTS >>$@ @echo EXPORTS >>$@
$(EXPLIB) -u $(PYTHON.LIB) |\ $(EXPLIB) -u $(PYTHON.LIB) |\
sed -e "/ .init.*/s/^ /; /" \ sed -e "/^ .init.*/s/^ /; /" \
-e "/ .pcre_.*/s/^ /; /" \ -e "/^ .pcre_.*/s/^ /; /" \
-e "/ .array_methods/s/^ /; /" \ -e "/^ .array_methods/s/^ /; /" \
-e "/ .fast_save_leave/s/^ /; /" \ -e "/^ .fast_save_leave/s/^ /; /" \
-e "/ .dlopen/s/^ /; /" \ -e "/^ .dlopen/s/^ /; /" \
-e "/ .dlsym/s/^ /; /" \ -e "/^ .dlsym/s/^ /; /" \
-e "/ .dlclose/s/^ /; /" \ -e "/^ .dlclose/s/^ /; /" \
-e "/ .dlerror/s/^ /; /" \ -e "/^ .dlerror/s/^ /; /" \
-e "/ .cycle_type/s/^ /; /" \ -e "/^ ._Py_re_.*/s/^ /; /" \
-e "/ .dropwhile_type/s/^ /; /" \ -e "/^ ._Py_MD5.*/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/^ /; /" >>$@
$(PYTHON.IMPLIB): $(PYTHON.DEF) $(PYTHON.IMPLIB): $(PYTHON.DEF)
$(IMPLIB) -o $@ $^ $(IMPLIB) -o $@ $^
......
...@@ -554,10 +554,15 @@ error. ...@@ -554,10 +554,15 @@ error.
I have not attempted to compile Python with any version of gcc prior to I have not attempted to compile Python with any version of gcc prior to
v2.8.1. v2.8.1.
While gcc supports more aggressive optimisation than I use, a lot of This release sees the default optimisation change to
benchmarking indicates that Python's performance is at best only "-O3 -fomit-frame-pointer". This works fine too for pgcc 2.95 but not
marginally improved by more aggressive optimisation, at least on my for gcc 3.2.1.
hardware (AMD Athlon 1.4GHz, VIA C3 800MHz).
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 17. os.spawnv() and os.spawnve() expose EMX's library routines rather
than use the emulation in os.py. than use the emulation in os.py.
......
...@@ -31,12 +31,12 @@ ...@@ -31,12 +31,12 @@
* imported from the Python core DLL aren't duplicated. * imported from the Python core DLL aren't duplicated.
*/ */
#ifdef Py_BUILD_CORE #ifdef Py_BUILD_CORE
# define PyAPI_FUNC(RTYPE) RTYPE # define PyAPI_FUNC(RTYPE) RTYPE
#else #else
# define PyAPI_FUNC(RTYPE) extern RTYPE # define PyAPI_FUNC(RTYPE) extern RTYPE
#endif #endif
#define PyAPI_DATA(RTYPE) extern RTYPE #define PyAPI_DATA(RTYPE) extern RTYPE
#define PyMODINIT_FUNC void #define PyMODINIT_FUNC void
/* Use OS/2 flavour of threads */ /* Use OS/2 flavour of threads */
#define WITH_THREAD 1 #define WITH_THREAD 1
......
...@@ -1070,18 +1070,6 @@ EXPORTS ...@@ -1070,18 +1070,6 @@ EXPORTS
; From python23_s.lib(itertoolsmodule) ; From python23_s.lib(itertoolsmodule)
; "inititertools" ; "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) ; From python23_s.lib(_localemodule)
; "init_locale" ; "init_locale"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment