De sgcWebSockets-bibliotheek heeft een configuratiebestand in de source-map dat alle conditionele compilaties bevat. Dit bestand heet sgcVer.inc.
Als je dit bestand opent, zie je dat er veel conditionele defines zijn — voor elke Delphi- of C++Builder-versie een hele reeks. Voor RAD Studio 10.3 zijn dit er bijvoorbeeld:
{$IFDEF VER330} { Delphi 10.3 }
{$DEFINE D2006}
{$DEFINE D2007}
{$DEFINE D2009}
{$DEFINE D2010}
{$DEFINE DXE}
{$DEFINE DXE2}
{$DEFINE DXE3}
{$DEFINE DXE4}
{$DEFINE DXE5}
{$DEFINE DXE6}
{$DEFINE DXE7}
{$DEFINE DXE8}
{$DEFINE D10}
{$DEFINE D10_1}
{$DEFINE D10_2}
{$DEFINE D10_3}
{$DEFINE INDY10_1}
{$DEFINE INDY10_2}
{$DEFINE INDY10_5_5}
{$DEFINE INDY10_5_7}
{$DEFINE INDY10_6}
{$DEFINE INDY10_6_2_5366}
{$IFNDEF BCB}
{$IFNDEF MACOS}
{$IFNDEF ANDROID}
{.$DEFINE IWIX}
{.$DEFINE IWXI}
{.$DEFINE IWXIV}
{$ENDIF}
{$ENDIF}
{$IFNDEF NEXTGEN}
{$DEFINE SGC_JSON_INTF}
{$ENDIF}
{$ENDIF}
{$ENDIF}
Compiler-blokken
De eerste directives hebben betrekking op de IDE-versie — elke IDE-versie heeft zijn eigen compiler. Het wordt meestal niet aangeraden om deze te wijzigen.
Daarna staan er een aantal directives die betrekking hebben op de Indy-versie. Standaard is sgcVer.inc geconfigureerd om te werken met de Indy-versie die bij RAD Studio wordt meegeleverd, maar soms is het handig om Indy bij te werken naar de nieuwste versie. Hier kun je instellen welke Indy-versie je gebruikt door de bijbehorende compiler-directives te activeren of uit te commentariëren.
Tot slot zijn er enkele compiler-directives voor Intraweb. Intraweb is in nieuwere versies feitelijk afgeschaft en standaard niet meer nodig, maar als je Intraweb-componenten wilt gebruiken, kun je hier instellen welke Intraweb-versie je gebruikt.
