Pārlūkot izejas kodu

add ZSTD (Zstandard) compression to the Make system

git-svn-id: https://svn.osgeo.org/grass/grass/trunk@71889 15284696-431f-4ddb-bdfa-cd5b030d7da7
Markus Metz 7 gadi atpakaļ
vecāks
revīzija
35d350051d
6 mainītis faili ar 1009 papildinājumiem un 702 dzēšanām
  1. 949 686
      configure
  2. 47 11
      configure.in
  3. 1 1
      include/Make/Grass.make
  4. 8 3
      include/Make/Platform.make.in
  5. 3 0
      include/config.h.in
  6. 1 1
      lib/gis/Makefile

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 949 - 686
configure


+ 47 - 11
configure.in

@@ -268,6 +268,7 @@ LOC_ARG_WITH(pthread, POSIX threads, no)
 LOC_ARG_WITH(openmp, OpenMP, no)
 LOC_ARG_WITH(opencl, OpenCL, no)
 LOC_ARG_WITH(bzlib, BZIP2, no)
+LOC_ARG_WITH(zstd, Zstandard, no)
 
 AC_ARG_WITH(gdal,
 [  --with-gdal[=path/gdal-config]
@@ -318,6 +319,9 @@ LOC_ARG_WITH_LIB(zlib, zlib)
 LOC_ARG_WITH_INC(bzlib, BZIP2)
 LOC_ARG_WITH_LIB(bzlib, BZIP2)
 
+LOC_ARG_WITH_INC(zstd, ZSTD)
+LOC_ARG_WITH_LIB(zstd, ZSTD)
+
 LOC_ARG_WITH_INC(readline, Readline)
 LOC_ARG_WITH_LIB(readline, Readline)
 
@@ -600,36 +604,67 @@ AC_SUBST(ZLIB)
 
 # bzip2 support
 
+BZIP2LIBPATH=
+BZIP2INCPATH=
+BZIP2LIB=
+
 LOC_CHECK_USE(bzlib,bzlib,USE_BZIP2)
 
 if test -n "$USE_BZIP2"; then
 
-BZLIBLIBPATH=
-BZLIBINCPATH=
-BZLIB=
-
 # With bzip2 includes directory
 
-LOC_CHECK_INC_PATH(bzlib,bzlib,BZLIBINCPATH)
+LOC_CHECK_INC_PATH(bzlib,bzlib,BZIP2INCPATH)
 
-LOC_CHECK_INCLUDES(bzlib.h,bzlib,$BZLIBINCPATH)
+LOC_CHECK_INCLUDES(bzlib.h,bzlib,$BZIP2INCPATH)
 
 # With bzip2 library directory
 
-LOC_CHECK_LIB_PATH(bzlib,bzlib,BZLIBLIBPATH)
+LOC_CHECK_LIB_PATH(bzlib,bzlib,BZIP2LIBPATH)
 
-LOC_CHECK_LIBS(bz2,BZ2_bzBuffToBuffCompress,bzlib,$BZLIBLIBPATH,BZLIB,,,)
+LOC_CHECK_LIBS(bz2,BZ2_bzBuffToBuffCompress,bzlib,$BZIP2LIBPATH,BZIP2LIB,,,)
 
 #
 
 fi # $USE_BZIP2
 
-AC_SUBST(BZLIBINCPATH)
-AC_SUBST(BZLIBLIBPATH)
-AC_SUBST(BZLIB)
+AC_SUBST(BZIP2INCPATH)
+AC_SUBST(BZIP2LIBPATH)
+AC_SUBST(BZIP2LIB)
 
 # Done checking bzip2
 
+# zstd support
+
+ZSTDLIBPATH=
+ZSTDINCPATH=
+ZSTDLIB=
+
+LOC_CHECK_USE(zstd,zstd,USE_ZSTD)
+
+if test -n "$USE_ZSTD"; then
+
+# With zstd includes directory
+
+LOC_CHECK_INC_PATH(zstd,zstd,ZSTDINCPATH)
+LOC_CHECK_INCLUDES(zstd.h,zstd,$ZSTDINCPATH)
+
+# With zstd library directory
+
+LOC_CHECK_LIB_PATH(zstd,zstd,ZSTDLIBPATH)
+
+LOC_CHECK_LIBS(zstd,ZSTD_compress,zstd,$ZSTDLIBPATH,ZSTDLIB,,,)
+
+#
+
+fi # $USE_ZSTD
+
+AC_SUBST(ZSTDINCPATH)
+AC_SUBST(ZSTDLIBPATH)
+AC_SUBST(ZSTDLIB)
+
+# Done checking zstd
+
 # Mandatory PROJ dependency
 
 PROJINC=
@@ -1937,4 +1972,5 @@ LOC_MSG_USE(Regex support,USE_REGEX)
 LOC_MSG_USE(SQLite support,USE_SQLITE)
 LOC_MSG_USE(TIFF support,USE_TIFF)
 LOC_MSG_USE(X11 support,USE_X11)
+LOC_MSG_USE(Zstandard support,USE_ZSTD)
 LOC_MSG()

+ 1 - 1
include/Make/Grass.make

@@ -197,7 +197,7 @@ DRIVERDEPS       = $(GISLIB) $(FTLIB) $(ICONVLIB) $(MATHLIB)
 DSPFDEPS         = $(GISLIB)
 FORMDEPS         = $(DBMILIB) $(GISLIB)
 RASTER3DDEPS     = $(RASTERLIB) $(GISLIB)
-GISDEPS          = $(DATETIMELIB) $(ZLIBLIBPATH) $(ZLIB) $(BZLIB) $(INTLLIB) $(REGEXLIBPATH) $(REGEXLIB) $(ICONVLIB) $(PTHREADLIBPATH) $(PTHREADLIB) $(MATHLIB)
+GISDEPS          = $(DATETIMELIB) $(ZLIBLIBPATH) $(ZLIB) $(BZIP2LIBPATH) $(BZIP2LIB) $(ZSTDLIBPATH) $(ZSTDLIB) $(INTLLIB) $(REGEXLIBPATH) $(REGEXLIB) $(ICONVLIB) $(PTHREADLIBPATH) $(PTHREADLIB) $(MATHLIB)
 GMATHDEPS        = $(GISLIB) $(FFTWLIB) $(LAPACKLIB) $(BLASLIB) $(CCMATHLIB) $(OMPLIBPATH) $(OMPLIB)
 GPDEDEPS         = $(RASTER3DLIB) $(RASTERLIB) $(GISLIB) $(GMATHLIB) $(OMPLIBPATH) $(OMPLIB) $(MATHLIB)
 GPROJDEPS        = $(GISLIB) $(GDALLIBS) $(PROJLIB) $(MATHLIB)

+ 8 - 3
include/Make/Platform.make.in

@@ -95,9 +95,14 @@ ZLIBINCPATH         = @ZLIBINCPATH@
 ZLIBLIBPATH         = @ZLIBLIBPATH@
 
 #BZIP2:
-BZLIB                = @BZLIB@
-BZLIBINCPATH         = @BZLIBINCPATH@
-BZLIBLIBPATH         = @BZLIBLIBPATH@
+BZIP2LIB            = @BZIP2LIB@
+BZIP2INCPATH        = @BZIP2INCPATH@
+BZIP2LIBPATH        = @BZIP2LIBPATH@
+
+#ZSTD:
+ZSTDLIB             = @ZSTDLIB@
+ZSTDINCPATH         = @ZSTDINCPATH@
+ZSTDLIBPATH         = @ZSTDLIBPATH@
 
 DBMIEXTRALIB        = @DBMIEXTRALIB@
 

+ 3 - 0
include/config.h.in

@@ -41,6 +41,9 @@
 /* define if bzlib.h exists */
 #undef HAVE_BZLIB_H
 
+/* define if zstd.h exists */
+#undef HAVE_ZSTD_H
+
 /* define if sys/ioctl.h exists */
 #undef HAVE_SYS_IOCTL_H
 

+ 1 - 1
lib/gis/Makefile

@@ -2,7 +2,7 @@ MODULE_TOPDIR = ../..
 
 LIB = GIS
 
-EXTRA_INC = $(ZLIBINCPATH) $(PTHREADINCPATH) $(REGEXINCPATH)
+EXTRA_INC = $(ZLIBINCPATH) $(BZIP2INCPATH) $(ZSTDINCPATH) $(PTHREADINCPATH) $(REGEXINCPATH)
 EXTRA_CFLAGS = -DGRASS_VERSION_DATE=\"'$(GRASS_VERSION_DATE)'\"
 
 PROJSRC = ellipse.table ellipse.table.solar.system datum.table \