tools/xenstat/libxenstat/Makefile | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)
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 <jonas.licht@fem.tu-ilmenau.de>
---
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
Hi Jonas Thanks for this patch. On Mon, Mar 02, 2020 at 06:53:38PM +0100, jonas.licht@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 <jonas.licht@fem.tu-ilmenau.de> > --- > 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. > 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; And here. Wei. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
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.licht@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 <jonas.licht@fem.tu-ilmenau.de> >> --- >> 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
On Wed, Mar 04, 2020 at 06:29:39PM +0100, Jonas Licht wrote: > 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.licht@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 <jonas.licht@fem.tu-ilmenau.de> > >> --- > >> 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. python-config is installed as part of python-dev on Debian, as well as Redhat/CentOS. The configure script does check if python development package is installed. > 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. In any case, I think this patch is already an improvement over what is in tree. Acked-by: Wei Liu <wl@xen.org> Wei. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xenproject.org https://lists.xenproject.org/mailman/listinfo/xen-devel
© 2016 - 2024 Red Hat, Inc.