Skip to content

Added support TCC compiler and building deps on other Unix platforms#524

Closed
GermanAizek wants to merge 1 commit into
nih-at:mainfrom
GermanAizek:tcc-compiler
Closed

Added support TCC compiler and building deps on other Unix platforms#524
GermanAizek wants to merge 1 commit into
nih-at:mainfrom
GermanAizek:tcc-compiler

Conversation

@GermanAizek

Copy link
Copy Markdown

Im tested libzip build in Gentoo Linux, Devuan, OpenBSD.

This is a really cool Bellard project, I'm surprised how TCC compiles ~8-10 times faster than GCC and Clang.

My benchmarks for TCC compiler:

Wiki: https://en.wikipedia.org/wiki/Tiny_C_Compiler
Official site: https://bellard.org/tcc/

@0-wiz-0

0-wiz-0 commented May 15, 2026

Copy link
Copy Markdown
Member

Can you please show the compiler warnings/errors this fixes?
Why does the patch install additional support cmake files?

@GermanAizek

Copy link
Copy Markdown
Author

Can you please show the compiler warnings/errors this fixes?

@0-wiz-0,
This patch fixes warnings

[155/256] Building C object lib/CMakeFiles/zip.dir/zip_source_file_stdio.c.o
In file included from /media/devuan/437889e5-f1cd-4f29-84a0-605eacc7cd49/GIT/libzip/lib/zip_source_file_stdio.c:39:
In file included from /usr/include/fcntl.h:35:
In file included from /usr/include/x86_64-linux-gnu/bits/fcntl.h:61:
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:142: warning: O_CLOEXEC redefined
[210/256] Building C object lib/CMakeFiles/zip.dir/zip_source_file_stdio_named.c.o
In file included from /media/devuan/437889e5-f1cd-4f29-84a0-605eacc7cd49/GIT/libzip/lib/zip_source_file_stdio_named.c:39:
In file included from /usr/include/fcntl.h:35:
In file included from /usr/include/x86_64-linux-gnu/bits/fcntl.h:61:
/usr/include/x86_64-linux-gnu/bits/fcntl-linux.h:142: warning: O_CLOEXEC redefined
[256/256] Linking C executable examples/autoclose-archive
warning: O_CLOEXEC redefined

Cmake modules were added because by default CMake does not have all library paths possible platforms and searches deps in the wrong ways. These Cmake modules can be built libzip on any Unix and BSD systems.

@dillof

dillof commented May 18, 2026

Copy link
Copy Markdown
Member

We've fixed the redefinition of O_CLOEXEC in a less intrusive manner.

As for the CMake files, they are installed by cmake itself, so no need to install them ourselves.

@dillof dillof closed this May 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants