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

Add arm-gnu-toolchain #17528

Open
wants to merge 62 commits into
base: master
Choose a base branch
from
Open

Add arm-gnu-toolchain #17528

wants to merge 62 commits into from

Commits on May 23, 2023

  1. Add gnu-arm-embedded-toolchain

    Specify library name and version:
    
        - gnu-arm-embedded-toolchain/11.3.0
        - gnu-arm-embedded-toolchain/12.2.0
    
    New addition to ConanCenter.
    
    The author of the toolchain binaries is ARM inc. Original files
    can be found here:
    https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads
    
    Makes the bare metal ARM GCC toolchain accessible via "tool_requires"
    for bare metal projects.
    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    00809af View commit details
    Browse the repository at this point in the history
  2. Rename package, fixup min CMake versions

    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    1a735ef View commit details
    Browse the repository at this point in the history
  3. Use URLs from ARM and not a github mirror

    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    07632d9 View commit details
    Browse the repository at this point in the history
  4. Fix comments made by reviewers

    - Add ARM processor license ID
    - Add validation step, raise an exception if the OS & Arch settings are not
      supported
    - Define conf_info attributes for CMake Toolchain
    - Move toolchain.cmake to test_package
    - Remove unnecessary code from toolchain.cmake
    - Get test_package to build
    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    fdd859d View commit details
    Browse the repository at this point in the history
  5. Add LICENSE to package

    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    ffaed2e View commit details
    Browse the repository at this point in the history
  6. Remove toolchain file from package

    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    504c8e6 View commit details
    Browse the repository at this point in the history
  7. Use build settings for download info validation

    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    3cd8a1a View commit details
    Browse the repository at this point in the history
  8. Rename directory to arm-gnu-toolchain

    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    440afa2 View commit details
    Browse the repository at this point in the history
  9. Remove force setting cmake sys name

    - Use build_requirements for test_package
    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    bc0230f View commit details
    Browse the repository at this point in the history
  10. Fix error messages from Conan Hooks

    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    c17d1c7 View commit details
    Browse the repository at this point in the history
  11. Fuse "license" and "id" field for yml compliance

    - remove set(CMAKE_SYSTEM_NAME Generic) from test_v1_package
    - remove set(CMAKE_SYSTEM_PROCESSOR ARM) from test_v1_package
    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    6fefba9 View commit details
    Browse the repository at this point in the history
  12. Remove "license_id" from conandata.yml

    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    fed10c4 View commit details
    Browse the repository at this point in the history
  13. Make package work for Conan 1.60.0

    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    e30da31 View commit details
    Browse the repository at this point in the history
  14. Add x86_64 binaries for armv8 arch for MacOS

    No reason to not support gcc 11.3.0 for mac when the binaries work for
    both x86 and armv8.
    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    64f064c View commit details
    Browse the repository at this point in the history
  15. Make test_v1_package compile

    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    a8968be View commit details
    Browse the repository at this point in the history
  16. Hard code license rather than download it

    Since the compiler doesn't package the license within its archive
    files and downloading it is flakey, the license will be placed in the
    recipe directory.
    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    851d0f3 View commit details
    Browse the repository at this point in the history
  17. Remove hard coded LICENSE file & fix system_name

    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    0c3ca6b View commit details
    Browse the repository at this point in the history
  18. Use conan.tools.files.download

    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    9c698a4 View commit details
    Browse the repository at this point in the history
  19. Use gist rather than GetEULA link to bypass SSL issues

    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    d4edd65 View commit details
    Browse the repository at this point in the history
  20. Only build test package when os=baremetal

    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    541f858 View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    6448b9f View commit details
    Browse the repository at this point in the history
  22. Remove target settings

    Override CMakeToolchain generate in test packages
    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    ff2b73e View commit details
    Browse the repository at this point in the history
  23. Add _settings_build property for Conan v1

    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    0c94f6e View commit details
    Browse the repository at this point in the history
  24. Remove test_v1_package entirely

    Because of "Deprecation of support for legacy CMake generators in Conan
    Center" conan-io#17406, test_v1_packages are no longer needed, which will
    simplify the build and recipe process.
    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    c8906c1 View commit details
    Browse the repository at this point in the history
  25. Remove "VirtualBuildEnv" to fix MSVC issues

    Works on Mac, will see if it can work anywhere else.
    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    0981407 View commit details
    Browse the repository at this point in the history
  26. Set "generic_system" block of CMakeToolchain

    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    0b65315 View commit details
    Browse the repository at this point in the history
  27. Disallow non-baremetal cross compiling

    Khalil Estell committed May 23, 2023
    Configuration menu
    Copy the full SHA
    14e6d2c View commit details
    Browse the repository at this point in the history

