The 'freestanding' flag indicates a capability of compiling and executing freestanding code.
Currently it requires Linux, x86_64 and (relatively newer) gcc/g++.
clang 3.9 fails -m32 & -mx32,
likely because it lacks the corresponding abi/library support.
Oh well, it's not that important.
Supporting all clang >= 4.0 is great enough for these tests.
The meson build had gotten a little out of hand. It needed to be cleaned
up and have its errors fixed. This should enable lz4 to switch to Meson
at any time should the need ever arise.
The Ubuntu 16.04 environment is being removed by github
on September 20, 2021. They will induce 'brownouts'
starting from September 6 to get clients to move on.
This change removes testing of GCC versions prior to 4.8,
and clang versions prior to 3.9
Ref: https://github.com/actions/virtual-environments/issues/3287
Add explicit "apt-get update" for all test cases which uses "apt-get".
- It may help to stabilize fetching from apt archive.
As for "CC=gcc-11"
- Add "g++-11" package.
- "g++-11" has been removed from the default virtual environment.
https://github.com/actions/virtual-environments/issues/3467
## Added compilers
- gcc: 4.[4678], 5, 6, 11
- clang: 3.[56789], 4, 5, 12
## Known issue
- make -C tests test-lz4c32
- Fails with all versions of clang. See #991 for details.
- CFLAGS='-O3 -mx32' make -C tests test-lz4c32
- Fails with all versions of clang
- Fails with gcc-11
- `make cxxtest`
- Disabled for now. Will be enabled after #993.
- `make c_standards_c90`, `make c_standards_c11`
- Disabled for now. Will be enabled after #994.
## Difference with `.travis.yml`
The following tests are not included yet.
- name: Compile OSS-Fuzz targets
- name: tag build
The following tests won't be included due to lmitation of the CI environment.
- name: aarch64 real-hw tests
- name: PPC64LE real-hw tests
- name: IBM s390x real-hw tests
Except above, all other features in `.travis.yml` has been included in this change set.
The following post describes details.