61 lines
1.5 KiB
Plaintext
61 lines
1.5 KiB
Plaintext
|
Условная компиляция
|
|||
|
|
|||
|
синтаксис:
|
|||
|
|
|||
|
$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
|
|||
|
$END
|