这是indexloc提供的服务,不要输入任何密码
Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
70370d8
fix
tesuji Oct 16, 2020
82a7b75
[dnm] test
tesuji Oct 16, 2020
9408d8b
prefer shared
tesuji Oct 16, 2020
b7bfbe0
/D
tesuji Oct 16, 2020
f32d693
/D
tesuji Oct 16, 2020
d0e1a71
/D
tesuji Oct 16, 2020
c9c5552
meson -D
tesuji Oct 16, 2020
ec5852b
meson -D
tesuji Oct 16, 2020
71b22ce
meson -D
tesuji Oct 16, 2020
c916fc4
meson -D
tesuji Oct 16, 2020
5f629f6
meson -D
tesuji Oct 16, 2020
0b50f69
meson -D
tesuji Oct 16, 2020
05efc6d
static
tesuji Oct 16, 2020
f78d483
cpp
tesuji Oct 17, 2020
cb9f5a7
bool
tesuji Oct 17, 2020
ead8677
bool
tesuji Oct 17, 2020
25a8205
bool
tesuji Oct 17, 2020
f4f3898
bool
tesuji Oct 17, 2020
06beca3
bool
tesuji Oct 17, 2020
a57e2c6
bool
tesuji Oct 17, 2020
6a7c9ed
bool
tesuji Oct 17, 2020
8986517
bool
tesuji Oct 17, 2020
8e02728
bool
tesuji Oct 17, 2020
8eb682b
meson arr
tesuji Oct 17, 2020
142e4a1
meson arr
tesuji Oct 17, 2020
c7c032e
meson arr
tesuji Oct 17, 2020
37fc2e8
meson arr
tesuji Oct 17, 2020
cfe36d1
clang
tesuji Oct 17, 2020
e4fd1dd
clang
tesuji Oct 17, 2020
82cdc2e
clang
tesuji Oct 17, 2020
da49c18
clang
tesuji Oct 17, 2020
c8d8d95
clang
tesuji Oct 17, 2020
003c034
clashing
tesuji Oct 18, 2020
66582ab
clashing
tesuji Oct 18, 2020
ee00cb4
share
tesuji Oct 18, 2020
376b61d
me
tesuji Oct 18, 2020
2790328
gcc
tesuji Oct 18, 2020
fc2656b
revert
tesuji Oct 18, 2020
36fe8af
visualbility
tesuji Oct 19, 2020
21a6f8a
visualbility
tesuji Oct 19, 2020
95de0f0
visualbility
tesuji Oct 19, 2020
0e7c168
visualbility
tesuji Oct 19, 2020
547c24d
visualbility
tesuji Oct 19, 2020
cb7cd62
use debug profile
tesuji Oct 19, 2020
354d6f7
dll
tesuji Oct 19, 2020
5bac83b
dll
tesuji Oct 19, 2020
f8d3a2e
dll
tesuji Oct 19, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
213 changes: 42 additions & 171 deletions .github/workflows/generic-dev.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,184 +22,55 @@ jobs:
# The master branch exclusive jobs will be in a separate
# workflow file (the osx tests and meson build that is)

benchmarking:
runs-on: ubuntu-latest
meson-msvc:
name: 'Meson on Windows MSVC'
runs-on: windows-latest
steps:
- uses: actions/checkout@v2
- name: make benchmarking
run: make benchmarking

test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: make test
run: make test
# Some replacements:
# * https://renenyffenegger.ch/notes/Windows/development/Visual-Studio/environment-variables/index
# * https://github.com/microsoft/vswhere/wiki/Start-Developer-Command-Prompt
- uses: ilammy/msvc-dev-cmd@v1

gcc-6-7-libzstd:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: gcc-6 + gcc-7 + libzstdmt compilation
- name: install meson
run: |
make gcc6install gcc7install
CC=gcc-6 CFLAGS=-Werror make -j all
make clean
CC=gcc-7 CFLAGS=-Werror make -j all
make clean
LDFLAGS=-Wl,--no-undefined make -C lib libzstd-mt
make -C tests zbufftest-dll

