Subversion Repositories Kolibri OS

Rev

Rev 8859 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. Условная компиляция
  2.  
  3. синтаксис:
  4.  
  5.     $IF "(" ident {"|" ident} ")"
  6.         <...>
  7.     {$ELSIF "(" ident {"|" ident} ")"}
  8.         <...>
  9.     [$ELSE]
  10.         <...>
  11.     $END
  12.  
  13.     где ident:
  14.     - одно из возможных значений параметра <target> в командной строке
  15.     - пользовательский идентификатор, переданный с ключом -def при компиляции
  16.     - один из возможных предопределенных идентификаторов:
  17.  
  18.         WINDOWS   - приложение Windows
  19.         LINUX     - приложение Linux
  20.         KOLIBRIOS - приложение KolibriOS
  21.         CPU_X86   - приложение для процессора x86 (32-бит)
  22.         CPU_X8664 - приложение для процессора x86_64
  23.  
  24.  
  25. примеры:
  26.  
  27.     $IF (win64con | win64gui | win64dll)
  28.         OS := "WIN64";
  29.     $ELSIF (win32con | win32gui | win32dll)
  30.         OS := "WIN32";
  31.     $ELSIF (linux64exe | linux64so)
  32.         OS := "LINUX64";
  33.     $ELSIF (linux32exe | linux32so)
  34.         OS := "LINUX32";
  35.     $ELSE
  36.         OS := "UNKNOWN";
  37.     $END
  38.  
  39.  
  40.     $IF (debug) (* -def debug *)
  41.         print("debug");
  42.     $END
  43.  
  44.  
  45.     $IF (WINDOWS)
  46.         $IF (CPU_X86)
  47.         (*windows 32*)
  48.  
  49.         $ELSIF (CPU_X8664)
  50.         (*windows 64*)
  51.  
  52.         $END
  53.     $ELSIF (LINUX)
  54.         $IF (CPU_X86)
  55.         (*linux 32*)
  56.  
  57.         $ELSIF (CPU_X8664)
  58.         (*linux 64*)
  59.  
  60.         $END
  61.     $END