dd56a47a9ae05cd7297b852f1aa9838804ebb565
[tools/librpm-tizen.git] / python / setup.py.in
1 #!/usr/bin/env python
2
3 from distutils.core import setup, Extension
4 import subprocess
5 import os
6
7 def pkgconfig(what):
8     out = []
9     cmd = 'pkg-config %s %s' % (what, '@PACKAGE_NAME@')
10     pcout = subprocess.check_output(cmd.split()).decode()
11     for token in pcout.split():
12         out.append(token[2:])
13     return out
14
15 cflags = ['-std=c99', '-Wno-strict-aliasing']
16 additional_link_args = []
17
18 # See if we're building in-tree
19 if os.access('Makefile.am', os.F_OK):
20     cflags.append('-I../include')
21     additional_link_args.extend(['-Wl,-L../rpmio/.libs',
22                                  '-Wl,-L../lib/.libs',
23                                  '-Wl,-L../build/.libs',
24                                  '-Wl,-L../sign/.libs'])
25     os.environ['PKG_CONFIG_PATH'] = '..'
26
27
28 rpmmod = Extension('rpm._rpm',
29                    sources = [  'header-py.c', 'rpmds-py.c', 'rpmfd-py.c',
30                                 'rpmfi-py.c', 'rpmii-py.c', 'rpmkeyring-py.c',
31                                 'rpmmacro-py.c', 'rpmmi-py.c', 'rpmps-py.c',
32                                 'rpmstrpool-py.c', 'rpmfiles-py.c', 
33                                 'rpmarchive-py.c', 'rpmtd-py.c',
34                                 'rpmte-py.c', 'rpmts-py.c', 'rpmmodule.c',
35                              ],
36                    include_dirs = pkgconfig('--cflags'),
37                    library_dirs = pkgconfig('--libs-only-L'),
38                    libraries = pkgconfig('--libs-only-l'),
39                    extra_compile_args = cflags,
40                    extra_link_args = additional_link_args
41                   )
42
43 rpmbuild_mod = Extension('rpm._rpmb',
44                    sources = ['rpmbmodule.c', 'spec-py.c'],
45                    include_dirs = pkgconfig('--cflags'),
46                    library_dirs = pkgconfig('--libs-only-L'),
47                    libraries = pkgconfig('--libs-only-l') + ['rpmbuild'],
48                    extra_compile_args = cflags,
49                    extra_link_args = additional_link_args
50                   )
51
52 rpmsign_mod = Extension('rpm._rpms',
53                    sources = ['rpmsmodule.c'],
54                    include_dirs = pkgconfig('--cflags'),
55                    library_dirs = pkgconfig('--libs-only-L'),
56                    libraries = pkgconfig('--libs-only-l') + ['rpmsign'],
57                    extra_compile_args = cflags,
58                    extra_link_args = additional_link_args
59                   )
60
61 setup(name='@PACKAGE_NAME@',
62       version='@VERSION@',
63       description='Python bindings for @PACKAGE_NAME@',
64       maintainer_email='@PACKAGE_BUGREPORT@',
65       url='http://www.rpm.org/',
66       packages = ['@PACKAGE_NAME@'],
67       ext_modules= [rpmmod, rpmbuild_mod, rpmsign_mod]
68      )