[Pythonmac-SIG] Darwin build of Python-2.0c1
Steven D. Majewski
sdm7g@virginia.edu
Tue, 10 Oct 2000 12:54:53 -0400 (EDT)
The "What's new in Python-2.0" on :
<http://www.pythonlabs.com/products/python2.0/news.html>
mentions initial support for static builds on Darwin/MacOSX.
It does in fact now build and install right out of the box,
using "configure --with-dyld --with-suffix=.x"
Dynamic library support also work almost out of the box --
you just have to uncomment the "#*shared*" line in Modules/Setup.
( *DON'T* use --with-next-framework ! just edit Modules/Setup and
run make again. )
cryptmodule will build if you uncomment it.
bsddb & threading get added automatically by Setup.config.
readline, zlib, and pyexpat all build if you have those libraries
and you edit the locations in Setup.
'make test' results after fixes below:
...
test_xmllib
test_zipfile
test_zlib
86 tests OK.
2 tests failed: test_format test_largefile
18 tests skipped: test_al test_audioop test_cd test_cl test_dbm test_dl
test_gdbm test_gl test_imageop test_imgfile test_linuxaudiodev test_nis
test_poll test_rgbimg test_sunaudiodev test_timing test_winreg test_winsound
Remaing gotcha's:
[1] Move the line for fcntlmodule above the *shared* marker.
You can't build fcntlmodule as shared -- HFS+ filesystem is case
blind, and you'll get a confusion resolving both FCNTL and fcntl
as the same file if fcntlmodule.so is build. Keeping it built-in
to the python exec. avoids this.
[2] The platform specific header files ( FCNTL.py, TERMIOS.py, SOCKET.py ...)
for Darwin aren't shipped pre-built in the distribution, and they aren't
built until the "make install" phase, so those tests will be skipped
on 'make test' done before install.
[3] test/test_fcntl.py will still fail unless you add "Darwin1.2"
among the BSD's:
*** old.test_fcntl.py Tue Oct 10 12:18:33 2000
--- test_fcntl.py Tue Oct 10 12:21:00 2000
***************
*** 16,22 ****
if verbose:
print 'Status from fnctl with O_NONBLOCK: ', rv
! if sys.platform in ('netbsd1',
'freebsd2', 'freebsd3', 'freebsd4', 'freebsd5',
'bsdos2', 'bsdos3', 'bsdos4',
'openbsd', 'openbsd2'):
--- 16,22 ----
if verbose:
print 'Status from fnctl with O_NONBLOCK: ', rv
! if sys.platform in ('netbsd1', 'Darwin1.2',
'freebsd2', 'freebsd3', 'freebsd4', 'freebsd5',
'bsdos2', 'bsdos3', 'bsdos4',
'openbsd', 'openbsd2'):
---| Steven D. Majewski (804-982-0831) <sdm7g@Virginia.EDU> |---
---| Department of Molecular Physiology and Biological Physics |---
---| University of Virginia Health Sciences Center |---
---| P.O. Box 10011 Charlottesville, VA 22906-0011 |---
"All operating systems want to be unix,
All programming languages want to be lisp."