Skip to content

Commit

Permalink
Add LZ4 v1.8.3
Browse files Browse the repository at this point in the history
  • Loading branch information
dictoon committed Feb 24, 2019
1 parent 85e7cd2 commit 07bf622
Show file tree
Hide file tree
Showing 119 changed files with 27,450 additions and 14 deletions.
50 changes: 36 additions & 14 deletions BuildAll.bat
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ type nul > %root%build\%platform%\BUILDLOG.txt
REM ===============================================================================

:xercesc
echo %time% ^| [ 1/13] Building Xerces-C...
echo %time% ^| [ 1/14] Building Xerces-C...

mkdir %root%build\%platform%\xerces-c-debug 2>nul
pushd %root%build\%platform%\xerces-c-debug
Expand All @@ -126,7 +126,7 @@ echo %time% ^| [ 1/13] Building Xerces-C...
REM ===============================================================================

:llvm
echo %time% ^| [ 2/13] Building LLVM...
echo %time% ^| [ 2/14] Building LLVM...

mkdir %root%build\%platform%\llvm-debug 2>nul
pushd %root%build\%platform%\llvm-debug
Expand All @@ -148,7 +148,7 @@ echo %time% ^| [ 2/13] Building LLVM...
REM ===============================================================================

:zlib
echo %time% ^| [ 3/13] Building zlib...
echo %time% ^| [ 3/14] Building zlib...

mkdir %root%build\%platform%\zlib-debug 2>nul
pushd %root%build\%platform%\zlib-debug
Expand All @@ -172,7 +172,7 @@ echo %time% ^| [ 3/13] Building zlib...
REM ===============================================================================

:libpng
echo %time% ^| [ 4/13] Building libpng...
echo %time% ^| [ 4/14] Building libpng...

mkdir %root%build\%platform%\libpng-debug 2>nul
pushd %root%build\%platform%\libpng-debug
Expand All @@ -194,7 +194,7 @@ echo %time% ^| [ 4/13] Building libpng...
REM ===============================================================================

:libjpeg
echo %time% ^| [ 5/13] Building libjpeg-turbo...
echo %time% ^| [ 5/14] Building libjpeg-turbo...

mkdir %root%build\%platform%\libjpeg-turbo-debug 2>nul
pushd %root%build\%platform%\libjpeg-turbo-debug
Expand All @@ -217,7 +217,7 @@ echo %time% ^| [ 5/13] Building libjpeg-turbo...
REM ===============================================================================

:libtiff
echo %time% ^| [ 6/13] Building libtiff...
echo %time% ^| [ 6/14] Building libtiff...

mkdir %root%build\%platform%\libtiff-debug 2>nul
pushd %root%build\%platform%\libtiff-debug
Expand Down Expand Up @@ -249,7 +249,7 @@ echo %time% ^| [ 6/13] Building libtiff...
REM ===============================================================================

:ilmbase
echo %time% ^| [ 7/13] Building ilmbase...
echo %time% ^| [ 7/14] Building ilmbase...

mkdir %root%build\%platform%\ilmbase-debug 2>nul
pushd %root%build\%platform%\ilmbase-debug
Expand All @@ -275,7 +275,7 @@ echo %time% ^| [ 7/13] Building ilmbase...
REM ===============================================================================

:openexr
echo %time% ^| [ 8/13] Building OpenEXR...
echo %time% ^| [ 8/14] Building OpenEXR...

mkdir %root%build\%platform%\openexr-debug 2>nul
pushd %root%build\%platform%\openexr-debug
Expand All @@ -298,7 +298,7 @@ echo %time% ^| [ 8/13] Building OpenEXR...
REM ===============================================================================

:ocio
echo %time% ^| [ 9/13] Building OpenColorIO...
echo %time% ^| [ 9/14] Building OpenColorIO...

set OCIO_PATH_SAVE=%PATH%
set PATH=%root%tools\patch;%PATH%
Expand Down Expand Up @@ -329,7 +329,7 @@ echo %time% ^| [ 9/13] Building OpenColorIO...
REM ===============================================================================

:oiio
echo %time% ^| [10/13] Building OpenImageIO...
echo %time% ^| [10/14] Building OpenImageIO...

mkdir %root%build\%platform%\oiio-debug 2>nul
pushd %root%build\%platform%\oiio-debug
Expand All @@ -352,7 +352,7 @@ echo %time% ^| [10/13] Building OpenImageIO...
REM ===============================================================================

:osl
echo %time% ^| [11/13] Building OpenShadingLanguage...
echo %time% ^| [11/14] Building OpenShadingLanguage...

set OSL_PATH_SAVE=%PATH%

Expand Down Expand Up @@ -383,7 +383,7 @@ echo %time% ^| [11/13] Building OpenShadingLanguage...
REM ===============================================================================

