2023-01-21 15:34:25 +01:00
|
|
|
|
Условная компиляция
|
|
|
|
|
|
|
|
|
|
синтаксис:
|
|
|
|
|
|
|
|
|
|
$IF "(" ident {"|" ident} ")"
|
|
|
|
|
<...>
|
|
|
|
|
{$ELSIF "(" ident {"|" ident} ")"}
|
|
|
|
|
<...>
|
|
|
|
|
[$ELSE]
|
|
|
|
|
<...>
|
|
|
|
|
$END
|
|
|
|
|
|
|
|
|
|
где ident:
|
|
|
|
|
- одно из возможных значений параметра <target> в командной строке
|
|
|
|
|
- пользовательский идентификатор, переданный с ключом -def при компиляции
|
|
|
|
|
- один из возможных предопределенных идентификаторов:
|
|
|
|
|
|
|
|
|
|
WINDOWS - приложение Windows
|
|
|
|
|
LINUX - приложение Linux
|
|
|
|
|
KOLIBRIOS - приложение KolibriOS
|
|
|
|
|
CPU_X86 - приложение для процессора x86 (32-бит)
|
|
|
|
|
CPU_X8664 - приложение для процессора x86_64
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
примеры:
|
|
|
|
|
|
|
|
|
|
$IF (win64con | win64gui | win64dll)
|
|
|
|
|
OS := "WIN64";
|
|
|
|
|
$ELSIF (win32con | win32gui | win32dll)
|
|
|
|
|
OS := "WIN32";
|
|
|
|
|
$ELSIF (linux64exe | linux64so)
|
|
|
|
|
OS := "LINUX64";
|
|
|
|
|
$ELSIF (linux32exe | linux32so)
|
|
|
|
|
OS := "LINUX32";
|
|
|
|
|
$ELSE
|
|
|
|
|
OS := "UNKNOWN";
|
|
|
|
|
$END
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$IF (debug) (* -def debug *)
|
|
|
|
|
print("debug");
|
|
|
|
|
$END
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$IF (WINDOWS)
|
|
|
|
|
$IF (CPU_X86)
|
|
|
|
|
(*windows 32*)
|
|
|
|
|
|
|
|
|
|
$ELSIF (CPU_X8664)
|
|
|
|
|
(*windows 64*)
|
|
|
|
|
|
|
|
|
|
$END
|
|
|
|
|
$ELSIF (LINUX)
|
|
|
|
|
$IF (CPU_X86)
|
|
|
|
|
(*linux 32*)
|
|
|
|
|
|
|
|
|
|
$ELSIF (CPU_X8664)
|
|
|
|
|
(*linux 64*)
|
|
|
|
|
|
|
|
|
|
$END
|
2021-06-15 19:33:16 +02:00
|
|
|
|
$END
|