Re: [Xen-devel] [PATCH] libxenstat: fixed Makefile for building python-bindings
Am 04.03.20 um 11:31 schrieb Wei Liu: > Hi Jonas Hi Wei > Thanks for this patch. > > On Mon, Mar 02, 2020 at 06:53:38PM +0100, jonas.li...@fem.tu-ilmenau.de wrote: >> Fixes the libxenstat Makefile to determine the correct paths >> of python includes when building python-bindings. >> Also replaces the -lxenstat linking to correct object files >> and use the libdir variable for installing. >> >> Signed-off-by: Jonas Licht >> --- >> tools/xenstat/libxenstat/Makefile | 11 +-- >> 1 file changed, 5 insertions(+), 6 deletions(-) >> >> diff --git a/tools/xenstat/libxenstat/Makefile >> b/tools/xenstat/libxenstat/Makefile >> index 03cb212e3b..4a02d2e563 100644 >> --- a/tools/xenstat/libxenstat/Makefile >> +++ b/tools/xenstat/libxenstat/Makefile >> @@ -114,18 +114,17 @@ $(BINDINGS): $(SHLIB) $(SHLIB_LINKS) src/xenstat.h >> SWIG_FLAGS=-module xenstat -Isrc >> >> # Python bindings >> -PYTHON_VERSION=$(PYTHON:python%=%) >> -PYTHON_FLAGS=-I/usr/include/python$(PYTHON_VERSION) >> -lpython$(PYTHON_VERSION) >> +PYTHON_FLAGS=`$(PYTHON) -c 'import distutils.sysconfig; print("-I" + > A better approach would be to use python-config here. I'm not quite sure if I can require the python-config tool is installed. As I see it's not checked by the configure. I've seen some configure scripts, which has an extra fallback when python-config is missing. I was inspired by the m4/python_devel.m4 script too. Best regards, Jonas ___ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
[Xen-devel] [PATCH] libxenstat: fixed Makefile for building python-bindings
Fixes the libxenstat Makefile to determine the correct paths of python includes when building python-bindings. Also replaces the -lxenstat linking to correct object files and use the libdir variable for installing. Signed-off-by: Jonas Licht --- tools/xenstat/libxenstat/Makefile | 11 +-- 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/tools/xenstat/libxenstat/Makefile b/tools/xenstat/libxenstat/Makefile index 03cb212e3b..4a02d2e563 100644 --- a/tools/xenstat/libxenstat/Makefile +++ b/tools/xenstat/libxenstat/Makefile @@ -114,18 +114,17 @@ $(BINDINGS): $(SHLIB) $(SHLIB_LINKS) src/xenstat.h SWIG_FLAGS=-module xenstat -Isrc # Python bindings -PYTHON_VERSION=$(PYTHON:python%=%) -PYTHON_FLAGS=-I/usr/include/python$(PYTHON_VERSION) -lpython$(PYTHON_VERSION) +PYTHON_FLAGS=`$(PYTHON) -c 'import distutils.sysconfig; print("-I" + distutils.sysconfig.get_python_inc(True) + " " + distutils.sysconfig.get_config_var("BLDLIBRARY"))'` $(PYMOD): $(PYSRC) $(PYSRC): bindings/swig/xenstat.i swig -python $(SWIG_FLAGS) -outdir $(@D) -o $(PYSRC) $< $(PYLIB): $(PYSRC) - $(CC) $(CFLAGS) $(LDFLAGS) $(PYTHON_FLAGS) $(SHLIB_LDFLAGS) -lxenstat -o $@ $< $(APPEND_LDFLAGS) + $(CC) $(CFLAGS) $(LDFLAGS) $(PYTHON_FLAGS) $(SHLIB_LDFLAGS) -o $@ $< $(SHLIB) $(LDLIBS-y) $(APPEND_LDFLAGS) python-bindings: $(PYLIB) $(PYMOD) -pythonlibdir=$(prefix)/lib/python$(PYTHON_VERSION)/site-packages +pythonlibdir=`$(PYTHON) -c 'import distutils.sysconfig; print(distutils.sysconfig.get_python_lib())'` install-python-bindings: $(PYLIB) $(PYMOD) $(INSTALL_PROG) $(PYLIB) $(DESTDIR)$(pythonlibdir)/_xenstat.so $(INSTALL_PROG) $(PYMOD) $(DESTDIR)$(pythonlibdir)/xenstat.py @@ -149,13 +148,13 @@ $(PERLSRC): bindings/swig/xenstat.i swig -perl $(SWIG_FLAGS) -outdir $(@D) -o $(PERLSRC) $< $(PERLLIB): $(PERLSRC) - $(CC) $(CFLAGS) $(LDFLAGS) $(PERL_FLAGS) $(SHLIB_LDFLAGS) -lxenstat -o $@ $< $(APPEND_LDFLAGS) + $(CC) $(CFLAGS) $(LDFLAGS) $(PERL_FLAGS) $(SHLIB_LDFLAGS) -o $@ $< $(SHLIB) $(LDLIBS-y) $(APPEND_LDFLAGS) .PHONY: perl-bindings perl-bindings: $(PERLLIB) $(PERLMOD) .PHONY: install-perl-bindings -perllibdir=$(prefix)/lib/perl5 +perllibdir=$(prefix)/$(libdir)/perl5 perlmoddir=$(prefix)/share/perl5 install-perl-bindings: $(PERLLIB) $(PERLMOD) $(INSTALL_PROG) $(PERLLIB) $(DESTDIR)$(perllibdir)/xenstat.so -- 2.24.1 ___ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel