diff --git a/ide/buildmanager.pas b/ide/buildmanager.pas index dae0dc47e6..eff57d63e5 100644 --- a/ide/buildmanager.pas +++ b/ide/buildmanager.pas @@ -67,6 +67,8 @@ type var Abort: boolean): string; function MacroFuncTargetOS(const Param: string; const Data: PtrInt; var Abort: boolean): string; + function MacroFuncSrcOS(const Param: string; const Data: PtrInt; + var Abort: boolean): string; function MacroFuncFPCVer(const Param: string; const Data: PtrInt; var Abort: boolean): string; function MacroFuncParams(const Param: string; const Data: PtrInt; @@ -231,6 +233,8 @@ begin lisTargetCPU,@MacroFuncTargetCPU,[])); GlobalMacroList.Add(TTransferMacro.Create('TargetOS','', lisTargetOS,@MacroFuncTargetOS,[])); + GlobalMacroList.Add(TTransferMacro.Create('SrcOS','', + lisSrcOS,@MacroFuncSrcOS,[])); GlobalMacroList.Add(TTransferMacro.Create('FPCVer','', lisFPCVersionEG222, @MacroFuncFPCVer, [])); GlobalMacroList.Add(TTransferMacro.Create('Params','', @@ -1089,6 +1093,15 @@ begin Result:=GetTargetOS(true); end; +function TBuildManager.MacroFuncSrcOS(const Param: string; const Data: PtrInt; + var Abort: boolean): string; +begin + if Data=CompilerOptionMacroPlatformIndependent then + Result:='%(OS_TARGET)' + else + Result:=GetDefaultSrcOSForTargetOS(GetTargetOS(true)); +end; + function TBuildManager.MacroFuncFPCVer(const Param: string; const Data: PtrInt; var Abort: boolean): string; var diff --git a/ide/lazarusidestrconsts.pas b/ide/lazarusidestrconsts.pas index 01e5759ce5..403ed1a47f 100644 --- a/ide/lazarusidestrconsts.pas +++ b/ide/lazarusidestrconsts.pas @@ -101,6 +101,7 @@ resourcestring lisCOVarious = '%s (various)'; lisTargetCPU = 'Target CPU'; lisTargetOS = 'Target OS'; + lisSrcOS = 'Src OS'; lisCommandLineParamsOfProgram = 'Command line parameters of program'; lisPromptForValue = 'Prompt for value'; lisProjectFilename = 'Project filename'; diff --git a/ide/startlazarus.lpi b/ide/startlazarus.lpi index 2f137888ec..121b3878be 100644 --- a/ide/startlazarus.lpi +++ b/ide/startlazarus.lpi @@ -53,7 +53,7 @@ - +