Files
jca 467cb400e9 Ignore type mismatch in riscv-specific code, fixes the build on riscv64
clang-22 considers pointer mismatches between unsigned long * and
unsigned long long * as fatal errors. Make the errors non-fatal until
I nuderstand what it takes to appease the compiler. Said errors
shouldn't matter anyway given that said types are always the same size
on riscv64 anyway.  make test agrees.

Some performance increases are visible for eg chacha or AES on this
Spacemit k1, but more efforts are needed to unlock performance
improvements gated behind riscv_hwprobe checks.
2026-06-07 15:08:59 +00:00

44 lines
929 B
Makefile

# Assembly implementations of crypto primitives.
.if ${MACHINE_ARCH} != aarch64 && ${MACHINE_ARCH} != amd64
USE_NOEXECONLY= Yes
.endif
COMMENT= crypto library based on code used in GnuPG
DISTNAME= libgcrypt-1.12.2
REVISION= 0
CATEGORIES= security
SHARED_LIBS += gcrypt 22.0 # 27.2
HOMEPAGE= https://www.gnupg.org/software/libgcrypt/index.html
MAINTAINER= Antoine Jacoutot <ajacoutot@openbsd.org>
# GPLv2/LGPLv2.1
PERMIT_PACKAGE= Yes
# Needs thread-local storage
COMPILER= base-clang ports-gcc
COMPILER_LANGS= c
WANTLIB += c gpg-error iconv intl
SITES= ${SITE_GNUPG:=libgcrypt/}
LIB_DEPENDS= security/libgpg-error
CONFIGURE_STYLE= gnu
CONFIGURE_ARGS= --enable-static \
--disable-drng-support
DEBUG_PACKAGES= ${BUILD_PACKAGES}
.if ${MACHINE_ARCH} == riscv64
# long vs long long in riscv64-specific code
CFLAGS += -Wno-error=incompatible-pointer-types
.endif
.include <bsd.port.mk>