[Python-checkins] python/dist/src/Mac/OSX Makefile.panther, NONE,
1.1.2.1 setup.panther.py, NONE, 1.1.2.1
jackjansen at users.sourceforge.net
jackjansen at users.sourceforge.net
Fri Aug 29 16:46:27 EDT 2003
Update of /cvsroot/python/python/dist/src/Mac/OSX
In directory sc8-pr-cvs1:/tmp/cvs-serv28730
Added Files:
Tag: release23-maint
Makefile.panther setup.panther.py
Log Message:
A makefile and setup script to create the bits that are part of
MacPython but not of Apple's Panther distribution: the waste module,
the IDE and BuildApplet applets.
--- NEW FILE: Makefile.panther ---
# This Makefile is to be used *only* on Panther.
# It installs the things that are available in MacPython but that are
# ommitted from Apple's installation of Python 2.3.
#
all: install_waste install_IDE install_PackageManager install_IDLE \
install_BuildApplet installextras install_PythonLauncher
VERSION=2.3
DESTDIR=
PYTHONAPPSDIR=/Applications/MacPython-$(VERSION)
APPLE_prefix=/System/Library/Frameworks/Python.framework/Versions/$(VERSION)
APPLE_PYTHON=/usr/bin/python$(VERSION)
APPLE_LIBDEST=$(APPLE_prefix)/lib/python$(VERSION)
APPLE_PYTHONW=$(APPLE_prefix)/Resources/Python.app/Contents/MacOS/Python
APPLE_PYTHONLAUNCHER=$(APPLE_prefix)/Resources/PythonLauncher.app
install_waste:
$(APPLE_PYTHON) setup.panther.py install \
--prefix=$(APPLE_prefix) --root=/$(DESTDIR)
install_IDE:
$(MAKE) -f Makefile install_IDE \
BUILDPYTHON=$(APPLE_PYTHON) INSTALLED_PYTHONW=$(APPLE_PYTHONW) \
DESTDIR=$(DESTDIR) PYTHONAPPSDIR=$(PYTHONAPPSDIR)
install_PackageManager:
$(MAKE) -f Makefile install_PackageManager \
BUILDPYTHON=$(APPLE_PYTHON) INSTALLED_PYTHONW=$(APPLE_PYTHONW) \
DESTDIR=$(DESTDIR) PYTHONAPPSDIR=$(PYTHONAPPSDIR)
install_IDLE:
$(MAKE) -f Makefile install_IDLE \
BUILDPYTHON=$(APPLE_PYTHON) INSTALLED_PYTHONW=$(APPLE_PYTHONW) \
DESTDIR=$(DESTDIR) PYTHONAPPSDIR=$(PYTHONAPPSDIR)
install_BuildApplet:
$(MAKE) -f Makefile install_BuildApplet \
BUILDPYTHON=$(APPLE_PYTHON) INSTALLED_PYTHONW=$(APPLE_PYTHONW) \
DESTDIR=$(DESTDIR) PYTHONAPPSDIR=$(PYTHONAPPSDIR)
installextras:
$(MAKE) -f Makefile installextras \
BUILDPYTHON=$(APPLE_PYTHON) INSTALLED_PYTHONW=$(APPLE_PYTHONW) \
DESTDIR=$(DESTDIR) PYTHONAPPSDIR=$(PYTHONAPPSDIR)
install_PythonLauncher:
ln -fsn $(APPLE_PYTHONLAUNCHER) $(DESTDIR)$(PYTHONAPPSDIR)/PythonLauncher
--- NEW FILE: setup.panther.py ---
from distutils.core import Extension, setup
from distutils import sysconfig
import os
SRCDIR=os.path.realpath(os.path.join(os.getcwd(), "../.."))
def find_file(filename, std_dirs, paths):
"""Searches for the directory where a given file is located,
and returns a possibly-empty list of additional directories, or None
if the file couldn't be found at all.
'filename' is the name of a file, such as readline.h or libcrypto.a.
'std_dirs' is the list of standard system directories; if the
file is found in one of them, no additional directives are needed.
'paths' is a list of additional locations to check; if the file is
found in one of them, the resulting list will contain the directory.
"""
# Check the standard locations
for dir in std_dirs:
f = os.path.join(dir, filename)
if os.path.exists(f): return []
# Check the additional directories
for dir in paths:
f = os.path.join(dir, filename)
if os.path.exists(f):
return [dir]
# Not found anywhere
return None
def find_library_file(compiler, libname, std_dirs, paths):
filename = compiler.library_filename(libname, lib_type='shared')
result = find_file(filename, std_dirs, paths)
if result is not None: return result
filename = compiler.library_filename(libname, lib_type='static')
result = find_file(filename, std_dirs, paths)
return result
def waste_Extension():
waste_incs = find_file("WASTE.h", [],
['../'*n + 'waste/C_C++ Headers' for n in (0,1,2,3,4)])
if waste_incs != None:
waste_libs = [os.path.join(os.path.split(waste_incs[0])[0], "Static Libraries")]
srcdir = SRCDIR
return [ Extension('waste',
[os.path.join(srcdir, d) for d in
'Mac/Modules/waste/wastemodule.c',
'Mac/Wastemods/WEObjectHandlers.c',
'Mac/Wastemods/WETabHooks.c',
'Mac/Wastemods/WETabs.c'
],
include_dirs = waste_incs + [
os.path.join(srcdir, 'Mac/Include'),
os.path.join(srcdir, 'Mac/Wastemods')
],
library_dirs = waste_libs,
libraries = ['WASTE'],
extra_link_args = ['-framework', 'Carbon'],
) ]
return []
setup(name="MacPython for Jaguar extensions", version="2.3",
ext_modules=waste_Extension()
)
More information about the Python-checkins
mailing list