<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <_PegenSources Include="$(PySourcePath)Grammar\python.gram;$(PySourcePath)Grammar\Tokens" />
    <_PegenOutputs Include="$(PySourcePath)Parser\parser.c" />
    <_ASTSources Include="$(PySourcePath)Parser\Python.asdl" />
    <_ASTOutputs Include="$(PySourcePath)Include\internal\pycore_ast.h">
      <Argument>-H</Argument>
    </_ASTOutputs>
    <_ASTOutputs Include="$(PySourcePath)Include\internal\pycore_ast_state.h">
      <Argument>-I</Argument>
    </_ASTOutputs>
    <_ASTOutputs Include="$(PySourcePath)Python\Python-ast.c">
      <Argument>-C</Argument>
    </_ASTOutputs>
    <_TokenSources Include="$(PySourcePath)Grammar\Tokens" />
    <_TokenOutputs Include="$(PySourcePath)Doc\library\token-list.inc">
      <Format>rst</Format>
    </_TokenOutputs>
    <_TokenOutputs Include="$(PySourcePath)Include\internal\pycore_token.h">
      <Format>h</Format>
    </_TokenOutputs>
    <_TokenOutputs Include="$(PySourcePath)Parser\token.c">
      <Format>c</Format>
    </_TokenOutputs>
    <_TokenOutputs Include="$(PySourcePath)Lib\token.py">
      <Format>py</Format>
    </_TokenOutputs>
    <_KeywordSources Include="$(PySourcePath)Grammar\python.gram;$(PySourcePath)Grammar\Tokens" />
    <_KeywordOutputs Include="$(PySourcePath)Lib\keyword.py" />
    <!-- Taken from _Target._compute_digest in Tools\jit\_targets.py: -->
    <_JITSources Include="$(PySourcePath)Python\executor_cases.c.h;$(PySourcePath)PC\pyconfig.h;$(PySourcePath)Tools\jit\**"/>
    <!-- Need to explicitly enumerate these, since globbing doesn't work for missing outputs: -->
    <_JITOutputs Include="$(GeneratedJitStencilsDir)jit_stencils.h"/>
    <_JITOutputs Include="$(GeneratedJitStencilsDir)jit_stencils-aarch64-pc-windows-msvc.h" Condition="$(Platform) == 'ARM64'"/>
    <_JITOutputs Include="$(GeneratedJitStencilsDir)jit_stencils-i686-pc-windows-msvc.h" Condition="$(Platform) == 'Win32'"/>
    <_JITOutputs Include="$(GeneratedJitStencilsDir)jit_stencils-x86_64-pc-windows-msvc.h" Condition="$(Platform) == 'x64'"/>
    <_JITOutputs Include="$(GeneratedJitStencilsDir)jit_shim-aarch64-pc-windows-msvc.o" Condition="$(Platform) == 'ARM64'"/>
    <_JITOutputs Include="$(GeneratedJitStencilsDir)jit_shim-i686-pc-windows-msvc.o" Condition="$(Platform) == 'Win32'"/>
    <_JITOutputs Include="$(GeneratedJitStencilsDir)jit_shim-x86_64-pc-windows-msvc.o" Condition="$(Platform) == 'x64'"/>
    <_CasesSources Include="$(PySourcePath)Python\bytecodes.c;$(PySourcePath)Python\optimizer_bytecodes.c;"/>
    <_CasesOutputs Include="$(PySourcePath)Python\generated_cases.c.h;$(PySourcePath)Include\opcode_ids.h;$(PySourcePath)Include\internal\pycore_uop_ids.h;$(PySourcePath)Python\opcode_targets.h;$(PySourcePath)Include\internal\pycore_opcode_metadata.h;$(PySourcePath)Include\internal\pycore_uop_metadata.h;$(PySourcePath)Python\optimizer_cases.c.h;$(PySourcePath)Lib\_opcode_metadata.py"/>
    <_SbomSources Include="$(PySourcePath)PCbuild\get_externals.bat" />
    <_SbomOutputs Include="$(PySourcePath)Misc\externals.spdx.json;$(PySourcePath)Misc\sbom.spdx.json">
      <Format>json</Format>
    </_SbomOutputs>
  </ItemGroup>

  <Target Name="_TouchRegenSources" Condition="$(ForceRegen) == 'true'">
    <Message Text="Touching source files to force regeneration" Importance="high" />
    <Touch Files="@(_PegenSources);@(_ASTSources);@(_TokenSources);@(_KeywordOutputs);@(_CasesSources);@(_SbomSources)"
           AlwaysCreate="False" />
  </Target>

  <Target Name="_RegenPegen"
          Inputs="@(_PegenSources)" Outputs="@(_PegenOutputs)"
          DependsOnTargets="FindPythonForBuild">
    <Message Text="Regenerate @(_PegenOutputs->'%(Filename)%(Extension)',' ')" Importance="high" />
    <!-- Specify python.gram with POSIX-like path because the argument gets written into the file verbatim -->
    <Exec Command="set PYTHONPATH=Tools\peg_generator%0D%0A$(PythonForBuild) -m pegen -q c ./Grammar/python.gram Grammar\Tokens -o Parser\parser.c"
          WorkingDirectory="$(PySourcePath)" />
  </Target>

  <Target Name="_RegenAST_H"
          Inputs="@(_ASTSources)" Outputs="@(_ASTOutputs)"
          DependsOnTargets="FindPythonForBuild">
    <Message Text="Regenerate @(_ASTOutputs->'%(Filename)%(Extension)',' ')" Importance="high" />
    <Exec Command="$(PythonForBuild) Parser\asdl_c.py Parser\Python.asdl @(_ASTOutputs->'%(Argument) &quot;%(Identity)&quot;',' ')"
          WorkingDirectory="$(PySourcePath)" />
  </Target>

  <Target Name="_RegenTokens"
          Inputs="@(_TokenSources)" Outputs="@(_TokenOutputs)"
          DependsOnTargets="FindPythonForBuild">
    <Message Text="Regenerate @(_TokenOutputs->'%(Filename)%(Extension)',' ')" Importance="high" />
    <Exec Command="$(PythonForBuild) Tools\build\generate_token.py %(_TokenOutputs.Format) Grammar\Tokens &quot;%(_TokenOutputs.Identity)&quot;"
          WorkingDirectory="$(PySourcePath)" />
    <Touch Files="@(_TokenOutputs)" />
  </Target>

  <Target Name="_RegenKeywords"
          Inputs="@(_KeywordSources)" Outputs="@(_KeywordOutputs)"
          DependsOnTargets="FindPythonForBuild">
    <Message Text="Regenerate @(_KeywordOutputs->'%(Filename)%(Extension)',' ')" Importance="high" />
    <Exec Command="set PYTHONPATH=Tools\peg_generator%0D%0A$(PythonForBuild) -m pegen.keywordgen Grammar\python.gram Grammar\Tokens Lib\keyword.py"
          WorkingDirectory="$(PySourcePath)" />
  </Target>

  <Target Name="_RegenGlobalObjects"
          DependsOnTargets="FindPythonForBuild">
    <Message Text="Regenerate Global Objects" Importance="high" />
    <Exec Command="$(PythonForBuild) Tools\build\generate_global_objects.py"
          WorkingDirectory="$(PySourcePath)" />
  </Target>

  <Target Name="_RegenCases"
          Inputs="@(_CasesSources)" Outputs="@(_CasesOutputs)"
          DependsOnTargets="FindPythonForBuild">
    <Message Text="Regenerate cases" Importance="high" />
    <Exec Command="$(PythonForBuild) Tools\cases_generator\opcode_id_generator.py Python\bytecodes.c"
          WorkingDirectory="$(PySourcePath)" />
    <Exec Command="$(PythonForBuild) Tools\cases_generator\target_generator.py Python\bytecodes.c"
          WorkingDirectory="$(PySourcePath)" />
    <Exec Command="$(PythonForBuild) Tools\cases_generator\uop_id_generator.py Python\bytecodes.c"
          WorkingDirectory="$(PySourcePath)" />
    <Exec Command="$(PythonForBuild) Tools\cases_generator\py_metadata_generator.py Python\bytecodes.c"
          WorkingDirectory="$(PySourcePath)" />
    <Exec Command="$(PythonForBuild) Tools\cases_generator\tier1_generator.py Python\bytecodes.c"
          WorkingDirectory="$(PySourcePath)" />
    <Exec Command="$(PythonForBuild) Tools\cases_generator\tier2_generator.py Python\bytecodes.c"
          WorkingDirectory="$(PySourcePath)" />
    <Exec Command="$(PythonForBuild) Tools\cases_generator\optimizer_generator.py Python\optimizer_bytecodes.c Python\bytecodes.c"
          WorkingDirectory="$(PySourcePath)" />
    <Exec Command="$(PythonForBuild) Tools\cases_generator\opcode_metadata_generator.py Python\bytecodes.c"
          WorkingDirectory="$(PySourcePath)" />
    <Exec Command="$(PythonForBuild) Tools\cases_generator\uop_metadata_generator.py Python\bytecodes.c"
          WorkingDirectory="$(PySourcePath)" />
    <Exec Command="$(PythonForBuild) Tools\cases_generator\target_generator.py -o Modules\_testinternalcapi\test_targets.h Python\bytecodes.c Modules\_testinternalcapi\testbytecodes.c"
          WorkingDirectory="$(PySourcePath)" />
    <Exec Command="$(PythonForBuild) Tools\cases_generator\tier1_generator.py -o Modules\_testinternalcapi\test_cases.c.h Python\bytecodes.c Modules\_testinternalcapi\testbytecodes.c"
          WorkingDirectory="$(PySourcePath)" />
  </Target>

  <Target Name="_RegenJIT"
          Condition="'$(UseJIT)' == 'true'"
          DependsOnTargets="FindPythonForBuild"
          Inputs="@(_JITSources)"
          Outputs="@(_JITOutputs)">
    <PropertyGroup>
      <JITArgs Condition="$(Platform) == 'ARM64'">aarch64-pc-windows-msvc</JITArgs>
      <JITArgs Condition="$(Platform) == 'Win32'">i686-pc-windows-msvc</JITArgs>
      <JITArgs Condition="$(Platform) == 'x64'">x86_64-pc-windows-msvc</JITArgs>
      <JITArgs Condition="$(Configuration) == 'Debug'">$(JITArgs) --debug</JITArgs>
    </PropertyGroup>
    <Exec Command='$(PythonForBuild) "$(PySourcePath)Tools\jit\build.py" $(JITArgs) --output-dir "$(GeneratedJitStencilsDir.TrimEnd(`\`))" --pyconfig-dir "$(PySourcePath)PC" --llvm-version="$(LLVM_VERSION)" --llvm-tools-install-dir="$(LLVM_TOOLS_INSTALL_DIR)"'/>
  </Target>
  <Target Name="_CleanJIT" AfterTargets="Clean">
    <Delete Files="@(_JITOutputs)"/>
  </Target>

  <Target Name="_RegenNoPGUpdate"
          Condition="$(Configuration) != 'PGUpdate'"
          DependsOnTargets="_TouchRegenSources;_RegenPegen;_RegenAST_H;_RegenTokens;_RegenKeywords;_RegenGlobalObjects">
  </Target>

  <Target Name="_RegenSbom"
          DependsOnTargets="FindPythonForBuild"
          Inputs="@(_SbomSources)"
          Outputs="@(_SbomOutputs)">
    <Exec Command='$(PythonForBuild) "$(PySourcePath)Tools\build\generate_sbom.py"'/>
  </Target>

  <Target Name="Regen" DependsOnTargets="_RegenNoPGUpdate;_RegenJIT;_RegenCases;_RegenSbom">
    <Message Text="Generated sources are up to date" Importance="high" />
  </Target>


  <ItemGroup>
    <_TestFrozenSources Include="$(PySourcePath)Programs\freeze_test_frozenmain.py;
                                 $(PySourcePath)Programs\test_frozenmain.py;
                                 @(_OpcodeOutputs)" />
    <_TestFrozenOutputs Include="$(PySourcePath)Programs\test_frozenmain.h" />
    <_LicenseSources Include="$(PySourcePath)LICENSE;
                              $(PySourcePath)PC\crtlicense.txt;
                              $(bz2Dir)LICENSE;
                              $(libffiDir)LICENSE;
                              $(zstdDir)\LICENSE;" />
    <_LicenseSources Include="$(opensslOutDir)LICENSE.txt" Condition="Exists('$(opensslOutDir)LICENSE.txt')" />
    <_LicenseSources Include="$(opensslOutDir)LICENSE" Condition="!Exists('$(opensslOutDir)LICENSE.txt')" />
    <_LicenseSources Include="$(tcltkDir)tcllicense.terms;
                              $(tcltkDir)tklicense.terms" Condition="$(IncludeTkinter)" />
  </ItemGroup>

  <Target Name="_RegenTestFrozenmain" Inputs="@(_TestFrozenSources)" Outputs="@(_TestFrozenOutputs)"
          Condition="($(Platform) == 'Win32' or $(Platform) == 'x64') and
                     $(Configuration) != 'PGInstrument' and $(Configuration) != 'PGUpdate'">
    <Message Text="Regenerate @(_TestFrozenOutputs->'%(Filename)%(Extension)', ' ')" Importance="high" />
    <Exec Command='setlocal%0D%0Aset PYTHONPATH=$(PySourcePath)Lib%0D%0A"$(PythonExe)" Programs\freeze_test_frozenmain.py Programs\test_frozenmain.h'
          WorkingDirectory="$(PySourcePath)" />
  </Target>

  <Target Name="_RegenLicense">
    <ItemGroup>
      <_Text1 Include="@(_LicenseSources)">
        <Content Condition="Exists(%(FullPath))">$([System.IO.File]::ReadAllText(%(FullPath)))</Content>
      </_Text1>
      <_Text Include="@(_Text1->'%(Content)')" />
    </ItemGroup>

    <WriteLinesToFile File="$(OutDir)LICENSE.txt" Overwrite="true" Lines="@(_Text)" />
    <Warning Text="License file %(_LicenseSources.FullPath) is missing"
             Condition="!Exists(@(_LicenseSources))" />
    <Message Text="Wrote $(OutDir)LICENSE.txt" Importance="high" />
  </Target>

  <Target Name="PostBuildRegen" DependsOnTargets="_RegenTestFrozenmain;_RegenLicense" />
</Project>
