from distutils.core import setup, Extension
import os
import sys

sysname = os.uname()[0]
top = os.path.join('..', '..')


library_dirs = [os.path.join(top, 'lib')]
if "CYGWIN" in os.environ:
	libraries =  ['recoll', 'xapian', 'iconv', 'z']
else:
	libraries = ['recoll']
	

if 'libdir' in os.environ and os.environ['libdir'] != "":
    runtime_library_dirs = [os.path.join(os.environ['libdir'], 'recoll')]
else:
    runtime_library_dirs = [os.path.join('@prefix@', 'lib', 'recoll')]

# Verify that the Recoll library was compiled with the PIC options
localdefs = os.path.join(top, 'mk', 'localdefs')
try:
    lines = open(localdefs, 'r').readlines()
except:
    print('You need to build recoll first. Use configure --enable-pic')
    sys.exit(1)
picok = False
for line in lines:
    if line.find('PICFLAGS') == 0:
        picok = True
        break
if not picok:
    print('You need to rebuild recoll with PIC enabled. Use configure --enable-pic and make clean')
    sys.exit(1)

                               
module1 = Extension('recoll',
                    define_macros = [('MAJOR_VERSION', '1'),
                                     ('MINOR_VERSION', '0'),
                                     ('UNAC_VERSION', '"1.0.7"'),
                                     ('RECOLL_DATADIR', '"@QTRECOLL_DATADIR@"')
                                     ],
                    include_dirs = ['/usr/local/include',
                                    os.path.join(top, 'utils'), 
                                    os.path.join(top, 'common'), 
                                    os.path.join(top, 'rcldb'), 
                                    os.path.join(top, 'query'), 
                                    os.path.join(top, 'unac')
                                    ],
                    libraries = libraries,
                    library_dirs = library_dirs,
                    runtime_library_dirs = runtime_library_dirs,
                    sources = ['pyrecoll.cpp'])

module2 = Extension('rclextract',
                    define_macros = [('MAJOR_VERSION', '1'),
                                     ('MINOR_VERSION', '0'),
                                     ('UNAC_VERSION', '"1.0.7"'),
                                     ('RECOLL_DATADIR', '"@QTRECOLL_DATADIR@"')
                                     ],
                    include_dirs = ['/usr/local/include',
                                    os.path.join(top, 'utils'), 
                                    os.path.join(top, 'common'), 
                                    os.path.join(top, 'internfile'), 
                                    os.path.join(top, 'rcldb'), 
                                    ],
                    libraries = libraries,
                    library_dirs = library_dirs,
                    runtime_library_dirs = runtime_library_dirs,
                    sources = ['pyrclextract.cpp'])

setup (name = 'Recoll',
       version = '1.0',
       description = 'Query/Augment a Recoll full text index',
       author = 'J.F. Dockes',
       author_email = 'jfd@recoll.org',
       url = 'http://www.recoll.org',
       license = 'GPL',
       long_description = '''
''',
    packages = ['recoll'],
    ext_package = 'recoll',
       ext_modules = [module1, module2])
