proper cython setup
This commit is contained in:
parent
1ec81cafe6
commit
d9d317d6a5
1
.gitignore
vendored
1
.gitignore
vendored
@ -11,3 +11,4 @@ tdmripper
|
|||||||
*.log
|
*.log
|
||||||
*.txt
|
*.txt
|
||||||
tdmreaper
|
tdmreaper
|
||||||
|
cython/*.cpp
|
||||||
|
@ -6,14 +6,19 @@ extensions = Extension(
|
|||||||
name="tdm_reaper",
|
name="tdm_reaper",
|
||||||
sources=["cython/tdm_reaper.pyx"],
|
sources=["cython/tdm_reaper.pyx"],
|
||||||
# libraries=[""],
|
# libraries=[""],
|
||||||
library_dirs=["lib"],
|
# library_dirs=["lib"],
|
||||||
include_dirs=["lib"],
|
include_dirs=["lib","pugixml"],
|
||||||
language='c++',
|
language='c++',
|
||||||
extra_compile_args=['-std=c++17','-Wno-unused-variable'],
|
extra_compile_args=['-std=c++17','-Wno-unused-variable'],
|
||||||
extra_link_args=['-std=c++17'],
|
extra_link_args=['-std=c++17'],
|
||||||
)
|
)
|
||||||
|
|
||||||
setup(
|
setup(
|
||||||
|
version='0.1',
|
||||||
|
description='TDMReaper cython extension',
|
||||||
|
author='Record Evolution GmbH',
|
||||||
|
author_email='mario.fink@record-evolution.de',
|
||||||
|
url='https://github.com/RecordEvolution/tdm_ripper.git',
|
||||||
name="tdm_reaper",
|
name="tdm_reaper",
|
||||||
ext_modules=cythonize(extensions)
|
ext_modules=cythonize(extensions)
|
||||||
)
|
)
|
||||||
|
@ -6,10 +6,10 @@ from libcpp.string cimport string
|
|||||||
from libcpp.vector cimport vector
|
from libcpp.vector cimport vector
|
||||||
from libcpp cimport bool
|
from libcpp cimport bool
|
||||||
|
|
||||||
cdef extern from "../lib/tdm_reaper.hpp":
|
cdef extern from "tdm_reaper.hpp":
|
||||||
cdef cppclass raw_eater:
|
cdef cppclass tdmreaper:
|
||||||
# constructor(s)
|
# constructor(s)
|
||||||
raw_eater() except +
|
tdmreaper() except +
|
||||||
# set new file for decoding
|
# set new file for decoding
|
||||||
# void set_file(string)
|
# void set_file(string)
|
||||||
# # perform conversion (pass any C++ exceptions to Python)
|
# # perform conversion (pass any C++ exceptions to Python)
|
||||||
|
@ -4,14 +4,14 @@ import numpy as np
|
|||||||
import re
|
import re
|
||||||
import os
|
import os
|
||||||
|
|
||||||
cdef class tdmripper:
|
cdef class tdm_reaper:
|
||||||
|
|
||||||
# C++ instance of class => stack allocated (requires nullary constructor!)
|
# C++ instance of class => stack allocated (requires nullary constructor!)
|
||||||
cdef tdm_reaper tdminst
|
cdef tdm_reaper tdmrip
|
||||||
|
|
||||||
# constructor
|
# constructor
|
||||||
def __cinit__(self):
|
def __cinit__(self):
|
||||||
self.tdminst = tdm_reaper()
|
self.tdmrip = tdm_reaper()
|
||||||
|
|
||||||
# def set_file(self, string rawfile):
|
# def set_file(self, string rawfile):
|
||||||
# if not os.path.isfile(rawfile) :
|
# if not os.path.isfile(rawfile) :
|
||||||
|
42
makefile
42
makefile
@ -55,7 +55,7 @@ main.o : src/main.cpp lib/$(SRC).hpp $(HPP)
|
|||||||
$(SRC).o : lib/$(SRC).cpp lib/$(SRC).hpp $(HPP)
|
$(SRC).o : lib/$(SRC).cpp lib/$(SRC).hpp $(HPP)
|
||||||
$(CC) -c $(OPT) -I $(LIB) $< -o $@
|
$(CC) -c $(OPT) -I $(LIB) $< -o $@
|
||||||
|
|
||||||
clean :
|
clean-cpp :
|
||||||
rm -f $(EXE) *.o src/main.cpp.cpp
|
rm -f $(EXE) *.o src/main.cpp.cpp
|
||||||
|
|
||||||
# --------------------------------------------------------------------------- #
|
# --------------------------------------------------------------------------- #
|
||||||
@ -66,25 +66,27 @@ checkps :
|
|||||||
@ps aux | grep $(EXE) | grep -v "grep"
|
@ps aux | grep $(EXE) | grep -v "grep"
|
||||||
|
|
||||||
# --------------------------------------------------------------------------- #
|
# --------------------------------------------------------------------------- #
|
||||||
# python module
|
# python/cython module
|
||||||
#
|
|
||||||
# pylib : setup.py pytdm_ripper.pyx tdm_ripper.pxd tdm_ripper.o
|
|
||||||
# python3 setup.py build_ext --inplace
|
|
||||||
#
|
|
||||||
# install : setup.py pytdm_ripper.pyx tdm_ripper.pxd lib/tdm_ripper.cpp lib/tdm_ripper.hpp
|
|
||||||
# python3 setup.py install
|
|
||||||
#
|
|
||||||
# install_osx : setup_osx.py pytdm_ripper.pyx tdm_ripper.pxd lib/tdm_ripper.cpp lib/tdm_ripper.hpp
|
|
||||||
# python3 setup_osx.py install
|
|
||||||
#
|
|
||||||
# lib/libtdmripper.a :
|
|
||||||
# make -C lib libtdmripper.a
|
|
||||||
#
|
|
||||||
# clean-lib :
|
|
||||||
# rm -f lib/*.o lib/*.a
|
|
||||||
# rm -f -r build
|
|
||||||
# rm -f pytdm_ripper.cpp
|
|
||||||
# rm -f *.so
|
|
||||||
|
|
||||||
|
cython-help : cython/setup.py
|
||||||
|
python3 $< --help
|
||||||
|
|
||||||
|
cython-list : cython/setup.py
|
||||||
|
python3 $< --name --description --author --author-email --url
|
||||||
|
|
||||||
|
cython-build : cython/setup.py cython/tdm_reaper.pyx cython/tdm_reaper.pyx
|
||||||
|
python3 $< build_ext --inplace
|
||||||
|
# python3 $< build_ext
|
||||||
|
|
||||||
|
cython-install : cython/setup.py cython/tdm_reaper.pyx cython/tdm_reaper.pyx
|
||||||
|
python3 $< install
|
||||||
|
|
||||||
|
clean-cython :
|
||||||
|
rm -vf cython/tdm_reaper.cpp tdm_reaper.cpython-*.so
|
||||||
|
rm -r build
|
||||||
|
|
||||||
|
# --------------------------------------------------------------------------- #
|
||||||
|
|
||||||
|
clean : clean-cpp clean-cython
|
||||||
|
|
||||||
# --------------------------------------------------------------------------- #
|
# --------------------------------------------------------------------------- #
|
||||||
|
Loading…
x
Reference in New Issue
Block a user