Skip to content
Projeler
Gruplar
Parçacıklar
Yardım
Yükleniyor...
Oturum aç / Kaydol
Gezinmeyi değiştir
C
cpython
Proje
Proje
Ayrıntılar
Etkinlik
Cycle Analytics
Depo (repository)
Depo (repository)
Dosyalar
Kayıtlar (commit)
Dallar (branch)
Etiketler
Katkıda bulunanlar
Grafik
Karşılaştır
Grafikler
Konular (issue)
0
Konular (issue)
0
Liste
Pano
Etiketler
Kilometre Taşları
Birleştirme (merge) Talepleri
0
Birleştirme (merge) Talepleri
0
CI / CD
CI / CD
İş akışları (pipeline)
İşler
Zamanlamalar
Grafikler
Paketler
Paketler
Wiki
Wiki
Parçacıklar
Parçacıklar
Üyeler
Üyeler
Collapse sidebar
Close sidebar
Etkinlik
Grafik
Grafikler
Yeni bir konu (issue) oluştur
İşler
Kayıtlar (commit)
Konu (issue) Panoları
Kenar çubuğunu aç
Batuhan Osman TASKAYA
cpython
Commits
7b9a386e
Kaydet (Commit)
7b9a386e
authored
Haz 19, 2003
tarafından
Jack Jansen
Dosyalara gözat
Seçenekler
Dosyalara Gözat
İndir
Eposta Yamaları
Sade Fark
MacPython-2.3 has progressed so far that building a set of Mac 2.3
extensions on top of Python 2.2 no longer seems feasible.
üst
a1b77584
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
0 additions
and
253 deletions
+0
-253
Makefile.jaguar
Mac/OSX/Makefile.jaguar
+0
-105
README.JAGUAR
Mac/OSX/README.JAGUAR
+0
-62
setup.jaguar.py
Mac/OSX/setup.jaguar.py
+0
-86
No files found.
Mac/OSX/Makefile.jaguar
deleted
100644 → 0
Dosyayı görüntüle @
a1b77584
# This Makefile, which should be run from the current directory, will build
# a MacPython based on the /usr/bin/python installed by Apple as of 10.2.
VERSION
=
2.2
builddir
=
../..
srcdir
=
../..
dstroot
=
/.
PYTHONAPPSPATH
=
/Applications/MacPython-OSX-
$(VERSION)
PYTHONAPPSDIR
=
$(dstroot)$(PYTHONAPPSPATH)
prefix
=
/usr
# These are normally computed form the previous ones
osxdir
=
$(srcdir)
/Mac/OSX
PYTHON
=
$(prefix)
/bin/python
pythonw
=
$(prefix)
/bin/pythonw
LIBDEST
=
$(prefix)
/lib/python
$(VERSION)
datadir
=
$(PYTHONAPPSDIR)
/python-additions
MACLIBDEST
=
$(datadir)
/Lib
MACDYNLIBDEST
=
$(datadir)
/lib-dynload
MACTOOLSDEST
=
$(datadir)
/Tools
APPNAME
=
Python
APPBUNDLENAME
=
$(APPNAME)
.app
INSTALLED_PYTHONW
=
$(datadir)
/
$(APPBUNDLENAME)
/Contents/MacOS/
$(APPNAME)
# The usual stuff
DIRMODE
=
755
INSTALL
=
/usr/bin/install
-c
INSTALL_SYMLINK
=
ln
-fs
INSTALL_PROGRAM
=
${
INSTALL
}
INSTALL_SCRIPT
=
${
INSTALL_PROGRAM
}
INSTALL_DATA
=
${
INSTALL
}
-m
644
# These can be done as a normal user
install
:
preflight install_dirs install_dynlib install_lib
\
install_Python install_IDE install_IDLE install_BuildApplet
\
install_PythonLauncher install_pythonw
preflight
:
@
if
test
!
-w
$(LIBDEST)
/site-packages
;
then
\
echo
Please make directory
$(LIBDEST)
/site-packages writeable
;
\
exit
1
;
\
fi
@
if
grep
"arch i386"
$(LIBDEST)
/config/Makefile
>
/dev/null
;
then
\
echo
Please edit
$(LIBDEST)
/config/Makefile, see README.JAGUAR
;
\
exit
1
;
\
fi
install_dirs
:
$(INSTALL)
-d
-m
$(DIRMODE)
$(PYTHONAPPSDIR)
$(INSTALL)
-d
-m
$(DIRMODE)
$(datadir)
$(INSTALL)
-d
-m
$(DIRMODE)
$(MACDYNLIBDEST)
install_lib
:
Mac.jaguar.pth
$(MAKE)
-f
$(osxdir)
/Makefile installmacsubtree
\
LIBDEST
=
$(LIBDEST)
MACLIBDEST
=
$(MACLIBDEST)
MACTOOLSDEST
=
$(MACTOOLSDEST)
\
builddir
=
$(builddir)
srcdir
=
$(srcdir)
PTHFILE
=
Mac.jaguar.pth
\
PYTHON
=
$(PYTHON)
compileall
=
$(LIBDEST)
/compileall.py
Mac.jaguar.pth
:
echo
$(MACLIBDEST)
>
Mac.jaguar.pth
echo
$(MACDYNLIBDEST)
>>
Mac.jaguar.pth
## echo "import macresource; macresource.open_error_resource()" >> Mac.jaguar.pth
install_dynlib
:
$(PYTHON)
$(osxdir)
/setup.jaguar.py
install
--install-lib
=
$(MACDYNLIBDEST)
touch
$(MACDYNLIBDEST)
/OverrideFrom23/__init__.py
install_Python
:
$(PYTHON)
$(srcdir)
/Mac/Lib/bundlebuilder.py
-q
--link-exec
\
-b
$(datadir)
\
-n
$(APPBUNDLENAME)
\
-r
$(srcdir)
/Mac/OSXResources/app/Resources/Applet-Info.plist
\
-r
$(srcdir)
/Mac/OSXResources/app/Resources/PythonApplet.icns
\
-e
$(PYTHON)
\
build
install_IDE
:
$(MAKE)
-f
$(osxdir)
/Makefile install_IDE
\
srcdir
=
$(srcdir)
INSTALLED_PYTHONW
=
$(INSTALLED_PYTHONW)
\
PYTHONAPPSDIR
=
$(PYTHONAPPSDIR)
install_IDLE
:
$(MAKE)
-f
$(osxdir)
/Makefile install_IDLE
\
srcdir
=
$(srcdir)
INSTALLED_PYTHONW
=
$(INSTALLED_PYTHONW)
\
PYTHONAPPSDIR
=
$(PYTHONAPPSDIR)
install_BuildApplet
:
$(MAKE)
-f
$(osxdir)
/Makefile install_BuildApplet
\
srcdir
=
$(srcdir)
INSTALLED_PYTHONW
=
$(INSTALLED_PYTHONW)
\
PYTHONAPPSDIR
=
$(PYTHONAPPSDIR)
install_PythonLauncher
:
$(MAKE)
-f
$(osxdir)
/Makefile install_PythonLauncher
\
srcdir
=
$(srcdir)
dstroot
=
$(dstroot)
\
PYTHONAPPSPATH
=
$(PYTHONAPPSPATH)
install_pythonw
:
@
if
test
!
-w
$(prefix)
/bin
;
then
\
echo
Cannot write to
$(prefix)
/bin, use
\"
sudo
make
-f
Makefile.jaguar install_pythonw
\"
;
\
exit
1
;
\
fi
echo
"#!/bin/sh"
>
pythonw.sh
echo
"exec
\"
$(INSTALLED_PYTHONW)
\"
\"\$
$@
\"
"
>>
pythonw.sh
$(INSTALL)
pythonw.sh
$(prefix)
/bin/pythonw
Mac/OSX/README.JAGUAR
deleted
100644 → 0
Dosyayı görüntüle @
a1b77584
Building a MacPython-OSX on top of Jaguar's /usr/bin/python
-----------------------------------------------------------
One way of getting MacPython functionality is to use the Python that Apple
supplies since MacOSX 10.2, and extend this with the missing bits.
(Another way is building a framework python, see Mac/OSX/README for
details on that).
Preparation
-----------
First of all you have to fix two things in the python distributed
by Apple. This paragraph is valid for 10.2 through 10.2.2, so if you
have a later version of Jaguar your mileage may vary.
1. /usr/lib/python2.2/config/Makefile has an erronuous reference to
building for intel processors. Edit the file with sudo, and change
the line
LDFLAGS= -arch i386 -arch ppc
to
LDFLAGS= -arch ppc
2. /usr/lib/python2.2/site-packages is not writeable except by root.
Make it writeable by administrators by doing
sudo chgrp admin /usr/lib/python2.2/site-packages
sudo chmod g+w /usr/lib/python2.2/site-packages
Alternatively you can do the make's below as superuser, but I
would advise against this.
Building
--------
Typing "make -f Makefile.jaguar" will build and install almost everything you need.
If you also want the "pythonw" unix program, which allows you to run GUI scripts from
a Terminal window, you should also do "sudo make -f Makefile.jaguar install_pythonw".
What do you get
---------------
After the make you will have a folder /Applications/MacPython-OSX that contains the
IDE and BuildApplet applications. Also, you will find a folder "python-additions" there
that contains the MacPython-specific additions to your installed Python. The only thing
that is installed outside the /Applications/MacPython-OSX folder is
/usr/lib/python2.2/site-packages/MacPython.pth, which is the magic file that will make
python find the new modules.
Uninstalling
------------
1. Remove /Applications/MacPython-OSX
2. Remove /usr/lib/python2.2/site-packages/MacPython.pth
How does it work?
-----------------
Makefile.jaguar does most of the work by calling on Makefile (which is normally used
to build the Mac extensions for a framework-based python) after setting various
variables such that everything is built for /usr/bin/python. Some extension modules
(that are included in framework python 2.3a0, but missing from static python 2.2)
are built with setup.py. And some Carbon modules are built to replace their 2.2
versions, which lack required functionality. The stubs in Mac/Lib/Carbon know about
this overriding.
Mac/OSX/setup.jaguar.py
deleted
100644 → 0
Dosyayı görüntüle @
a1b77584
from
distutils.core
import
Extension
,
setup
from
distutils
import
sysconfig
import
os
SRCDIR
=
"../.."
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.2"
,
ext_modules
=
[
Extension
(
"OverrideFrom23._AE"
,
[
SRCDIR
+
"/Mac/Modules/ae/_AEmodule.c"
],
include_dirs
=
[
SRCDIR
+
"/Mac/Include"
],
extra_link_args
=
[
'-framework'
,
'Carbon'
]),
Extension
(
"OverrideFrom23._Res"
,
[
SRCDIR
+
"/Mac/Modules/res/_Resmodule.c"
],
include_dirs
=
[
SRCDIR
+
"/Mac/Include"
],
extra_link_args
=
[
'-framework'
,
'Carbon'
]),
Extension
(
'_Help'
,
[
SRCDIR
+
'/Mac/Modules/help/_Helpmodule.c'
],
include_dirs
=
[
SRCDIR
+
"/Mac/Include"
],
extra_link_args
=
[
'-framework'
,
'Carbon'
]),
Extension
(
'_Scrap'
,
[
SRCDIR
+
'/Mac/Modules/scrap/_Scrapmodule.c'
],
include_dirs
=
[
SRCDIR
+
"/Mac/Include"
],
extra_link_args
=
[
'-framework'
,
'Carbon'
]),
]
+
waste_Extension
()
)
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment