Couche de compatibilité : shim GLib et en-têtes réduits

engine/compat/ remplace ce que le cœur de gnubg attend du reste de gnubg
et de GLib : config.h écrit à la main (sans threads, C générique, NEON
prévu), shim GLib minimal (dont un analyseur XML pour les tables d'équité
et mmap pour les bases de fin de partie), en-têtes réduits et fonctions de
support.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Pierre MARTIN
2026-11-02 13:56:29 +01:00
co-authored by Claude Opus 5.5
parent 792f6395bf
commit 42bfb6506d
15 changed files with 1322 additions and 0 deletions
+25
View File
@@ -0,0 +1,25 @@
/*
* util.h -- en-tête réduit remplaçant celui de GNU Backgammon.
*
* Copyright (C) 2026 les auteurs d'Ustagammon.
* Licence : GPLv3 ou ultérieure (voir LICENSE).
*
* getPkgDataDir() renvoie le dossier des données du moteur, fixé à
* l'initialisation (engine_init). Définitions : gnubg-support.c.
*/
#ifndef UTIL_H
#define UTIL_H
#include <glib.h>
#include <stdio.h>
extern char *getPkgDataDir(void);
#define BuildFilename(file) g_build_filename(getPkgDataDir(), file, NULL)
#define BuildFilename2(file1, file2) g_build_filename(getPkgDataDir(), file1, file2, NULL)
extern void PrintError(const char *message);
extern FILE *GetTemporaryFile(const char *nameTemplate, char **retName);
#endif