VirtualBox

Changeset 1572 in kBuild


Ignore:
Timestamp:
Apr 25, 2008 12:13:35 AM (17 years ago)
Author:
bird
Message:

Rewrote the script to match the env.sh and envwin.cmd features and to use the new environment variables.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/kBuild/envos2.cmd

    • Property svn:keyword deleted
    • Property svn:keywords set to Id
    r1508 r1572  
    33cancel & quit & exit
    44*/
    5 /* $Id: $ */
     5/* $Id$ */
    66/** @file
    7  *
    87 * Environment setup script for OS/2.
     8 */
     9 
     10/*
    911 *
    1012 * Copyright (c) 1999-2008 knut st. osmundsen <[email protected]>
    11  *
    1213 *
    1314 * This file is part of kBuild.
     
    4748
    4849/*
    49  * Establish the kBuild environment variables.
    50  */
    51 
    52 /* kBuild path. */
    53 if (EnvGet("PATH_KBUILD") = "") then
    54 do
    55     call EnvSet 0, "PATH_KBUILD", GetScriptDir();
    56 end
    57 if (  FileExists(EnvGet("PATH_KBUILD")||"\footer.kmk") = 0,
    58     | FileExists(EnvGet("PATH_KBUILD")||"\header.kmk") = 0,
    59     | FileExists(EnvGet("PATH_KBUILD")||"\rules.kmk") = 0) then
    60 do
    61     say "kBuild: error: PATH_KBUILD ("||EnvGet("PATH_KBUILD")||") is not point to a populated kBuild directory.";
    62     exit(1);
    63 end
    64 say "dbg: PATH_KBUILD="||EnvGet("PATH_KBUILD");
    65 
    66 /* Type. */
    67 if (EnvGet("BUILD_TYPE") = "") then
    68     call EnvSet 0, "BUILD_TYPE", "release";
    69 call EnvSet 0, "BUILD_TYPE", ToLower(EnvGet("BUILD_TYPE"));
    70 say "dbg: BUILD_TYPE="||EnvGet("BUILD_TYPE");
    71 
    72 
    73 /* Host platform. */
    74 if (EnvGet("BUILD_PLATFORM_CPU") = "") then
    75     call EnvSet 0, "BUILD_PLATFORM_CPU", "blend";
    76 call EnvSet 0, "BUILD_PLATFORM_CPU", ToLower(EnvGet("BUILD_PLATFORM_CPU"));
    77 say "dbg: BUILD_PLATFORM_CPU="||EnvGet("BUILD_PLATFORM_CPU");
    78 
    79 if (EnvGet("BUILD_PLATFORM_ARCH") = "") then
    80     call EnvSet 0, "BUILD_PLATFORM_ARCH", "x86";
    81 call EnvSet 0, "BUILD_PLATFORM_ARCH", ToLower(EnvGet("BUILD_PLATFORM_ARCH"));
    82 say "dbg: BUILD_PLATFORM_ARCH="||EnvGet("BUILD_PLATFORM_ARCH");
    83 
    84 if (EnvGet("BUILD_PLATFORM") = "") then
    85     call EnvSet 0, "BUILD_PLATFORM", "os2";
    86 call EnvSet 0, "BUILD_PLATFORM", ToLower(EnvGet("BUILD_PLATFORM"));
    87 say "dbg: BUILD_PLATFORM="||EnvGet("BUILD_PLATFORM");
    88 
    89 
    90 /* Target platform. */
    91 if (  (  EnvGet("BUILD_TARGET") = "",
    92        | EnvGet("BUILD_TARGET") = EnvGet("BUILD_PLATFORM")),
    93     & (  EnvGet("BUILD_TARGET_ARCH") = "",
    94        | EnvGet("BUILD_TARGET_ARCH") = EnvGet("BUILD_PLATFORM_ARCH")),
    95     & (  EnvGet("BUILD_TARGET_CPU") = "",
    96        | EnvGet("BUILD_TARGET_CPU") = "blend")) then
    97 do
    98     call EnvSet 0, "BUILD_TARGET", EnvGet("BUILD_PLATFORM");
    99     call EnvSet 0, "BUILD_TARGET_ARCH", EnvGet("BUILD_PLATFORM_ARCH");
    100     call EnvSet 0, "BUILD_TARGET_CPU", EnvGet("BUILD_PLATFORM_CPU");
    101 end
    102 if (  EnvGet("BUILD_TARGET") <> "",
    103     & EnvGet("BUILD_TARGET_ARCH") = "",
    104     & (  EnvGet("BUILD_TARGET_CPU") = "",
    105        | EnvGet("BUILD_TARGET_CPU") = "blend")) then
    106 do
    107     select
    108         when ( EnvGet("BUILD_TARGET") = "os2" ) then
    109         do
    110             call EnvSet 0, "BUILD_TARGET_ARCH", "x86";
    111             call EnvSet 0, "BUILD_TARGET_CPU", "blend";
     50 * Globals
     51 */
     52skBuildPath       = EnvGet("KBUILD_PATH");
     53skBuildBinPath    = EnvGet("KBUILD_BIN_PATH");
     54skBuildType       = EnvGet("KBUILD_TYPE");
     55skBuildTarget     = EnvGet("KBUILD_TARGET");
     56skBuildTargetArch = EnvGet("KBUILD_TARGET_ARCH");
     57skBuildTargetCpu  = EnvGet("KBUILD_TARGET_CPU");
     58skBuildHost       = EnvGet("KBUILD_HOST");
     59skBuildHostArch   = EnvGet("KBUILD_HOST_ARCH");
     60skBuildHostCpu    = EnvGet("KBUILD_HOST_CPU");
     61
     62/*
     63 * Process arguments.
     64 */
     65fOptFull = 0
     66fOptLegacy = 0
     67fOptDbg = 0
     68fOptQuiet = 0
     69sOptVars = ""
     70fOptValueOnly = 0
     71sShowVarPrefix = "";
     72fOptOverrideAll = 0
     73fOptOverrideType = 0;
     74fSetType = 0;
     75fOptOverrideTarget = 0;
     76fOptOverrideTargetArch = 0;
     77fOptDefault = 0;
     78
     79parse arg sArgs
     80do while (sArgs <> '')
     81    parse value sArgs with sArg sRest
     82    say 'sArgs='sArgs';'
     83    say ' sArg='sArg';'
     84    say 'sRest='sRest';'
     85   
     86    select
     87        when (sArg = "--debug-script") then do
     88            fOptDbg = 1;
     89        end
     90        when (sArg = "--no-debug-script") then do
     91            fOptDbg = 0;
     92        end
     93        when (sArg = "--quiet") then do
     94            fOptQuiet = 1;
     95        end
     96        when (sArg = "--verbose") then do
     97            fOptQuiet = 0;
     98        end
     99        when (sArg = "--full") then do
     100            fOptFull = 1;
     101        end
     102        when (sArg = "--normal") then do
     103            fOptFull = 0;
     104        end
     105        when (sArg = "--legacy") then do
     106            fOptLegacy = 1;
     107        end
     108        when (sArg = "--no-legacy") then do
     109            fOptLegacy = 0;
     110        end
     111        when (sArg = "--eval") then do
     112            say "error: --eval is not supported on OS/2."
     113        end
     114        when (sArg = "--var") then do
     115            parse value sRest with sVar sRest2
     116            sRest = sRest2;
     117            if (sVar = '') then do
     118                say "syntax error: --var is missing the variable name";
     119                call SysSleep 1
     120                exit 1;
     121            end
     122            if (sVar = "all" | sOptVars = "all") then
     123                sOptVars = "all";
     124            else
     125                sOptVars = sOptVars || " " || sVar;
     126        end
     127        when (sArg = "--set") then do
     128            sShowVarPrefix = "SET ";
     129        end
     130        when (sArg = "--no-set") then do
     131            sShowVarPrefix = "";
     132        end
     133        when (sArg = "--value-only") then do
     134            fOptValueOnly = 1;
     135        end
     136        when (sArg = "--name-and-value") then do
     137            fOptValueOnly = 0;
     138        end
     139        when (sArg = "--release") then do
     140            fOptOverrideType = 1;
     141            fSetType = 1;
     142            skBuildType = 'release';
     143        end
     144        when (sArg = "--debug") then do
     145            fOptOverrideType = 1;
     146            fSetType = 1;
     147            skBuildType = 'debug';
     148        end
     149        when (sArg = "--profile") then do
     150            fOptOverrideType = 1;
     151            fSetType = 1;
     152            skBuildType = 'profile';
     153        end
     154        when (sArg = "--defaults") then do
     155            fOptOverrideAll = 1;
     156            skBuildType = "";
     157            skBuildTarget = "";
     158            skBuildTargetArch = "";
     159            skBuildTargetCpu = "";
     160            skBuildHost = "";
     161            skBuildHostArch = "";
     162            skBuildHostCpu = "";
     163            skBuildPath = "";
     164            skBuildBinPath = "";
     165        end
     166
     167        when (sArg = "--help" | sArg = "-h" | sArg = "-?" | sArg = "/?" | sArg = "/h") then do
     168            say "kBuild Environment Setup Script, v0.1.3"
     169            say ""
     170            say "syntax: envos2.cmd [options] [command [args]]"
     171            say "    or: envos2.cmd [options] --var <varname>"
     172            say ""
     173            say "The first form will execute the command, or if no command is given"
     174            say "modify the current invoking shell."
     175            say "The second form will print the specfified variable(s)."
     176            say ""
     177            say "Options:"
     178            say "  --debug, --release, --profile"
     179            say "      Alternative way of specifying KBUILD_TYPE."
     180            say "  --defaults"
     181            say "      Enforce defaults for all the KBUILD_* values."
     182            say "  --debug-script, --no-debug-script"
     183            say "      Controls debug output. Default: --no-debug-script"
     184            say "  --quiet, --verbose"
     185            say "      Controls informational output. Default: --verbose"
     186            say "  --full, --normal"
     187            say "      Controls the variable set. Default: --normal"
     188            say "  --legacy, --no-legacy"
     189            say "      Include legacy variables in result. Default: --no-legacy"
     190            say "  --value-only, --name-and-value"
     191            say "      Controls what the result of a --var query. Default: --name-and-value"
     192            say "  --set, --no-set"
     193            say "      Whether to prefix the variable output with 'SET'."
     194            say "      Default: --no-set"
     195            say ""
     196            exit 1
    112197        end
    113198       
    114         otherwise
    115             say "kBuild: error: can't figure out target arch/cpu from the BUILD_TARGET value ("||EnvGet("BUILD_TARGET")||")";
    116             exit(1);
    117     end
    118 end
    119 if (  EnvGet("BUILD_TARGET") <> "",
    120     & EnvGet("BUILD_TARGET_ARCH") <> "",
    121     & EnvGet("BUILD_TARGET_CPU") = "") then
    122 do
    123     call EnvSet 0, "BUILD_TARGET_CPU", "blend";
    124 end
    125 if (  EnvGet("BUILD_TARGET_ARCH") = "",
    126     | EnvGet("BUILD_TARGET_CPU") = "",
    127     | EnvGet("BUILD_TARGET") = "") then
    128 do
    129     say "kBuild: error: can't figure out all the target settings, try specify all three."
    130     say "kBuild:  info: BUILD_TARGET="||EnvGet("BUILD_TARGET")
    131     say "kBuild:  info: BUILD_TARGET_CPU="||EnvGet("BUILD_TARGET_CPU")
    132     say "kBuild:  info: BUILD_TARGET_ARCH="||EnvGet("BUILD_TARGET_ARCH")
    133     exit(1);
    134 end
    135 
    136 say "dbg: BUILD_TARGET="||EnvGet("BUILD_TARGET");
    137 say "dbg: BUILD_TARGET_ARCH="||EnvGet("BUILD_TARGET_ARCH");
    138 say "dbg: BUILD_TARGET_CPU="||EnvGet("BUILD_TARGET_CPU");
    139 
    140 
    141 sPlatformBin = EnvGet("PATH_KBUILD")||"\bin\"||EnvGet("BUILD_PLATFORM")||"."||EnvGet("BUILD_PLATFORM_ARCH");
    142 
    143 /* Make shell */
    144 call EnvSet 0, "MAKESHELL", translate(sPlatformBin||"/kmk_ash.exe", '/', '\');
    145 
    146 /* The PATH. */
    147 call EnvAddFront 0, "PATH", sPlatformBin;
    148 say "dbg: PATH="||EnvGet("PATH");
    149 
    150 /* The BEGINLIBPATH. */
    151 call EnvAddFront 0, "BEGINLIBPATH", sPlatformBin;
    152 say "dbg: BEGINLIBPATH="||EnvGet("BEGINLIBPATH");
    153 
    154 /* Sanity check */
    155 if (DirExists(sPlatformBin) = 0) then
    156 do
    157     say "kBuild: warning: The bin directory for this platform doesn't exist. ("||sPlatformBin||")";
    158 end
     199        when (sArg = "--") then do
     200            sArgs = sRest;
     201            leave;
     202        end
     203       
     204        when (left(sArg, 2) = '--') then do
     205            say 'syntax error: unknown option: '||sArg
     206            call SysSleep 1
     207            exit 1
     208        end
     209       
     210        otherwise do
     211            leave
     212        end
     213    end
     214    sArgs = sRest;
     215end
     216sCommand = strip(sArgs);       
     217   
     218/*
     219 * Deal with legacy environment variables.
     220 */
     221if (\fOptOverrideAll) then do
     222    if (EnvGet("PATH_KBUILD") <> '') then do
     223        if (skBuildPath <> '' & skBuildPath <> EnvGet("PATH_KBUILD")) then do
     224            say "error: KBUILD_PATH ("||skBuildPath||") and PATH_KBUILD ("||EnvGet("PATH_KBUILD")||") disagree."
     225            call SysSleep 1;
     226            exit 1;
     227        end
     228        skBuildPath = EnvGet("PATH_KBUILD");
     229    end
     230   
     231    if (EnvGet("PATH_KBUILD_BIN") <> '') then do
     232        if (skBuildPath <> '' & skBuildBinPath <> EnvGet("PATH_KBUILD_BIN")) then do
     233            say "error: KBUILD_BIN_PATH ("||skBuildBinPath||") and PATH_KBUILD_BIN ("||EnvGet("PATH_KBUILD_BIN")||") disagree."
     234            call SysSleep 1;
     235            exit 1;
     236        end
     237        skBuildBinPath = EnvGet("PATH_KBUILD_BIN");
     238    end
     239
     240    if (EnvGet("BUILD_TYPE") <> '') then do
     241        if (skBuildType <> '' & skBuildType <> EnvGet("BUILD_TYPE")) then do
     242            say "error: KBUILD_TYPE ("||skBuildType||") and BUILD_TYPE ("||EnvGet("BUILD_TYPE")||") disagree."
     243            call SysSleep 1;
     244            exit 1;
     245        end
     246        skBuildType = EnvGet("BUILD_TYPE");
     247    end
     248
     249    if (EnvGet("BUILD_TARGET") <> '') then do
     250        if (skBuildTarget <> '' & skBuildTarget <> EnvGet("BUILD_TARGET")) then do
     251            say "error: KBUILD_TARGET ("||skBuildTarget||") and BUILD_TARGET ("||EnvGet("BUILD_TARGET")||") disagree."
     252            call SysSleep 1;
     253            exit 1;
     254        end
     255        skBuildTarget = EnvGet("BUILD_TARGET");
     256    end
     257
     258    if (EnvGet("BUILD_TARGET_ARCH") <> '') then do
     259        if (skBuildTargetArch <> '' & skBuildTargetArch <> EnvGet("BUILD_TARGET_ARCH")) then do
     260            say "error: KBUILD_TARGET_ARCH ("||skBuildTargetArch ||") and BUILD_TARGET_ARCH ("||EnvGet("BUILD_TARGET_ARCH")||") disagree."
     261            call SysSleep 1;
     262            exit 1;
     263        end
     264        skBuildTargetArch = EnvGet("BUILD_TARGET_ARCH");
     265    end
     266   
     267    if (EnvGet("BUILD_TARGET_CPU") <> '') then do
     268        if (skBuildTargetCpu <> '' & skBuildTargetCpu <> EnvGet("BUILD_TARGET_CPU")) then do
     269            say "error: KBUILD_TARGET_CPU ("||skBuildTargetCpu ||") and BUILD_TARGET_CPU ("||EnvGet("BUILD_TARGET_CPU")||") disagree."
     270            call SysSleep 1;
     271            exit 1;
     272        end
     273        skBuildTargetCpu = EnvGet("BUILD_TARGET_CPU");
     274    end
     275
     276    if (EnvGet("BUILD_PLATFORM") <> '') then do
     277        if (skBuildHost <> '' & skBuildHost <> EnvGet("BUILD_PLATFORM")) then do
     278            say "error: KBUILD_HOST ("||skBuildHost||") and BUILD_PLATFORM ("||EnvGet("BUILD_PLATFORM")||") disagree."
     279            call SysSleep 1;
     280            exit 1;
     281        end
     282        skBuildHost = EnvGet("BUILD_PLATFORM");
     283    end
     284
     285    if (EnvGet("BUILD_PLATFORM_ARCH") <> '') then do
     286        if (skBuildHostArch <> '' & skBuildHostArch <> EnvGet("BUILD_PLATFORM_ARCH")) then do
     287            say "error: KBUILD_HOST_ARCH ("||skBuildHostArch ||") and BUILD_PLATFORM_ARCH ("||EnvGet("BUILD_PLATFORM_ARCH")||") disagree."
     288            call SysSleep 1;
     289            exit 1;
     290        end
     291        skBuildHostArch = EnvGet("BUILD_PLATFORM_ARCH");
     292    end
     293   
     294    if (EnvGet("BUILD_PLATFORM_CPU") <> '') then do
     295        if (skBuildHostCpu <> '' & skBuildHostCpu <> EnvGet("BUILD_PLATFORM_CPU")) then do
     296            say "error: KBUILD_HOST_CPU ("||skBuildHostCpu ||") and BUILD_PLATFORM_CPU ("||EnvGet("BUILD_PLATFORM_CPU")||") disagree."
     297            call SysSleep 1;
     298            exit 1;
     299        end
     300        skBuildHostCpu = EnvGet("BUILD_PLATFORM_CPU");
     301    end
     302end
     303                       
     304/*
     305 * Set default build type.
     306 */
     307if (skBuildType = '') then
     308    skBuildType = 'release';
     309if (fOptDbg <> 0) then say "dbg: KBUILD_TYPE="||skBuildType
     310
     311/*
     312 * Determin the host platform (OS/2)
     313 */
     314if (skBuildHost = '') then
     315    skBuildHost = 'os2';
     316if (fOptDbg <> 0) then say "dbg: KBUILD_HOST="||skBuildHost
     317
     318if (skBuildHostArch = '') then do
     319    select
     320        when (skBuildHostCpu = 'i386',
     321            | skBuildHostCpu = 'i486',
     322            | skBuildHostCpu = 'i586',
     323            | skBuildHostCpu = 'i686',
     324            | skBuildHostCpu = 'i786',
     325            | skBuildHostCpu = 'i886',
     326            | skBuildHostCpu = 'i986') then do
     327            skBuildHostArch = "x86";
     328        end
     329        otherwise do
     330            skBuildHostArch = "x86";
     331        end
     332    end
     333end
     334if (fOptDbg <> 0) then say "dbg: KBUILD_HOST_ARCH="||skBuildHostArch
     335
     336if (skBuildHostCpu = '') then
     337    skBuildHostCpu = 'blend';
     338if (fOptDbg <> 0) then say "dbg: KBUILD_HOST_CPU="||skBuildHostCpu
     339
     340
     341/*
     342 * The target platform.
     343 * Defaults to the host when not specified.
     344 */
     345if (skBuildTarget = '') then
     346    skBuildTarget = skBuildHost;
     347if (fOptDbg <> 0) then say "dbg: KBUILD_TARGET="||skBuildTarget
     348
     349if (skBuildTargetArch = '') then
     350    skBuildTargetArch = skBuildHostArch;
     351if (fOptDbg <> 0) then say "dbg: KBUILD_TARGET_ARCH="||skBuildTargetArch
     352
     353if (skBuildTargetCpu = '') then do
     354    if (skBuildTargetArch = skBuildHostArch) then
     355        skBuildTargetCpu = skBuildHostCpu;
     356    else
     357        skBuildTargetCpu = "blend";
     358end   
     359if (fOptDbg <> 0) then say "dbg: KBUILD_TARGET_CPU="||skBuildTargetCpu
     360
     361
     362/*
     363 * Determin KBUILD_PATH from the script location and calc KBUILD_BIN_PATH from there.
     364 */
     365if (skBuildPath = '') then do
     366    skBuildPath = GetScriptDir()
     367end
     368skBuildPath = translate(skBuildPath, '/', '\')
     369if (  FileExists(skBuildPath||"/footer.kmk") = 0,
     370    | FileExists(skBuildPath||"/header.kmk") = 0,
     371    | FileExists(skBuildPath||"/rules.kmk") = 0) then do
     372    say "error: KBUILD_PATH ("skBuildPath||") is not pointing to a popluated kBuild directory."
     373    call SysSleep 1
     374    exit 1
     375end
     376if (fOptDbg <> 0) then say "dbg: KBUILD_PATH="||skBuildPath;
     377
     378if (skBuildBinPath = '') then do
     379    skBuildBinPath = skBuildPath||'/bin/'||skBuildHost||'.'||skBuildHostArch;
     380end
     381skBuildBinPath = translate(skBuildBinPath, '/', '\')
     382if (fOptDbg <> 0) then say "dbg: KBUILD_BIN_PATH="||skBuildBinPath;
     383
     384/*
     385 * Add the bin/x.y/ directory to the PATH and BEGINLIBPATH.
     386 * NOTE! Once bootstrapped this is the only thing that is actually necessary.
     387 */
     388sOldPath = EnvGet("PATH");
     389say sOldPath
     390call EnvAddFront 0, "PATH", translate(skBuildBinPath, '\', '/');
     391sNewPath = EnvGet("PATH");
     392call EnvSet 0, "PATH", sOldPath;
     393if (fOptDbg <> 0) then say "dbg: PATH="||sNewPath;
     394
     395sOldBeginLibPath = EnvGet("BEGINLIBPATH");
     396call EnvAddFront 0, "BEGINLIBPATH", translate(skBuildBinPath, '\', '/');
     397sNewBeginLibPath = EnvGet("PATH");
     398call EnvSet 0, "BEGINLIBPATH", sOldBeginLibPath;
     399if (fOptDbg <> 0) then say "dbg: BEGINLIBPATH="||sNewBeginLibPath;
     400
     401/*
     402 * Sanity check
     403 */
     404if (DirExists(skBuildBinPath) = 0) then
     405    say "warning: The bin directory for the build platform doesn't exist. ("||skBuildBinPath||")";
    159406else
    160407do
    161     sPrograms = "kmk kDepPre kDepIDB kmk_append kmk_ash kmk_cat kmk_cp kmk_echo kmk_install kmk_ln kmk_mkdir kmk_mv kmk_rm kmk_rmdir kmk_sed";
     408    sPrograms = "kmk kDepPre kDepIDB kmk_append kmk_ash kmk_cat kmk_cp kmk_echo kmk_install kmk_ln kmk_mkdir kmk_mv kmk_redirect kmk_rm kmk_rmdir kmk_sed";
    162409    do i = 1 to words(sPrograms)
    163410        sProgram = word(sPrograms, i);
    164         if (FileExists(sPlatformBin||"\"||sProgram||".exe") = 0) then
    165         do
    166             say "kBuild: warning: The "||sProgram||" program doesn't exit for this platform. ("||sPlatformBin||")";
    167         end
    168     end
    169 end
    170 
    171 
    172 /*
    173  * Execute command if any arguments was given.
    174  */
    175 parse arg sArgs
    176 if (strip(sArgs) <> "") then
     411        if (FileExists(skBuildBinPath||"\"||sProgram||".exe") = 0) then
     412            say "warning: The "||sProgram||" program doesn't exit for this platform. ("||skBuildBinPath||")";
     413    end
     414end
     415
     416
     417/*
     418 * The environment is in place, now take the requested action.
     419 */
     420iRc = 0;
     421if (sOptVars <> '') then
    177422do
    178     sArgs;
    179     exit(rc);
    180 end
    181 exit(0);
     423    if (sOptVars = "all") then
     424        sOptVars = "KBUILD_PATH KBUILD_BIN_PATH KBUILD_TYPE ",
     425                || "KBUILD_TARGET KBUILD_TARGET_ARCH KBUILD_TARGET_CPU ",
     426                || "KBUILD_HOST KBUILD_HOST_ARCH KBUILD_HOST_CPU ";
     427               
     428    /* Echo variable values or variable export statements. */
     429    do i = 1 to words(sOptVars)
     430        sVar = word(sOptVars, i)
     431        sVal = '';
     432        select
     433            when (sVar = "PATH") then               sVal = sNewPath;
     434            when (sVar = "BEGINLIBPATH") then       sVal = sNewBeginLibPath;
     435            when (sVar = "KBUILD_PATH") then        sVal = skBuildPath;
     436            when (sVar = "KBUILD_BIN_PATH") then    sVal = skBuildBinPath;
     437            when (sVar = "KBUILD_TYPE") then        sVal = skBuildType;
     438            when (sVar = "KBUILD_HOST") then        sVal = skBuildHost;
     439            when (sVar = "KBUILD_HOST_ARCH") then   sVal = skBuildHostArch;
     440            when (sVar = "KBUILD_HOST_CPU") then    sVal = skBuildHostCpu;
     441            when (sVar = "KBUILD_TARGET") then      sVal = skBuildTarget;
     442            when (sVar = "KBUILD_TARGET_ARCH") then sVal = skBuildTargetArch;
     443            when (sVar = "KBUILD_TARGET_CPU") then  sVal = skBuildTargetCpu;
     444            otherwise do
     445                say "error: Unknown variable "||sVar||" specified in --var request."
     446                call SysSleep 1
     447                exit 1
     448            end
     449
     450        end
     451        if (fOptValueOnly <> 0) then
     452            say sVal
     453        else
     454            say sShowVarPrefix||sVar||"="||sVal;
     455    end
     456end
     457else
     458do
     459    /* Wipe out all variables - legacy included - with --default. */
     460    if (fOptOverrideAll <> 0) then do
     461        call EnvSet 0, KBUILD_PATH, ''
     462        call EnvSet 0, KBUILD_BIN_PATH, ''
     463        call EnvSet 0, KBUILD_HOST, ''
     464        call EnvSet 0, KBUILD_HOST_ARCH, ''
     465        call EnvSet 0, KBUILD_HOST_CPU, ''
     466        call EnvSet 0, KBUILD_TARGET, ''
     467        call EnvSet 0, KBUILD_TARGET_ARCH, ''
     468        call EnvSet 0, KBUILD_TARGET_CPU, ''
     469
     470        call EnvSet 0, PATH_KBUILD, ''
     471        call EnvSet 0, PATH_KBUILD_BIN, ''
     472        call EnvSet 0, BUILD_PLATFORM, ''
     473        call EnvSet 0, BUILD_PLATFORM_ARCH, ''
     474        call EnvSet 0, BUILD_PLATFORM_CPU, ''
     475        call EnvSet 0, BUILD_TARGET, ''
     476        call EnvSet 0, BUILD_TARGET_ARCH, ''
     477        call EnvSet 0, BUILD_TARGET_CPU, ''
     478    end
     479
     480    /* Export the variables. */
     481    call EnvSet 0, "PATH", sNewPath
     482    call EnvSet 0, "BEGINLIBPATH", sNewBeginLibPath
     483    if (fOptOverrideType <> 0) then call EnvSet 0, "KBUILD_TYPE", skBuildType
     484    if (fOptFull <> 0) then do
     485        call EnvSet 0, KBUILD_PATH,         skBuildPath
     486        call EnvSet 0, KBUILD_HOST,         skBuildHost
     487        call EnvSet 0, KBUILD_HOST_ARCH,    skBuildHostArch
     488        call EnvSet 0, KBUILD_HOST_CPU,     skBuildHostCpu
     489        call EnvSet 0, KBUILD_TARGET,       skBuildTarget
     490        call EnvSet 0, KBUILD_TARGET_ARCH,  skBuildTargetArch
     491        call EnvSet 0, KBUILD_TARGET_CPU,   skBuildTargetCpu
     492
     493        if (fOptLegacy <> 0) then do
     494            call EnvSet 0, PATH_KBUILD,         skBuildPath     
     495            call EnvSet 0, BUILD_PLATFORM,      skBuildHost     
     496            call EnvSet 0, BUILD_PLATFORM_ARCH, skBuildHostArch 
     497            call EnvSet 0, BUILD_PLATFORM_CPU,  skBuildHostCpu   
     498            call EnvSet 0, BUILD_TARGET,        skBuildTarget   
     499            call EnvSet 0, BUILD_TARGET_ARCH,   skBuildTargetArch
     500            call EnvSet 0, BUILD_TARGET_CPU,    skBuildTargetCpu
     501        end
     502    end
     503       
     504    /*
     505     * Execute left over arguments.
     506     */
     507    if (strip(sCommand) <> '') then do
     508        if (fOptQuiet <> 0) then say "info: Executing command: "|| sCommand
     509        address CMD sCommand
     510        iRc = rc; 
     511        if (fOptQuiet <> 0 & iRc <> 0) then say "info: rc="||iRc||": "|| sCommand
     512    end
     513end
     514if (fOptDbg <> 0) then say "dbg: finished (rc="||rc||")"
     515exit (iRc);
    182516
    183517
     
    523857    parse source . . sScript
    524858    sScriptDir = filespec('drive', sScript) || strip(filespec('path', sScript), 'T', '\');
    525 return sScriptDir;
    526 
     859return ToLower(sScriptDir);
     860
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette