mirror of
https://github.com/TREX-CoE/trexio.git
synced 2024-11-03 20:54:07 +01:00
build Python module using pythonic distutils
This commit is contained in:
parent
4faee98092
commit
8c6289a8ba
31
Makefile.am
31
Makefile.am
@ -180,24 +180,37 @@ cppcheck.out: $(trexio_h)
|
|||||||
-I../include *.c *.h 2>../$@
|
-I../include *.c *.h 2>../$@
|
||||||
|
|
||||||
|
|
||||||
python: src/_pytrexio.so
|
python: src/_pytrexio*.so
|
||||||
|
|
||||||
python-test: src/test.py src/_pytrexio.so
|
python-test: src/test.py src/_pytrexio*.so
|
||||||
cd src/ && python3 test.py
|
cd src/ && python3 test.py
|
||||||
$(RM) -r -- src/__pycache__
|
$(RM) -r -- src/__pycache__
|
||||||
|
|
||||||
src/_pytrexio.so: $(ORG_FILES) $(trexio_h) src/pytrexio.i
|
# Advanced compilation using Python-native distutils
|
||||||
|
#
|
||||||
|
# swig -python -threads pytrexio.i ----> Add thread support for all the interface
|
||||||
|
#
|
||||||
|
src/_pytrexio*.so: $(ORG_FILES) $(trexio_h) src/pytrexio.i
|
||||||
cp $(trexio_h) src/
|
cp $(trexio_h) src/
|
||||||
cd src/ && \
|
cd src/ && \
|
||||||
swig -python -o pytrexio_wrap.c pytrexio.i && \
|
swig -python -py3 -o pytrexio_wrap.c pytrexio.i && \
|
||||||
$(CC) $(CPPFLAGS) -I/usr/include/python3.8 -fPIC -Wno-discarded-qualifiers \
|
python3 setup.py build_ext --inplace --swig-opts="-modern"
|
||||||
-c trexio.c trexio_hdf5.c trexio_text.c pytrexio_wrap.c && \
|
|
||||||
$(CC) -shared trexio.o trexio_hdf5.o trexio_text.o pytrexio_wrap.o \
|
|
||||||
$(LDFLAGS) $(LIBS) -o _pytrexio.so
|
|
||||||
$(RM) -- src/trexio.h
|
$(RM) -- src/trexio.h
|
||||||
|
|
||||||
|
# Manual compilation of Python module
|
||||||
|
#
|
||||||
|
#src/_pytrexio.so: $(ORG_FILES) $(trexio_h) src/pytrexio.i
|
||||||
|
# cp $(trexio_h) src/
|
||||||
|
# cd src/ && \
|
||||||
|
# swig -python -py3 -o pytrexio_wrap.c pytrexio.i && \
|
||||||
|
# $(CC) $(CPPFLAGS) -I/usr/include/python3.8 -fPIC -Wno-discarded-qualifiers \
|
||||||
|
# -c trexio.c trexio_hdf5.c trexio_text.c pytrexio_wrap.c && \
|
||||||
|
# $(CC) -shared trexio.o trexio_hdf5.o trexio_text.o pytrexio_wrap.o \
|
||||||
|
# $(LDFLAGS) $(LIBS) -o _pytrexio.so
|
||||||
|
# $(RM) -- src/trexio.h
|
||||||
|
#
|
||||||
|
|
||||||
CLEANFILES += src/pytrexio_wrap.c src/pytrexio.py src/_pytrexio.so
|
CLEANFILES += src/pytrexio_wrap.c src/pytrexio.py src/_pytrexio*.so
|
||||||
|
|
||||||
.PHONY: cppcheck python python-test
|
.PHONY: cppcheck python python-test
|
||||||
|
|
||||||
|
27
src/setup.py
Normal file
27
src/setup.py
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
|
||||||
|
"""
|
||||||
|
setup.py file for pytrexio
|
||||||
|
"""
|
||||||
|
|
||||||
|
from distutils.core import setup, Extension
|
||||||
|
|
||||||
|
|
||||||
|
pytrexio_module = Extension('_pytrexio',
|
||||||
|
sources=['trexio.c', 'trexio_hdf5.c', 'trexio_text.c', 'pytrexio_wrap.c'],
|
||||||
|
include_dirs=['/usr/include/hdf5/serial'],
|
||||||
|
#runtime_library_dirs=['/usr/lib/x86_64-linux-gnu/hdf5/serial'],
|
||||||
|
libraries=['hdf5', 'hdf5_hl'],
|
||||||
|
#extra_compile_args=['-I/usr/include/hdf5/serial'],
|
||||||
|
extra_link_args=['-L/usr/lib/x86_64-linux-gnu/hdf5/serial']
|
||||||
|
)
|
||||||
|
|
||||||
|
setup (name = 'pytrexio',
|
||||||
|
version = '0.1',
|
||||||
|
author = "TREX-CoE",
|
||||||
|
description = """Python API of the TREXIO library""",
|
||||||
|
ext_modules = [pytrexio_module],
|
||||||
|
py_modules = ["pytrexio"],
|
||||||
|
url='https://github.com/TREX-CoE/trexio',
|
||||||
|
packages=['distutils', 'distutils.command'],
|
||||||
|
)
|
Loading…
Reference in New Issue
Block a user