| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
We do not need to check TIME_WITH_SYS_TIME anymore. We can check
HAVE_SYS_TIME_H and not bother checking for C99.
|
|
|
|
|
|
|
|
|
| |
Otherwise there are 32/64-bit pointer conversions going on. In Windows
since MSVC2005, time_t has been 64-bit. MinGW needs a hack to get 64-bit
time_t.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The warnings occurs at least with CMake version 3.24. It is caused by
CMake trying to find the gcc library due to case sensitivity.
The warning message was:
```
CMake Warning (dev) at /usr/share/cmake-3.24/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
The package name passed to `find_package_handle_standard_args` (LIBGCC)
does not match the name of the calling package (LibGCC). This can lead to
problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
build/cmake/FindLibGCC.cmake:17 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
CMakeLists.txt:1269 (FIND_PACKAGE)
This warning is for project developers. Use -Wno-dev to suppress it.
```
|
| |
|
|\
| |
| | |
cmake: update possible values of WINDOWS_VERSION to also support Windows 10
|
| | |
|
|/
|
|
|
|
|
|
|
| |
As libzstd typically comes with a pkgconfig file, use it.
Fixes compilation at least on OpenWrt where host paths were leaking into
the build.
Signed-off-by: Rosen Penev <rosenp@gmail.com>
|
|
|
|
| |
discussion in gh-1017).
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
Instrument gcc/clang to discard unused code during link
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The former two split the functions and data into separate sections
within the object file. Which makes it easier for the latter to properly
garbage collect and discard unused sections. For example
text data bss dec hex filename
208268 2056 4424 214748 346dc bsdcat -- before
93396 1304 4360 99060 182f4 bsdcat -- after
1059167 12112 24176 1095455 10b71f bsdcpio -- before
1002538 7320 23984 1033842 fc672 bsdcpio -- after
1093676 14248 6608 1114532 1101a4 bsdtar -- before
1062231 14176 6416 1082823 1085c7 bsdtar -- after
1097259 15032 6408 1118699 1111eb libarchive.so.18 -- before
1095675 14992 6216 1116883 110ad3 libarchive.so.18 -- after
Note:
This is enabled only with gcc/clang on non-Mac platforms. Ideally we'll
have a compile-time check, albeit that seems impossible with our ancient
cmake requirement.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Prior to version 3.3 cmake would always use -rdynamic. That in itself
causes all the internal symbols to be exported, increasing the binaries
by 5-10% and making it impossible for the compiler to reason, optimise
and discard unused code.
The -rdynamic is useful in two cases:
- having a third party module (say /usr/lib/foo/foobar.so) which is
underlinked and depends on symbols from the main binary - apps like
irssi, bash and zsh use that
- uses the glibc backtrace, which relies on dlopen/dlsym to fetch the
symbol data. Unwind is much better solution, since it replies on the
DWARF data
Our binaries do not use either of these - so drop the -rdynamic. The
autotools build doesn't use it either.
text data bss dec hex filename
229000 2120 4424 235544 39818 bsdcat -- before
208324 2120 4424 214868 34754 bsdcat -- after
1093939 12128 24176 1130243 113f03 bsdcpio -- before
1059181 12128 24176 1095485 10b73d bsdcpio -- after
1130091 14264 6608 1150963 118ff3 bsdtar -- before
1093690 14264 6608 1114562 1101c2 bsdtar -- after
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The flags used across the two are identical, apart from -g.
There is no compelling reason, why we would omit -g for debug builds
with GCC, while using it with clang.
De-duplicate the sections.
Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
|
|\ \
| | |
| | | |
Support libzstd compiled with compressor disabled
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
ZSTD library can be compiled with the compressor disabled, which is
handy on space restricted systems as the compressor accounts for more
than two thirds of the library size.
Detect this case and use libzstd for the decompression only.
Compression will be done using zstd binary if it's available.
|
|/ |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
On platforms that support the linkat(2) function we can safely
write hardlinks to symlinks as linkat(2) does not follow symlinks
by default.
Fixes #1044
|
|
|
|
| |
Typos found with codespell
|
|
|
|
|
| |
HAVE_STRUCT_STATFS
HAVE_STRUCT_STATFS_F_IOSIZE
|
| |
|
| |
|
|
|
|
| |
Fixes #1464
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
Don't even try HAVE_LZMA_STREAM_ENCODER_MT if ENABLE_LZMA is disabled
|
| | |
|
|\ \
| | |
| | | |
Disable error using deprecated functions on macOS 10.15 to calculate MD5
|
| |/ |
|
|/
|
|
|
|
|
|
|
| |
On MSVC /wennnn treats the specific warning number nnnn as an error:
https://docs.microsoft.com/en-us/cpp/build/reference/compiler-option-warning-level
But we want to enable this only when ENABLE_WERROR is defined (so the
general /WX flag is enough to treat all warnings as errors instead of
using /we).
|
| |
|
| |
|
|
|
|
| |
Fixes #1322
|
|
|
|
|
|
| |
the format errors.
Closes #1318
|
| |
|
|
|
|
|
| |
Make Nettle optional and OpenSSL default
Fixes #1301
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
only on platforms with openat(), fstatat() and unlinkat() support
|