Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix 4312 and add Windows on ARM64 support for msvc. #4324

Merged
merged 16 commits into from
Jul 17, 2023

Commits on Mar 14, 2023

  1. Fix SCons#4312 and Windows on ARM64 support.

    Changes for SCons#4312:
    * The installed VCS list is cached but has an indirect dependency on the value of the environment's TARGET_ARCH during construction.  For the initial construction, force the env['TARGET_ARCH'] to be undefined and then restore the value after construction.
    * Protect against an empty regular expression list when iteratively removing default tool sequences.
    
    Changes for ARM64 host support:
    * Add configuration data structures to support ARM64 hosts and ARM64 native tools for VS2022.  Update the tests for the renamed data structures.
    * Evaluate the PROCESSOR_ARCHITECTURE value from the windows registry before evaluating the os environment values for host architecture determination on Windows.
    * Set VSCMD_SKIP_SENDTELEMETRY=1 for arm32 process on arm64 host if not already defined to prevent powershell dll not found error.
    * The os environment variable value for PROCESSOR_ARCHITECTURE is AMD64 for Windows ARM64 hosts when using a python built for AMD64.
    
    Related MSVC changes for SCons#4312 and ARM64 hosts:
    * Check that cl.exe exists in find_batch_file for VS6 to VS2015.  Move the sdk batch file query code to its own function.  Query for the sdk batch file only when all of the vc script host/target combinations have been exhausted and a valid script has not been found.
    * Hoist the query for the vc product directory outside the current vc script host/target loop.  Catch the internal exceptions as before.
    * Clear the sdk batch file path for VCForPython as the sdk batch files do not appear to be updated during installation and do not point to the VCForPython installation location.
    * Move the sdk batch file determination to its own function.  Defer evaluation of candidate sdk batch files until after all host/target combinations of the vc scripts have been evaluated.
    * Always check that cl.exe is found in vc script environment path.
    
    Miscellaneous:
    * Reorder and group exception definitions in Tool\MSCommon\vc.py by external exceptions and internal exceptions.
    * Adjust debug messages.
    * Convert the floating point msvc version to an integer version number for product range comparisons (e.g., 14.3 is 143).  Adjust the comparison ranges accordingly.
    jcbrill committed Mar 14, 2023
    Configuration menu
    Copy the full SHA
    7082c53 View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2023

  1. Refactor MSCommon/common.py logging filter class due to SConfTests mo…

    …dule reset when debug logging is enabled.
    jcbrill committed Mar 15, 2023
    Configuration menu
    Copy the full SHA
    d352fa5 View commit details
    Browse the repository at this point in the history

Commits on Mar 18, 2023

  1. Update CHANGES.txt [skip ci]

    jcbrill committed Mar 18, 2023
    Configuration menu
    Copy the full SHA
    4eca020 View commit details
    Browse the repository at this point in the history

Commits on Mar 19, 2023

  1. Add arm64 to the MSVS supported architectures list for VS2017 and lat…

    …er to be consistent with the current documentation of MSVS_ARCH.
    
    Update the documentation for HOST_ARCH.
    jcbrill committed Mar 19, 2023
    Configuration menu
    Copy the full SHA
    26dbadd View commit details
    Browse the repository at this point in the history
  2. Update RELEASE.txt. [skip ci]

    jcbrill committed Mar 19, 2023
    Configuration menu
    Copy the full SHA
    c50f656 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    4bdb9de View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    11ec1b4 View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2023

  1. Configuration menu
    Copy the full SHA
    db58ed9 View commit details
    Browse the repository at this point in the history

Commits on Mar 22, 2023

  1. Merge branch 'master' into jbrill-gh4312-fixplus

    Manually resolve conflicts in CHANGES.txt.
    jcbrill committed Mar 22, 2023
    Configuration menu
    Copy the full SHA
    69fbf56 View commit details
    Browse the repository at this point in the history

Commits on Mar 24, 2023

  1. Update the host architecture query function in the MSVS test framework.

    First query the windows registry for the processor architecture and then fallback to the platform machine architecture. The platform.machine() architecture return value for an amd64 build of python (3.6.8) on arm64 is amd64.
    
    Update the _ARCH_TO_CANONICAL dictionary from Tool\MSCommon\vc.py.
    jcbrill committed Mar 24, 2023
    Configuration menu
    Copy the full SHA
    6e69fdd View commit details
    Browse the repository at this point in the history

Commits on Mar 31, 2023

  1. Merge branch 'master' into jbrill-gh4312-fixplus

    Manually resolve conflicts in CHANGES.txt.
    jcbrill committed Mar 31, 2023
    Configuration menu
    Copy the full SHA
    dad4a5f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d3d4229 View commit details
    Browse the repository at this point in the history

Commits on May 4, 2023

  1. Merge branch 'master' into jbrill-gh4312-fixplus

    Manually resolve conflicts:
    * SCons/Tool/MSCommon/common.py
    jcbrill committed May 4, 2023
    Configuration menu
    Copy the full SHA
    20412f3 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2023

  1. Merge branch 'master' into jbrill-gh4312-fixplus

    Manually resolve conflicts in CHANGES.txt and RELEASE.txt.
    jcbrill committed Jun 20, 2023
    Configuration menu
    Copy the full SHA
    5e1b9ce View commit details
    Browse the repository at this point in the history

Commits on Jun 21, 2023

  1. Merge branch 'master' into jbrill-gh4312-fixplus

    Manually resolve conflicts in RELEASE.txt.
    jcbrill committed Jun 21, 2023
    Configuration menu
    Copy the full SHA
    0f2733f View commit details
    Browse the repository at this point in the history

Commits on Jul 16, 2023

  1. Configuration menu
    Copy the full SHA
    a2c9937 View commit details
    Browse the repository at this point in the history