Richard Purdie
e0b1747860
lib/Makefile: Fix static library reproducibility
...
The static library contents varies depending of the order of the object
files on disk meaning it isn't reproducible.
To avoid this, use the SRCFILES values which are already sorted, mapped
to the object names instead.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-29 11:01:11 +01:00
Yann Collet
540b539979
change INSTALL_DIR into MAKE_DIR
...
INSTALL_DIR is apparently used by cmake
2024-01-20 23:06:14 -08:00
Yann Collet
5c9e349c4a
changed test name cpp->cxx
...
cpp evokes the C PreProcessor, rather than C++
2023-12-24 17:09:52 -08:00
Yann Collet
c952eafbf5
centralized clean logic for lib/Makefile
...
also:
- stricter target classification (`.PHONY`, `CLEAN`)
- user provided CFLAGS are appended, hence have higher priority
+ `-O3` is no longer automatically disabled when user provides CFLAGS
2023-12-21 18:50:28 -08:00
Yann Collet
4e8788eddc
ensure make install target doesn't create files
...
if preceded by a standard make command
2023-12-21 00:11:52 -08:00
Yann Collet
e2cb69c7ea
SED can be defined on command line and with environment variables
2023-12-17 15:25:51 -08:00
LocalSpook
e270f2edd9
Make Makefile version number parsing more robust
2023-10-11 18:58:47 -07:00
Yann Collet
a9dc65d8db
Merge pull request #1244 from uckelman-sf/windows_lib_targets
...
Don't conflate the shared library name with the shared library filename
2023-09-10 06:38:18 -07:00
Joel Uckelman
72618e548a
Don't conflate the shared library name with the shared library filename.
...
The target for building the library now uses the real filename, to
ensure that the target matches the file that the recipe writes.
2023-06-16 14:29:36 +01:00
Joel Uckelman
4ac63d8db5
WINBASED uses yes/no as values, not 0/1. Check for 'yes'.
2023-06-16 14:07:55 +01:00
Sevan Janiyan
5953ac186d
lib/Makefile: Support building on legacy OS X
...
Toolchain on legacy versions require -dynamiclib to be stated for a shared object to be generated.
Tested on OS X 10.4 (GCC) and 10.15 (clang)
2023-04-08 05:02:33 +01:00
Vladimir Solontsov
2a782cc328
Add copying lz4file.h to make install
2022-11-22 16:10:08 +03:00
Fotis Xenakis
5ccbd38277
build: Support BUILD_SHARED=no
...
Since e585a438c7
, the BUILD_SHARED
Makefile variable only takes effect for the install target (i.e. the
shared libraries always built). This restores the original behaviour.
2022-09-13 23:55:54 +03:00
Dimitri Papadopoulos
4bdfb08b95
Fix typos found by codespell
2021-11-25 15:32:37 +01:00
Yann Collet
4de56b3da3
Merge pull request #1012 from eloj/print-install-dirs
...
Print target directories during 'make install'.
2021-07-25 00:44:40 +02:00
Eddy Jansson
eba110ad5b
Print target directories during 'make install'.
...
This takes #975 to its logical conclusion.
2021-07-24 17:20:37 +02:00
Eddy Jansson
c1f514f3db
Expand use of pkg-config variables.
...
Change pkg-config generation such that the path variables,
not their values, are used in the definitions of Libs and Cflags,
and that $prefix is substituted into libdir and includedir iff
they start with its value.
This makes it easier to modify the already installed file if necessary.
2021-07-24 16:05:15 +02:00
Yann Collet
e585a438c7
refactor Makefile
...
remove usage of include Makefile.inc in too Makefile
as it seems to somehow unexport CFLAGS ...
2020-11-30 16:06:50 -08:00
Yann Collet
87a80acbe7
updated license & header dates
2020-11-25 14:45:14 -08:00
Yann Collet
0760724577
update doc
2020-11-15 01:31:09 -08:00
Chongyu Zhu
024216ef73
lib/Makefile: Fix detection of Darwin
.
2019-04-24 03:13:19 +08:00
JPeterMugaas
7136489d33
More build imrpvements
...
Moved a few other tests to Makefiles.inc. Other things might need to go there.
Made a test for symlink appropriateness. Windows can NOT handle them the same way Unix-like operating systems do (if at all). This is mostly the same as the Visual C projects.
embed version info into .dll and .exes that are redistributed.
2019-04-23 07:44:00 -04:00
JPeterMugaas
2acddd9918
Fix a test for mingw
2019-04-22 16:06:04 -04:00
JPeterMugaas
b48f823f90
Try to put some tests I made in ONE place. I also moved a test for "install" in one place to try to isolate it.
2019-04-22 15:48:48 -04:00
JPeterMugaas
773b66547f
Initial commits from diff I submitted earlier
2019-04-22 13:48:59 -04:00
Vincent Torri
0360981f68
Allow installation of lz4 for Windows 10 with MSYS2
2019-03-03 22:06:38 +01:00
Vincent Torri
b03714dc80
Windows: create import library with gcc directly, remove now useless def file
2018-12-02 18:50:18 +01:00
Vincent Torri
bd2b259760
Uninstall DLL and import lib
2018-11-21 09:07:26 +01:00
Vincent Torri
8e8b658bde
Add explanation for the installation of the DLL in the bin directory
2018-11-21 08:40:51 +01:00
Vincent Torri
0314027051
Allow installation of lz4 for Windows (MSYS2 or when cross-compiling)
2018-11-20 21:08:23 +01:00
Vincent Torri
b5e106220b
Add DLLTOOL variable so that one can override dlltool binary
...
This fix cross compilation on linux for Windows
2018-11-17 14:17:15 +01:00
Vincent Torri
31ce8b56e5
Use / instead of \ when accessing files in the dll subdirectory.
...
This allow cross-compilation for Windows on Linux
2018-11-17 07:44:23 +01:00
Lucas Holt
de4667011a
FIx pkgconfig file installation on MidnightBSD
2018-09-11 21:18:43 -04:00
Lucas Holt
3318d573ba
Add support for MidnightBSD
2018-09-08 14:46:54 -04:00
Waldemar Brodkorb
6a7af839b8
allow to override uname when cross-compiling
...
When cross-compiling for example from Darwin to Linux it might be
useful to override uname output to force Linux and create Linux
libraries instead of Darwin libraries.
2018-05-22 20:38:28 +02:00
fbrosson
2149b1a8f6
Add Haiku as a validated target.
...
lz4 1.8.2 works fine on Haiku and passes all tests.
2018-05-17 16:52:53 +00:00
Nick Terrell
a7cc0b590a
Fix make install
...
* Uninstall didn't remove the pkg-config correctly.
* Fix `mandir`
* Allow overriding either upper- or lower-case location variables, but
always use the lower case variables.
* Add test case that ensures overriding both upper- and lower-case
variables is the same, and that the directory is empty after uninstall.
2018-05-04 13:50:23 -07:00
Alexey Tourbin
69242a8a08
lib/Makefile: show commands with V=1
...
`make V=1` will now show the commands executed to build the library.
A similar technique is used in e.g. linux/Makefile.
The bulk of this change is produced with the following vim command:
:g!/^\t@echo\>/s/^\t@/\t\$(Q)/
2018-04-28 07:22:26 +03:00
Yann Collet
8c6ca6283d
Merge pull request #511 from lz4/decFast
...
Fixed performance issue with LZ4_decompress_fast()
2018-04-24 11:25:57 -07:00
Yann Collet
092cb77597
Merge pull request #504 from baruchsiach/static-only-support
...
lib: allow to disable shared libraries
2018-04-23 23:44:04 -07:00
Cyan4973
bd06fde104
fullbench compiled without assert()
...
to better reflect release speed
2018-04-23 15:42:27 -07:00
Baruch Siach
95bde2a4ae
lib: allow to disable shared libraries
...
Just like BUILD_STATIC=no disables static libraries, BUILD_SHARED=no
disabled shared libraries. This is useful to support toolchains that do
not support shared libraries.
2018-04-19 12:28:11 +03:00
Yann Collet
4785bd6a35
minor length reduction of several large lines
2018-04-18 16:49:27 -07:00
Yann Collet
ee5332438b
minor Makefile fixes
2017-09-06 17:41:44 -07:00
Yann Collet
f212a10ae0
fixed FS-independent file order in /lib
...
identified by @bmwiedemann
2017-08-29 15:31:56 -07:00
Yann Collet
c4d6884cd8
build: source files sorted in a FS independent manner
...
to be more compatible with reproducible builds.
patch inspired by @bmwiedemann
2017-08-26 12:22:51 -07:00
Yann Collet
aea7d521ae
better respect GNU standard Makefile conventions
...
supports lowercase directory variables
add an "Installation" section in README.md
added an INSTALL file
2017-08-14 15:13:23 -07:00
Ido Rosen
8aeaf6bb3a
Fix typos preventing installation of static lib.
2017-08-01 00:48:58 -04:00
Yann Collet
b8575f2d2b
updated Makefile
...
to automatically build manual files with
make all
2017-05-10 13:26:04 -07:00
Dmitry V. Levin
883ebdcee0
Export only those symbols that are part of public API
...
Specify -fvisibility=hidden parameter when linking the shared library
using -fPIC, assuming that gcc >= 4 is used.
This change results to unexporting of the following 42 functions:
LZ4F_getErrorCode
LZ4_XXH32
LZ4_XXH32_canonicalFromHash
LZ4_XXH32_copyState
LZ4_XXH32_createState
LZ4_XXH32_digest
LZ4_XXH32_freeState
LZ4_XXH32_hashFromCanonical
LZ4_XXH32_reset
LZ4_XXH32_update
LZ4_XXH64
LZ4_XXH64_canonicalFromHash
LZ4_XXH64_copyState
LZ4_XXH64_createState
LZ4_XXH64_digest
LZ4_XXH64_freeState
LZ4_XXH64_hashFromCanonical
LZ4_XXH64_reset
LZ4_XXH64_update
LZ4_XXH_versionNumber
LZ4_compressHC
LZ4_compressHC2
LZ4_compressHC2_continue
LZ4_compressHC2_limitedOutput
LZ4_compressHC2_limitedOutput_continue
LZ4_compressHC2_limitedOutput_withStateHC
LZ4_compressHC2_withStateHC
LZ4_compressHC_continue
LZ4_compressHC_limitedOutput
LZ4_compressHC_limitedOutput_continue
LZ4_compressHC_limitedOutput_withStateHC
LZ4_compressHC_withStateHC
LZ4_compress_fast_force
LZ4_compress_forceExtDict
LZ4_createHC
LZ4_decompress_safe_forceExtDict
LZ4_freeHC
LZ4_resetStreamStateHC
LZ4_sizeofStreamStateHC
LZ4_slideInputBufferHC
LZ4_uncompress
LZ4_uncompress_unknownOutputSize
2017-03-10 23:35:30 +00:00