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.
This commit is contained in:
Andrew MacIntyre 2003-07-16 13:31:11 +00:00
parent d24c767d5b
commit bac1ea937e
4 changed files with 24 additions and 43 deletions

View File

@ -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 $@ $^

View File

@ -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.

View File

@ -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

View File

@ -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"