:seexpr
echo %time% ^| [12/13] Building SeExpr...
echo %time% ^| [12/14] Building SeExpr...

mkdir %root%build\%platform%\seexpr-debug 2>nul
pushd %root%build\%platform%\seexpr-debug
Expand Down Expand Up @@ -416,11 +416,11 @@ REM ============================================================================
:embree

if [%platform%] == [vc11] (
echo %time% ^| [13/13] Skipping Embree ^(not supported with Visual Studio 2012^)...
echo %time% ^| [13/14] Skipping Embree ^(not supported with Visual Studio 2012^)...
goto end_embree
)

echo %time% ^| [13/13] Building Embree...
echo %time% ^| [13/14] Building Embree...

mkdir %root%build\%platform%\embree-debug 2>nul
pushd %root%build\%platform%\embree-debug
Expand Down Expand Up @@ -460,6 +460,28 @@ echo %time% ^| [13/13] Building Embree...

REM ===============================================================================

:lz4
echo %time% ^| [14/14] Building lz4...

mkdir %root%build\%platform%\lz4-debug 2>nul
pushd %root%build\%platform%\lz4-debug
echo === lz4 (Debug) =============================================================== > BUILDLOG.txt
cmake -Wno-dev -G %generator% -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON -DLZ4_BUILD_LEGACY_LZ4C=OFF -DCMAKE_INSTALL_PREFIX=%root%stage\%platform%\lz4-debug %src%\lz4\contrib\cmake_unofficial %redirect%
%devenv% lz4.sln /build Debug /project INSTALL %redirect%
copy lz4_static.dir\Debug\*.pdb %root%stage\%platform%\lz4-debug\lib %redirect%
type BUILDLOG.txt >> %root%build\%platform%\BUILDLOG.txt
popd

mkdir %root%build\%platform%\lz4-release 2>nul
pushd %root%build\%platform%\lz4-release
echo === lz4 (Release) ============================================================= > BUILDLOG.txt
cmake -Wno-dev -G %generator% -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DBUILD_STATIC_LIBS=ON -DLZ4_BUILD_LEGACY_LZ4C=OFF -DCMAKE_INSTALL_PREFIX=%root%stage\%platform%\lz4-release %src%\lz4\contrib\cmake_unofficial %redirect%
%devenv% lz4.sln /build Release /project INSTALL %redirect%
type BUILDLOG.txt >> %root%build\%platform%\BUILDLOG.txt
popd

REM ===============================================================================

:done

