# xxHash 0.8.3 — hash no criptográfico extremadamente rápido. Entra como dep de `zathura`, que lo # usa para la caché de páginas renderizadas (`dependency('libxxhash')`). # # Un solo `.c`, Makefile con `DESTDIR`/`PREFIX` de manual y un `libxxhash.pc.in` que el propio # Makefile instancia. Pero SÍ trae una perilla que mira la máquina, y no está donde uno la buscaría: # # ══ `DISPATCH=0` — Y NO ES UNA PREFERENCIA, EL BUILD SE CAE SIN ESTO ═══════════════════════════ # `Makefile:58-62` hace `$(CC) -dumpmachine | grep x86_64` y, si acierta, pone `DISPATCH ?= 1`. O # sea que el despacho vectorial en runtime **se enciende solo** por detección de arquitectura: es # exactamente la clase de perilla `auto` que hace depender el artefacto de dónde se construyó. # Con ella encendida se compila `xxh_x86dispatch.c`, y ahí muere: # # error: always_inline function '_mm512_add_epi64' requires target feature 'evex512', but would # be inlined into 'XXH3_accumulate_512_avx512' compiled without support for 'evex512' # error: AVX vector argument of type '__m512i' without 'evex512' enabled changes the ABI # # El fichero pide AVX-512 con `-mavx512f` a secas, y el clang que trae zig ya exige además # `-mevex512` para los vectores de 512 bits. **No se arregla subiendo flags**: la variante AVX-512 # de xxHash sólo la usa el despacho en runtime, y esta distro no quiere un binario que elija # implementación según el `cpuid` del que lo compiló. `DISPATCH=0` apaga las dos cosas de una. # `LIBXXH_DISPATCH` —el equivalente para la `.so`— no tiene default, así que ya venía apagado. # # El target por defecto (`lib xxhsum_and_links`) es justo lo que pide `install`: la `.a`, la `.so`, # el CLI `xxhsum` y sus cuatro symlinks (xxh32sum/xxh64sum/xxh128sum/xxh3sum). Se dejan: son 20 KB y # `xxhsum` es una herramienta de verdad, del mismo tamaño de utilidad que `sha256sum`. # # Fuente por commit git (ADR 0006): `v0.8.3` es un tag LIVIANO ⇒ éste es su commit. name = "xxhash" version = "0.8.3" license = "BSD-2-Clause" [source] repo = "https://github.com/Cyan4973/xxHash.git" commit = "e626a72bc2321cd320e953a0ccf1584cad60f363" [build] compiler = "zig-cc" target = "x86_64-linux-musl" link = "dynamic" flags = [] [build.phases] configure = "true" compile = "make PREFIX=/usr CC=hammer-zig-cc DISPATCH=0" install = "make install PREFIX=/usr DESTDIR=/out CC=hammer-zig-cc DISPATCH=0" [deps] build = ["make", "pkgconf"]