]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
moved `zstd.h` to `/lib`
authorYann Collet <yann.collet.73@gmail.com>
Sun, 17 Jul 2016 18:42:21 +0000 (20:42 +0200)
committerYann Collet <yann.collet.73@gmail.com>
Sun, 17 Jul 2016 18:42:21 +0000 (20:42 +0200)
NEWS
lib/Makefile
lib/README.md
lib/zstd.h [moved from lib/common/zstd.h with 100% similarity]
programs/Makefile

diff --git a/NEWS b/NEWS
index dc9099a3f80316597425b67b7029fdd553e2e47b..1e7cefdca7e7e741d643803030dd69818f6e0ff3 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,6 @@
 v0.7.5
 Fixed : premature end of frame when zero-sized raw block, reported by Eric Biggers
+Modified : minor compression level adaptations
 Update : specification, to v0.1.2 : max huffman depth at 11 bits
 
 v0.7.4
index 76731abc1011b7a18cb439bb218e8f81121468c1..1f4f7eb8519df6285403ff4a45123fa66e1af084 100644 (file)
@@ -31,9 +31,9 @@
 # ################################################################
 
 # Version numbers
-LIBVER_MAJOR_SCRIPT:=`sed -n '/define ZSTD_VERSION_MAJOR/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < ./common/zstd.h`
-LIBVER_MINOR_SCRIPT:=`sed -n '/define ZSTD_VERSION_MINOR/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < ./common/zstd.h`
-LIBVER_PATCH_SCRIPT:=`sed -n '/define ZSTD_VERSION_RELEASE/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < ./common/zstd.h`
+LIBVER_MAJOR_SCRIPT:=`sed -n '/define ZSTD_VERSION_MAJOR/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < ./zstd.h`
+LIBVER_MINOR_SCRIPT:=`sed -n '/define ZSTD_VERSION_MINOR/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < ./zstd.h`
+LIBVER_PATCH_SCRIPT:=`sed -n '/define ZSTD_VERSION_RELEASE/s/.*[[:blank:]]\([0-9][0-9]*\).*/\1/p' < ./zstd.h`
 LIBVER_SCRIPT:= $(LIBVER_MAJOR_SCRIPT).$(LIBVER_MINOR_SCRIPT).$(LIBVER_PATCH_SCRIPT)
 LIBVER_MAJOR := $(shell echo $(LIBVER_MAJOR_SCRIPT))
 LIBVER_MINOR := $(shell echo $(LIBVER_MINOR_SCRIPT))
@@ -46,7 +46,7 @@ PREFIX ?= /usr/local
 LIBDIR ?= $(PREFIX)/lib
 INCLUDEDIR=$(PREFIX)/include
 
-CPPFLAGS= -I./common -DXXH_NAMESPACE=ZSTD_
+CPPFLAGS= -I. -I./common -DXXH_NAMESPACE=ZSTD_
 CFLAGS ?= -O3
 CFLAGS += -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wundef
 FLAGS   = $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(MOREFLAGS)
@@ -117,7 +117,7 @@ install: libzstd libzstd.pc
        @cp -a libzstd.$(SHARED_EXT) $(DESTDIR)$(LIBDIR)
        @cp -a libzstd.pc $(DESTDIR)$(LIBDIR)/pkgconfig/
        @install -m 644 libzstd.a $(DESTDIR)$(LIBDIR)/libzstd.a
-       @install -m 644 common/zstd.h $(DESTDIR)$(INCLUDEDIR)/zstd.h
+       @install -m 644 zstd.h $(DESTDIR)$(INCLUDEDIR)/zstd.h
        @install -m 644 common/zbuff.h $(DESTDIR)$(INCLUDEDIR)/zbuff.h
        @install -m 644 dictBuilder/zdict.h $(DESTDIR)$(INCLUDEDIR)/zdict.h
        @echo zstd static and shared library installed
index 9357065061dc64612aa4e68d1e61e812bd9f38c3..2c24c254b3191569cf348d00772b13cc03743b1a 100644 (file)
@@ -1,62 +1,51 @@
 zstd - library files
 ================================
 
-The __lib__ directory contains several files, but depending on target use case, some of them may not be necessary.
+The __lib__ directory contains several directories.
+Depending on target use case, it's enough to include only files from relevant directories.
 
-#### Minimal library files
 
-To build the zstd library the following files are required:
+#### API
 
