Traduction automatique de "Upgrading the Windows build chain"
« Mise à niveau de la chaîne de compilation Windows
Depuis la toute première version Windows de PureBasic (il y a 23 ans), nous avons décidé de nous en tenir au MSVCRT.dll intégré pour éviter d'embarquer d'autres DLL avec les exécutables PureBasic créés. Cela permettait d'avoir de très petits exécutables (aussi petits que 10 Ko) sans aucune dépendance (les programmes PureBasic n'ont jamais eu à profiter du fameux enfer des DLL qui tourmentait de nombreux autres langages de programmation à l'époque). Malheureusement, au fil du temps, le fichier MSVCRT.dll devenait de plus en plus ancien car il n'était pas mis à jour par Microsoft, qui insistait pour l'utilisation d'une DLL spécifique de VisualStudio. L'effet secondaire de s'en tenir à l'ancien MSVCRT.dll est la complexité supplémentaire d'intégrer de nouvelles bibliothèques tierces (comme libcurl, sqlite, scintilla, etc.) dans PureBasic car nous ne pouvons pas accéder aux nouvelles fonctions C ou aux nouvelles fonctionnalités C++. Nous avons donc dû patcher les bibliothèques pour qu'elles soient correctement liées et cela prenait beaucoup de temps, essayer d'émuler de nouvelles fonctions avec un mélange d'anciennes fonctions. Nous avons encore fait ce (pénible) travail supplémentaire alors que nous supportions Windows XP, mais cela va maintenant se terminer avec la version PureBasic 6.10.
Une fois le support de XP abandonné, nous avons pu utiliser Visual C++ 2022 (qui ne prend plus en charge XP) et commencer à mettre à jour toute la chaîne de construction. Il a fallu beaucoup de temps pour mettre à jour les bibliothèques et pouvoir lier le runtime MS de manière statique, mais ça marche enfin ! La bonne nouvelle est que nous pouvons désormais utiliser un compilateur C++ à jour qui rend notre travail beaucoup plus facile et rapide (la première nouvelle bibliothèque que nous intégrons pour la version 6.10 est celle de WebView, qui nécessite C++17 ) . L'inconvénient de lier statiquement le runtime MSVC réside dans les exécutables plus gros, donc les plus petits démarrent dans la plage de 150 Ko (encore très petit par rapport aux normes actuelles). Mais il n'y a pas de dépendance DLL, et nous pourrions même réduire une dépendance DLL en liant statiquement Scintilla (ce qui n'était pas possible avec l'ancien MSVCRT.dll).
Jusqu'ici, tout va bien, nous sommes tous prêts pour l'avenir sous Windows et vous devriez bientôt profiter d'exécutables PureBasic plus rapides (l'ensemble du jeu de commandes est maintenant recompilé avec un meilleur compilateur C) et de commandes plus modernes, comme WebView, qui arrivent plus rapidement. ! »
