/* * config.h -- configuration de compilation du moteur embarqué d'Ustagammon. * * Copyright (C) 2026 les auteurs d'Ustagammon. * Licence : GPLv3 ou ultérieure (voir LICENSE). * * Remplace le config.h que produit le configure de GNU Backgammon. Seules les * macros lues par les fichiers repris dans engine/gnubg/ sont définies ; les * valeurs suivent ce que configure.ac choisit sur une Debian récente avec gcc. */ #ifndef USTAGAMMON_CONFIG_H #define USTAGAMMON_CONFIG_H #define VERSION "1.08.003" #define PACKAGE "gnubg" #define GETTEXT_PACKAGE "gnubg" /* Compilateur : gcc ou clang, qui comprennent tous deux ces extensions. */ #define HAVE___ATTRIBUTE__ 1 #define HAVE_FUNC_ATTRIBUTE_CONST 1 #define HAVE_FUNC_ATTRIBUTE_FALLTHROUGH 1 #define HAVE_FUNC_ATTRIBUTE_FORMAT 1 #define HAVE_FUNC_ATTRIBUTE_PURE 1 #define HAVE_FUNC_ATTRIBUTE_UNUSED 1 #define HAVE___BUILTIN_EXPECT 1 #define HAVE___BUILTIN_CLZ 1 /* Bibliothèque C POSIX (glibc, bionic d'Android, musl d'Emscripten). */ #define HAVE_UNISTD_H 1 #define HAVE_STDINT_H 1 #define HAVE_POSIX_MEMALIGN 1 /* * Pas de threads : une seule instance du moteur, appels sérialisés * (ADR 0005). USE_MULTITHREAD reste donc non défini. */ /* * Instructions SIMD. Par défaut, C générique partout (x86 compris), ce qui * est aussi le seul chemin possible en WebAssembly. * * Chemin NEON prévu pour arm64 (Android), activé en compilant avec * -DUSTAGAMMON_NEON ; il reprend les définitions que configure produit avec * --enable-simd=neon. Le test d'instructions à l'exécution est inutile : * NEON est obligatoire sur arm64. */ #if defined(USTAGAMMON_NEON) #if !defined(__aarch64__) #error "USTAGAMMON_NEON n'est prévu que pour arm64" #endif #define USE_SIMD_INSTRUCTIONS 1 #define USE_NEON 1 #define HAVE_NEON 1 #define DISABLE_SIMD_TEST 1 #endif #endif /* USTAGAMMON_CONFIG_H */