Mercurial > hg > orthanc-wsi
changeset 117:28bd1b119c4d
support of Linux Standard Base
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 04 Jan 2018 10:55:12 +0100 |
parents | a18bfe1fdd62 |
children | 3ddaaad18ec0 |
files | NEWS Resources/Orthanc/Resources/LinuxStandardBaseToolchain.cmake Resources/Orthanc/Resources/Patches/dcmtk-3.6.2-linux-standard-base.patch Resources/SyncOrthancFolder.py |
diffstat | 4 files changed, 82 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/NEWS Thu Jan 04 10:49:34 2018 +0100 +++ b/NEWS Thu Jan 04 10:55:12 2018 +0100 @@ -2,8 +2,9 @@ =============================== * "--max-size=0" allowed to create a single instance per pyramid level +* Fix Debian #876807 (orthanc-wsi FTBFS with libopenjp2-7-dev 2.2.0-1) * Support of OpenBSD and FreeBSD -* Fix Debian #876807 (orthanc-wsi FTBFS with libopenjp2-7-dev 2.2.0-1) +* Support of Linux Standard Base Version 0.4 (2017-03-01)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Resources/Orthanc/Resources/LinuxStandardBaseToolchain.cmake Thu Jan 04 10:55:12 2018 +0100 @@ -0,0 +1,66 @@ +# LSB_CC=gcc-4.8 LSB_CXX=g++-4.8 cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=../Resources/LinuxStandardBaseToolchain.cmake + +INCLUDE(CMakeForceCompiler) + +SET(LSB_PATH $ENV{LSB_PATH}) +SET(LSB_CC $ENV{LSB_CC}) +SET(LSB_CXX $ENV{LSB_CXX}) +SET(LSB_TARGET_VERSION "4.0") + +IF ("${LSB_PATH}" STREQUAL "") + SET(LSB_PATH "/opt/lsb") +ENDIF() + +IF (EXISTS ${LSB_PATH}/lib64) + SET(LSB_TARGET_PROCESSOR "x86_64") + SET(LSB_LIBPATH ${LSB_PATH}/lib64-${LSB_TARGET_VERSION}) +ELSEIF (EXISTS ${LSB_PATH}/lib) + SET(LSB_TARGET_PROCESSOR "x86") + SET(LSB_LIBPATH ${LSB_PATH}/lib-${LSB_TARGET_VERSION}) +ELSE() + MESSAGE(FATAL_ERROR "Unable to detect the target processor architecture. Check the LSB_PATH environment variable.") +ENDIF() + +SET(LSB_CPPPATH ${LSB_PATH}/include) +SET(PKG_CONFIG_PATH ${LSB_LIBPATH}/pkgconfig/) + +# the name of the target operating system +SET(CMAKE_SYSTEM_NAME Linux) +SET(CMAKE_SYSTEM_VERSION LinuxStandardBase) +SET(CMAKE_SYSTEM_PROCESSOR ${LSB_TARGET_PROCESSOR}) + +# which compilers to use for C and C++ +SET(CMAKE_C_COMPILER ${LSB_PATH}/bin/lsbcc) +CMAKE_FORCE_CXX_COMPILER(${LSB_PATH}/bin/lsbc++ GNU) + +# here is the target environment located +SET(CMAKE_FIND_ROOT_PATH ${LSB_PATH}) + +# adjust the default behaviour of the FIND_XXX() commands: +# search headers and libraries in the target environment, search +# programs in the host environment +SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) +SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER) +SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER) + +SET(CMAKE_CROSSCOMPILING OFF) + + +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --lsb-target-version=${LSB_TARGET_VERSION} -I${LSB_PATH}/include" CACHE INTERNAL "" FORCE) +SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --lsb-target-version=${LSB_TARGET_VERSION} -nostdinc++ -I${LSB_PATH}/include -I${LSB_PATH}/include/c++ -I${LSB_PATH}/include/c++/backward" CACHE INTERNAL "" FORCE) +SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --lsb-target-version=${LSB_TARGET_VERSION} -L${LSB_LIBPATH} --lsb-besteffort" CACHE INTERNAL "" FORCE) +SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --lsb-target-version=${LSB_TARGET_VERSION} -L${LSB_LIBPATH} --lsb-besteffort" CACHE INTERNAL "" FORCE) + +if (NOT "${LSB_CXX}" STREQUAL "") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --lsb-cxx=${LSB_CXX}") + SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --lsb-cxx=${LSB_CXX}") + SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --lsb-cxx=${LSB_CXX}") +endif() + +if (NOT "${LSB_CC}" STREQUAL "") + SET(CMAKE_C_FLAGS "${CMAKE_CC_FLAGS} --lsb-cc=${LSB_CC}") + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --lsb-cc=${LSB_CC}") + SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --lsb-cc=${LSB_CC}") + SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} --lsb-cc=${LSB_CC}") +endif() +
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Resources/Orthanc/Resources/Patches/dcmtk-3.6.2-linux-standard-base.patch Thu Jan 04 10:55:12 2018 +0100 @@ -0,0 +1,12 @@ +diff -urEb dcmtk-3.6.2.orig/ofstd/include/dcmtk/ofstd/offile.h dcmtk-3.6.2/ofstd/include/dcmtk/ofstd/offile.h +--- dcmtk-3.6.2.orig/ofstd/include/dcmtk/ofstd/offile.h 2017-07-14 17:41:11.000000000 +0200 ++++ dcmtk-3.6.2/ofstd/include/dcmtk/ofstd/offile.h 2018-01-02 13:56:04.075293459 +0100 +@@ -551,7 +551,7 @@ + */ + void setlinebuf() + { +-#if defined(_WIN32) || defined(__hpux) ++#if defined(_WIN32) || defined(__hpux) || defined(__LSB_VERSION__) + this->setvbuf(NULL, _IOLBF, 0); + #else + :: setlinebuf(file_);
--- a/Resources/SyncOrthancFolder.py Thu Jan 04 10:49:34 2018 +0100 +++ b/Resources/SyncOrthancFolder.py Thu Jan 04 10:55:12 2018 +0100 @@ -122,11 +122,13 @@ 'Resources/MinGW-W64-Toolchain32.cmake', 'Resources/MinGW-W64-Toolchain64.cmake', 'Resources/MinGWToolchain.cmake', + 'Resources/LinuxStandardBaseToolchain.cmake', 'Resources/Patches/boost-1.65.1-linux-standard-base.patch', 'Resources/Patches/curl-7.57.0-cmake.patch', 'Resources/Patches/dcmtk-3.6.0-dulparse-vulnerability.patch', 'Resources/Patches/dcmtk-3.6.0-mingw64.patch', 'Resources/Patches/dcmtk-3.6.0-speed.patch', + 'Resources/Patches/dcmtk-3.6.2-linux-standard-base.patch', 'Resources/ThirdParty/VisualStudio/stdint.h', 'Resources/ThirdParty/base64/base64.cpp', 'Resources/ThirdParty/base64/base64.h',