setup.py 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. from glob import glob
  2. from os import path
  3. from setuptools import Extension, setup
  4. ROOT_DIR = path.dirname(path.realpath(__file__))
  5. MOD_DIR = path.join(ROOT_DIR, 'cpython')
  6. SRC_DIR = path.join(ROOT_DIR, 'src')
  7. INCL_DIR = path.join(ROOT_DIR, 'include')
  8. EXT_DIR = path.join(ROOT_DIR, 'ext')
  9. sources = (
  10. glob(path.join(SRC_DIR, '*.c')) +
  11. glob(path.join(SRC_DIR, 'codec', '*.c')) +
  12. glob(path.join(MOD_DIR, '*.c')) +
  13. [
  14. path.join(EXT_DIR, 'openldap', 'libraries', 'liblmdb', 'mdb.c'),
  15. path.join(EXT_DIR, 'openldap', 'libraries', 'liblmdb', 'midl.c'),
  16. path.join(EXT_DIR, 'xxHash', 'xxhash.c'),
  17. ]
  18. )
  19. debug = True
  20. compile_args = [
  21. # '-std=c99',
  22. ]
  23. if debug:
  24. compile_args.extend(['-DDEBUG', '-g3', '-O0'])
  25. else:
  26. compile_args.extend(['-g0', '-O3'])
  27. setup(
  28. name="lsup_rdf",
  29. version="1.0a1",
  30. description='Ultra-compact RDF library.',
  31. author='Stefano Cossu <https://notabug.org/scossu>',
  32. url='https://notabug.org/scossu/lsup_rdf',
  33. license='https://notabug.org/scossu/lsup_rdf/src/master/LICENSE',
  34. package_dir={'lsup_rdf': path.join(MOD_DIR, 'lsup_rdf')},
  35. packages=['lsup_rdf'],
  36. ext_modules=[
  37. Extension(
  38. "_lsup_rdf",
  39. sources,
  40. include_dirs=[
  41. ROOT_DIR,
  42. INCL_DIR,
  43. path.join(EXT_DIR, 'uthash', 'src'),
  44. ],
  45. libraries=['uuid'],
  46. extra_compile_args=compile_args,
  47. ),
  48. ],
  49. )