diff --git a/CMakeLists.txt b/CMakeLists.txt index 41c45459..cb76d1de 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,14 +4,56 @@ cmake_minimum_required(VERSION 2.6) include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) include(CheckFunctionExists) + +# Options +option(ICU "Unicode support" 1) +option(STD_IOSTREAM "Building with std iostream operators support" 0) +option(INTROSPECTION_CONTAINERS "Build with containers introspection" 0) +option(INTROSPECTION_THREADS "Build with threads introspection" 0) +option(LIB "System install" 1) +option(DEBUG "Build with -g3" 0) + + +# Basic +macro(gather_src DIR CPP H H_P) + set(CS) + set(HS) + set(PHS) + file(GLOB CS "${DIR}/*.cpp") + file(GLOB HS "${DIR}/*.h") + file(GLOB PHS "${DIR}/*_p.h") + list(REMOVE_ITEM HS "${PHS}") + list(APPEND ${CPP} ${CS}) + list(APPEND ${H} ${HS}) + list(APPEND ${H_P} ${PHS}) +endmacro() + +set(PIP_SRC_MAIN "src_main") +set(PIP_SRC_CRYPT "src_crypt") +set(PIP_SRC_USB "src_usb") +set(PIP_SRC_FFTW "src_fftw") +set(PIP_LIBS_TARGETS pip) +set(LIBS_MAIN) +set(LIBS_STATUS) + +#if(LIB) + if(WIN32) + if(MINGW) + find_package(MinGW REQUIRED) + list(APPEND CMAKE_LIBRARY_PATH ${MINGW_LIB}) + endif() + endif() +#endif() + + # Version -file(READ "src/piversion.h" VERSION_OFFSET LIMIT 4 OFFSET 3) -file(READ "src/piversion.h" VERSION_MAJOR LIMIT 1 OFFSET ${VERSION_OFFSET}) -file(READ "src/piversion.h" VERSION_OFFSET LIMIT 4 OFFSET 7) -file(READ "src/piversion.h" VERSION_MINOR LIMIT 1 OFFSET ${VERSION_OFFSET}) -file(READ "src/piversion.h" VERSION_OFFSET LIMIT 4 OFFSET 11) -file(READ "src/piversion.h" VERSION_REVISION LIMIT 1 OFFSET ${VERSION_OFFSET}) -file(STRINGS "src/piversion.h" VERSION_SUFFIX REGEX "\".*\"") +file(READ "${PIP_SRC_MAIN}/piversion.h" VERSION_OFFSET LIMIT 4 OFFSET 3) +file(READ "${PIP_SRC_MAIN}/piversion.h" VERSION_MAJOR LIMIT 1 OFFSET ${VERSION_OFFSET}) +file(READ "${PIP_SRC_MAIN}/piversion.h" VERSION_OFFSET LIMIT 4 OFFSET 7) +file(READ "${PIP_SRC_MAIN}/piversion.h" VERSION_MINOR LIMIT 1 OFFSET ${VERSION_OFFSET}) +file(READ "${PIP_SRC_MAIN}/piversion.h" VERSION_OFFSET LIMIT 4 OFFSET 11) +file(READ "${PIP_SRC_MAIN}/piversion.h" VERSION_REVISION LIMIT 1 OFFSET ${VERSION_OFFSET}) +file(STRINGS "${PIP_SRC_MAIN}/piversion.h" VERSION_SUFFIX REGEX "\".*\"") string(REGEX MATCH "\".*\"" VERSION_SUFFIX ${VERSION_SUFFIX}) string(LENGTH ${VERSION_SUFFIX} SL) math(EXPR SL '${SL}-2') @@ -28,51 +70,28 @@ string(SUBSTRING ${VERSION_REVISION} 0 ${SL} VERSION_REVISION) set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION}") set(SOVERSION ${VERSION}) message(STATUS "Building PIP version ${VERSION}${VERSION_SUFFIX}") -file(WRITE "src/pip_version_str.h" "// This file was generated by PIP CMake, don`t edit it!\n#define __PIP_VERSION_STR__ \"${VERSION}${VERSION_SUFFIX}\"\n") +file(WRITE "${PIP_SRC_MAIN}/pip_version_str.h" "// This file was generated by PIP CMake, don`t edit it!\n#define __PIP_VERSION_STR__ \"${VERSION}${VERSION_SUFFIX}\"\n") -#options -option(ICU "Unicode support" 1) -option(USB "USB support" 0) -option(STL "Building with STL containers" 0) -option(STD_IOSTREAM "Building with std iostream operators support" 0) -option(CRYPT "Crypt support" 0) -option(FFTW "fftw3 support for PIFFT" 0) -option(FFTW_THREADS "fftw3 support for threadsave" 1) -option(INTROSPECTION_CONTAINERS "Build with containers introspection" 0) -option(INTROSPECTION_THREADS "Build with threads introspection" 0) -option(LIB "System install" 1) -option(DEBUG "Build with -g3" 0) - - -if(DEBUG) - add_definitions(-DPIP_DEBUG) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") - message(STATUS "Build debug version") -else() - set(CMAKE_BUILD_TYPE "Release") - message(STATUS "Build relaese version") -endif() - -if(STD_IOSTREAM) - add_definitions(-DPIP_STD_IOSTREAM) - message(STATUS "Building with std iostream operators support") -else() - message(STATUS "Building without std iostream operators support") -endif() # Sources + +# Main lib set(PIP_FOLDERS "." "core" "containers" "thread" "system" "io" "console" "math" "code" "geo") -include_directories("src") +include_directories("${PIP_SRC_MAIN}") foreach(F ${PIP_FOLDERS}) - include_directories("src/${F}") - file(GLOB HS "src/${F}/*.h") - file(GLOB PHS "src/${F}/*_p.h") - file(GLOB CS "src/${F}/*.cpp") - list(APPEND HDRS ${HS}) - list(APPEND PHDRS ${PHS}) - list(APPEND CPPS ${CS}) + include_directories("${PIP_SRC_MAIN}/${F}") + gather_src("${PIP_SRC_MAIN}/${F}" CPP_LIB_MAIN HDRS PHDRS) endforeach(F) -list(REMOVE_ITEM HDRS ${PHDRS}) + +# Crypt lib +gather_src("${PIP_SRC_CRYPT}" CPP_LIB_CRYPT HDRS PHDRS) + +# USB lib +gather_src("${PIP_SRC_USB}" CPP_LIB_USB HDRS PHDRS) + +# FFTW lib +gather_src("${PIP_SRC_FFTW}" CPP_LIB_FFTW HDRS PHDRS) + # Check Bessel functions set(CMAKE_REQUIRED_INCLUDES math.h) @@ -102,34 +121,36 @@ if(PIP_MATH_YN) add_definitions(-DPIP_MATH_YN) endif() -set(LIBS) -if(WIN32) - list(APPEND CMAKE_LIBRARY_PATH ${MINGW_LIB}) -endif() # Check if RT timers exists set(CMAKE_REQUIRED_INCLUDES time.h) +set(CMAKE_REQUIRED_LIBRARIES ) if(NOT DEFINED ENV{QNX_HOST} AND NOT APPLE AND NOT WIN32) - list(APPEND LIBS rt) + list(APPEND LIBS_MAIN rt) + set(CMAKE_REQUIRED_LIBRARIES rt) endif() CHECK_FUNCTION_EXISTS(timer_create PIP_TIMER_RT_0) CHECK_FUNCTION_EXISTS(timer_settime PIP_TIMER_RT_1) CHECK_FUNCTION_EXISTS(timer_delete PIP_TIMER_RT_2) -if(PIP_TIMER_RT_0 AND PIP_TIMER_RT_1 AND PIP_TIMER_RT_2) - add_definitions(-DPIP_TIMER_RT) - message(STATUS "Available timers: Thread, ThreadRT, Pool") + + +# Check if build debug version +if(DEBUG) + add_definitions(-DPIP_DEBUG) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3") + message(STATUS "Building debug version") else() - message(STATUS "Available timers: Thread, Pool") + set(CMAKE_BUILD_TYPE "Release") + message(STATUS "Building relaese version") endif() -# Check if USB is on (to enable use "-DUSB=" argument of cmake) -if(USB) - message(STATUS "Building with USB support") - add_definitions(-DPIP_USB) - list(APPEND LIBS usb) +# Check if std::iostream operators support +if(STD_IOSTREAM) + add_definitions(-DPIP_STD_IOSTREAM) + message(STATUS "Building with std iostream operators support") else() - message(STATUS "Building without USB support") + message(STATUS "Building without std iostream operators support") endif() @@ -146,65 +167,12 @@ endif() if(ICU) message(STATUS "Building with ICU") add_definitions(-DPIP_ICU) - list(APPEND LIBS icuuc) + list(APPEND LIBS_MAIN icuuc) else() message(STATUS "Building without ICU, attention!") endif() -# Check if PIP support cryptographic encryption/decryption by using sodium library -if(CRYPT) - message(STATUS "Building with crypt support") - add_definitions(-DPIP_CRYPT) - list(APPEND LIBS sodium) -else() - message(STATUS "Building without crypt support") -endif() - - -# Check if PIP support fftw3 for PIFFT using in math module -if(FFTW) - add_definitions(-DPIP_FFTW) - set(FFTW_LIB_NAME fftw3) - list(APPEND FFTW_LIB_LIST_ ${FFTW_LIB_NAME} ${FFTW_LIB_NAME}f ${FFTW_LIB_NAME}l ${FFTW_LIB_NAME}q) - if(WIN32) - foreach(FFTW_LIB_ ${FFTW_LIB_LIST_}) - list(APPEND FFTW_LIB_LIST "${FFTW_LIB_}-3") - endforeach() - else() - set(FFTW_LIB_LIST ${FFTW_LIB_LIST_}) - endif() - if(FFTW_THREADS) - add_definitions(-DPIP_FFTW_THREADSAFE) - foreach(FFTW_LIB_T ${FFTW_LIB_LIST}) - list(APPEND FFTW_LIB_LIST "${FFTW_LIB_T}_threads") - endforeach() - else() - message(STATUS "WARNING PIFFTW::preparePlan was not threadsafe") - endif() - foreach(FFTW_LIB ${FFTW_LIB_LIST}) - find_library("${FFTW_LIB}_FOUND" ${FFTW_LIB}) - if(${FFTW_LIB}_FOUND) - message(STATUS "Check ${FFTW_LIB} OK") - list(APPEND LIBS ${FFTW_LIB}) - if("${FFTW_LIB}" MATCHES "${FFTW_LIB_NAME}f") - add_definitions(-DPIP_FFTW_FLOAT) - endif() - if("${FFTW_LIB}" MATCHES "${FFTW_LIB_NAME}l") - add_definitions(-DPIP_FFTW_LDOUBLE) - endif() - if("${FFTW_LIB}" MATCHES "${FFTW_LIB_NAME}q") - add_definitions(-DPIP_FFTW_QDOUBLE) - endif() - else() - message(STATUS "Check ${FFTW_LIB} missing") - endif() - endforeach() -else() - message(STATUS "Building without fftw3 support") -endif() - - # Check if PIP should be built with containers introspection if(INTROSPECTION_CONTAINERS) message(STATUS "Building with containers introspection") @@ -223,34 +191,40 @@ else() endif() -# Add library +# Check if RT timers exists +if(PIP_TIMER_RT_0 AND PIP_TIMER_RT_1 AND PIP_TIMER_RT_2) + add_definitions(-DPIP_TIMER_RT) + message(STATUS "Building with timers: Thread, ThreadRT, Pool") +else() + message(STATUS "Building with timers: Thread, Pool") +endif() + + +# Add main library if(APPLE) - add_definitions(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE) + add_definitions(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE) endif() if(WIN32) - list(APPEND LIBS ws2_32 iphlpapi psapi) + list(APPEND LIBS_MAIN ws2_32 iphlpapi psapi) else() - list(APPEND LIBS dl) + list(APPEND LIBS_MAIN dl) if(DEFINED ENV{QNX_HOST}) - list(APPEND LIBS socket) + list(APPEND LIBS_MAIN socket) else() - list(APPEND LIBS pthread util) + list(APPEND LIBS_MAIN pthread util) endif() endif() -foreach(LIB_ ${LIBS}) - find_library("${LIB_}_FOUND" ${LIB_}) - message(STATUS "Check the ${LIB_} is installed: " ${${LIB_}_FOUND}) +foreach(LIB_ ${LIBS_MAIN}) + find_library(${LIB_}_FOUND ${LIB_}) if(${LIB_}_FOUND) - list(APPEND LIBS ${LIB_}) list(APPEND CMAKE_REQUIRED_LIBRARIES ${LIB_}) - else() - message(WARNING "library ${LIB_} not found, please install it") endif() endforeach() +list(APPEND LIBS_STATUS ${LIBS_MAIN}) if(WIN32) - list(APPEND CPPS "pip_resource_win.rc") + list(APPEND CPP_LIB_MAIN "pip_resource_win.rc") add_definitions(-DPSAPI_VERSION=1) - add_library(pip SHARED ${CPPS} ${HDRS} ${PHDRS}) + add_library(pip SHARED ${CPP_LIB_MAIN} ${HDRS} ${PHDRS}) if(${CMAKE_C_COMPILER} STREQUAL "cl") include(GenerateExportHeader) generate_export_header(pip) @@ -264,19 +238,97 @@ else() #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") if(DEFINED ENV{QNX_HOST}) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftemplate-depth-32") - add_library(pip STATIC ${CPPS}) + add_library(pip STATIC ${CPP_LIB_MAIN}) else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") - add_library(pip SHARED ${CPPS}) + add_library(pip SHARED ${CPP_LIB_MAIN}) endif() endif() -target_link_libraries(pip ${LIBS}) +target_link_libraries(pip ${LIBS_MAIN}) + + +# Check if USB is supported +find_library(usb_FOUND usb SHARED) +if(usb_FOUND) + message(STATUS "Building with USB support") + add_definitions(-DPIP_USB) + add_library(pip_usb SHARED ${CPP_LIB_USB}) + target_link_libraries(pip_usb pip usb) + list(APPEND LIBS_STATUS usb) + list(APPEND PIP_LIBS_TARGETS pip_usb) +else() + message(STATUS "Building without USB support") +endif() + + +# Check if PIP support cryptographic encryption/decryption using sodium library +find_library(sodium_FOUND sodium) +if(sodium_FOUND) + message(STATUS "Building with crypt support") + add_definitions(-DPIP_CRYPT) + add_library(pip_crypt SHARED ${CPP_LIB_CRYPT}) + target_link_libraries(pip_crypt pip sodium) + list(APPEND LIBS_STATUS sodium) + list(APPEND PIP_LIBS_TARGETS pip_crypt) +else() + message(STATUS "Building without crypt support") +endif() + + +# Check if PIP support fftw3 for PIFFT using in math module +set(FFTW_LIB_NAME fftw3) +set(FFTW_LIB_SUFFIXES "" "f" "l" "q") +set(FFTW_LIB_SUFFIXES2 "" "-3") +set(FFTW_LIBS) +set(PIP_FFTW_FOUND) +set(CMAKE_REQUIRED_INCLUDES fftw3.h) +foreach(FFTW_S_ IN LISTS FFTW_LIB_SUFFIXES) + set(FFTW_BREAK false) + foreach(FFTW_S2_ IN LISTS FFTW_LIB_SUFFIXES2) + if(NOT FFTW_BREAK) + set(FFTW_CLN "${FFTW_LIB_NAME}${FFTW_S_}${FFTW_S2_}") + set(FFTW_CLNT "${FFTW_LIB_NAME}${FFTW_S_}_threads${FFTW_S2_}") + find_library(${FFTW_CLN}_FOUND ${FFTW_CLN}) + find_library(${FFTW_CLNT}_FOUND ${FFTW_CLNT}) + if(${FFTW_CLN}_FOUND) + list(APPEND FFTW_LIBS "${FFTW_CLN}") + #message(STATUS "PIFFTW found ${FFTW_CLN} = ${${FFTW_CLN}_FOUND}") + set(${FFTW_CLN}_CTS "${FFTW_CLN}") + if(${FFTW_CLNT}_FOUND) + list(APPEND FFTW_LIBS "${FFTW_CLNT}") + list(APPEND ${FFTW_CLN}_CTS "${FFTW_CLNT}") + endif() + set(CMAKE_REQUIRED_LIBRARIES ${${FFTW_CLN}_CTS}) + CHECK_FUNCTION_EXISTS(fftw${FFTW_S_}_make_planner_thread_safe ${FFTW_CLN}_TSFE) + add_definitions(-DPIP_FFTW${FFTW_S_}) + set(PIP_FFTW_FOUND true) + if(${FFTW_CLN}_TSFE) + add_definitions(-DPIP_FFTW${FFTW_S_}_THREADSAFE) + else() + message(STATUS "Warning: PIFFTW${FFTW_S_}::preparePlan was not threadsafe") + endif() + #message(STATUS "${FFTW_CLN} -> ${${FFTW_CLN}_TSFE}") + endif() + endif() + endforeach() +endforeach() +if(FFTW_LIBS) + message(STATUS "Building with fftw3 support: ${FFTW_LIBS}") + add_library(pip_fftw SHARED ${CPP_LIB_FFTW}) + target_link_libraries(pip_fftw pip ${FFTW_LIBS}) + list(APPEND LIBS_STATUS ${FFTW_LIBS}) + list(APPEND PIP_LIBS_TARGETS pip_fftw) +else() + message(STATUS "Building without fftw3 support") +endif() + # Test program #find_package(Qt4 REQUIRED) #include_directories(${QT_INCLUDES}) add_executable(pip_test "main.cpp" "ccm_kbd.cpp") -target_link_libraries(pip_test pip)# ${QT_QTCORE_LIBRARY}) +target_link_libraries(pip_test pip pip_fftw)# ${QT_QTCORE_LIBRARY}) + # Install # Check if system or local install will be used (to system install use "-DLIB=" argument of cmake) @@ -286,8 +338,8 @@ if(LIB) find_package(MinGW REQUIRED) set(CMAKE_INSTALL_PREFIX ${MINGW_DIR}) install(FILES ${HDRS} DESTINATION ${MINGW_INCLUDE}/pip) - install(TARGETS pip DESTINATION ${MINGW_LIB}) - install(TARGETS pip DESTINATION ${MINGW_BIN}) + install(TARGETS ${PIP_LIBS_TARGETS} DESTINATION ${MINGW_LIB}) + install(TARGETS ${PIP_LIBS_TARGETS} DESTINATION ${MINGW_BIN}) endif() else() if(APPLE) @@ -296,7 +348,7 @@ if(LIB) set(CMAKE_INSTALL_PREFIX /usr) endif() install(FILES ${HDRS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/pip) - install(TARGETS pip DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) + install(TARGETS ${PIP_LIBS_TARGETS} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib) endif() message(STATUS "Install to system \"${CMAKE_INSTALL_PREFIX}\"") # Precompiled header @@ -305,17 +357,32 @@ if(LIB) file(GLOB CMAKES "*.cmake") install(FILES ${CMAKES} DESTINATION ${CMAKE_ROOT}/Modules) else() - install(TARGETS pip DESTINATION bin) + install(TARGETS ${PIP_LIBS_TARGETS} DESTINATION bin) message(STATUS "Install to local \"bin\"") endif() + # Auxiliary -add_subdirectory("src/auxiliary/piterminal") +add_subdirectory("${PIP_SRC_MAIN}/auxiliary/piterminal") + # Utils add_subdirectory("utils/system_test") add_subdirectory("utils/remote_console") add_subdirectory("utils/code_model_generator") -add_subdirectory("utils/system_daemon") add_subdirectory("utils/udp_file_transfer") -add_subdirectory("utils/crypt_tool") +if(sodium_FOUND) + add_subdirectory("utils/system_daemon") + add_subdirectory("utils/crypt_tool") +endif() + + +# Libraries messages +message(STATUS "Building modules: ${PIP_LIBS_TARGETS}") +set(PIP_LIBS_TARGETS ${PIP_LIBS_TARGETS} PARENT_SCOPE) +foreach(LIB_ ${LIBS_STATUS}) + message(STATUS "Library ${LIB_} -> " ${${LIB_}_FOUND}) + if(NOT ${LIB_}_FOUND) + message(WARNING "Library ${LIB_} not found, please install it") + endif() +endforeach() diff --git a/FindPIP.cmake b/FindPIP.cmake index 526ce85f..6e7ebdc8 100644 --- a/FindPIP.cmake +++ b/FindPIP.cmake @@ -1,18 +1,29 @@ +#set(_PIP_MODULES pip pip_usb pip_crypt pip_fftw) if(WIN32) find_package(MinGW REQUIRED) find_library(PIP_LIBRARY pip ${MINGW_LIB}) + find_library(PIP_USB_LIBRARY pip_usb ${MINGW_LIB}) + find_library(PIP_CRYPT_LIBRARY pip_crypt ${MINGW_LIB}) + find_library(PIP_FFTW_LIBRARY pip_fftw ${MINGW_LIB}) set(PIP_INCLUDES ${MINGW_INCLUDE}/pip) set(PIP_CMG ${MINGW_BIN}/pip_cmg.exe) else() - find_library(PIP_LIBRARY pip /usr/lib/) + set(_DIR_ "/usr") + if(APPLE) + set(_DIR_ "/usr/local") + endif() + find_library(PIP_LIBRARY pip ${_DIR_}/lib/) + find_library(PIP_USB_LIBRARY pip_usb ${_DIR_}/lib/) + find_library(PIP_CRYPT_LIBRARY pip_crypt ${_DIR_}/lib/) + find_library(PIP_FFTW_LIBRARY pip_fftw ${_DIR_}/lib/) if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux") find_library(PTHREAD_LIBRARY pthread) find_library(DL_LIBRARY dl) find_library(UTIL_LIBRARY util) list(APPEND PIP_LIBRARY ${PTHREAD_LIBRARY} ${DL_LIBRARY} ${UTIL_LIBRARY}) endif() - set(PIP_INCLUDES /usr/include/pip) - set(PIP_CMG /usr/bin/pip_cmg) + set(PIP_INCLUDES ${_DIR_}/include/pip) + set(PIP_CMG ${_DIR_}/bin/pip_cmg) endif() if(NOT PIP_VERSION) diff --git a/pip_resource_win.rc b/pip_resource_win.rc index dabf6177..0bbc3467 100644 --- a/pip_resource_win.rc +++ b/pip_resource_win.rc @@ -3,8 +3,8 @@ #else # include #endif -#include -#include +#include +#include VS_VERSION_INFO VERSIONINFO FILEVERSION PIP_VERSION_MAJOR,PIP_VERSION_MINOR,PIP_VERSION_REVISION,0 diff --git a/src/math/picrypt.cpp b/src_crypt/picrypt.cpp similarity index 100% rename from src/math/picrypt.cpp rename to src_crypt/picrypt.cpp diff --git a/src_fftw/pifft.cpp b/src_fftw/pifft.cpp new file mode 100644 index 00000000..ecccecc3 --- /dev/null +++ b/src_fftw/pifft.cpp @@ -0,0 +1,34 @@ +/* + PIP - Platform Independent Primitives + Class for FFT, IFFT and Hilbert transformations + Copyright (C) 2016 Ivan Pelipenko peri4ko@yandex.ru, Andrey Bychkov work.a.b@yandex.ru + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +#include "pifft.h" +#include "pifft_p.h" + + +#define _PIFFTW_CPP(type) \ + _PIFFTW_P_##type##_::_PIFFTW_P_##type##_() {impl = new PIFFTW_Private();;} \ + _PIFFTW_P_##type##_::~_PIFFTW_P_##type##_() {delete (PIFFTW_Private*)impl;} \ + const PIVector > & _PIFFTW_P_##type##_::calcFFT(const PIVector > & in) {return ((PIFFTW_Private*)impl)->calcFFT(in);} \ + const PIVector > & _PIFFTW_P_##type##_::calcFFTR(const PIVector & in) {return ((PIFFTW_Private*)impl)->calcFFT(in);} \ + const PIVector > & _PIFFTW_P_##type##_::calcFFTI(const PIVector > & in) {return ((PIFFTW_Private*)impl)->calcFFTinverse(in);} \ + void _PIFFTW_P_##type##_::preparePlan(int size, int op) {return ((PIFFTW_Private*)impl)->preparePlan(size, op);} + +_PIFFTW_CPP(float) +_PIFFTW_CPP(double) +_PIFFTW_CPP(ldouble) diff --git a/src/math/pifft_p.h b/src_fftw/pifft_p.h similarity index 92% rename from src/math/pifft_p.h rename to src_fftw/pifft_p.h index b2fd636d..bb58e61e 100644 --- a/src/math/pifft_p.h +++ b/src_fftw/pifft_p.h @@ -26,7 +26,7 @@ #include "pivector.h" #include "pimutex.h" #include "picout.h" -#ifdef PIP_FFTW +#if defined(PIP_FFTW) || defined(PIP_FFTWf) || defined(PIP_FFTWl) || defined(PIP_FFTWq) # include "fftw3.h" #else # define FFTW_FORWARD 0 @@ -42,9 +42,9 @@ class PIFFTW_Private public: explicit PIFFTW_Private() { plan = 0; -#ifndef PIP_FFTW - piCout << "[PIFFTW]" << "Warning: PIFFTW is disabled, to enable install libfftw3-dev library and build pip with -DFFTW=1"; -#endif +//#ifndef PIP_FFTW +// piCout << "[PIFFTW]" << "Warning: PIFFTW is disabled, to enable install libfftw3-dev library and build pip with -DFFTW=1"; +//#endif p_makeThreadSafe(); } ~PIFFTW_Private() {p_destroyPlan(plan);} @@ -135,8 +135,7 @@ public: }; -#ifdef PIP_FFTW -#ifdef PIP_FFTW_FLOAT +#ifdef PIP_FFTWf template<> inline void PIFFTW_Private::p_createPlan_c2c_1d(void *& plan, int size, const void * in, void * out, int dir, int flags) { plan = fftwf_plan_dft_1d(size, (fftwf_complex *)in, (fftwf_complex *)out, dir, flags);} template<> inline void PIFFTW_Private::p_createPlan_r2c_1d(void *& plan, int size, const void * in, void * out, int flags) { @@ -145,11 +144,12 @@ template<> inline void PIFFTW_Private::p_executePlan(void * plan) {fftwf_ template<> inline void PIFFTW_Private::p_executePlan_c2c(void * plan, const void * in, void * out) {fftwf_execute_dft((fftwf_plan)plan, (fftwf_complex *)in, (fftwf_complex *)out);} template<> inline void PIFFTW_Private::p_executePlan_r2c(void * plan, const void * in, void * out) {fftwf_execute_dft_r2c((fftwf_plan)plan, (float *)in, (fftwf_complex *)out);} template<> inline void PIFFTW_Private::p_destroyPlan(void *& plan) {if (plan) fftwf_destroy_plan((fftwf_plan)plan); plan = 0;} -#ifdef PIP_FFTW_THREADSAFE +# ifdef PIP_FFTWf_THREADSAFE template<> inline void PIFFTW_Private::p_makeThreadSafe() {fftwf_make_planner_thread_safe();} -#endif -#endif // PIP_FFTW_FLOAT +# endif +#endif // PIP_FFTWf +#ifdef PIP_FFTW template<> inline void PIFFTW_Private::p_createPlan_c2c_1d(void *& plan, int size, const void * in, void * out, int dir, int flags) { plan = fftw_plan_dft_1d(size, (fftw_complex *)in, (fftw_complex *)out, dir, flags);} template<> inline void PIFFTW_Private::p_createPlan_r2c_1d(void *& plan, int size, const void * in, void * out, int flags) { @@ -158,11 +158,12 @@ template<> inline void PIFFTW_Private::p_executePlan(void * plan) {fftw_ template<> inline void PIFFTW_Private::p_executePlan_c2c(void * plan, const void * in, void * out) {fftw_execute_dft((fftw_plan)plan, (fftw_complex *)in, (fftw_complex *)out);} template<> inline void PIFFTW_Private::p_executePlan_r2c(void * plan, const void * in, void * out) {fftw_execute_dft_r2c((fftw_plan)plan, (double *)in, (fftw_complex *)out);} template<> inline void PIFFTW_Private::p_destroyPlan(void *& plan) {if (plan) fftw_destroy_plan((fftw_plan)plan); plan = 0;} -#ifdef PIP_FFTW_THREADSAFE +# ifdef PIP_FFTW_THREADSAFE template<> inline void PIFFTW_Private::p_makeThreadSafe() {fftw_make_planner_thread_safe();} -#endif +# endif +#endif // PIP_FFTW -#ifdef PIP_FFTW_LDOUBLE +#ifdef PIP_FFTWl template<> inline void PIFFTW_Private::p_createPlan_c2c_1d(void *& plan, int size, const void * in, void * out, int dir, int flags) { plan = fftwl_plan_dft_1d(size, (fftwl_complex *)in, (fftwl_complex *)out, dir, flags);} template<> inline void PIFFTW_Private::p_createPlan_r2c_1d(void *& plan, int size, const void * in, void * out, int flags) { @@ -171,13 +172,10 @@ template<> inline void PIFFTW_Private::p_executePlan(void * plan) {fftw template<> inline void PIFFTW_Private::p_executePlan_c2c(void * plan, const void * in, void * out) {fftwl_execute_dft((fftwl_plan)plan, (fftwl_complex *)in, (fftwl_complex *)out);} template<> inline void PIFFTW_Private::p_executePlan_r2c(void * plan, const void * in, void * out) {fftwl_execute_dft_r2c((fftwl_plan)plan, (ldouble *)in, (fftwl_complex *)out);} template<> inline void PIFFTW_Private::p_destroyPlan(void *& plan) {if (plan) fftwl_destroy_plan((fftwl_plan)plan); plan = 0;} -#ifdef PIP_FFTW_THREADSAFE +# ifdef PIP_FFTWl_THREADSAFE template<> inline void PIFFTW_Private::p_makeThreadSafe() {fftwl_make_planner_thread_safe();} -#endif -#endif // PIP_FFTW_LDOUBLE - - -#endif // PIP_FFTW +# endif +#endif // PIP_FFTWl #endif // PIFFT_H diff --git a/src/_unsused/pigeometry.h b/src_main/_unsused/pigeometry.h similarity index 100% rename from src/_unsused/pigeometry.h rename to src_main/_unsused/pigeometry.h diff --git a/src/_unsused/pivariable.cpp b/src_main/_unsused/pivariable.cpp similarity index 100% rename from src/_unsused/pivariable.cpp rename to src_main/_unsused/pivariable.cpp diff --git a/src/_unsused/pivariable.cpp_ b/src_main/_unsused/pivariable.cpp_ similarity index 100% rename from src/_unsused/pivariable.cpp_ rename to src_main/_unsused/pivariable.cpp_ diff --git a/src/_unsused/pivariable.h b/src_main/_unsused/pivariable.h similarity index 100% rename from src/_unsused/pivariable.h rename to src_main/_unsused/pivariable.h diff --git a/src/_unsused/pivariable.h_ b/src_main/_unsused/pivariable.h_ similarity index 100% rename from src/_unsused/pivariable.h_ rename to src_main/_unsused/pivariable.h_ diff --git a/src/auxiliary/piterminal/CMakeLists.txt b/src_main/auxiliary/piterminal/CMakeLists.txt similarity index 100% rename from src/auxiliary/piterminal/CMakeLists.txt rename to src_main/auxiliary/piterminal/CMakeLists.txt diff --git a/src/auxiliary/piterminal/main.cpp b/src_main/auxiliary/piterminal/main.cpp similarity index 100% rename from src/auxiliary/piterminal/main.cpp rename to src_main/auxiliary/piterminal/main.cpp diff --git a/src/code/picodeinfo.cpp b/src_main/code/picodeinfo.cpp similarity index 100% rename from src/code/picodeinfo.cpp rename to src_main/code/picodeinfo.cpp diff --git a/src/code/picodeinfo.h b/src_main/code/picodeinfo.h similarity index 100% rename from src/code/picodeinfo.h rename to src_main/code/picodeinfo.h diff --git a/src/code/picodemodule.h b/src_main/code/picodemodule.h similarity index 100% rename from src/code/picodemodule.h rename to src_main/code/picodemodule.h diff --git a/src/code/picodeparser.cpp b/src_main/code/picodeparser.cpp similarity index 100% rename from src/code/picodeparser.cpp rename to src_main/code/picodeparser.cpp diff --git a/src/code/picodeparser.h b/src_main/code/picodeparser.h similarity index 100% rename from src/code/picodeparser.h rename to src_main/code/picodeparser.h diff --git a/src/console/piconsole.cpp b/src_main/console/piconsole.cpp similarity index 100% rename from src/console/piconsole.cpp rename to src_main/console/piconsole.cpp diff --git a/src/console/piconsole.h b/src_main/console/piconsole.h similarity index 100% rename from src/console/piconsole.h rename to src_main/console/piconsole.h diff --git a/src/console/piconsolemodule.h b/src_main/console/piconsolemodule.h similarity index 100% rename from src/console/piconsolemodule.h rename to src_main/console/piconsolemodule.h diff --git a/src/console/pikbdlistener.cpp b/src_main/console/pikbdlistener.cpp similarity index 100% rename from src/console/pikbdlistener.cpp rename to src_main/console/pikbdlistener.cpp diff --git a/src/console/pikbdlistener.h b/src_main/console/pikbdlistener.h similarity index 100% rename from src/console/pikbdlistener.h rename to src_main/console/pikbdlistener.h diff --git a/src/console/piscreen.cpp b/src_main/console/piscreen.cpp similarity index 100% rename from src/console/piscreen.cpp rename to src_main/console/piscreen.cpp diff --git a/src/console/piscreen.h b/src_main/console/piscreen.h similarity index 100% rename from src/console/piscreen.h rename to src_main/console/piscreen.h diff --git a/src/console/piscreenconsole.cpp b/src_main/console/piscreenconsole.cpp similarity index 100% rename from src/console/piscreenconsole.cpp rename to src_main/console/piscreenconsole.cpp diff --git a/src/console/piscreenconsole.h b/src_main/console/piscreenconsole.h similarity index 100% rename from src/console/piscreenconsole.h rename to src_main/console/piscreenconsole.h diff --git a/src/console/piscreendrawer.cpp b/src_main/console/piscreendrawer.cpp similarity index 100% rename from src/console/piscreendrawer.cpp rename to src_main/console/piscreendrawer.cpp diff --git a/src/console/piscreendrawer.h b/src_main/console/piscreendrawer.h similarity index 100% rename from src/console/piscreendrawer.h rename to src_main/console/piscreendrawer.h diff --git a/src/console/piscreentile.cpp b/src_main/console/piscreentile.cpp similarity index 100% rename from src/console/piscreentile.cpp rename to src_main/console/piscreentile.cpp diff --git a/src/console/piscreentile.h b/src_main/console/piscreentile.h similarity index 100% rename from src/console/piscreentile.h rename to src_main/console/piscreentile.h diff --git a/src/console/piscreentiles.cpp b/src_main/console/piscreentiles.cpp similarity index 100% rename from src/console/piscreentiles.cpp rename to src_main/console/piscreentiles.cpp diff --git a/src/console/piscreentiles.h b/src_main/console/piscreentiles.h similarity index 100% rename from src/console/piscreentiles.h rename to src_main/console/piscreentiles.h diff --git a/src/console/piscreentypes.h b/src_main/console/piscreentypes.h similarity index 100% rename from src/console/piscreentypes.h rename to src_main/console/piscreentypes.h diff --git a/src/console/piterminal.cpp b/src_main/console/piterminal.cpp similarity index 100% rename from src/console/piterminal.cpp rename to src_main/console/piterminal.cpp diff --git a/src/console/piterminal.h b/src_main/console/piterminal.h similarity index 100% rename from src/console/piterminal.h rename to src_main/console/piterminal.h diff --git a/src/containers/picontainers.cpp b/src_main/containers/picontainers.cpp similarity index 100% rename from src/containers/picontainers.cpp rename to src_main/containers/picontainers.cpp diff --git a/src/containers/picontainers.h b/src_main/containers/picontainers.h similarity index 99% rename from src/containers/picontainers.h rename to src_main/containers/picontainers.h index 4a2e16ff..d2bbdc13 100755 --- a/src/containers/picontainers.h +++ b/src_main/containers/picontainers.h @@ -33,7 +33,11 @@ #ifndef assert # define assert(x) #endif -#include +#ifdef MAC_OS +# include +#else +# include +#endif #include #include #ifndef PIP_MEMALIGN_BYTES diff --git a/src/containers/picontainersmodule.h b/src_main/containers/picontainersmodule.h similarity index 100% rename from src/containers/picontainersmodule.h rename to src_main/containers/picontainersmodule.h diff --git a/src/containers/pideque.h b/src_main/containers/pideque.h similarity index 100% rename from src/containers/pideque.h rename to src_main/containers/pideque.h diff --git a/src/containers/pilist.h b/src_main/containers/pilist.h similarity index 100% rename from src/containers/pilist.h rename to src_main/containers/pilist.h diff --git a/src/containers/pimap.h b/src_main/containers/pimap.h similarity index 100% rename from src/containers/pimap.h rename to src_main/containers/pimap.h diff --git a/src/containers/pipair.h b/src_main/containers/pipair.h similarity index 100% rename from src/containers/pipair.h rename to src_main/containers/pipair.h diff --git a/src/containers/piqueue.h b/src_main/containers/piqueue.h similarity index 100% rename from src/containers/piqueue.h rename to src_main/containers/piqueue.h diff --git a/src/containers/piset.h b/src_main/containers/piset.h similarity index 100% rename from src/containers/piset.h rename to src_main/containers/piset.h diff --git a/src/containers/pistack.h b/src_main/containers/pistack.h similarity index 100% rename from src/containers/pistack.h rename to src_main/containers/pistack.h diff --git a/src/containers/pivector.h b/src_main/containers/pivector.h similarity index 100% rename from src/containers/pivector.h rename to src_main/containers/pivector.h diff --git a/src/core/pibase.h b/src_main/core/pibase.h similarity index 100% rename from src/core/pibase.h rename to src_main/core/pibase.h diff --git a/src/core/pibitarray.cpp b/src_main/core/pibitarray.cpp similarity index 100% rename from src/core/pibitarray.cpp rename to src_main/core/pibitarray.cpp diff --git a/src/core/pibitarray.h b/src_main/core/pibitarray.h similarity index 100% rename from src/core/pibitarray.h rename to src_main/core/pibitarray.h diff --git a/src/core/pibytearray.cpp b/src_main/core/pibytearray.cpp similarity index 100% rename from src/core/pibytearray.cpp rename to src_main/core/pibytearray.cpp diff --git a/src/core/pibytearray.h b/src_main/core/pibytearray.h similarity index 100% rename from src/core/pibytearray.h rename to src_main/core/pibytearray.h diff --git a/src/core/pichar.cpp b/src_main/core/pichar.cpp similarity index 100% rename from src/core/pichar.cpp rename to src_main/core/pichar.cpp diff --git a/src/core/pichar.h b/src_main/core/pichar.h similarity index 100% rename from src/core/pichar.h rename to src_main/core/pichar.h diff --git a/src/core/pichunkstream.cpp b/src_main/core/pichunkstream.cpp similarity index 100% rename from src/core/pichunkstream.cpp rename to src_main/core/pichunkstream.cpp diff --git a/src/core/pichunkstream.h b/src_main/core/pichunkstream.h similarity index 100% rename from src/core/pichunkstream.h rename to src_main/core/pichunkstream.h diff --git a/src/core/picli.cpp b/src_main/core/picli.cpp similarity index 100% rename from src/core/picli.cpp rename to src_main/core/picli.cpp diff --git a/src/core/picli.h b/src_main/core/picli.h similarity index 100% rename from src/core/picli.h rename to src_main/core/picli.h diff --git a/src/core/picollection.cpp b/src_main/core/picollection.cpp similarity index 100% rename from src/core/picollection.cpp rename to src_main/core/picollection.cpp diff --git a/src/core/picollection.h b/src_main/core/picollection.h similarity index 100% rename from src/core/picollection.h rename to src_main/core/picollection.h diff --git a/src/core/picoremodule.h b/src_main/core/picoremodule.h similarity index 100% rename from src/core/picoremodule.h rename to src_main/core/picoremodule.h diff --git a/src/core/picout.cpp b/src_main/core/picout.cpp similarity index 100% rename from src/core/picout.cpp rename to src_main/core/picout.cpp diff --git a/src/core/picout.h b/src_main/core/picout.h similarity index 100% rename from src/core/picout.h rename to src_main/core/picout.h diff --git a/src/core/piflags.h b/src_main/core/piflags.h similarity index 100% rename from src/core/piflags.h rename to src_main/core/piflags.h diff --git a/src/core/piincludes.cpp b/src_main/core/piincludes.cpp similarity index 100% rename from src/core/piincludes.cpp rename to src_main/core/piincludes.cpp diff --git a/src/core/piincludes.h b/src_main/core/piincludes.h similarity index 100% rename from src/core/piincludes.h rename to src_main/core/piincludes.h diff --git a/src/core/piincludes_p.h b/src_main/core/piincludes_p.h similarity index 100% rename from src/core/piincludes_p.h rename to src_main/core/piincludes_p.h diff --git a/src/core/piinit.cpp b/src_main/core/piinit.cpp similarity index 100% rename from src/core/piinit.cpp rename to src_main/core/piinit.cpp diff --git a/src/core/piinit.h b/src_main/core/piinit.h similarity index 100% rename from src/core/piinit.h rename to src_main/core/piinit.h diff --git a/src/core/piobject.cpp b/src_main/core/piobject.cpp similarity index 100% rename from src/core/piobject.cpp rename to src_main/core/piobject.cpp diff --git a/src/core/piobject.h b/src_main/core/piobject.h similarity index 100% rename from src/core/piobject.h rename to src_main/core/piobject.h diff --git a/src/core/pipropertystorage.cpp b/src_main/core/pipropertystorage.cpp similarity index 100% rename from src/core/pipropertystorage.cpp rename to src_main/core/pipropertystorage.cpp diff --git a/src/core/pipropertystorage.h b/src_main/core/pipropertystorage.h similarity index 100% rename from src/core/pipropertystorage.h rename to src_main/core/pipropertystorage.h diff --git a/src/core/pistatemachine.h b/src_main/core/pistatemachine.h similarity index 100% rename from src/core/pistatemachine.h rename to src_main/core/pistatemachine.h diff --git a/src/core/pistring.cpp b/src_main/core/pistring.cpp similarity index 100% rename from src/core/pistring.cpp rename to src_main/core/pistring.cpp diff --git a/src/core/pistring.h b/src_main/core/pistring.h similarity index 100% rename from src/core/pistring.h rename to src_main/core/pistring.h diff --git a/src/core/pistring_std.h b/src_main/core/pistring_std.h similarity index 100% rename from src/core/pistring_std.h rename to src_main/core/pistring_std.h diff --git a/src/core/pitime.cpp b/src_main/core/pitime.cpp similarity index 100% rename from src/core/pitime.cpp rename to src_main/core/pitime.cpp diff --git a/src/core/pitime.h b/src_main/core/pitime.h similarity index 100% rename from src/core/pitime.h rename to src_main/core/pitime.h diff --git a/src/core/pitime_win.h b/src_main/core/pitime_win.h similarity index 100% rename from src/core/pitime_win.h rename to src_main/core/pitime_win.h diff --git a/src/core/pivariant.cpp b/src_main/core/pivariant.cpp similarity index 100% rename from src/core/pivariant.cpp rename to src_main/core/pivariant.cpp diff --git a/src/core/pivariant.h b/src_main/core/pivariant.h similarity index 100% rename from src/core/pivariant.h rename to src_main/core/pivariant.h diff --git a/src/core/pivarianttypes.cpp b/src_main/core/pivarianttypes.cpp similarity index 100% rename from src/core/pivarianttypes.cpp rename to src_main/core/pivarianttypes.cpp diff --git a/src/core/pivarianttypes.h b/src_main/core/pivarianttypes.h similarity index 100% rename from src/core/pivarianttypes.h rename to src_main/core/pivarianttypes.h diff --git a/src/geo/piellipsoidmodel.cpp b/src_main/geo/piellipsoidmodel.cpp similarity index 100% rename from src/geo/piellipsoidmodel.cpp rename to src_main/geo/piellipsoidmodel.cpp diff --git a/src/geo/piellipsoidmodel.h b/src_main/geo/piellipsoidmodel.h similarity index 100% rename from src/geo/piellipsoidmodel.h rename to src_main/geo/piellipsoidmodel.h diff --git a/src/geo/pigeomodule.h b/src_main/geo/pigeomodule.h similarity index 100% rename from src/geo/pigeomodule.h rename to src_main/geo/pigeomodule.h diff --git a/src/geo/pigeoposition.cpp b/src_main/geo/pigeoposition.cpp similarity index 100% rename from src/geo/pigeoposition.cpp rename to src_main/geo/pigeoposition.cpp diff --git a/src/geo/pigeoposition.h b/src_main/geo/pigeoposition.h similarity index 100% rename from src/geo/pigeoposition.h rename to src_main/geo/pigeoposition.h diff --git a/src/io/pibasetransfer.cpp b/src_main/io/pibasetransfer.cpp similarity index 100% rename from src/io/pibasetransfer.cpp rename to src_main/io/pibasetransfer.cpp diff --git a/src/io/pibasetransfer.h b/src_main/io/pibasetransfer.h similarity index 100% rename from src/io/pibasetransfer.h rename to src_main/io/pibasetransfer.h diff --git a/src/io/pibinarylog.cpp b/src_main/io/pibinarylog.cpp similarity index 100% rename from src/io/pibinarylog.cpp rename to src_main/io/pibinarylog.cpp diff --git a/src/io/pibinarylog.h b/src_main/io/pibinarylog.h similarity index 100% rename from src/io/pibinarylog.h rename to src_main/io/pibinarylog.h diff --git a/src/io/piconfig.cpp b/src_main/io/piconfig.cpp similarity index 100% rename from src/io/piconfig.cpp rename to src_main/io/piconfig.cpp diff --git a/src/io/piconfig.h b/src_main/io/piconfig.h similarity index 100% rename from src/io/piconfig.h rename to src_main/io/piconfig.h diff --git a/src/io/piconnection.cpp b/src_main/io/piconnection.cpp similarity index 100% rename from src/io/piconnection.cpp rename to src_main/io/piconnection.cpp diff --git a/src/io/piconnection.h b/src_main/io/piconnection.h similarity index 100% rename from src/io/piconnection.h rename to src_main/io/piconnection.h diff --git a/src/io/pidatatransfer.cpp b/src_main/io/pidatatransfer.cpp similarity index 100% rename from src/io/pidatatransfer.cpp rename to src_main/io/pidatatransfer.cpp diff --git a/src/io/pidatatransfer.h b/src_main/io/pidatatransfer.h similarity index 100% rename from src/io/pidatatransfer.h rename to src_main/io/pidatatransfer.h diff --git a/src/io/pidiagnostics.cpp b/src_main/io/pidiagnostics.cpp similarity index 100% rename from src/io/pidiagnostics.cpp rename to src_main/io/pidiagnostics.cpp diff --git a/src/io/pidiagnostics.h b/src_main/io/pidiagnostics.h similarity index 100% rename from src/io/pidiagnostics.h rename to src_main/io/pidiagnostics.h diff --git a/src/io/pidir.cpp b/src_main/io/pidir.cpp similarity index 100% rename from src/io/pidir.cpp rename to src_main/io/pidir.cpp diff --git a/src/io/pidir.h b/src_main/io/pidir.h similarity index 100% rename from src/io/pidir.h rename to src_main/io/pidir.h diff --git a/src/io/piethernet.cpp b/src_main/io/piethernet.cpp similarity index 100% rename from src/io/piethernet.cpp rename to src_main/io/piethernet.cpp diff --git a/src/io/piethernet.h b/src_main/io/piethernet.h similarity index 100% rename from src/io/piethernet.h rename to src_main/io/piethernet.h diff --git a/src/io/pifile.cpp b/src_main/io/pifile.cpp similarity index 100% rename from src/io/pifile.cpp rename to src_main/io/pifile.cpp diff --git a/src/io/pifile.h b/src_main/io/pifile.h similarity index 100% rename from src/io/pifile.h rename to src_main/io/pifile.h diff --git a/src/io/pifiletransfer.cpp b/src_main/io/pifiletransfer.cpp similarity index 100% rename from src/io/pifiletransfer.cpp rename to src_main/io/pifiletransfer.cpp diff --git a/src/io/pifiletransfer.h b/src_main/io/pifiletransfer.h similarity index 100% rename from src/io/pifiletransfer.h rename to src_main/io/pifiletransfer.h diff --git a/src/io/piiobytearray.cpp b/src_main/io/piiobytearray.cpp similarity index 100% rename from src/io/piiobytearray.cpp rename to src_main/io/piiobytearray.cpp diff --git a/src/io/piiobytearray.h b/src_main/io/piiobytearray.h similarity index 100% rename from src/io/piiobytearray.h rename to src_main/io/piiobytearray.h diff --git a/src/io/piiodevice.cpp b/src_main/io/piiodevice.cpp similarity index 100% rename from src/io/piiodevice.cpp rename to src_main/io/piiodevice.cpp diff --git a/src/io/piiodevice.h b/src_main/io/piiodevice.h similarity index 100% rename from src/io/piiodevice.h rename to src_main/io/piiodevice.h diff --git a/src/io/piiomodule.h b/src_main/io/piiomodule.h similarity index 100% rename from src/io/piiomodule.h rename to src_main/io/piiomodule.h diff --git a/src/io/piiostring.cpp b/src_main/io/piiostring.cpp similarity index 100% rename from src/io/piiostring.cpp rename to src_main/io/piiostring.cpp diff --git a/src/io/piiostring.h b/src_main/io/piiostring.h similarity index 100% rename from src/io/piiostring.h rename to src_main/io/piiostring.h diff --git a/src/io/pimultiprotocol.cpp b/src_main/io/pimultiprotocol.cpp similarity index 100% rename from src/io/pimultiprotocol.cpp rename to src_main/io/pimultiprotocol.cpp diff --git a/src/io/pimultiprotocol.h b/src_main/io/pimultiprotocol.h similarity index 100% rename from src/io/pimultiprotocol.h rename to src_main/io/pimultiprotocol.h diff --git a/src/io/pipacketextractor.cpp b/src_main/io/pipacketextractor.cpp similarity index 100% rename from src/io/pipacketextractor.cpp rename to src_main/io/pipacketextractor.cpp diff --git a/src/io/pipacketextractor.h b/src_main/io/pipacketextractor.h similarity index 100% rename from src/io/pipacketextractor.h rename to src_main/io/pipacketextractor.h diff --git a/src/io/pipeer.cpp b/src_main/io/pipeer.cpp similarity index 100% rename from src/io/pipeer.cpp rename to src_main/io/pipeer.cpp diff --git a/src/io/pipeer.h b/src_main/io/pipeer.h similarity index 100% rename from src/io/pipeer.h rename to src_main/io/pipeer.h diff --git a/src/io/piprotocol.cpp b/src_main/io/piprotocol.cpp similarity index 100% rename from src/io/piprotocol.cpp rename to src_main/io/piprotocol.cpp diff --git a/src/io/piprotocol.h b/src_main/io/piprotocol.h similarity index 100% rename from src/io/piprotocol.h rename to src_main/io/piprotocol.h diff --git a/src/io/piserial.cpp b/src_main/io/piserial.cpp similarity index 100% rename from src/io/piserial.cpp rename to src_main/io/piserial.cpp diff --git a/src/io/piserial.h b/src_main/io/piserial.h similarity index 100% rename from src/io/piserial.h rename to src_main/io/piserial.h diff --git a/src/io/pisharedmemory.cpp b/src_main/io/pisharedmemory.cpp similarity index 100% rename from src/io/pisharedmemory.cpp rename to src_main/io/pisharedmemory.cpp diff --git a/src/io/pisharedmemory.h b/src_main/io/pisharedmemory.h similarity index 100% rename from src/io/pisharedmemory.h rename to src_main/io/pisharedmemory.h diff --git a/src/io/pitransparentdevice.cpp b/src_main/io/pitransparentdevice.cpp similarity index 100% rename from src/io/pitransparentdevice.cpp rename to src_main/io/pitransparentdevice.cpp diff --git a/src/io/pitransparentdevice.h b/src_main/io/pitransparentdevice.h similarity index 100% rename from src/io/pitransparentdevice.h rename to src_main/io/pitransparentdevice.h diff --git a/src/io/piusb.h b/src_main/io/piusb.h similarity index 100% rename from src/io/piusb.h rename to src_main/io/piusb.h diff --git a/src/math/picrc.h b/src_main/math/picrc.h similarity index 100% rename from src/math/picrc.h rename to src_main/math/picrc.h diff --git a/src/math/picrypt.h b/src_main/math/picrypt.h similarity index 100% rename from src/math/picrypt.h rename to src_main/math/picrypt.h diff --git a/src/math/pievaluator.cpp b/src_main/math/pievaluator.cpp similarity index 100% rename from src/math/pievaluator.cpp rename to src_main/math/pievaluator.cpp diff --git a/src/math/pievaluator.h b/src_main/math/pievaluator.h similarity index 100% rename from src/math/pievaluator.h rename to src_main/math/pievaluator.h diff --git a/src/math/pifft.cpp b/src_main/math/pifft.cpp similarity index 95% rename from src/math/pifft.cpp rename to src_main/math/pifft.cpp index 9e3c487c..81eeba0f 100644 --- a/src/math/pifft.cpp +++ b/src_main/math/pifft.cpp @@ -18,7 +18,6 @@ */ #include "pifft.h" -#include "pifft_p.h" PIFFT_double::PIFFT_double() { @@ -1892,18 +1891,3 @@ void PIFFT_float::ftbase_ffttwcalc(PIVector * a, int aoffset, int n1, int } } } - - - - -#define _PIFFTW_CPP(type) \ - _PIFFTW_P_##type##_::_PIFFTW_P_##type##_() {impl = new PIFFTW_Private();;} \ - _PIFFTW_P_##type##_::~_PIFFTW_P_##type##_() {delete (PIFFTW_Private*)impl;} \ - const PIVector > & _PIFFTW_P_##type##_::calcFFT(const PIVector > & in) {return ((PIFFTW_Private*)impl)->calcFFT(in);} \ - const PIVector > & _PIFFTW_P_##type##_::calcFFTR(const PIVector & in) {return ((PIFFTW_Private*)impl)->calcFFT(in);} \ - const PIVector > & _PIFFTW_P_##type##_::calcFFTI(const PIVector > & in) {return ((PIFFTW_Private*)impl)->calcFFTinverse(in);} \ - void _PIFFTW_P_##type##_::preparePlan(int size, int op) {return ((PIFFTW_Private*)impl)->preparePlan(size, op);} - -_PIFFTW_CPP(float) -_PIFFTW_CPP(double) -_PIFFTW_CPP(ldouble) diff --git a/src/math/pifft.h b/src_main/math/pifft.h similarity index 100% rename from src/math/pifft.h rename to src_main/math/pifft.h diff --git a/src/math/pifixedpoint.h b/src_main/math/pifixedpoint.h similarity index 97% rename from src/math/pifixedpoint.h rename to src_main/math/pifixedpoint.h index 9a461d77..37cf0729 100644 --- a/src/math/pifixedpoint.h +++ b/src_main/math/pifixedpoint.h @@ -75,7 +75,7 @@ public: Type val; }; - +/* template inline PICout operator <<(PICout s, const PIFixedPoint & v) { s.space(); s.setControl(0, true); @@ -99,5 +99,5 @@ inline PICout operator <<(PICout s, const PIFixedPoint & v) { s.restoreControl(); return s; } - +*/ #endif // PIFIXEDPOINT_H diff --git a/src/math/pimathbase.cpp b/src_main/math/pimathbase.cpp similarity index 100% rename from src/math/pimathbase.cpp rename to src_main/math/pimathbase.cpp diff --git a/src/math/pimathbase.h b/src_main/math/pimathbase.h similarity index 100% rename from src/math/pimathbase.h rename to src_main/math/pimathbase.h diff --git a/src/math/pimathcomplex.h b/src_main/math/pimathcomplex.h similarity index 100% rename from src/math/pimathcomplex.h rename to src_main/math/pimathcomplex.h diff --git a/src/math/pimathmatrix.h b/src_main/math/pimathmatrix.h similarity index 100% rename from src/math/pimathmatrix.h rename to src_main/math/pimathmatrix.h diff --git a/src/math/pimathmodule.h b/src_main/math/pimathmodule.h similarity index 100% rename from src/math/pimathmodule.h rename to src_main/math/pimathmodule.h diff --git a/src/math/pimathsolver.cpp b/src_main/math/pimathsolver.cpp similarity index 100% rename from src/math/pimathsolver.cpp rename to src_main/math/pimathsolver.cpp diff --git a/src/math/pimathsolver.h b/src_main/math/pimathsolver.h similarity index 100% rename from src/math/pimathsolver.h rename to src_main/math/pimathsolver.h diff --git a/src/math/pimathvector.h b/src_main/math/pimathvector.h similarity index 100% rename from src/math/pimathvector.h rename to src_main/math/pimathvector.h diff --git a/src/math/piquaternion.cpp b/src_main/math/piquaternion.cpp similarity index 100% rename from src/math/piquaternion.cpp rename to src_main/math/piquaternion.cpp diff --git a/src/math/piquaternion.h b/src_main/math/piquaternion.h similarity index 100% rename from src/math/piquaternion.h rename to src_main/math/piquaternion.h diff --git a/src/math/pistatistic.h b/src_main/math/pistatistic.h similarity index 100% rename from src/math/pistatistic.h rename to src_main/math/pistatistic.h diff --git a/src/pip.h b/src_main/pip.h similarity index 100% rename from src/pip.h rename to src_main/pip.h diff --git a/src/pip_export.h b/src_main/pip_export.h similarity index 100% rename from src/pip_export.h rename to src_main/pip_export.h diff --git a/src/piplatform.h b/src_main/piplatform.h similarity index 100% rename from src/piplatform.h rename to src_main/piplatform.h diff --git a/src/piversion.h b/src_main/piversion.h similarity index 59% rename from src/piversion.h rename to src_main/piversion.h index 261b621d..e4b2411d 100644 --- a/src/piversion.h +++ b/src_main/piversion.h @@ -2,9 +2,9 @@ #ifndef PIVERSION_H #define PIVERSION_H -#define PIP_VERSION_MAJOR 0 -#define PIP_VERSION_MINOR 9 -#define PIP_VERSION_REVISION 4 +#define PIP_VERSION_MAJOR 1 +#define PIP_VERSION_MINOR 0 +#define PIP_VERSION_REVISION 0 #define PIP_VERSION_SUFFIX "_prealpha" #endif // PIVERSION_H diff --git a/src/system/picodec.cpp b/src_main/system/picodec.cpp similarity index 100% rename from src/system/picodec.cpp rename to src_main/system/picodec.cpp diff --git a/src/system/picodec.h b/src_main/system/picodec.h similarity index 100% rename from src/system/picodec.h rename to src_main/system/picodec.h diff --git a/src/system/piintrospection.cpp b/src_main/system/piintrospection.cpp similarity index 100% rename from src/system/piintrospection.cpp rename to src_main/system/piintrospection.cpp diff --git a/src/system/piintrospection.h b/src_main/system/piintrospection.h similarity index 100% rename from src/system/piintrospection.h rename to src_main/system/piintrospection.h diff --git a/src/system/piintrospection_proxy.cpp b/src_main/system/piintrospection_proxy.cpp similarity index 100% rename from src/system/piintrospection_proxy.cpp rename to src_main/system/piintrospection_proxy.cpp diff --git a/src/system/piintrospection_proxy.h b/src_main/system/piintrospection_proxy.h similarity index 100% rename from src/system/piintrospection_proxy.h rename to src_main/system/piintrospection_proxy.h diff --git a/src/system/pilibrary.cpp b/src_main/system/pilibrary.cpp similarity index 100% rename from src/system/pilibrary.cpp rename to src_main/system/pilibrary.cpp diff --git a/src/system/pilibrary.h b/src_main/system/pilibrary.h similarity index 100% rename from src/system/pilibrary.h rename to src_main/system/pilibrary.h diff --git a/src/system/pimonitor.cpp b/src_main/system/pimonitor.cpp similarity index 100% rename from src/system/pimonitor.cpp rename to src_main/system/pimonitor.cpp diff --git a/src/system/pimonitor.h b/src_main/system/pimonitor.h similarity index 100% rename from src/system/pimonitor.h rename to src_main/system/pimonitor.h diff --git a/src/system/piprocess.cpp b/src_main/system/piprocess.cpp similarity index 100% rename from src/system/piprocess.cpp rename to src_main/system/piprocess.cpp diff --git a/src/system/piprocess.h b/src_main/system/piprocess.h similarity index 100% rename from src/system/piprocess.h rename to src_main/system/piprocess.h diff --git a/src/system/pisignals.cpp b/src_main/system/pisignals.cpp similarity index 100% rename from src/system/pisignals.cpp rename to src_main/system/pisignals.cpp diff --git a/src/system/pisignals.h b/src_main/system/pisignals.h similarity index 100% rename from src/system/pisignals.h rename to src_main/system/pisignals.h diff --git a/src/system/pisingleapplication.cpp b/src_main/system/pisingleapplication.cpp similarity index 100% rename from src/system/pisingleapplication.cpp rename to src_main/system/pisingleapplication.cpp diff --git a/src/system/pisingleapplication.h b/src_main/system/pisingleapplication.h similarity index 100% rename from src/system/pisingleapplication.h rename to src_main/system/pisingleapplication.h diff --git a/src/system/pisysteminfo.cpp b/src_main/system/pisysteminfo.cpp similarity index 100% rename from src/system/pisysteminfo.cpp rename to src_main/system/pisysteminfo.cpp diff --git a/src/system/pisysteminfo.h b/src_main/system/pisysteminfo.h similarity index 100% rename from src/system/pisysteminfo.h rename to src_main/system/pisysteminfo.h diff --git a/src/system/pisystemmodule.h b/src_main/system/pisystemmodule.h similarity index 100% rename from src/system/pisystemmodule.h rename to src_main/system/pisystemmodule.h diff --git a/src/system/pisystemmonitor.cpp b/src_main/system/pisystemmonitor.cpp similarity index 100% rename from src/system/pisystemmonitor.cpp rename to src_main/system/pisystemmonitor.cpp diff --git a/src/system/pisystemmonitor.h b/src_main/system/pisystemmonitor.h similarity index 100% rename from src/system/pisystemmonitor.h rename to src_main/system/pisystemmonitor.h diff --git a/src/system/pisystemtests.cpp b/src_main/system/pisystemtests.cpp similarity index 100% rename from src/system/pisystemtests.cpp rename to src_main/system/pisystemtests.cpp diff --git a/src/system/pisystemtests.h b/src_main/system/pisystemtests.h similarity index 100% rename from src/system/pisystemtests.h rename to src_main/system/pisystemtests.h diff --git a/src/thread/pigrabberbase.h b/src_main/thread/pigrabberbase.h similarity index 100% rename from src/thread/pigrabberbase.h rename to src_main/thread/pigrabberbase.h diff --git a/src/thread/pimutex.cpp b/src_main/thread/pimutex.cpp similarity index 100% rename from src/thread/pimutex.cpp rename to src_main/thread/pimutex.cpp diff --git a/src/thread/pimutex.h b/src_main/thread/pimutex.h similarity index 100% rename from src/thread/pimutex.h rename to src_main/thread/pimutex.h diff --git a/src/thread/pipipelinethread.h b/src_main/thread/pipipelinethread.h similarity index 100% rename from src/thread/pipipelinethread.h rename to src_main/thread/pipipelinethread.h diff --git a/src/thread/pithread.cpp b/src_main/thread/pithread.cpp similarity index 100% rename from src/thread/pithread.cpp rename to src_main/thread/pithread.cpp diff --git a/src/thread/pithread.h b/src_main/thread/pithread.h similarity index 100% rename from src/thread/pithread.h rename to src_main/thread/pithread.h diff --git a/src/thread/pithreadmodule.h b/src_main/thread/pithreadmodule.h similarity index 100% rename from src/thread/pithreadmodule.h rename to src_main/thread/pithreadmodule.h diff --git a/src/thread/pitimer.cpp b/src_main/thread/pitimer.cpp similarity index 100% rename from src/thread/pitimer.cpp rename to src_main/thread/pitimer.cpp diff --git a/src/thread/pitimer.h b/src_main/thread/pitimer.h similarity index 100% rename from src/thread/pitimer.h rename to src_main/thread/pitimer.h diff --git a/src/io/piusb.cpp b/src_usb/piusb.cpp old mode 100755 new mode 100644 similarity index 100% rename from src/io/piusb.cpp rename to src_usb/piusb.cpp diff --git a/utils/code_model_generator/CMakeLists.txt b/utils/code_model_generator/CMakeLists.txt index 16a4e75f..ce5e6282 100755 --- a/utils/code_model_generator/CMakeLists.txt +++ b/utils/code_model_generator/CMakeLists.txt @@ -1,3 +1,4 @@ +message(STATUS "Building pip_cmg") add_executable(pip_cmg "main.cpp") target_link_libraries(pip_cmg pip) if (DEFINED LIB) diff --git a/utils/crypt_tool/CMakeLists.txt b/utils/crypt_tool/CMakeLists.txt index 9528c301..17a03f8a 100644 --- a/utils/crypt_tool/CMakeLists.txt +++ b/utils/crypt_tool/CMakeLists.txt @@ -1,5 +1,6 @@ +message(STATUS "Building picrypt") add_executable(picrypt "main.cpp") -target_link_libraries(picrypt pip) +target_link_libraries(picrypt pip pip_crypt) if (DEFINED LIB) install(TARGETS picrypt DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) endif () diff --git a/utils/remote_console/CMakeLists.txt b/utils/remote_console/CMakeLists.txt index 39955038..6304a31f 100755 --- a/utils/remote_console/CMakeLists.txt +++ b/utils/remote_console/CMakeLists.txt @@ -1,3 +1,4 @@ +message(STATUS "Building pip_remote_console") add_executable(pip_remote_console "main.cpp") target_link_libraries(pip_remote_console pip) if (DEFINED LIB) diff --git a/utils/system_daemon/CMakeLists.txt b/utils/system_daemon/CMakeLists.txt index c0a4eeb2..fa506b4b 100755 --- a/utils/system_daemon/CMakeLists.txt +++ b/utils/system_daemon/CMakeLists.txt @@ -1,7 +1,8 @@ +message(STATUS "Building pisd") file(GLOB CPPS "*.cpp") file(GLOB HDRS "*.h") add_executable(pisd ${CPPS} ${HDRS}) -target_link_libraries(pisd pip) +target_link_libraries(pisd pip pip_crypt) if (DEFINED LIB) install(TARGETS pisd DESTINATION ${CMAKE_INSTALL_PREFIX}/bin) endif () diff --git a/utils/system_test/CMakeLists.txt b/utils/system_test/CMakeLists.txt index 03841c81..fe07d4bb 100755 --- a/utils/system_test/CMakeLists.txt +++ b/utils/system_test/CMakeLists.txt @@ -1,3 +1,4 @@ +message(STATUS "Building pip_system_test") add_executable(pip_system_test "main.cpp") target_link_libraries(pip_system_test pip) if (DEFINED LIB) diff --git a/utils/udp_file_transfer/CMakeLists.txt b/utils/udp_file_transfer/CMakeLists.txt index 2f9ebd22..c7cf3e8c 100644 --- a/utils/udp_file_transfer/CMakeLists.txt +++ b/utils/udp_file_transfer/CMakeLists.txt @@ -1,3 +1,4 @@ +message(STATUS "Building pift") add_executable(pift "main.cpp") target_link_libraries(pift pip) if (DEFINED LIB)