2
from os.path import abspath, exists
5
from distutils.sysconfig import get_python_lib
6
from distutils.core import setup, Extension
8
FILES_TO_BE_COPIED = ("_prelude.c", "prelude.py")
13
return re.split("\s+", s.strip())
18
return sys.argv[sys.argv.index("--root") + 1]
23
def is_system_wide_install():
24
return os.access(get_python_lib(), os.W_OK)
27
def builddir_is_srcdir():
28
return abspath("@top_srcdir@") == abspath("@top_builddir@")
32
if not is_system_wide_install():
33
sys.argv.extend(["--prefix", "@prefix@"])
37
if not builddir_is_srcdir():
38
for file in FILES_TO_BE_COPIED:
39
src = "@top_srcdir@/bindings/low-level/python/" + file
40
dst = "@top_builddir@/bindings/low-level/python/" + file
46
if not builddir_is_srcdir():
47
for file in FILES_TO_BE_COPIED:
48
exists(file) and os.remove(file)
52
if is_system_wide_install():
57
for f in "prelude.py", "prelude.pyc", "_prelude.so":
58
file = get_root() + "/" + get_python_lib(prefix=prefix) + "/" + f
59
exists(file) and os.remove(file)
61
file = get_root() + "/" + get_python_lib(plat_specific=True, prefix=prefix) + "/" + f
62
exists(file) and os.remove(file)
69
"install": pre_install,
72
"uninstall": uninstall,
75
if len(sys.argv) > 1 and commands.has_key(sys.argv[1]):
76
commands[sys.argv[1]]()
80
description="Low-level Python bindings for the Prelude Library",
81
author="PreludeIDS Technologies",
82
url="http://www.prelude-ids.com",
83
package_dir={'prelude': '@top_srcdir@/bindings/low-level/python'},
84
py_modules=["prelude"],
85
ext_modules=[Extension("_prelude",
87
extra_compile_args=split_args("-I@top_builddir@ -I@top_srcdir@/src/include -I@top_builddir@/src/include -I@top_builddir@/src/libprelude-error -I@top_srcdir@/bindings"),
88
library_dirs=[ "@top_builddir@/src/.libs/" ],
89
extra_link_args=split_args("-lprelude @LIBPRELUDE_LIBS@ @LIBADD_DL@ @LTLIBTHREAD@"))])