﻿Условная компиляция

синтаксис:

    $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