mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-04-30 03:58:59 +00:00
python-lxc: pass include/library dirs as arguments to setup.py
Signed-off-by: Aleksandr Mezin <mezin.alexander@gmail.com>
This commit is contained in:
parent
58a44782d9
commit
00d98acd9f
1
.gitignore
vendored
1
.gitignore
vendored
@ -66,7 +66,6 @@ src/lxc/lxc-wait
|
||||
src/lxc/lxc-user-nic
|
||||
src/lxc/version.h
|
||||
|
||||
src/python-lxc/setup.py
|
||||
src/python-lxc/build/
|
||||
src/python-lxc/lxc/__pycache__/
|
||||
|
||||
|
@ -847,7 +847,6 @@ AC_CONFIG_FILES([
|
||||
src/lxc/lxc.functions
|
||||
src/lxc/version.h
|
||||
src/python-lxc/Makefile
|
||||
src/python-lxc/setup.py
|
||||
|
||||
src/lua-lxc/Makefile
|
||||
|
||||
|
@ -6,21 +6,25 @@ else
|
||||
DISTSETUPOPTS=
|
||||
endif
|
||||
|
||||
INSTALL_OPTS := install --prefix=$(prefix) --no-compile $(DISTSETUPOPTS)
|
||||
CALL_SETUP_PY := cd @srcdir@ && $(PYTHON) setup.py build -b @abs_builddir@/build
|
||||
|
||||
all:
|
||||
$(PYTHON) setup.py build
|
||||
$(CALL_SETUP_PY) build_ext -I @abs_top_srcdir@/src -L @abs_top_builddir@/src/lxc
|
||||
|
||||
install:
|
||||
if [ "$(DESTDIR)" = "" ]; then \
|
||||
$(PYTHON) setup.py install --prefix=$(prefix) --no-compile $(DISTSETUPOPTS); \
|
||||
if [ -z "$(DESTDIR)" ]; then \
|
||||
$(CALL_SETUP_PY) $(INSTALL_OPTS); \
|
||||
else \
|
||||
$(PYTHON) setup.py install --root=$(DESTDIR) --prefix=$(prefix) --no-compile $(DISTSETUPOPTS); \
|
||||
$(CALL_SETUP_PY) $(INSTALL_OPTS) --root=$(DESTDIR); \
|
||||
fi
|
||||
|
||||
clean-local:
|
||||
rm -rf build
|
||||
rm -rf @builddir@/build
|
||||
|
||||
endif
|
||||
EXTRA_DIST = \
|
||||
setup.py \
|
||||
lxc.c \
|
||||
lxc/__init__.py \
|
||||
examples/api_test.py \
|
||||
|
34
src/python-lxc/setup.py
Normal file
34
src/python-lxc/setup.py
Normal file
@ -0,0 +1,34 @@
|
||||
#!/usr/bin/env python3
|
||||
#
|
||||
# python-lxc: Python bindings for LXC
|
||||
#
|
||||
# (C) Copyright Canonical Ltd. 2012
|
||||
#
|
||||
# Authors:
|
||||
# Stéphane Graber <stgraber@ubuntu.com>
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2.1 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
|
||||
# USA
|
||||
|
||||
from distutils.core import setup, Extension
|
||||
|
||||
|
||||
setup(name='_lxc',
|
||||
version='0.1',
|
||||
description='LXC',
|
||||
packages=['lxc'],
|
||||
package_dir={'lxc': 'lxc'},
|
||||
ext_modules=[Extension('_lxc', sources=['lxc.c'], libraries=['lxc'])],
|
||||
)
|
@ -1,57 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
#
|
||||
# python-lxc: Python bindings for LXC
|
||||
#
|
||||
# (C) Copyright Canonical Ltd. 2012
|
||||
#
|
||||
# Authors:
|
||||
# Stéphane Graber <stgraber@ubuntu.com>
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the GNU Lesser General Public
|
||||
# License as published by the Free Software Foundation; either
|
||||
# version 2.1 of the License, or (at your option) any later version.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301
|
||||
# USA
|
||||
|
||||
import os, os.path
|
||||
from distutils.core import setup, Extension
|
||||
|
||||
# Distutils doesn't cope well with source files that have relative paths going
|
||||
# up in the directory tree: it tries to navigate outside of the build dir and
|
||||
# fails miserably. Therefore, we will instead cd to the source directory,
|
||||
# run this script from there, but write the build products to the correct path.
|
||||
#
|
||||
# Since we will be changing directories before building, we must transform
|
||||
# all the path variables to their forms relative to srcdir.
|
||||
|
||||
srcdir, builddir, top_srcdir, top_builddir = map(os.path.abspath,
|
||||
["@srcdir@", "@builddir@", "@top_srcdir@", "@top_builddir@"])
|
||||
|
||||
builddir, top_srcdir, top_builddir = map(lambda d: os.path.relpath(d, srcdir),
|
||||
[builddir, top_srcdir, top_builddir])
|
||||
|
||||
os.chdir(srcdir)
|
||||
|
||||
module = Extension('_lxc', sources=['lxc.c'],
|
||||
include_dirs=[os.path.join(top_srcdir, 'src'),
|
||||
os.path.join(top_builddir, 'src')],
|
||||
library_dirs=[os.path.join(top_builddir, 'src/lxc')],
|
||||
libraries=['lxc'])
|
||||
|
||||
|
||||
setup(name='_lxc',
|
||||
version='0.1',
|
||||
description='LXC',
|
||||
packages=['lxc'],
|
||||
package_dir={'lxc': 'lxc'},
|
||||
ext_modules=[module],
|
||||
options={'build': {'build_base': os.path.join(builddir, 'build')}})
|
Loading…
Reference in New Issue
Block a user