proper cython setup
This commit is contained in:
parent
1ec81cafe6
commit
d9d317d6a5
1
.gitignore
vendored
1
.gitignore
vendored
@ -11,3 +11,4 @@ tdmripper
|
||||
*.log
|
||||
*.txt
|
||||
tdmreaper
|
||||
cython/*.cpp
|
||||
|
@ -6,14 +6,19 @@ extensions = Extension(
|
||||
name="tdm_reaper",
|
||||
sources=["cython/tdm_reaper.pyx"],
|
||||
# libraries=[""],
|
||||
library_dirs=["lib"],
|
||||
include_dirs=["lib"],
|
||||
# library_dirs=["lib"],
|
||||
include_dirs=["lib","pugixml"],
|
||||
language='c++',
|
||||
extra_compile_args=['-std=c++17','-Wno-unused-variable'],
|
||||
extra_link_args=['-std=c++17'],
|
||||
)
|
||||
|
||||
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",
|
||||
ext_modules=cythonize(extensions)
|
||||
)
|
||||
|
@ -6,10 +6,10 @@ from libcpp.string cimport string
|
||||
from libcpp.vector cimport vector
|
||||
from libcpp cimport bool
|
||||
|
||||
cdef extern from "../lib/tdm_reaper.hpp":
|
||||
cdef cppclass raw_eater:
|
||||
cdef extern from "tdm_reaper.hpp":
|
||||
cdef cppclass tdmreaper:
|
||||
# constructor(s)
|
||||
raw_eater() except +
|
||||
tdmreaper() except +
|
||||
# set new file for decoding
|
||||
# void set_file(string)
|
||||
# # perform conversion (pass any C++ exceptions to Python)
|
||||
|
@ -4,14 +4,14 @@ import numpy as np
|
||||
import re
|
||||
import os
|
||||
|
||||
cdef class tdmripper:
|
||||
cdef class tdm_reaper:
|
||||
|
||||
# C++ instance of class => stack allocated (requires nullary constructor!)
|
||||
cdef tdm_reaper tdminst
|
||||
cdef tdm_reaper tdmrip
|
||||
|
||||
# constructor
|
||||
def __cinit__(self):
|
||||
self.tdminst = tdm_reaper()
|
||||
self.tdmrip = tdm_reaper()
|
||||
|
||||
# def set_file(self, string 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)
|
||||
$(CC) -c $(OPT) -I $(LIB) $< -o $@
|
||||
|
||||
clean :
|
||||
clean-cpp :
|
||||
rm -f $(EXE) *.o src/main.cpp.cpp
|
||||
|
||||
# --------------------------------------------------------------------------- #
|
||||
@ -66,25 +66,27 @@ checkps :
|
||||
@ps aux | grep $(EXE) | grep -v "grep"
|
||||
|
||||
# --------------------------------------------------------------------------- #
|
||||
# python 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
|
||||
# python/cython module
|
||||
|
||||
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