echo %time% ^| Build complete.
Expand Down
108 changes: 108 additions & 0 deletions src/lz4/.circleci/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
# This configuration was automatically generated from a CircleCI 1.0 config.
# It should include any build commands you had along with commands that CircleCI
# inferred from your project structure. We strongly recommend you read all the
# comments in this file to understand the structure of CircleCI 2.0, as the idiom
# for configuration has changed substantially in 2.0 to allow arbitrary jobs rather
# than the prescribed lifecycle of 1.0. In general, we recommend using this generated
# configuration as a reference rather than using it in production, though in most
# cases it should duplicate the execution of your original 1.0 config.
version: 2
jobs:
build:
working_directory: ~/lz4/lz4
parallelism: 1
shell: /bin/bash --login
# CircleCI 2.0 does not support environment variables that refer to each other the same way as 1.0 did.
# If any of these refer to each other, rewrite them so that they don't or see https://circleci.com/docs/2.0/env-vars/#interpolating-environment-variables-to-set-other-environment-variables .
environment:
CIRCLE_ARTIFACTS: /tmp/circleci-artifacts
CIRCLE_TEST_REPORTS: /tmp/circleci-test-results
# In CircleCI 1.0 we used a pre-configured image with a large number of languages and other packages.
# In CircleCI 2.0 you can now specify your own image, or use one of our pre-configured images.
# The following configuration line tells CircleCI to use the specified docker image as the runtime environment for you job.
# We have selected a pre-built image that mirrors the build environment we use on
# the 1.0 platform, but we recommend you choose an image more tailored to the needs
# of each job. For more information on choosing an image (or alternatively using a
# VM instead of a container) see https://circleci.com/docs/2.0/executor-types/
# To see the list of pre-built images that CircleCI provides for most common languages see
# https://circleci.com/docs/2.0/circleci-images/
docker:
- image: circleci/build-image:ubuntu-14.04-XXL-upstart-1189-5614f37
command: /sbin/init
steps:
# Machine Setup
# If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
# The following `checkout` command checks out your code to your working directory. In 1.0 we did this implicitly. In 2.0 you can choose where in the course of a job your code should be checked out.
- checkout
# Prepare for artifact and test results collection equivalent to how it was done on 1.0.
# In many cases you can simplify this from what is generated here.
# 'See docs on artifact collection here https://circleci.com/docs/2.0/artifacts/'
- run: mkdir -p $CIRCLE_ARTIFACTS $CIRCLE_TEST_REPORTS
# Dependencies
# This would typically go in either a build or a build-and-test job when using workflows
# Restore the dependency cache
- restore_cache:
keys:
# This branch if available
- v1-dep-{{ .Branch }}-
# Default branch if not
- v1-dep-dev-
# Any branch if there are none on the default branch - this should be unnecessary if you have your default branch configured correctly
- v1-dep-
# This is based on your 1.0 configuration file or project settings
- run: sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test; sudo apt-get -y -qq update
- run: sudo apt-get -y install qemu-system-ppc qemu-user-static gcc-powerpc-linux-gnu
- run: sudo apt-get -y install qemu-system-arm gcc-arm-linux-gnueabi libc6-dev-armel-cross gcc-aarch64-linux-gnu libc6-dev-arm64-cross
- run: sudo apt-get -y install libc6-dev-i386 clang gcc-5 gcc-5-multilib gcc-6 valgrind
# Save dependency cache
- save_cache:
key: v1-dep-{{ .Branch }}-{{ epoch }}
paths:
# This is a broad list of cache paths to include many possible development environments
# You can probably delete some of these entries
- vendor/bundle
- ~/virtualenvs
- ~/.m2
- ~/.ivy2
- ~/.bundle
- ~/.go_workspace
- ~/.gradle
- ~/.cache/bower
# Test
# This would typically be a build job when using workflows, possibly combined with build
# This is based on your 1.0 configuration file or project settings
- run: clang -v; make clangtest && make clean
- run: g++ -v; make gpptest && make clean
- run: gcc -v; make c_standards && make clean
- run: gcc -v; g++ -v; make ctocpptest && make clean
- run: gcc-5 -v; CC=gcc-5 CFLAGS="-O2 -Werror" make check && make clean
- run: gcc-5 -v; CC=gcc-5 CFLAGS="-O2 -m32 -Werror" CPPFLAGS=-I/usr/include/x86_64-linux-gnu make check && make clean
- run: gcc-6 -v; CC=gcc-6 make c_standards && make clean
- run: gcc-6 -v; CC=gcc-6 MOREFLAGS="-O2 -Werror" make check && make clean
- run: make cmake && make clean
- run: make -C tests test-lz4
- run: make -C tests test-lz4c
- run: make -C tests test-frametest
- run: make -C tests test-fullbench
- run: make -C tests test-fuzzer && make clean
- run: make -C lib all && make clean
- run: pyenv global 3.4.4; make versionsTest MOREFLAGS=-I/usr/include/x86_64-linux-gnu && make clean
- run: make travis-install && make clean
- run: gcc -v; CFLAGS="-O2 -m32 -Werror" CPPFLAGS=-I/usr/include/x86_64-linux-gnu make check && make clean
- run: make usan && make clean
- run: clang -v; make staticAnalyze && make clean
- run: make -C tests test-mem && make clean
- run: make platformTest CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc-static && make clean
- run: make platformTest CC=powerpc-linux-gnu-gcc QEMU_SYS=qemu-ppc64-static MOREFLAGS=-m64 && make clean
- run: make platformTest CC=arm-linux-gnueabi-gcc QEMU_SYS=qemu-arm-static && make clean
- run: make platformTest CC=aarch64-linux-gnu-gcc QEMU_SYS=qemu-aarch64-static && make clean
# Teardown
# If you break your build into multiple jobs with workflows, you will probably want to do the parts of this that are relevant in each
# Save test results
- store_test_results:
path: /tmp/circleci-test-results
# Save artifacts
- store_artifacts:
path: /tmp/circleci-artifacts
- store_artifacts:
path: /tmp/circleci-test-results
21 changes: 21 additions & 0 deletions src/lz4/.gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Set the default behavior
* text eol=lf

# Explicitly declare source files
*.c text eol=lf
*.h text eol=lf

# Denote files that should not be modified.
*.odt binary
*.png binary

# Visual Studio
*.sln text eol=crlf
*.vcxproj* text eol=crlf
*.vcproj* text eol=crlf
*.suo binary
*.rc text eol=crlf

# Windows
*.bat text eol=crlf
*.cmd text eol=crlf
35 changes: 35 additions & 0 deletions src/lz4/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
# Object files
*.o
*.ko

# Libraries
*.lib
*.a

# Shared objects (inc. Windows DLLs)
*.dll
*.so
*.so.*
*.dylib
*.dSYM # apple

# Executables
*.exe
*.out
*.app
lz4

# IDE / editors files
.clang_complete
_codelite/
_codelite_lz4/
bin/
*.zip

# Mac
.DS_Store
*.dSYM

# Windows / Msys
nul
ld.exe*
Loading

0 comments on commit 07bf622

Please sign in to comment.