mirror of
https://github.com/openharmony/third_party_libnl.git
synced 2026-07-20 23:45:55 -04:00
425d3d6661
Currently, setup.py is created by configure in builddir while source files (.py and .i) reside in srcdir. Adjust paths in setup.py appropriately to make it possible to perform an out-of-source build. This is far from perfect but it mostly works. Python files are copied from srcdir, and swig *.i files are read from there. However, swig output files are created in srcdir rather than builddir, and distutils copies '..' literally when constructing '.o' paths. As a result, '../python/foo.i' would end up being compiled to 'build/temp*/../python/foo.i'. The alternative would be to copy '*.i' files to builddir before proceeding with the build, either in Makefile or through creating additional distutils command.
43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
#!/usr/bin/env python
|
|
|
|
from distutils.core import setup, Extension
|
|
|
|
opts = ['-O', '-nodefaultctor']
|
|
include = ['@top_builddir@/include', '@top_srcdir@/include']
|
|
library_dirs = ['@top_builddir@/lib/.libs']
|
|
|
|
netlink_capi = Extension('netlink/_capi',
|
|
sources = ['@srcdir@/netlink/capi.i'],
|
|
include_dirs = include,
|
|
swig_opts = opts,
|
|
library_dirs = library_dirs,
|
|
libraries = ['nl-3'],
|
|
)
|
|
|
|
route_capi = Extension('netlink/route/_capi',
|
|
sources = ['@srcdir@/netlink/route/capi.i'],
|
|
include_dirs = include,
|
|
swig_opts = opts,
|
|
library_dirs = library_dirs,
|
|
libraries = ['nl-3', 'nl-route-3'],
|
|
)
|
|
|
|
genl_capi = Extension('netlink/genl/_capi',
|
|
sources = ['@srcdir@/netlink/genl/capi.i'],
|
|
include_dirs = include,
|
|
swig_opts = opts,
|
|
library_dirs = library_dirs,
|
|
libraries = ['nl-3', 'nl-genl-3'],
|
|
)
|
|
|
|
setup(name = 'netlink',
|
|
version = '1.0',
|
|
description = 'Python wrapper for netlink protocols',
|
|
author = 'Thomas Graf',
|
|
author_email = 'tgraf@suug.ch',
|
|
ext_modules = [netlink_capi, route_capi, genl_capi],
|
|
package_dir = {'': '@srcdir@'},
|
|
packages = ['netlink', 'netlink.genl', 'netlink.route',
|
|
'netlink.route.links', 'netlink.route.qdisc'],
|
|
)
|