setup.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. path.join(EXT_DIR, 'log', 'src', 'log.c'),
  18. ]
  19. )
  20. debug = True
  21. compile_args = [
  22. # '-std=c99',
  23. ]
  24. if debug:
  25. compile_args.extend(['-DDEBUG', '-g3', '-O0'])
  26. else:
  27. compile_args.extend(['-g0', '-O3'])
  28. setup(
  29. name="lsup_rdf",
  30. version="1.0a1",
  31. description='Ultra-compact RDF library.',
  32. author='Stefano Cossu <https://notabug.org/scossu>',
  33. url='https://notabug.org/scossu/lsup_rdf',
  34. license='https://notabug.org/scossu/lsup_rdf/src/master/LICENSE',
  35. package_dir={'lsup_rdf': path.join(MOD_DIR, 'lsup_rdf')},
  36. packages=['lsup_rdf'],
  37. ext_modules=[
  38. Extension(
  39. "_lsup_rdf",
  40. sources,
  41. include_dirs=[
  42. ROOT_DIR,
  43. INCL_DIR,
  44. path.join(EXT_DIR, 'uthash', 'src'),
  45. path.join(EXT_DIR, 'log', 'src'),
  46. ],
  47. libraries=['uuid'],
  48. extra_compile_args=compile_args,
  49. ),
  50. ],
  51. )