Commits on May 24, 2023

  1. Testing validation

    Khalil Estell committed May 24, 2023
    Configuration menu
    Copy the full SHA
    a28fe30 View commit details
    Browse the repository at this point in the history
  2. Attempt to fix invalid configuration error

    Khalil Estell committed May 24, 2023
    Configuration menu
    Copy the full SHA
    1a75ea9 View commit details
    Browse the repository at this point in the history
  3. Fix mixed arch validation step

    Khalil Estell committed May 24, 2023
    Configuration menu
    Copy the full SHA
    e308e2d View commit details
    Browse the repository at this point in the history
  4. Remove exception for testing

    Khalil Estell committed May 24, 2023
    Configuration menu
    Copy the full SHA
    c83aab4 View commit details
    Browse the repository at this point in the history
  5. Remove attribute check from validate

    Khalil Estell committed May 24, 2023
    Configuration menu
    Copy the full SHA
    ff4b349 View commit details
    Browse the repository at this point in the history

Commits on May 25, 2023

  1. Remove VirtualBuildEnv from os=Windows

    Khalil Estell committed May 25, 2023
    Configuration menu
    Copy the full SHA
    846a44f View commit details
    Browse the repository at this point in the history

Commits on May 26, 2023

  1. Testing skipping Windows builds

    Khalil Estell committed May 26, 2023
    Configuration menu
    Copy the full SHA
    4f8e712 View commit details
    Browse the repository at this point in the history
  2. Restrict builds to only GCC

    There is no reason to allow build profiles targeting compilers outside
    of gcc for this gcc package.
    Khalil Estell committed May 26, 2023
    Configuration menu
    Copy the full SHA
    78e4dbb View commit details
    Browse the repository at this point in the history

Commits on May 30, 2023

  1. Clean up package files

    Khalil Estell committed May 30, 2023
    Configuration menu
    Copy the full SHA
    1ea11e2 View commit details
    Browse the repository at this point in the history

Commits on Jun 2, 2023

  1. Add build_policy = "missing"

    The build process downloads the binaries which is necessary if CCI
    doesn't save the binaries for compiler which can reach up to 3GB in size
    for every architecture and os.
    Khalil Estell committed Jun 2, 2023
    Configuration menu
    Copy the full SHA
    788da36 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2023

  1. Remove build policy

    Khalil Estell committed Jun 6, 2023
    Configuration menu
    Copy the full SHA
    7e96199 View commit details
    Browse the repository at this point in the history
  2. Merge branch 'master' into gnu-arm

    Khalil Estell committed Jun 6, 2023
    Configuration menu
    Copy the full SHA
    9335e69 View commit details
    Browse the repository at this point in the history

Commits on Jul 15, 2023

  1. Remove default compiler flags

    Even though these flags will be and should be used 99% of the time, it
    shouldn't be forced on the user.
    Khalil Estell committed Jul 15, 2023
    Configuration menu
    Copy the full SHA
    08b5b41 View commit details
    Browse the repository at this point in the history

Commits on Aug 16, 2023

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

