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 support for global build defines and options #8504

Merged
merged 30 commits into from
May 12, 2022

Commits on Mar 6, 2022

  1. Add support to specify global build defines and options

    A script manages the use of a file with a unique name, like
    `SketchName.ino.globals.h`, in the Sketch source directory to provide compiler
    command-line options (build options) and sketch global defines. The build
    option data is encapsulated in a unique "C" comment block and extracted into
    the build tree during prebuild.
    mhightower83 committed Mar 6, 2022
    Configuration menu
    Copy the full SHA
    923c686 View commit details
    Browse the repository at this point in the history
  2. Applied os.path.normpath() liberally to input arguments. Fixes window…

    …s file path issue.
    
    Improved helpful message for adding embedded build options.
    mhightower83 committed Mar 6, 2022
    Configuration menu
    Copy the full SHA
    ec9bdd8 View commit details
    Browse the repository at this point in the history

Commits on Mar 7, 2022

  1. doubleup '\'

    mhightower83 committed Mar 7, 2022
    Configuration menu
    Copy the full SHA
    dc74e03 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    4fdfd3b View commit details
    Browse the repository at this point in the history

Commits on Mar 9, 2022

  1. expunged sketchbook global

    added workaround for aggressive caching
    mhightower83 committed Mar 9, 2022
    Configuration menu
    Copy the full SHA
    f119fea View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    dc3d37c View commit details
    Browse the repository at this point in the history

Commits on Mar 10, 2022

  1. Correct Windows path for preferences.txt

    Added portable path for preferences.txt
    Expanded file timestamp granularity
    Improved error message printing for Arduino IDE 2.0 RC4
    mhightower83 committed Mar 10, 2022
    Configuration menu
    Copy the full SHA
    8a96eeb View commit details
    Browse the repository at this point in the history

Commits on Mar 11, 2022

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

Commits on Mar 12, 2022

  1. Configuration menu
    Copy the full SHA
    1c1236b View commit details
    Browse the repository at this point in the history
  2. text corrections

    mhightower83 committed Mar 12, 2022
    Configuration menu
    Copy the full SHA
    b8e591b View commit details
    Browse the repository at this point in the history

Commits on Mar 13, 2022

  1. Create mkbuildoptglobals.py

    When global header file does not exist, this print makes it easier for user to create the header file by providing its name and documentation pointer.
    d-a-v committed Mar 13, 2022
    Configuration menu
    Copy the full SHA
    02add35 View commit details
    Browse the repository at this point in the history
  2. build.opt heads up to user

    Compiler command line changes from build.opt are shown to user
    d-a-v committed Mar 13, 2022
    Configuration menu
    Copy the full SHA
    fc52442 View commit details
    Browse the repository at this point in the history

Commits on Mar 14, 2022

  1. Updated text

    mhightower83 committed Mar 14, 2022
    Configuration menu
    Copy the full SHA
    e74857f View commit details
    Browse the repository at this point in the history
  2. oops

    mhightower83 committed Mar 14, 2022
    Configuration menu
    Copy the full SHA
    7932a24 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2c45e71 View commit details
    Browse the repository at this point in the history

Commits on Mar 15, 2022

  1. Improve handling stderr/stdout with "no verbose output"

    Grouped helpful info to print at the end.
    Added missing return value.
    mhightower83 committed Mar 15, 2022
    Configuration menu
    Copy the full SHA
    9d6c1cb View commit details
    Browse the repository at this point in the history

Commits on Mar 17, 2022

  1. Correct timestamp on CommonHFile.h

    More improvements to printing
    Updated docs.
    mhightower83 committed Mar 17, 2022
    Configuration menu
    Copy the full SHA
    6b01393 View commit details
    Browse the repository at this point in the history

Commits on Mar 23, 2022

  1. Added command-line parser

    Support hints for compiler.cache_core. For use when Arduino IDE uses
    command-line options that override compiler.cache_core.
    
    Removed overuse of ()
    
    Improve FAQ entry
    mhightower83 committed Mar 23, 2022
    Configuration menu
    Copy the full SHA
    84dc987 View commit details
    Browse the repository at this point in the history

Commits on Mar 27, 2022

  1. Fix script failure under windows

    Rely on argpaser for checking that all arguments are present.
    Removed redundant argument check in main().
    
    Added '--debug' option and print_dbg method.
    
    Rethink failures on overrides. Remove well know path fallbacks,
    error exit when override file is missing.
    
    In well-known path search for preferences.txt, do not assume true.
    Make failure to find an error exit event.
    
    When Windows has two preferences.txt files and they have different
    values for caching and globals.h is used, error exit. It is not
    possible to know from the script which is being used.
    mhightower83 committed Mar 27, 2022
    Configuration menu
    Copy the full SHA
    b75904e View commit details
    Browse the repository at this point in the history

Commits on Mar 30, 2022

  1. Use quotes on build.opt

    Update comment
    Include the @ within the expantion string use quotes around file name.
    Update doc example to remind and use quotes.
    mhightower83 committed Mar 30, 2022
    Configuration menu
    Copy the full SHA
    75d241e View commit details
    Browse the repository at this point in the history
  2. Update CI for build option and global support

    Added "mkbuildoptglobals.extra_flags=--cache_core" to platform.loca.txt
    Update "-ide-version=10802" this version number indicates aggressive caching support
    Added example to test global .h support
    mhightower83 committed Mar 30, 2022
    Configuration menu
    Copy the full SHA
    b6cc66d View commit details
    Browse the repository at this point in the history

Commits on Mar 31, 2022

  1. Add debug prints

    Added --debug to CI - this needs to be removed later
    Tweaks to touch...
    mhightower83 committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    c4a6724 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b0eb497 View commit details
    Browse the repository at this point in the history
  3. Corrected style on example

    temp CI changes
    debug crud
    Added --ci switch
    mhightower83 committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    e76a190 View commit details
    Browse the repository at this point in the history
  4. Removed CI debug crud

    run_CI_locall.sh works fine locally. Hosted Multi-VM CI fails
    to work with 'aggressive caching' workaround method.
    
    Add #if defined(CORE_MOCK) to failing example.
    mhightower83 committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    f86c640 View commit details
    Browse the repository at this point in the history
  5. Try HOST_MOCK

    mhightower83 committed Mar 31, 2022
    Configuration menu
    Copy the full SHA
    fad05ec View commit details
    Browse the repository at this point in the history

Commits on Apr 1, 2022

  1. CI adjustments

    mkbuildoptglobals.py is optimized around the Arduino IDE 1.x
    behaviour. One way the CI differs from the Arduino IDE is in the
    handling of core and caching core. With the Arduino IDE, each sketch
    has a private copy of core and contributes to a core cache. With the
    CI, there is one shared copy of core for all sketches. When global
    options are used, the shared copy of core and cache are removed before
    and after the build.
    mhightower83 committed Apr 1, 2022
    Configuration menu
    Copy the full SHA
    29852c1 View commit details
    Browse the repository at this point in the history

Commits on Apr 2, 2022

  1. Doc update

    mhightower83 committed Apr 2, 2022
    Configuration menu
    Copy the full SHA
    d7d8a00 View commit details
    Browse the repository at this point in the history

Commits on May 11, 2022

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

Commits on May 12, 2022

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