From: Martin Belanger Date: Wed, 14 Jul 2021 17:49:59 +0000 (-0400) Subject: Move 'Python bindings' SWIG and Makefile to 'pynvme' directory X-Git-Tag: v1.0-rc0~116^2~3 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=ed821fd141e90e02104f2fb28d9a0bc84becc352;p=users%2Fsagi%2Flibnvme.git Move 'Python bindings' SWIG and Makefile to 'pynvme' directory --- diff --git a/Makefile b/Makefile index 2dd7137a..3574a9ac 100644 --- a/Makefile +++ b/Makefile @@ -9,7 +9,7 @@ INSTALL=install default: all python: all - @$(MAKE) -C src python + @$(MAKE) -C pynvme python all: $(NAME).pc @$(MAKE) -C src diff --git a/pynvme/.gitignore b/pynvme/.gitignore new file mode 100644 index 00000000..44ac4fef --- /dev/null +++ b/pynvme/.gitignore @@ -0,0 +1,3 @@ +build/ +nvme.py +nvme_wrap.c diff --git a/pynvme/Makefile b/pynvme/Makefile new file mode 100644 index 00000000..f82a83bb --- /dev/null +++ b/pynvme/Makefile @@ -0,0 +1,18 @@ +.DEFAULT_GOAL := python + +SWIG ?= swig +PYTHON ?= python3 + +nvme_swig := nvme.i + +nvme_wrap.c: $(nvme_swig) + $(SWIG) -python -py3 -outdir . $< + +python: nvme_wrap.c setup.py + $(PYTHON) setup.py build + +#install: +# + +clean: + rm -rf nvme_wrap.c nvme.py build diff --git a/src/nvme/libnvme.i b/pynvme/nvme.i similarity index 99% rename from src/nvme/libnvme.i rename to pynvme/nvme.i index 8037df48..18a32617 100644 --- a/src/nvme/libnvme.i +++ b/pynvme/nvme.i @@ -21,10 +21,10 @@ %{ #include #include -#include "tree.h" -#include "fabrics.h" -#include "private.h" -#include "log.h" +#include "nvme/tree.h" +#include "nvme/fabrics.h" +#include "nvme/private.h" +#include "nvme/log.h" static int host_iter_err = 0; static int subsys_iter_err = 0; @@ -530,6 +530,7 @@ struct nvme_ns { void disconnect() { nvme_disconnect_ctrl($self); } + %newobject discover; struct nvmf_discovery_log *discover(int max_retries = 6) { struct nvmf_discovery_log *logp = NULL; @@ -607,3 +608,4 @@ struct nvme_ns { return nvme_ns_get_name(n); } %}; + diff --git a/pynvme/setup.py b/pynvme/setup.py new file mode 100644 index 00000000..8db418ae --- /dev/null +++ b/pynvme/setup.py @@ -0,0 +1,18 @@ +from distutils.core import setup, Extension + +libnvme_module = Extension( + '_nvme', + sources = ['nvme_wrap.c'], + libraries = ['nvme', 'json-c', 'uuid', 'systemd'], + library_dirs = ['../src'], + include_dirs = ['../ccan', '../src', '../src/nvme'], +) + +setup( + name='libnvme', + author="Hannes Reinecke", + author_email='hare@suse.de', + description='python bindings for libnvme', + ext_modules=[libnvme_module], + py_modules=["nvme"], +) diff --git a/src/Makefile b/src/Makefile index cf767e26..06a4ad34 100644 --- a/src/Makefile +++ b/src/Makefile @@ -49,7 +49,6 @@ $(libccan_objs) $(libccan_sobjs): $(libccan_headers) $(CCANDIR)config.h libnvme_priv := nvme/private.h libnvme_api := libnvme.h nvme/types.h nvme/ioctl.h nvme/filters.h nvme/tree.h nvme/util.h nvme/fabrics.h libnvme_srcs := nvme/ioctl.c nvme/filters.c nvme/fabrics.c nvme/util.c nvme/tree.c nvme/log.c nvme/cleanup.c -libnvme_swig := nvme/libnvme.i ifneq ($(CONFIG_JSONC),0) override libnvme_srcs += nvme/json.c endif @@ -66,8 +65,6 @@ $(libnvme_objs) $(libnvme_sobjs): $(libnvme_api) $(libnvme_private) $(libccan_ob AR ?= ar RANLIB ?= ranlib -SWIG ?= swig -PYTHON ?= python3 libnvme.a: $(libnvme_objs) $(libccan_objs) @rm -f libnvme.a @@ -77,12 +74,6 @@ libnvme.a: $(libnvme_objs) $(libccan_objs) $(libname): $(libnvme_sobjs) $(libccan_sobjs) libnvme.map $(QUIET_CC)$(CC) $(SO_CFLAGS) -Wl,--version-script=libnvme.map -Wl,-soname=$(soname) -o $@ $(libnvme_sobjs) $(libccan_sobjs) $(LINK_FLAGS) -nvme/libnvme_wrap.c: $(libnvme_swig) - $(SWIG) -python -py3 -outdir . $< - -python: nvme/libnvme_wrap.c setup.py - $(PYTHON) setup.py build - install: $(all_targets) $(INSTALL) -D -m 644 libnvme.a $(libdir)/libnvme.a for i in $(libnvme_api); do $(INSTALL) -D -m 644 $$i $(includedir)/$$i; done @@ -99,5 +90,4 @@ clean: rm -f $(all_targets) $(libnvme_objs) $(libnvme_sobjs) $(libccan_objs) $(libccan_sobjs) $(soname).new rm -f $(CCANDIR)config.h rm -f $(CCANDIR)tools/configurator/configurator - rm -f nvme/libnvme_wrap.c rm -f *.so* *.a *.o diff --git a/src/setup.py b/src/setup.py deleted file mode 100644 index 01100edc..00000000 --- a/src/setup.py +++ /dev/null @@ -1,14 +0,0 @@ -from distutils.core import setup, Extension - -libnvme_module = Extension('_nvme', - sources=['nvme/libnvme_wrap.c'], - libraries=['nvme', 'json-c', 'uuid', 'systemd'], library_dirs=['./'], - include_dirs = ['../ccan','nvme']) - -setup(name='libnvme', - author="Hannes Reinecke", - author_email='hare@suse.de', - description='python bindings for libnvme', - ext_modules=[libnvme_module], - py_modules=["nvme"], -)