fixed #272 (compilation fails on gcc 4.4), reported by @totaam
authorYann Collet <cyan@fb.com>
Sat, 19 Nov 2016 01:54:26 +0000 (17:54 -0800)
committerYann Collet <cyan@fb.com>
Sat, 19 Nov 2016 01:56:56 +0000 (17:56 -0800)
Makefile
NEWS
README.md
lib/Makefile
lib/lz4.h
tests/Makefile

index a97c4ed..25cedbc 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -51,7 +51,7 @@ endif
 
 .PHONY: default all lib lz4 clean test versionsTest examples
 
-default: lib lz4
+default: lib lz4-release
 
 all:
        @$(MAKE) -C $(LZ4DIR) $@
@@ -62,6 +62,10 @@ lib:
        @$(MAKE) -C $(LZ4DIR)
 
 lz4:
+       @$(MAKE) -C $(PRGDIR) $@
+       @cp $(PRGDIR)/lz4$(EXT) .
+
+lz4-release:
        @$(MAKE) -C $(PRGDIR)
        @cp $(PRGDIR)/lz4$(EXT) .
 
diff --git a/NEWS b/NEWS
index 1b2daa4..bb9d1fb 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,7 @@
 v1.7.4
 Improved : much better speed in -mx32 mode
 cli : fix : Large file support in 32-bits mode on Mac OS-X
+fix : compilation on gcc 4.4 (#282), reported by Antoine Martin
 
 v1.7.3
 Changed : moved to versioning; package, cli and library have same version number
index 1b4a007..04ba0db 100644 (file)
--- a/README.md
+++ b/README.md
@@ -70,6 +70,8 @@ in single-thread mode.
 [zlib]: http://www.zlib.net/
 [Zstandard]: http://www.zstd.net/
 
+LZ4 is also compatible and well optimized for x32 mode, for which it provides +10% speed performance.
+
 
 Documentation
 -------------------------
index 216d136..d6e3668 100644 (file)
@@ -46,7 +46,7 @@ DESTDIR?=
 PREFIX ?= /usr/local
 CPPFLAGS= -DXXH_NAMESPACE=LZ4_
 CFLAGS ?= -O3
-CFLAGS += -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow \
+CFLAGS += -g -Wall -Wextra -Wcast-qual -Wcast-align -Wshadow \
           -Wswitch-enum -Wdeclaration-after-statement -Wstrict-prototypes -Wundef \
           -Wpointer-arith -Wstrict-aliasing=1
 CFLAGS  += $(MOREFLAGS)
@@ -102,7 +102,7 @@ else
 endif
 
 clean:
-       @$(RM) core *.o *.a *.$(SHARED_EXT) *.$(SHARED_EXT).* liblz4.pc dll/liblz4.dll dll/liblz4.lib
+       @$(RM) core *.o *.a *.$(SHARED_EXT) liblz4.pc dll/liblz4.dll dll/liblz4.lib
        @echo Cleaning library completed
 
 
index ec758fe..49854e4 100644 (file)
--- a/lib/lz4.h
+++ b/lib/lz4.h
@@ -412,9 +412,10 @@ union LZ4_streamDecode_u {
 #ifdef LZ4_DISABLE_DEPRECATE_WARNINGS
 #  define LZ4_DEPRECATED(message)   /* disable deprecation warnings */
 #else
-#  if (defined(__GNUC__) && (__GNUC__ >= 4)) || defined(__clang__)
+#  define LZ4_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__)
+#  if (LZ4_GCC_VERSION >= 405) || defined(__clang__)
 #    define LZ4_DEPRECATED(message) __attribute__((deprecated(message)))
-#  elif defined(__GNUC__) && (__GNUC__ >= 3)
+#  elif (LZ4_GCC_VERSION >= 301)
 #    define LZ4_DEPRECATED(message) __attribute__((deprecated))
 #  elif defined(_MSC_VER)
 #    define LZ4_DEPRECATED(message) __declspec(deprecated(message))
index 288b665..e58d449 100644 (file)
@@ -39,7 +39,7 @@ TESTDIR := versionsTest
 PYTHON  ?= python3
 
 CFLAGS  ?= -O3   # can select custom flags. For example : CFLAGS="-O2 -g" make
-CFLAGS  += -Wall -Wextra -Wundef -Wcast-qual -Wcast-align -Wshadow -Wswitch-enum \
+CFLAGS  += -g -Wall -Wextra -Wundef -Wcast-qual -Wcast-align -Wshadow -Wswitch-enum \
            -Wdeclaration-after-statement -Wstrict-prototypes \
            -Wpointer-arith -Wstrict-aliasing=1
 CFLAGS  += $(MOREFLAGS)