summaryrefslogtreecommitdiff
path: root/configure
AgeCommit message (Collapse)Author
2021-12-24Added build system check for posix_memalign support.Nathan Moinvaziri
Co-authored-by: concatime <concatime@users.noreply@github.com> Co-authored-by: Mika Lindqvist <postmaster@raasu.org>
2021-05-29Handle HAVE_UNISTD_H defined to 0.Paweł Wegner
FFmpeg during the configure stage generates a config.h file with ``` #define HAVE_UNISTD_H 0 ``` on windows. Then somewhere in FFmpeg's code there is: ``` #include "config.h" // FFmpeg's config.h #include <zlib.h> ``` which causes zlib.h to include unistd.h on windows. It is way easier to handle the issue here than in FFmpeg. Co-authored-by: Mika Lindqvist <postmaster@raasu.org>
2021-05-27Fix warnings in configureMika Lindqvist
* Don't assign contents of variable to itself * Quote strings containing "="
2021-05-09[ARM/AArch64] More thorough testing of getauxval() macros and includesMika Lindqvist
* 32-bit ARM and AArch64 use slightly different macros for CRC32 and NEON feature bits * 32-bit ARM sometimes requires asm/hwcap.h for AT_HWCAP2
2021-05-08Don't check for SSSE3 on non-x86 architectures.Hans Kristian Rosbach
2021-04-29Detect hwcap flags needed for runtime detection on ARM LinuxJosh Triplett
This allows us to provide useful warning messages from cmake or configure if the system headers don't provide the necessary flags to do runtime detection.
2021-04-27Fix build with LTO on GCCVictor Westerhuis
2021-04-09Changed auto-detection of float-abi support by removing triplet check in ↵Nathan Moinvaziri
favor of compilation and link test. #911
2021-02-26Only set CPU feature flags in configure script if not using native instructions.Nathan Moinvaziri
2021-01-12Fix SONAME versionHans Kristian Rosbach
2021-01-11Version 2.0.0 Release Candidate 1Hans Kristian Rosbach
2021-01-11Disallow semantic interposition in ELF shared libraries if supported by the ↵Hans Kristian Rosbach
compiler. This disallows calls to our own exported functions being replaced by LD_PRELOAD, thus avoiding the potential bugs and allowing the compiler to optimize better.
2020-12-12Separate sanitizers so they can be run independently.Nathan Moinvaziri
2020-09-11Added AVX support to chunkset functions.Nathan Moinvaziri
2020-09-11Enable gzfileops by default when compiling using Cmake or configure.Hans Kristian Rosbach
2020-08-31Rename ZLIB_INTERNAL to Z_INTERNAL for consistency.Nathan Moinvaziri
2020-08-20Harmonize the CPU architecture preprocessor definitions.Nathan Moinvaziri
2020-07-17CMakeLists.txt, configure: match source order; .so's now identical on more ↵Dan Kegel
platforms. Also: - use same name for .so on CMake and configure in --zlib-compat case - configure: merge i686 and x86_64 sections, since they were essentially identical - pkgcheck.sh: verify resulting shared libraries are bit-for-bit identical - pkgcheck.sh: use diffoscope if present to show differences in shared libraries Don't install diffoscope in ci, since that slows down successful runs; we can add it later if failures become common. Fixes #638 (at least for the systems tested)
2020-07-17configure: move config.sub to tools subdirDan Kegel
2020-07-17configure: canonicalize CHOST.Dan Kegel
Fixes https://github.com/zlib-ng/zlib-ng/issues/666 for all the CHOST values currently used in .github/workflows/*.yml. Also make ci's shellcheck happy by avoiding backticks in the changed lines.
2020-07-17configure: don't link shared libraries explicitly with -lcDan Kegel
The -lc was introduced by d6231142d2b883a8c3b253fa34992b5cdb4ac2fe : which said in part "Changes in 1.2.3.2 (3 September 2006) ... - Rig configure --shared to build both shared and static [Teredesai, Truta]" It's not clear why it was needed. On powerpc, linking -lc explicitly causes __moddi3 and __stack_chk_fail_local to swap location in the binary. If we want configure and cmake to generate identical shared libraries, either we need to link -lc explicitly in both configure and cmake, or in neither. Occam's Razor suggests omitting it from configure rather than adding it to cmake.
2020-07-10Added missing switch for configure script --native to readme.Nathan Moinvaziri
2020-07-10Added SSE4.2 inline assembly check for configure script.Nathan Moinvaziri
2020-07-10Merge pull request #683 from nmoinvaz/fixes/config-cwd-lib-pathHans Kristian Rosbach
Remove current directory library include path in configure not in cmake
2020-07-10configure: fix typo (.o in shared library)Dan Kegel
Linking .o into a shared library could be bad. In this case it seems to have been harmless, but it should be fixed anyway.
2020-07-05Remove current directory library include path in configure not present in cmake.Nathan Moinvaziri
2020-07-03Fixed configure applying -march flags globally for ARM.Nathan Moinvaziri
Fixed -mfpu=neon not being applied on arm|arm7 if available.
2020-07-02Added powerpc instances to CI for configure.Nathan Moinvaziri
2020-07-01Apply neonflag only to files using neon instructions with configure.Nathan Moinvaziri
2020-06-28Rename from memchunk to chunkset.Nathan Moinvaziri
2020-06-28Split memcopy by architecture.Nathan Moinvaziri
Use uint8_t[8] struct on big-endian machines for speed.
2020-06-27Add POWER8_VSX_SLIDEHASH macroMatheus Castanho
The slide_hash optimization for POWER currently depends on POWER8 macro to be enabled. Switch this to use POWER8_VSX_SLIDEHASH instead to better match the naming scheme used by other archs.
2020-06-25Adler32 vector optimization for Power.Rogerio Alves
This commit implements a Power (POWER8+) vector optimization for Adler32 checksum using VSX (vector) instructions. The VSX adler32 checksum is up to 10x fast than the adler32 baseline code. Author: Rogerio Alves <rcardoso@linux.ibm.com>
2020-06-22Enable NEON-optimized slide_hash on aarch64 if NEON-optimizations are enabled.Mika Lindqvist
2020-06-09Disable unaligned access of > 4 bytes on 32-bit armNiLuJe
2020-06-08Added Adler32 SSSE3 and AVX2 implementations to functable.Nathan Moinvaziri
Co-authored-by: Brian Bockelman <bockelman@gmail.com> Co-authored-by: Mika T. Lindqvist <postmaster@raasu.org>
2020-06-08Removed example64 and minigzip64 since large file support is now natively ↵Nathan Moinvaziri
supported.
2020-06-08Make deflate_quick algorithm available to all architectures. #205Nathan Moinvaziri
2020-06-08Add optimized slide_hash for POWER processorsMatheus Castanho
This commit introduces a new slide_hash function that uses VSX vector instructions to slide 8 hash elements at a time, instead of just one as the standard code does.
2020-06-08Preparation for POWER optimizationsMatheus Castanho
Add the scaffolding for future optimizations for POWER processors. Now the build is capable of correctly detecting multiple processor sub-architectures (ppc, ppc64 and ppc64le) and also if features needed for the optimizations are available during build and runtime. With these changes, adding a new optimized function for POWER should be as simple as adding a new file under arch/power/, appending build instructions to the build files and editing functable.c accordingly. The UNALIGNED_OK flag is now also added by default for powerpc64le targets.
2020-05-24Added support for AVX2 intrinsics to compare258.Nathan Moinvaziri
2020-05-24Removed fallback for __builtin_ctzl since it is no longer used.Nathan Moinvaziri
2020-05-24Abstracted out architecture specific implementations of 258 byte comparison ↵Nathan Moinvaziri
to compare258.
2020-05-01Standardize fill_window implementations and abstract out slide_hash_neon for ↵Nathan Moinvaziri
ARM.
2020-04-16Fixed crc and simd march flags not be applied to CFLAGS in configure script ↵Nathan Moinvaziri
for aarch64.
2020-02-07Add initial AVX2 support.Mika Lindqvist
2020-02-07Fix double specification of -O2Gabriel A. Devenyi
2020-02-07Fixed configure script use of sed on macOS. #427Nathan Moinvaziri
Added macOS configure build.
2019-11-25configure: relax arm detectionMilhouseVH
2019-09-26travis.yml changes:Hans Kristian Rosbach
- Select minimal vm image instead of generic ('C'), reducing size and boot time. - Windows needs 'C' image to not hang on booting - Update from Xenial to Bionic for linux tests. - ppc64 images don't have Bionic, set to Xenial - ppc64 is having misc failures with Xenial tools, so use GCC-9 and Clang-6 - ppc64 cannot run MSAN - Add another test for more complete testing across architectures. - Enable fuzzers, msan and/or sanitizers most various tests. - Disable ASAN leak detection on aarch64, since it crashes under qemu - Reorder tests to be better grouped and running windows/macox tests lasts. - Enable verbose messages from sanitizers CmakeLists.txt changes: - Enable warnings by default. - Add MAINTAINER setting to cmake - Enables extra warnings. - Enables fuzzers. - Add CI detection to cmake, currently auto-enables MAINTAINER mode. - Add detection of several more sanitizer features. - Test sanitizer features together, not just alone. This also helps with their inter-dependencies. .gitignore changes: - Add switchlevels.