Re: [Xen-devel] [PATCH] libxenstat: fixed Makefile for building python-bindings

2020-03-04 Thread Jonas Licht
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

2020-03-02 Thread jonas . licht

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