[qhull] 02/03: patch for large file support

Barak A. Pearlmutter barak+git at cs.nuim.ie
Wed Apr 30 12:41:05 UTC 2014


This is an automated email from the git hooks/post-receive script.

bap pushed a commit to branch master
in repository qhull.

commit d4bd533fefc0c709cc883d7336c58fecd11f6cc2
Author: Barak A. Pearlmutter <barak+git at cs.nuim.ie>
Date:   Wed Apr 30 13:01:29 2014 +0100

    patch for large file support
---
 debian/patches/0006-cmake-LFS.patch | 143 ++++++++++++++++++++++++++++++++++++
 debian/patches/series               |   1 +
 2 files changed, 144 insertions(+)

diff --git a/debian/patches/0006-cmake-LFS.patch b/debian/patches/0006-cmake-LFS.patch
new file mode 100644
index 0000000..48326fb
--- /dev/null
+++ b/debian/patches/0006-cmake-LFS.patch
@@ -0,0 +1,143 @@
+From: "Barak A. Pearlmutter" <barak+git at cs.nuim.ie>
+Date: Wed, 30 Apr 2014 12:50:37 +0100
+Subject: cmake LFS
+
+Enable LFS aka Large File Support (as option) in cmake.
+Snag cmake LFS macro from
+https://github.com/simongog/sdsl/blob/master/libdivsufsort-2.0.1/CMakeModules/CheckLFS.cmake
+---
+ CMakeLists.txt              |   4 ++
+ CMakeModules/CheckLFS.cmake | 109 ++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 113 insertions(+)
+ create mode 100644 CMakeModules/CheckLFS.cmake
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 98dbc70..c3bf46a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -44,6 +44,10 @@ string(REGEX REPLACE ".* ([0-9]+) .*"
+ set(qhull_SOVERSION 6)
+ set(qhull_VERSION2 "2012.1 2012/02/18")
+ 
++include(CMakeModules/CheckLFS.cmake)
++option(WITH_LFS "Enable Large File Support" ON)
++check_lfs(WITH_LFS)
++
+ if(INCLUDE_INSTALL_DIR)
+ else()
+ set(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include)
+diff --git a/CMakeModules/CheckLFS.cmake b/CMakeModules/CheckLFS.cmake
+new file mode 100644
+index 0000000..e2b0099
+--- /dev/null
++++ b/CMakeModules/CheckLFS.cmake
+@@ -0,0 +1,109 @@
++## Checks for large file support ##
++include(CheckIncludeFile)
++include(CheckSymbolExists)
++include(CheckTypeSize)
++
++macro(check_lfs _isenable)
++  set(LFS_OFF_T "")
++  set(LFS_FOPEN "")
++  set(LFS_FSEEK "")
++  set(LFS_FTELL "")
++  set(LFS_PRID "")
++
++  if(${_isenable})
++    set(SAFE_CMAKE_REQUIRED_DEFINITIONS "${CMAKE_REQUIRED_DEFINITIONS}")
++    set(CMAKE_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS}
++        -D_LARGEFILE_SOURCE -D_LARGE_FILES -D_FILE_OFFSET_BITS=64
++        -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS)
++
++    check_include_file("sys/types.h" HAVE_SYS_TYPES_H)
++    check_include_file("inttypes.h" HAVE_INTTYPES_H)
++    check_include_file("stddef.h" HAVE_STDDEF_H)
++    check_include_file("stdint.h" HAVE_STDINT_H)
++
++    # LFS type1: 8 <= sizeof(off_t), fseeko, ftello
++    check_type_size("off_t" SIZEOF_OFF_T)
++    if(SIZEOF_OFF_T GREATER 7)
++      check_symbol_exists("fseeko" "stdio.h" HAVE_FSEEKO)
++      check_symbol_exists("ftello" "stdio.h" HAVE_FTELLO)
++      if(HAVE_FSEEKO AND HAVE_FTELLO)
++        set(LFS_OFF_T "off_t")
++        set(LFS_FOPEN "fopen")
++        set(LFS_FSEEK "fseeko")
++        set(LFS_FTELL "ftello")
++        check_symbol_exists("PRIdMAX" "inttypes.h" HAVE_PRIDMAX)
++        if(HAVE_PRIDMAX)
++          set(LFS_PRID "PRIdMAX")
++        else(HAVE_PRIDMAX)
++          check_type_size("long" SIZEOF_LONG)
++          check_type_size("int" SIZEOF_INT)
++          if(SIZEOF_OFF_T GREATER SIZEOF_LONG)
++            set(LFS_PRID "\"lld\"")
++          elseif(SIZEOF_LONG GREATER SIZEOF_INT)
++            set(LFS_PRID "\"ld\"")
++          else(SIZEOF_OFF_T GREATER SIZEOF_LONG)
++            set(LFS_PRID "\"d\"")
++          endif(SIZEOF_OFF_T GREATER SIZEOF_LONG)
++        endif(HAVE_PRIDMAX)
++      endif(HAVE_FSEEKO AND HAVE_FTELLO)
++    endif(SIZEOF_OFF_T GREATER 7)
++
++    # LFS type2: 8 <= sizeof(off64_t), fopen64, fseeko64, ftello64
++    if(NOT LFS_OFF_T)
++      check_type_size("off64_t" SIZEOF_OFF64_T)
++      if(SIZEOF_OFF64_T GREATER 7)
++        check_symbol_exists("fopen64" "stdio.h" HAVE_FOPEN64)
++        check_symbol_exists("fseeko64" "stdio.h" HAVE_FSEEKO64)
++        check_symbol_exists("ftello64" "stdio.h" HAVE_FTELLO64)
++        if(HAVE_FOPEN64 AND HAVE_FSEEKO64 AND HAVE_FTELLO64)
++          set(LFS_OFF_T "off64_t")
++          set(LFS_FOPEN "fopen64")
++          set(LFS_FSEEK "fseeko64")
++          set(LFS_FTELL "ftello64")
++          check_symbol_exists("PRIdMAX" "inttypes.h" HAVE_PRIDMAX)
++          if(HAVE_PRIDMAX)
++            set(LFS_PRID "PRIdMAX")
++          else(HAVE_PRIDMAX)
++            check_type_size("long" SIZEOF_LONG)
++            check_type_size("int" SIZEOF_INT)
++            if(SIZEOF_OFF64_T GREATER SIZEOF_LONG)
++              set(LFS_PRID "\"lld\"")
++            elseif(SIZEOF_LONG GREATER SIZEOF_INT)
++              set(LFS_PRID "\"ld\"")
++            else(SIZEOF_OFF64_T GREATER SIZEOF_LONG)
++              set(LFS_PRID "\"d\"")
++            endif(SIZEOF_OFF64_T GREATER SIZEOF_LONG)
++          endif(HAVE_PRIDMAX)
++        endif(HAVE_FOPEN64 AND HAVE_FSEEKO64 AND HAVE_FTELLO64)
++      endif(SIZEOF_OFF64_T GREATER 7)
++    endif(NOT LFS_OFF_T)
++
++    # LFS type3: 8 <= sizeof(__int64), _fseeki64, _ftelli64
++    if(NOT LFS_OFF_T)
++      check_type_size("__int64" SIZEOF___INT64)
++      if(SIZEOF___INT64 GREATER 7)
++        check_symbol_exists("_fseeki64" "stdio.h" HAVE__FSEEKI64)
++        check_symbol_exists("_ftelli64" "stdio.h" HAVE__FTELLI64)
++        if(HAVE__FSEEKI64 AND HAVE__FTELLI64)
++          set(LFS_OFF_T "__int64")
++          set(LFS_FOPEN "fopen")
++          set(LFS_FSEEK "_fseeki64")
++          set(LFS_FTELL "_ftelli64")
++          set(LFS_PRID  "\"I64d\"")
++        endif(HAVE__FSEEKI64 AND HAVE__FTELLI64)
++      endif(SIZEOF___INT64 GREATER 7)
++    endif(NOT LFS_OFF_T)
++
++    set(CMAKE_REQUIRED_DEFINITIONS "${SAFE_CMAKE_REQUIRED_DEFINITIONS}")
++  endif(${_isenable})
++
++  if(NOT LFS_OFF_T)
++    ## not found
++    set(LFS_OFF_T "long")
++    set(LFS_FOPEN "fopen")
++    set(LFS_FSEEK "fseek")
++    set(LFS_FTELL "ftell")
++    set(LFS_PRID  "\"ld\"")
++  endif(NOT LFS_OFF_T)
++
++endmacro(check_lfs)
diff --git a/debian/patches/series b/debian/patches/series
index 235f915..c67fbce 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,4 @@
 0003-QHpointer.patch
 0004-spelling.patch
 0005-man-macros.patch
+0006-cmake-LFS.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/qhull.git



More information about the debian-science-commits mailing list