From 2d3a356cb19010e0ccd394eceace43e5cbe8003b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20K=C4=99dzia?= <pawel.kedzia@pwr.wroc.pl> Date: Wed, 11 May 2011 18:21:34 +0200 Subject: [PATCH] (swig) Added corpus2 library. To use corpus2 python library (wrappers for C++ corpus2) you should do: 'import corpus2' in python --- swig/CMakeLists.txt | 150 +++----------------------------------------- swig/Makefile | 27 ++++++-- swig/makewrapper.sh | 2 +- 3 files changed, 32 insertions(+), 147 deletions(-) diff --git a/swig/CMakeLists.txt b/swig/CMakeLists.txt index eada903..978ece1 100644 --- a/swig/CMakeLists.txt +++ b/swig/CMakeLists.txt @@ -38,129 +38,18 @@ SET(CMAKE_SWIG_FLAGS "") SET(SWIG_SRC_DIR ${SWIG_DIR}/libcorpus) # ----------------------------------------------------------------------------- -# libpwrnlperror -SET_SOURCE_FILES_PROPERTIES(libpwrnlperror.i PROPERTIES CPLUSPLUS ON) -SET_SOURCE_FILES_PROPERTIES(libpwrnlperror.i PROPERTIES SWIG_FLAGS "-includeall" ) -SWIG_ADD_MODULE(libpwrnlperror python libpwrnlperror.i ) -SWIG_LINK_LIBRARIES(libpwrnlperror ${PYTHON_LIBRARIES} ${PWRUTILS_LIBS}) - -# ----------------------------------------------------------------------------- -# libcorpus2exception -SET_SOURCE_FILES_PROPERTIES(libcorpus2exception.i PROPERTIES CPLUSPLUS ON) -SET_SOURCE_FILES_PROPERTIES(libcorpus2exception.i PROPERTIES SWIG_FLAGS "-includeall" ) -SWIG_ADD_MODULE(libcorpus2exception python libcorpus2exception.i ) -SWIG_LINK_LIBRARIES(libcorpus2exception ${PYTHON_LIBRARIES} ${CORPUS2_PWR_LIBS}) - -# ----------------------------------------------------------------------------- -# libcorpustag -SET_SOURCE_FILES_PROPERTIES(libcorpustag.i PROPERTIES CPLUSPLUS ON) -SET_SOURCE_FILES_PROPERTIES(libcorpustag.i PROPERTIES SWIG_FLAGS "-includeall" ) -SWIG_ADD_MODULE(libcorpustag python libcorpustag.i ) -SWIG_LINK_LIBRARIES(libcorpustag ${PYTHON_LIBRARIES} ${CORPUS2_PWR_LIBS}) - -# ----------------------------------------------------------------------------- -# libcorpustagset -SET_SOURCE_FILES_PROPERTIES(libcorpustagset.i PROPERTIES CPLUSPLUS ON) -SET_SOURCE_FILES_PROPERTIES(libcorpustagset.i PROPERTIES SWIG_FLAGS "-includeall" ) -SWIG_ADD_MODULE(libcorpustagset python libcorpustagset.i ) -SWIG_LINK_LIBRARIES(libcorpustagset ${PYTHON_LIBRARIES} ${CORPUS2_PWR_LIBS}) - -# ----------------------------------------------------------------------------- -# libcorpustagsetmanager -SET_SOURCE_FILES_PROPERTIES(libcorpustagsetmanager.i PROPERTIES CPLUSPLUS ON) -SET_SOURCE_FILES_PROPERTIES(libcorpustagsetmanager.i PROPERTIES SWIG_FLAGS "-includeall" ) -SWIG_ADD_MODULE(libcorpustagsetmanager python libcorpustagsetmanager.i ) -SWIG_LINK_LIBRARIES(libcorpustagsetmanager ${PYTHON_LIBRARIES} ${CORPUS2_PWR_LIBS}) - -# ----------------------------------------------------------------------------- -# libcorpuslexeme -SET_SOURCE_FILES_PROPERTIES(libcorpuslexeme.i PROPERTIES CPLUSPLUS ON) -SET_SOURCE_FILES_PROPERTIES(libcorpuslexeme.i PROPERTIES SWIG_FLAGS "-includeall" ) -SWIG_ADD_MODULE(libcorpuslexeme python libcorpuslexeme.i ) -SWIG_LINK_LIBRARIES(libcorpuslexeme ${PYTHON_LIBRARIES} ${CORPUS2_PWR_LIBS}) - -# ----------------------------------------------------------------------------- -# libcorpussentence -SET_SOURCE_FILES_PROPERTIES(libcorpussentence.i PROPERTIES CPLUSPLUS ON) -SET_SOURCE_FILES_PROPERTIES(libcorpussentence.i PROPERTIES SWIG_FLAGS "-includeall" ) -SWIG_ADD_MODULE(libcorpussentence python libcorpussentence.i ) -SWIG_LINK_LIBRARIES(libcorpussentence ${PYTHON_LIBRARIES} ${CORPUS2_PWR_LIBS}) - -# ----------------------------------------------------------------------------- -# libcorpuschunk -SET_SOURCE_FILES_PROPERTIES(libcorpuschunk.i PROPERTIES CPLUSPLUS ON) -SET_SOURCE_FILES_PROPERTIES(libcorpuschunk.i PROPERTIES SWIG_FLAGS "-includeall" ) -SWIG_ADD_MODULE(libcorpuschunk python libcorpuschunk.i ) -SWIG_LINK_LIBRARIES(libcorpuschunk ${PYTHON_LIBRARIES} ${CORPUS2_PWR_LIBS}) - -# ----------------------------------------------------------------------------- -# libcorpustoken -SET_SOURCE_FILES_PROPERTIES(libcorpustoken.i PROPERTIES CPLUSPLUS ON) -SET_SOURCE_FILES_PROPERTIES(libcorpustoken.i PROPERTIES SWIG_FLAGS "-includeall" ) -SWIG_ADD_MODULE(libcorpustoken python libcorpustoken.i ) -SWIG_LINK_LIBRARIES(libcorpustoken ${PYTHON_LIBRARIES} ${CORPUS2_PWR_LIBS}) - -# ----------------------------------------------------------------------------- -# libcorpustokenwriter -SET_SOURCE_FILES_PROPERTIES(libcorpustokenwriter.i PROPERTIES CPLUSPLUS ON) -SET_SOURCE_FILES_PROPERTIES(libcorpustokenwriter.i PROPERTIES SWIG_FLAGS "-includeall" ) -SWIG_ADD_MODULE(libcorpustokenwriter python libcorpustokenwriter.i ) -SWIG_LINK_LIBRARIES(libcorpustokenwriter ${PYTHON_LIBRARIES} ${CORPUS2_PWR_LIBS}) - -# ----------------------------------------------------------------------------- -# libcorpustokenwriter -SET_SOURCE_FILES_PROPERTIES(libcorpustokenreader.i PROPERTIES CPLUSPLUS ON) -SET_SOURCE_FILES_PROPERTIES(libcorpustokenreader.i PROPERTIES SWIG_FLAGS "-includeall" ) -SWIG_ADD_MODULE(libcorpustokenreader python libcorpustokenreader.i ) -SWIG_LINK_LIBRARIES(libcorpustokenreader ${PYTHON_LIBRARIES} ${CORPUS2_PWR_LIBS}) - -# ----------------------------------------------------------------------------- -# libcorpusiob -SET_SOURCE_FILES_PROPERTIES(libcorpusiob.i PROPERTIES CPLUSPLUS ON) -SET_SOURCE_FILES_PROPERTIES(libcorpusiob.i PROPERTIES SWIG_FLAGS "-includeall" ) -SWIG_ADD_MODULE(libcorpusiob python libcorpusiob.i ) -SWIG_LINK_LIBRARIES(libcorpusiob ${PYTHON_LIBRARIES} ${CORPUS2_PWR_LIBS}) - -# ----------------------------------------------------------------------------- -# libcorpusannotationchannel -SET_SOURCE_FILES_PROPERTIES(libcorpusannotationchannel.i PROPERTIES CPLUSPLUS ON) -SET_SOURCE_FILES_PROPERTIES(libcorpusannotationchannel.i PROPERTIES SWIG_FLAGS "-includeall" ) -SWIG_ADD_MODULE(libcorpusannotationchannel python libcorpusannotationchannel.i ) -SWIG_LINK_LIBRARIES(libcorpusannotationchannel ${PYTHON_LIBRARIES} ${CORPUS2_PWR_LIBS}) - -# ----------------------------------------------------------------------------- -# libcorpusannotationchannel -SET_SOURCE_FILES_PROPERTIES(libcorpusannotatedsentence.i PROPERTIES CPLUSPLUS ON) -SET_SOURCE_FILES_PROPERTIES(libcorpusannotatedsentence.i PROPERTIES SWIG_FLAGS "-includeall" ) -SWIG_ADD_MODULE(libcorpusannotatedsentence python libcorpusannotatedsentence.i ) -SWIG_LINK_LIBRARIES(libcorpusannotatedsentence ${PYTHON_LIBRARIES} ${CORPUS2_PWR_LIBS}) - -# ----------------------------------------------------------------------------- -# libcorpusannotationchannel -SET_SOURCE_FILES_PROPERTIES(libcorpusannotationview.i PROPERTIES CPLUSPLUS ON) -SET_SOURCE_FILES_PROPERTIES(libcorpusannotationview.i PROPERTIES SWIG_FLAGS "-includeall" ) -SWIG_ADD_MODULE(libcorpusannotationview python libcorpusannotationview.i ) -SWIG_LINK_LIBRARIES(libcorpusannotationview ${PYTHON_LIBRARIES} ${CORPUS2_PWR_LIBS}) +# corous2 +SET_SOURCE_FILES_PROPERTIES(corpus2.i PROPERTIES CPLUSPLUS ON) +SET_SOURCE_FILES_PROPERTIES(corpus2.i PROPERTIES SWIG_FLAGS "-includeall" ) +SWIG_ADD_MODULE(corpus2 python corpus2.i ) +SWIG_LINK_LIBRARIES(corpus2 ${PYTHON_LIBRARIES} ${PWRUTILS_LIBS}) +SWIG_LINK_LIBRARIES(corpus2 ${PYTHON_LIBRARIES} ${CORPUS2_PWR_LIBS}) # ----------------------------------------------------------------------------- # ----------------------------------------------------------------------------- set_target_properties( - _libpwrnlperror - _libcorpus2exception - _libcorpustag - _libcorpustagset - _libcorpustagsetmanager - _libcorpuslexeme - _libcorpustoken - _libcorpussentence - _libcorpuschunk - _libcorpustokenwriter - _libcorpustokenreader - _libcorpusiob - _libcorpusannotationchannel - _libcorpusannotatedsentence - _libcorpusannotationview + _corpus2 PROPERTIES INSTALL_NAME_DIR "${PYTHON_INSTDIR}" ) @@ -180,34 +69,14 @@ set(PERM_SCRIPTS # ----------------------------------------------------------------------------- install( - TARGETS _libpwrnlperror _libcorpus2exception _libcorpustag _libcorpustagset - _libcorpustagsetmanager _libcorpuslexeme _libcorpustoken - _libcorpussentence _libcorpuschunk _libcorpustokenwriter - _libcorpustokenreader _libcorpusiob _libcorpusannotationchannel - _libcorpusannotatedsentence _libcorpusannotationview - + TARGETS _corpus2 LIBRARY DESTINATION ${PYTHON_INSTDIR} PERMISSIONS ${PERM_SCRIPTS} ) install( - FILES ${CMAKE_CURRENT_BINARY_DIR}/libpwrnlperror.py - ${CMAKE_CURRENT_BINARY_DIR}/libcorpus2exception.py - ${CMAKE_CURRENT_BINARY_DIR}/libcorpus2exception.py - ${CMAKE_CURRENT_BINARY_DIR}/libcorpustag.py - ${CMAKE_CURRENT_BINARY_DIR}/libcorpustagset.py - ${CMAKE_CURRENT_BINARY_DIR}/libcorpustagsetmanager.py - ${CMAKE_CURRENT_BINARY_DIR}/libcorpuslexeme.py - ${CMAKE_CURRENT_BINARY_DIR}/libcorpustoken.py - ${CMAKE_CURRENT_BINARY_DIR}/libcorpussentence.py - ${CMAKE_CURRENT_BINARY_DIR}/libcorpuschunk.py - ${CMAKE_CURRENT_BINARY_DIR}/libcorpustokenwriter.py - ${CMAKE_CURRENT_BINARY_DIR}/libcorpustokenreader.py - ${CMAKE_CURRENT_BINARY_DIR}/libcorpusiob.py - ${CMAKE_CURRENT_BINARY_DIR}/libcorpusannotationchannel.py - ${CMAKE_CURRENT_BINARY_DIR}/libcorpusannotatedsentence.py - ${CMAKE_CURRENT_BINARY_DIR}/libcorpusannotationview.py + FILES ${CMAKE_CURRENT_BINARY_DIR}/corpus2.py DESTINATION ${PYTHON_INSTDIR} PERMISSIONS ${PERM_SCRIPTS} ) @@ -233,6 +102,7 @@ install( libcorpusannotationchannel.i libcorpusannotatedsentence.i libcorpusannotationview.i + corpus2.i DESTINATION ${SWIG_SRC_DIR} PERMISSIONS ${PERM_SCRIPTS} ) diff --git a/swig/Makefile b/swig/Makefile index 67b73c8..9d34763 100644 --- a/swig/Makefile +++ b/swig/Makefile @@ -27,7 +27,8 @@ CBIN=libpwrnlperror.o \ libcorpusiob.o \ libcorpusannotationchannel.o \ libcorpusannotatedsentence.o \ - libcorpusannotationview.o + libcorpusannotationview.o \ + corpus2.o CBINOUT=_libpwrnlperror.so \ _libcorpus2exception.so \ @@ -44,7 +45,8 @@ CBINOUT=_libpwrnlperror.so \ _libcorpusiob.so \ _libcorpusannotationchannel.so \ _libcorpusannotatedsentence.so \ - _libcorpusannotationview.so + _libcorpusannotationview.so \ + _corpus2.so CWRAP=libpwrnlperror_wrap.cxx \ libcorpus2exception_wrap.cxx \ @@ -61,7 +63,8 @@ CWRAP=libpwrnlperror_wrap.cxx \ libcorpusiob_wrap.cxx \ libcorpusannotationchannel_wrap.cxx \ libcorpusannotatedsentence_wrap.cxx \ - libcorpusannotationview_wrap.cxx + libcorpusannotationview_wrap.cxx \ + corpus2_wrap.cxx CWRAPBIN=libpwrnlperror_wrap.o \ libcorpus2exception_wrap.o \ @@ -78,7 +81,8 @@ CWRAPBIN=libpwrnlperror_wrap.o \ libcorpusiob_wrap.o \ libcorpusannotationchannel_wrap.o \ libcorpusannotatedsentence_wrap.o \ - libcorpusannotationview_wrap.o + libcorpusannotationview_wrap.o \ + corpus2_wrap.o PYMODULES=libpwrnlperror.py \ libcorpus2exception.py \ @@ -95,7 +99,8 @@ PYMODULES=libpwrnlperror.py \ libcorpusiob.py \ libcorpusannotationchannel.py \ libcorpusannotatedsentence.py \ - libcorpusannotationview.py + libcorpusannotationview.py \ + corpus2.py PYCBIN=libpwrnlperror.pyc \ libcorpus2exception.pyc \ @@ -112,7 +117,8 @@ PYCBIN=libpwrnlperror.pyc \ libcorpusiob.pyc \ libcorpusannotationchannel.pyc \ libcorpusannotatedsentence.pyc \ - libcorpusannotationview.pyc + libcorpusannotationview.pyc \ + corpus2.pyc # ----------------------------------------------------------------------------- all:boost_shared_ptr.o $(CBIN) @@ -238,6 +244,15 @@ libcorpusannotationview.o: $(CPP) -shared libcorpusannotationview_wrap.o \ $(PWRUTILBIN) $(CORPUS2BIN) -o _libcorpusannotationview.so +# ----------------------------------------------------------------------------- + +# Corpus2 +corpus2.o: + $(SWIG) $(SWIGOPTS_LANG) corpus2.i + $(CPP) -c corpus2_wrap.cxx -I$(PYTHONDIR) $(CPPFLAGS) + $(CPP) -shared corpus2_wrap.o \ + $(PWRUTILBIN) $(CORPUS2BIN) -o _corpus2.so + # ----------------------------------------------------------------------------- clean: rm -f $(CBIN) $(CBINOUT) $(CWRAP) $(CWRAPBIN) $(PYMODULES) $(PYCBIN) diff --git a/swig/makewrapper.sh b/swig/makewrapper.sh index fdf80c5..274daed 100755 --- a/swig/makewrapper.sh +++ b/swig/makewrapper.sh @@ -2,7 +2,7 @@ if [ ${#} -eq 0 ] then - echo "Usage: $0 corpus2class" + echo -e "\e[1;31mUsage: $0 corpus2class\e[0m" exit 1 fi -- GitLab