author | Tero Marttila <terom@qmsk.net> |
Fri, 03 Oct 2014 23:03:15 +0300 | |
changeset 160 | 9953c5fe3629 |
parent 151 | dfd8022d000e |
child 161 | 310f53b700dd |
permissions | -rw-r--r-- |
30 | 1 |
from distutils.core import setup |
2 |
from distutils.extension import Extension |
|
117
2da34e3aa885
setup.py: fallback to .c if we don't have Cython
Tero Marttila <terom@fixme.fi>
parents:
30
diff
changeset
|
3 |
|
2da34e3aa885
setup.py: fallback to .c if we don't have Cython
Tero Marttila <terom@fixme.fi>
parents:
30
diff
changeset
|
4 |
import os.path |
2da34e3aa885
setup.py: fallback to .c if we don't have Cython
Tero Marttila <terom@fixme.fi>
parents:
30
diff
changeset
|
5 |
|
2da34e3aa885
setup.py: fallback to .c if we don't have Cython
Tero Marttila <terom@fixme.fi>
parents:
30
diff
changeset
|
6 |
try : |
132
0260aeca943c
cleanup readme, drop pypngtile bits from Makefile, fixup setup.py for pypngtile
Tero Marttila <terom@paivola.fi>
parents:
117
diff
changeset
|
7 |
from Cython.Build import cythonize |
117
2da34e3aa885
setup.py: fallback to .c if we don't have Cython
Tero Marttila <terom@fixme.fi>
parents:
30
diff
changeset
|
8 |
|
132
0260aeca943c
cleanup readme, drop pypngtile bits from Makefile, fixup setup.py for pypngtile
Tero Marttila <terom@paivola.fi>
parents:
117
diff
changeset
|
9 |
CYTHON = True |
0260aeca943c
cleanup readme, drop pypngtile bits from Makefile, fixup setup.py for pypngtile
Tero Marttila <terom@paivola.fi>
parents:
117
diff
changeset
|
10 |
except ImportError : |
0260aeca943c
cleanup readme, drop pypngtile bits from Makefile, fixup setup.py for pypngtile
Tero Marttila <terom@paivola.fi>
parents:
117
diff
changeset
|
11 |
CYTHON = False |
0260aeca943c
cleanup readme, drop pypngtile bits from Makefile, fixup setup.py for pypngtile
Tero Marttila <terom@paivola.fi>
parents:
117
diff
changeset
|
12 |
|
151
dfd8022d000e
setup: sdist only includes the .c and the .pyx, so skip CYTHON then
Tero Marttila <terom@paivola.fi>
parents:
132
diff
changeset
|
13 |
if CYTHON and os.path.exists('python/pypngtile.pyx'): |
dfd8022d000e
setup: sdist only includes the .c and the .pyx, so skip CYTHON then
Tero Marttila <terom@paivola.fi>
parents:
132
diff
changeset
|
14 |
pypngtile_sources = [ 'python/pypngtile.pyx' ] |
132
0260aeca943c
cleanup readme, drop pypngtile bits from Makefile, fixup setup.py for pypngtile
Tero Marttila <terom@paivola.fi>
parents:
117
diff
changeset
|
15 |
elif os.path.exists("python/pypngtile.c"): |
151
dfd8022d000e
setup: sdist only includes the .c and the .pyx, so skip CYTHON then
Tero Marttila <terom@paivola.fi>
parents:
132
diff
changeset
|
16 |
pypngtile_sources = [ 'python/pypngtile.c' ] |
132
0260aeca943c
cleanup readme, drop pypngtile bits from Makefile, fixup setup.py for pypngtile
Tero Marttila <terom@paivola.fi>
parents:
117
diff
changeset
|
17 |
else: |
0260aeca943c
cleanup readme, drop pypngtile bits from Makefile, fixup setup.py for pypngtile
Tero Marttila <terom@paivola.fi>
parents:
117
diff
changeset
|
18 |
raise Exception("Building from source requires Cython") |
0260aeca943c
cleanup readme, drop pypngtile bits from Makefile, fixup setup.py for pypngtile
Tero Marttila <terom@paivola.fi>
parents:
117
diff
changeset
|
19 |
|
0260aeca943c
cleanup readme, drop pypngtile bits from Makefile, fixup setup.py for pypngtile
Tero Marttila <terom@paivola.fi>
parents:
117
diff
changeset
|
20 |
ext_modules = [Extension("pypngtile", |
0260aeca943c
cleanup readme, drop pypngtile bits from Makefile, fixup setup.py for pypngtile
Tero Marttila <terom@paivola.fi>
parents:
117
diff
changeset
|
21 |
sources = pypngtile_sources, |
0260aeca943c
cleanup readme, drop pypngtile bits from Makefile, fixup setup.py for pypngtile
Tero Marttila <terom@paivola.fi>
parents:
117
diff
changeset
|
22 |
libraries = ['pngtile'], |
0260aeca943c
cleanup readme, drop pypngtile bits from Makefile, fixup setup.py for pypngtile
Tero Marttila <terom@paivola.fi>
parents:
117
diff
changeset
|
23 |
)] |
0260aeca943c
cleanup readme, drop pypngtile bits from Makefile, fixup setup.py for pypngtile
Tero Marttila <terom@paivola.fi>
parents:
117
diff
changeset
|
24 |
|
0260aeca943c
cleanup readme, drop pypngtile bits from Makefile, fixup setup.py for pypngtile
Tero Marttila <terom@paivola.fi>
parents:
117
diff
changeset
|
25 |
if CYTHON: |
0260aeca943c
cleanup readme, drop pypngtile bits from Makefile, fixup setup.py for pypngtile
Tero Marttila <terom@paivola.fi>
parents:
117
diff
changeset
|
26 |
ext_modules = cythonize(ext_modules) |
30 | 27 |
|
28 |
setup( |
|
132
0260aeca943c
cleanup readme, drop pypngtile bits from Makefile, fixup setup.py for pypngtile
Tero Marttila <terom@paivola.fi>
parents:
117
diff
changeset
|
29 |
name = 'pngtile', |
0260aeca943c
cleanup readme, drop pypngtile bits from Makefile, fixup setup.py for pypngtile
Tero Marttila <terom@paivola.fi>
parents:
117
diff
changeset
|
30 |
version = '1.0-dev', |
160
9953c5fe3629
setup.py: also include pngtile package
Tero Marttila <terom@qmsk.net>
parents:
151
diff
changeset
|
31 |
|
9953c5fe3629
setup.py: also include pngtile package
Tero Marttila <terom@qmsk.net>
parents:
151
diff
changeset
|
32 |
packages = [ 'pngtile' ], |
132
0260aeca943c
cleanup readme, drop pypngtile bits from Makefile, fixup setup.py for pypngtile
Tero Marttila <terom@paivola.fi>
parents:
117
diff
changeset
|
33 |
ext_modules = ext_modules, |
30 | 34 |
) |
35 |