gcc-8-asan-ubsan-testzstd:
runs-on: ubuntu-16.04 # fails on 18.04
steps:
- uses: actions/checkout@v2
- name: gcc-8 + ASan + UBSan + Test Zstd
pip install -U meson

- run: |
git clone https://github.com/lzutao/lz4/ third-party\lz4
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just checking, do we want to use your version of lz4 and not the official one? In case your version becomes out of date?

cd third-party\lz4
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think lz4 is in vcpkg, like zlib below. Will be great to use the same approach for the dependencies

git switch std
meson setup `
--buildtype=release `
-Ddefault_library=shared `
-Dprefix=C:\lz4 `
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some machines may not have disk C. Will this be used anywhere outside of build machine? If so, will it be better to use a relative path for this?

contrib\meson builddir
cd builddir
meson compile
meson install

- name: install zlib
run: |
make gcc8install
CC=gcc-8 CFLAGS="-Werror" make -j all
make clean
CC=gcc-8 make -j uasan-test-zstd </dev/null
vcpkg integrate install
vcpkg install --triplet x64-windows zlib

gcc-6-asan-ubsan-testzstd-32bit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: gcc-6 + ASan + UBSan + Test Zstd, 32bit mode
run: |
make gcc6install libc6install
CC=gcc-6 CFLAGS="-Werror -m32" make -j all32
make clean
CC=gcc-6 make -j uasan-test-zstd32

clang-38-msan-testzstd:
runs-on: ubuntu-16.04 # fails on 18.04
steps:
- uses: actions/checkout@v2
- name: clang-3.8 + MSan + Test Zstd
- name: install liblzma
run: |
# make clang38install (doesn't work)
sudo apt-add-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.8 main"
sudo apt-get update
sudo apt-get install clang-3.8
CC=clang-3.8 make clean msan-test-zstd HAVE_ZLIB=0 HAVE_LZ4=0 HAVE_LZMA=0
vcpkg install --triplet x64-windows liblzma
Tree C:\vcpkg\packages\liblzma_x64-windows /F

cmake-build-and-test-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: cmake build and test check
run: make cmakebuild

gcc-8-asan-ubsan-fuzz:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: gcc-8 + ASan + UBSan + Fuzz Test
run: |
make gcc8install
CC=gcc-8 FUZZER_FLAGS="--long-tests" make clean uasan-fuzztest

gcc-6-asan-ubsan-fuzz32:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: gcc-6 + ASan + UBSan + Fuzz Test 32bit
run: |
make gcc6install libc6install
CC=gcc-6 CFLAGS="-O2 -m32" FUZZER_FLAGS="--long-tests" make uasan-fuzztest

clang-38-msan-fuzz:
runs-on: ubuntu-16.04 # fails on 18.04
steps:
- uses: actions/checkout@v2
- name: clang-3.8 + MSan + Fuzz Test
run: |
# make clang38install (doesn't work)
sudo apt-add-repository "deb http://llvm.org/apt/trusty/ llvm-toolchain-trusty-3.8 main"
sudo apt-get update
sudo apt-get install clang-3.8
CC=clang-3.8 make clean msan-fuzztest

asan-ubsan-msan-regression:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: ASan + UBSan + MSan + Regression Test
run: |
make -j uasanregressiontest
make clean
make -j msanregressiontest

cpp-gnu90-c99-compatibility:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: C++, gnu90 and c99 compatibility
run: |
make cxxtest
make clean
make gnu90build
make clean
make c99build
make clean
make travis-install

mingw-cross-compilation:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: mingw cross-compilation
run: |
# sudo update-alternatives --set x86_64-w64-mingw32-g++ /usr/bin/x86_64-w64-mingw32-g++-posix; (doesn't work)
sudo apt-get install gcc-mingw-w64
CC=x86_64-w64-mingw32-gcc CXX=x86_64-w64-mingw32-g++ CFLAGS="-Werror -O1" make zstd