Commits on Aug 17, 2023

  1. Add arm-gnu-toolchain/12.3.0

    12.3.0 has license files embedded within the zip file which is an
    improvement over all of the previous packages.
    Khalil Estell committed Aug 17, 2023
    Configuration menu
    Copy the full SHA
    6924257 View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2023

  1. Integrate picolibc

    Picolibc is a size optimized implementation of stdlibc with additional
    features.
    Khalil Estell committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    afb3ea1 View commit details
    Browse the repository at this point in the history
  2. Fix missing ":" error config.yml

    Khalil Estell committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    e070224 View commit details
    Browse the repository at this point in the history
  3. Add licenses from picolibc

    Khalil Estell committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    5ae0081 View commit details
    Browse the repository at this point in the history
  4. Merge branch 'master' into gnu-arm

    Khalil Estell committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    fd4e56e View commit details
    Browse the repository at this point in the history
  5. Set required_conan_version to 1.60.2

    Khalil Estell committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    e92d618 View commit details
    Browse the repository at this point in the history
  6. Fix mismatch between conandata.yml and config.yml

    Khalil Estell committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    e8dded8 View commit details
    Browse the repository at this point in the history
  7. Remove build policy missing

    I think this is a bad idea because storing all of these binaries takes
    up a lot of space on the server.
    Khalil Estell committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    5fb035b View commit details
    Browse the repository at this point in the history
  8. Add license workaround for 12.3.1

    Khalil Estell committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    1741da0 View commit details
    Browse the repository at this point in the history
  9. Fix comment about licenses

    Khalil Estell committed Aug 18, 2023
    Configuration menu
    Copy the full SHA
    67e3e90 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2023

  1. Add picolibc.specs to test_package

    This will ensure that picolibc.specs was installed into the toolchain
    correctly.
    Khalil Estell committed Aug 19, 2023
    Configuration menu
    Copy the full SHA
    5ecab5b View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2023

  1. Update recipe based on @RubenRBS feedback

    - Licenses now use the URLs from the official ARM website
    - Remove picolibc integration
        - Will make a separate package for picolibc
    - Remove workaround in test_package/CMakeLists.txt by directly
      referencing the toolchain.cmake file
    - Remove c++20 setting in test_package
    - Add compiler check in the validate method of the test_package not
      the build method
    - Overall cleanup some of the recipe
    - Cleanup the package directory layout
    Khalil Estell committed Aug 25, 2023
    Configuration menu
    Copy the full SHA
    b35a29e View commit details
    Browse the repository at this point in the history
  2. Put code back into bin/ directory

    CI Hooks does not like random directories in the root of the package
    directory.
    Khalil Estell committed Aug 25, 2023
    Configuration menu
    Copy the full SHA
    4d765ad View commit details
    Browse the repository at this point in the history
  3. Merge branch 'master' into gnu-arm

    Khalil Estell committed Aug 25, 2023
    Configuration menu
    Copy the full SHA
    a46b734 View commit details
    Browse the repository at this point in the history
  4. Move compiler setting validation into recipe

    Khalil Estell committed Aug 25, 2023
    Configuration menu
    Copy the full SHA
    0560d7e View commit details
    Browse the repository at this point in the history
  5. Update recipes/arm-gnu-toolchain/all/conanfile.py

    Co-authored-by: Jordan Williams <[email protected]>
    kammce and jwillikers authored Aug 25, 2023
    Configuration menu
    Copy the full SHA
    c6c2357 View commit details
    Browse the repository at this point in the history
  6. Check that major compiler numbers match

    Khalil Estell committed Aug 25, 2023
    Configuration menu
    Copy the full SHA
    aa783a8 View commit details
    Browse the repository at this point in the history
  7. Fix major number check

    Khalil Estell committed Aug 25, 2023
    Configuration menu
    Copy the full SHA
    7971cc2 View commit details
    Browse the repository at this point in the history
  8. Merge branch 'master' into gnu-arm

    Khalil Estell committed Aug 25, 2023
    Configuration menu
    Copy the full SHA
    5ccd502 View commit details
    Browse the repository at this point in the history
  9. Clear cmake flags & test directly injected toolchain file

    Khalil Estell committed Aug 25, 2023
    Configuration menu
    Copy the full SHA
    c6bc92c View commit details
    Browse the repository at this point in the history

Commits on Oct 17, 2023

  1. Clear CXX flags to make test_package work

    Conan's adds host side flags to the conan_toolchain.cmake file which
    interferes with arm-none-eabi-g++. To fix this, we set CMAKE_CXX_FLAGS
    to an empty string, then provide target specific flags to the
    executable.
    Khalil Estell committed Oct 17, 2023
    Configuration menu
    Copy the full SHA
    e7ae67e View commit details
    Browse the repository at this point in the history