-- [common/bitstream.h](common/bitstream.h)
-- [common/error_private.h](common/error_private.h)
-- [common/error_public.h](common/error_public.h)
-- common/fse.h
-- common/fse_decompress.c
-- common/huf.h
-- [common/mem.h](common/mem.h)
-- [common/zstd.h]
-- common/zstd_internal.h
-- compress/fse_compress.c
-- compress/huf_compress.c
-- compress/zstd_compress.c
-- compress/zstd_opt.h
-- decompress/huf_decompress.c
-- decompress/zstd_decompress.c
+Zstandard's stable API is exposed within [zstd.h](zstd.h),
+at the root of `lib` directory.
 
-Stable API is exposed in [common/zstd.h].
-Advanced and experimental API can be enabled by defining `ZSTD_STATIC_LINKING_ONLY`.
-Never use them with a dynamic library, as their definition may change in future versions.
 
-[common/zstd.h]: common/zstd.h
+#### Advanced API
 
+Some additional API may be useful if you're looking into advanced features :
+- common/error_public.h : transform function result into an `enum`,
+                          for precise error handling.
+- ZSTD_STATIC_LINKING_ONLY : if you define this macro _before_ including `zstd.h`,
+                          it will give access to advanced and experimental API.
+                          These APIs shall ___never be used with dynamic library___ !
+                          They are not "stable", their definition may change in the future.
+                          Only static linking is allowed.
 
-#### Separate compressor and decompressor
 
-To build a separate zstd compressor all files from `common/` and `compressor/` directories are required.
-In a similar way to build a separate zstd decompressor all files from `common/` and `decompressor/` directories are needed.
+#### Modular build
 
+Directory `common/` is required in all circumstances.
+You can select to support compression only, by just adding files from the `compress/` directory,
+In a similar way, you can build a decompressor-only library with the `decompress/` directory.
 
-#### Buffered streaming
+Other optional functionalities provided are :
 
-This complementary API makes streaming integration easier.
-It is used by `zstd` command line utility, and [7zip plugin](http://mcmilk.de/projects/7-Zip-ZStd) :
+- `dictBuilder/`  : this directory contains source files required to create dictionaries.
+                    The API can be consulted in `dictBuilder/zdict.h`.
+                    It also depends on `common/` and `compress/` .
 
-- common/zbuff.h
-- compress/zbuff_compress.c
-- decompress/zbuff_decompress.c
+- `legacy/` : this directory contains source code to decompress previous versions of Zstd,
+              starting from `v0.1`. The main API can be consulted in `legacy/zstd_legacy.h`.
+              Note that it's required to compile the library with `ZSTD_LEGACY_SUPPORT = 1` .
+              Advanced API from each version can be found in its relevant header file.
+              For example, advanced API for version `v0.4` is in `zstd_v04.h` .
+              It also depends on `common/` and `decompress/` .
 
 
-#### Dictionary builder
+#### Streaming API
 
-In order to create dictionaries from some training sets,
-it's needed to include all files from [dictBuilder directory](dictBuilder/)
-
-
-#### Legacy support
-
-Zstandard can decode previous formats, starting from v0.1.
-Support for these format is provided in [folder legacy](legacy/).
-It's also required to compile the library with `ZSTD_LEGACY_SUPPORT = 1`.
+Streaming is currently provided by `common/zbuff.h`.
 
 
 #### Miscellaneous
@@ -64,5 +53,5 @@ It's also required to compile the library with `ZSTD_LEGACY_SUPPORT = 1`.
 The other files are not source code. There are :
 
  - LICENSE : contains the BSD license text
- - Makefile : script to compile or install zstd library (static or dynamic)
- - libzstd.pc.in : for pkg-config (make install)
+ - Makefile : script to compile or install zstd library (static and dynamic)
+ - libzstd.pc.in : for pkg-config (`make install`)
similarity index 100%
rename from lib/common/zstd.h
rename to lib/zstd.h
index a55268a011f2fa5d8438d4c5cf9a143f365a2392..7967426935d760cafb98412df6fcf6d879fc465f 100644 (file)
@@ -38,7 +38,7 @@ MANDIR  = $(PREFIX)/share/man/man1
 
 ZSTDDIR = ../lib
 
-CPPFLAGS= -I$(ZSTDDIR)/common -I$(ZSTDDIR)/dictBuilder -DXXH_NAMESPACE=ZSTD_
+CPPFLAGS= -I$(ZSTDDIR) -I$(ZSTDDIR)/common -I$(ZSTDDIR)/dictBuilder -DXXH_NAMESPACE=ZSTD_
 CFLAGS ?= -O3  # -falign-loops=32   # not always beneficial
 CFLAGS += -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow -Wstrict-aliasing=1 -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wundef
 FLAGS   = $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(MOREFLAGS)