# TODO: Broken test - fix and uncomment
# armbuild:
# runs-on: ubuntu-16.04 # doesn't work on latest
# steps:
# - uses: actions/checkout@v2
# - name: ARM Build Test
# run: |
# make arminstall
# make armbuild

# TODO: Broken test - fix and uncomment
# armfuzz:
# runs-on: ubuntu-16.04 # doesn't work on latest
# steps:
# - uses: actions/checkout@v2
# - name: Qemu ARM emulation + Fuzz Test
# run: |
# make arminstall
# make armfuzz

bourne-shell:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Bourne shell compatibility (shellcheck)
run: |
wget https://github.com/koalaman/shellcheck/releases/download/v0.7.1/shellcheck-v0.7.1.linux.x86_64.tar.xz
tar -xf shellcheck-v0.7.1.linux.x86_64.tar.xz
shellcheck-v0.7.1/shellcheck --shell=sh --severity=warning --exclude=SC2010 tests/playTests.sh

icc:
name: icc-check
runs-on: ubuntu-latest
steps:
- name: install icc
run: |
export DEBIAN_FRONTEND=noninteractive
sudo apt-get -qqq update
sudo apt-get install -y wget build-essential pkg-config cmake ca-certificates gnupg
sudo wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
echo "deb https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt-get update
sudo apt-get install -y intel-oneapi-icc
- uses: actions/checkout@v2
- name: make check
- name: test
run: |
make CC=/opt/intel/oneapi/compiler/latest/linux/bin/intel64/icc check
cd build\meson
meson setup `
--buildtype=debug `
-Db_lundef=false `
-Dauto_features=enabled `
-Dbin_programs=true `
-Dbin_contrib=true `
-Ddefault_library=shared `
-Dpkg_config_path="C:\vcpkg\packages\zlib_x64-windows\lib\pkgconfig;C:\lz4\lib\pkgconfig" `
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Relying on hard coded paths, may not work on all the systems. Consider replacing with ENV variable, or there's a way vcpkg installs things

-Dc_args="-IC:\vcpkg\packages\liblzma_x64-windows\include " `
builddir
meson compile -C builddir
68 changes: 0 additions & 68 deletions .github/workflows/generic-release.yml

This file was deleted.

13 changes: 0 additions & 13 deletions .github/workflows/linux-kernel.yml

This file was deleted.

30 changes: 0 additions & 30 deletions .github/workflows/main.yml

This file was deleted.

16 changes: 13 additions & 3 deletions build/meson/contrib/pzstd/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,24 @@ zstd_rootdir = '../../../..'

pzstd_includes = include_directories(join_paths(zstd_rootdir, 'programs'),
join_paths(zstd_rootdir, 'contrib/pzstd'))
pzstd_sources = [join_paths(zstd_rootdir, 'programs/util.c'),
pzstd_sources = [
join_paths(zstd_rootdir, 'contrib/pzstd/main.cpp'),
join_paths(zstd_rootdir, 'contrib/pzstd/Options.cpp'),
join_paths(zstd_rootdir, 'contrib/pzstd/Pzstd.cpp'),
join_paths(zstd_rootdir, 'contrib/pzstd/SkippableFrame.cpp')]
join_paths(zstd_rootdir, 'contrib/pzstd/SkippableFrame.cpp'),
join_paths(zstd_rootdir, 'programs/util.c'),
]

pzstd_cpp_args = []
if is_like_gcc
pzstd_cpp_args += [ '-DNDEBUG', '-Wno-shadow', '-pedantic' ]
else
pzstd_cpp_args += [ '/DNDEBUG' ]
endif

pzstd = executable('pzstd',
pzstd_sources,
cpp_args: [ '-DNDEBUG', '-Wno-shadow', '-pedantic' ],
cpp_args: pzstd_cpp_args,
include_directories: pzstd_includes,
dependencies: [ libzstd_dep, thread_dep ],
install: true)
Loading