Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
cython
Commits
83966ef6
Commit
83966ef6
authored
Oct 11, 2007
by
Stefan Behnel
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
imported added files of Pyrex 0.9.6.2
parent
3588f4a6
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
267 additions
and
0 deletions
+267
-0
Cython/Compiler/Builtin.py
Cython/Compiler/Builtin.py
+91
-0
Cython/Distutils/extension.py
Cython/Distutils/extension.py
+79
-0
Cython/DistutilsOld/__init__.py
Cython/DistutilsOld/__init__.py
+22
-0
Cython/DistutilsOld/build_ext.py
Cython/DistutilsOld/build_ext.py
+63
-0
Cython/Mac/setup.py
Cython/Mac/setup.py
+12
-0
No files found.
Cython/Compiler/Builtin.py
0 → 100644
View file @
83966ef6
#
# Pyrex - Builtin Definitions
#
from
Symtab
import
BuiltinScope
from
TypeSlots
import
Signature
builtin_function_table
=
[
# name, args, return, C API func, has py equiv = True
(
'abs'
,
"O"
,
"O"
,
"PyNumber_Absolute"
),
#('chr', "", "", ""),
#('cmp', "", "", "", ""), # int PyObject_Cmp(PyObject *o1, PyObject *o2, int *result)
#('compile', "", "", ""), # PyObject* Py_CompileString( char *str, char *filename, int start)
(
'delattr'
,
"OO"
,
"r"
,
"PyObject_DelAttr"
),
(
'dir'
,
"O"
,
"O"
,
"PyObject_Dir"
),
(
'divmod'
,
"OO"
,
"O"
,
"PyNumber_Divmod"
),
#('eval', "", "", ""),
#('execfile', "", "", ""),
#('filter', "", "", ""),
(
'getattr'
,
"OO"
,
"O"
,
"PyObject_GetAttr"
),
(
'hasattr'
,
"OO"
,
"i"
,
"PyObject_HasAttr"
),
(
'hash'
,
"O"
,
"i"
,
"PyObject_Hash"
),
#('hex', "", "", ""),
#('id', "", "", ""),
#('input', "", "", ""),
(
'intern'
,
"s"
,
"O"
,
"PyString_InternFromString"
),
(
'isinstance'
,
"OO"
,
"i"
,
"PyObject_IsInstance"
),
(
'issubclass'
,
"OO"
,
"i"
,
"PyObject_IsSubclass"
),
(
'iter'
,
"O"
,
"O"
,
"PyObject_GetIter"
),
(
'len'
,
"O"
,
"Z"
,
"PyObject_Length"
),
#('map', "", "", ""),
#('max', "", "", ""),
#('min', "", "", ""),
#('oct', "", "", ""),
# Not worth doing open, when second argument would become mandatory
#('open', "ss", "O", "PyFile_FromString"),
#('ord', "", "", ""),
(
'pow'
,
"OOO"
,
"O"
,
"PyNumber_Power"
),
#('range', "", "", ""),
#('raw_input', "", "", ""),
#('reduce', "", "", ""),
(
'reload'
,
"O"
,
"O"
,
"PyImport_ReloadModule"
),
(
'repr'
,
"O"
,
"O"
,
"PyObject_Repr"
),
#('round', "", "", ""),
(
'setattr'
,
"OOO"
,
"r"
,
"PyObject_SetAttr"
),
#('sum', "", "", ""),
#('unichr', "", "", ""),
#('unicode', "", "", ""),
#('vars', "", "", ""),
#('zip', "", "", ""),
# Can't do these easily until we have builtin type entries.
#('typecheck', "OO", "i", "PyObject_TypeCheck", False),
#('issubtype', "OO", "i", "PyType_IsSubtype", False),
]
# Builtin types
# bool
# buffer
# classmethod
# dict
# enumerate
# file
# float
# int
# list
# long
# object
# property
# slice
# staticmethod
# super
# str
# tuple
# type
# xrange
builtin_scope
=
BuiltinScope
()
def
declare_builtin_func
(
name
,
args
,
ret
,
cname
,
py_equiv
=
1
):
sig
=
Signature
(
args
,
ret
)
type
=
sig
.
function_type
()
builtin_scope
.
declare_builtin_cfunction
(
name
,
type
,
cname
,
py_equiv
)
def
init_builtin_funcs
():
for
desc
in
builtin_function_table
:
declare_builtin_func
(
*
desc
)
def
init_builtins
():
init_builtin_funcs
()
init_builtins
()
Cython/Distutils/extension.py
0 → 100644
View file @
83966ef6
"""Pyrex.Distutils.extension
Provides a modified Extension class, that understands hou to describe
Pyrex extension modules in setup scripts."""
__revision__
=
"$Id:$"
import
os
,
string
,
sys
from
types
import
*
import
distutils.extension
as
_Extension
try
:
import
warnings
except
ImportError
:
warnings
=
None
class
Extension
(
_Extension
.
Extension
):
_Extension
.
Extension
.
__doc__
+
\
"""pyrex_include_dirs : [string]
list of directories to search for Pyrex header files (.pxd) (in
Unix form for portability)
pyrex_create_listing_file : boolean
write pyrex error messages to a listing (.lis) file.
pyrex_cplus : boolean
use the C++ compiler for compiling and linking.
pyrex_c_in_temp : boolean
put generated C files in temp directory.
pyrex_gen_pxi : boolean
generate .pxi file for public declarations
"""
# When adding arguments to this constructor, be sure to update
# user_options.extend in build_ext.py.
def
__init__
(
self
,
name
,
sources
,
include_dirs
=
None
,
define_macros
=
None
,
undef_macros
=
None
,
library_dirs
=
None
,
libraries
=
None
,
runtime_library_dirs
=
None
,
extra_objects
=
None
,
extra_compile_args
=
None
,
extra_link_args
=
None
,
export_symbols
=
None
,
swig_opts
=
None
,
depends
=
None
,
language
=
None
,
pyrex_include_dirs
=
None
,
pyrex_create_listing
=
0
,
pyrex_cplus
=
0
,
pyrex_c_in_temp
=
0
,
pyrex_gen_pxi
=
0
,
**
kw
):
_Extension
.
Extension
.
__init__
(
self
,
name
,
sources
,
include_dirs
=
include_dirs
,
define_macros
=
define_macros
,
undef_macros
=
undef_macros
,
library_dirs
=
library_dirs
,
libraries
=
libraries
,
runtime_library_dirs
=
runtime_library_dirs
,
extra_objects
=
extra_objects
,
extra_compile_args
=
extra_compile_args
,
extra_link_args
=
extra_link_args
,
export_symbols
=
export_symbols
,
swig_opts
=
swig_opts
,
depends
=
depends
,
language
=
language
,
**
kw
)
self
.
pyrex_include_dirs
=
pyrex_include_dirs
or
[]
self
.
pyrex_create_listing
=
pyrex_create_listing
self
.
pyrex_cplus
=
pyrex_cplus
self
.
pyrex_c_in_temp
=
pyrex_c_in_temp
self
.
pyrex_gen_pxi
=
pyrex_gen_pxi
# class Extension
read_setup_file
=
_Extension
.
read_setup_file
Cython/DistutilsOld/__init__.py
0 → 100644
View file @
83966ef6
# July 2002, Graham Fawcett
#
# this hack was inspired by the way Thomas Heller got py2exe
# to appear as a distutil command
#
# we replace distutils.command.build_ext with our own version
# and keep the old one under the module name _build_ext,
# so that *our* build_ext can make use of it.
from
build_ext
import
build_ext
Cython/DistutilsOld/build_ext.py
0 → 100644
View file @
83966ef6
# Subclasses disutils.command.build_ext,
# replacing it with a Pyrex version that compiles pyx->c
# before calling the original build_ext command.
# July 2002, Graham Fawcett
# Modified by Darrell Gallion <dgallion1@yahoo.com>
# to allow inclusion of .c files along with .pyx files.
# Pyrex is (c) Greg Ewing.
import
distutils.command.build_ext
#import Pyrex.Compiler.Main
from
Pyrex.Compiler.Main
import
CompilationOptions
,
default_options
,
compile
from
Pyrex.Compiler.Errors
import
PyrexError
from
distutils.dep_util
import
newer
import
os
import
sys
def
replace_suffix
(
path
,
new_suffix
):
return
os
.
path
.
splitext
(
path
)[
0
]
+
new_suffix
class
build_ext
(
distutils
.
command
.
build_ext
.
build_ext
):
description
=
"compile Pyrex scripts, then build C/C++ extensions (compile/link to build directory)"
def
finalize_options
(
self
):
distutils
.
command
.
build_ext
.
build_ext
.
finalize_options
(
self
)
# The following hack should no longer be needed.
if
0
:
# compiling with mingw32 gets an "initializer not a constant" error
# doesn't appear to happen with MSVC!
# so if we are compiling with mingw32,
# switch to C++ mode, to avoid the problem
if
self
.
compiler
==
'mingw32'
:
self
.
swig_cpp
=
1
def
swig_sources
(
self
,
sources
,
extension
=
None
):
if
not
self
.
extensions
:
return
# collect the names of the source (.pyx) files
pyx_sources
=
[]
pyx_sources
=
[
source
for
source
in
sources
if
source
.
endswith
(
'.pyx'
)]
other_sources
=
[
source
for
source
in
sources
if
not
source
.
endswith
(
'.pyx'
)]
#suffix = self.swig_cpp and '.cpp' or '.c'
suffix
=
'.c'
for
pyx
in
pyx_sources
:
# should I raise an exception if it doesn't exist?
if
os
.
path
.
exists
(
pyx
):
source
=
pyx
target
=
replace_suffix
(
source
,
suffix
)
if
newer
(
source
,
target
)
or
self
.
force
:
self
.
pyrex_compile
(
source
)
return
[
replace_suffix
(
src
,
suffix
)
for
src
in
pyx_sources
]
+
other_sources
def
pyrex_compile
(
self
,
source
):
options
=
CompilationOptions
(
default_options
,
include_path
=
self
.
include_dirs
)
result
=
compile
(
source
,
options
)
if
result
.
num_errors
<>
0
:
sys
.
exit
(
1
)
Cython/Mac/setup.py
0 → 100644
View file @
83966ef6
#
# Setup file for compiling _Filemodule_patched.c
#
from
distutils.core
import
setup
from
distutils.extension
import
Extension
setup
(
ext_modules
=
[
Extension
(
"_File"
,
[
"_Filemodule_patched.c"
])
]
)
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