[riot-commits] [RIOT-OS/RIOT] 6ac8ab: build system: rework EXTERNAL_MODULE_DIRS

Francisco noreply at github.com
Fri May 7 23:27:36 CEST 2021


  Branch: refs/heads/master
  Home:   https://github.com/RIOT-OS/RIOT
  Commit: 6ac8aba955c5c4fa88cc4b4b1b3d69a017e3f2f5
      https://github.com/RIOT-OS/RIOT/commit/6ac8aba955c5c4fa88cc4b4b1b3d69a017e3f2f5
  Author: Marian Buschsieweke <marian.buschsieweke at ovgu.de>
  Date:   2021-05-07 (Fri, 07 May 2021)

  Changed paths:
    M Makefile.dep
    M Makefile.include
    M dist/tools/vera++/check.sh
    M doc/doxygen/src/creating-modules.md
    M makefiles/dependency_resolution.inc.mk
    M makefiles/kconfig.mk

  Log Message:
  -----------
  build system: rework EXTERNAL_MODULE_DIRS

Previously, external modules had to be individually added to both
EXTERNAL_MODULE_DIRS and USEMODULE. If those where not in sync, this
resulted in build errors.

With this commit, search folders for external modules are added to
EXTERNAL_MODULE_DIRS instead. So lets say the file system structure is
like this

```
└── /path/to/external/modules
    ├── mod_a
    │   ├── Makefile
    │   ├── Makefile.dep
    │   ├── Makefile.include
    │   ├── foo.c
    │   └── include
    │       └── external_module.h
    └── mod_b
        ├── Makefile
        └── bar.c

```

One now adds `/path/to/external/modules` to EXTERNAL_MODULES and only
with `USEMODULE += mod_a` the corresponding module, dependencies and
include settings are actually used. Hence, it is possible to configure
`EXTERNAL_MODULE_DIRS` from `~/.profile` or `~/.bashrc` once and never
needs to worry about them again.


  Commit: ef5ec6d0381936fc3e05ce3209cb547947678606
      https://github.com/RIOT-OS/RIOT/commit/ef5ec6d0381936fc3e05ce3209cb547947678606
  Author: Marian Buschsieweke <marian.buschsieweke at ovgu.de>
  Date:   2021-05-07 (Fri, 07 May 2021)

  Changed paths:
    M tests/external_module_dirs/Makefile
    R tests/external_module_dirs/external_module/Makefile
    R tests/external_module_dirs/external_module/Makefile.dep
    R tests/external_module_dirs/external_module/Makefile.include
    R tests/external_module_dirs/external_module/external_module.c
    R tests/external_module_dirs/external_module/include/external_module.h
    A tests/external_module_dirs/external_modules/external_module/Makefile
    A tests/external_module_dirs/external_modules/external_module/Makefile.dep
    A tests/external_module_dirs/external_modules/external_module/Makefile.include
    A tests/external_module_dirs/external_modules/external_module/external_module.c
    A tests/external_module_dirs/external_modules/external_module/include/external_module.h
    A tests/external_module_dirs/external_modules/external_module_not_used/Makefile
    A tests/external_module_dirs/external_modules/external_module_not_used/this_should_not_compile.c

  Log Message:
  -----------
  tests/external_module_dirs: update to new interface


  Commit: 81411e353905a560120ba60049bb5b5391caf1c7
      https://github.com/RIOT-OS/RIOT/commit/81411e353905a560120ba60049bb5b5391caf1c7
  Author: Marian Buschsieweke <marian.buschsieweke at ovgu.de>
  Date:   2021-05-07 (Fri, 07 May 2021)

  Changed paths:
    M tests/cpp_exclude/Makefile
    A tests/cpp_exclude/external_modules/module_exclude/Makefile
    A tests/cpp_exclude/external_modules/module_exclude/Makefile.dep
    A tests/cpp_exclude/external_modules/module_exclude/Makefile.include
    A tests/cpp_exclude/external_modules/module_exclude/module.cpp
    A tests/cpp_exclude/external_modules/module_exclude/module.hpp
    A tests/cpp_exclude/external_modules/module_exclude/module_excluded.cpp
    R tests/cpp_exclude/module_exclude/Makefile
    R tests/cpp_exclude/module_exclude/Makefile.dep
    R tests/cpp_exclude/module_exclude/Makefile.include
    R tests/cpp_exclude/module_exclude/module.cpp
    R tests/cpp_exclude/module_exclude/module.hpp
    R tests/cpp_exclude/module_exclude/module_excluded.cpp
    M tests/cpp_ext/Makefile
    A tests/cpp_ext/external_modules/module/Makefile
    A tests/cpp_ext/external_modules/module/Makefile.dep
    A tests/cpp_ext/external_modules/module/Makefile.include
    A tests/cpp_ext/external_modules/module/module.cc
    A tests/cpp_ext/external_modules/module/module.cpp
    A tests/cpp_ext/external_modules/module/module.hh
    R tests/cpp_ext/module/Makefile
    R tests/cpp_ext/module/Makefile.dep
    R tests/cpp_ext/module/Makefile.include
    R tests/cpp_ext/module/module.cc
    R tests/cpp_ext/module/module.cpp
    R tests/cpp_ext/module/module.hh
    M tests/kconfig/Makefile
    R tests/kconfig/external_module_1/Kconfig
    R tests/kconfig/external_module_1/Makefile
    R tests/kconfig/external_module_1/Makefile.include
    R tests/kconfig/external_module_1/include/external_module_1.h
    R tests/kconfig/external_module_2/Kconfig
    R tests/kconfig/external_module_2/Makefile
    R tests/kconfig/external_module_2/Makefile.include
    R tests/kconfig/external_module_2/include/external_module_2.h
    A tests/kconfig/external_modules/external_module_1/Kconfig
    A tests/kconfig/external_modules/external_module_1/Makefile
    A tests/kconfig/external_modules/external_module_1/Makefile.include
    A tests/kconfig/external_modules/external_module_1/include/external_module_1.h
    A tests/kconfig/external_modules/external_module_2/Kconfig
    A tests/kconfig/external_modules/external_module_2/Makefile
    A tests/kconfig/external_modules/external_module_2/Makefile.include
    A tests/kconfig/external_modules/external_module_2/include/external_module_2.h
    M tests/pkg_openwsn_sock_udp/Makefile
    A tests/pkg_openwsn_sock_udp/external_modules/openwsn_scheduler_mock/Makefile
    A tests/pkg_openwsn_sock_udp/external_modules/openwsn_scheduler_mock/Makefile.include
    A tests/pkg_openwsn_sock_udp/external_modules/openwsn_scheduler_mock/include/scheduler_types.h
    A tests/pkg_openwsn_sock_udp/external_modules/openwsn_scheduler_mock/scheduler.c
    R tests/pkg_openwsn_sock_udp/scheduler/Makefile
    R tests/pkg_openwsn_sock_udp/scheduler/Makefile.include
    R tests/pkg_openwsn_sock_udp/scheduler/include/scheduler_types.h
    R tests/pkg_openwsn_sock_udp/scheduler/scheduler.c
    M tests/pkg_tensorflow-lite/Makefile
    A tests/pkg_tensorflow-lite/external_modules/mnist/.gitignore
    A tests/pkg_tensorflow-lite/external_modules/mnist/Makefile
    A tests/pkg_tensorflow-lite/external_modules/mnist/digit
    A tests/pkg_tensorflow-lite/external_modules/mnist/generate_digit.py
    A tests/pkg_tensorflow-lite/external_modules/mnist/main_functions.cc
    A tests/pkg_tensorflow-lite/external_modules/mnist/mnist_mlp.py
    A tests/pkg_tensorflow-lite/external_modules/mnist/model.tflite
    R tests/pkg_tensorflow-lite/mnist/.gitignore
    R tests/pkg_tensorflow-lite/mnist/Makefile
    R tests/pkg_tensorflow-lite/mnist/digit
    R tests/pkg_tensorflow-lite/mnist/generate_digit.py
    R tests/pkg_tensorflow-lite/mnist/main_functions.cc
    R tests/pkg_tensorflow-lite/mnist/mnist_mlp.py
    R tests/pkg_tensorflow-lite/mnist/model.tflite
    M tests/pkg_utensor/Makefile
    A tests/pkg_utensor/external_modules/models/Makefile
    A tests/pkg_utensor/external_modules/models/Makefile.include
    A tests/pkg_utensor/external_modules/models/deep_mlp.cpp
    A tests/pkg_utensor/external_modules/models/deep_mlp.hpp
    A tests/pkg_utensor/external_modules/models/deep_mlp_weight.hpp
    M tests/pkg_utensor/main.cpp
    R tests/pkg_utensor/models/Makefile
    R tests/pkg_utensor/models/Makefile.include
    R tests/pkg_utensor/models/deep_mlp.cpp
    R tests/pkg_utensor/models/deep_mlp.hpp
    R tests/pkg_utensor/models/deep_mlp_weight.hpp

  Log Message:
  -----------
  tests: Update to new EXTERNAL_MODULE_DIRS interface


  Commit: 8cb8bba4e7707d049b09987584782130f67c4f92
      https://github.com/RIOT-OS/RIOT/commit/8cb8bba4e7707d049b09987584782130f67c4f92
  Author: Francisco <femolina at uc.cl>
  Date:   2021-05-07 (Fri, 07 May 2021)

  Changed paths:
    M Makefile.dep
    M Makefile.include
    M dist/tools/vera++/check.sh
    M doc/doxygen/src/creating-modules.md
    M makefiles/dependency_resolution.inc.mk
    M makefiles/kconfig.mk
    M tests/cpp_exclude/Makefile
    A tests/cpp_exclude/external_modules/module_exclude/Makefile
    A tests/cpp_exclude/external_modules/module_exclude/Makefile.dep
    A tests/cpp_exclude/external_modules/module_exclude/Makefile.include
    A tests/cpp_exclude/external_modules/module_exclude/module.cpp
    A tests/cpp_exclude/external_modules/module_exclude/module.hpp
    A tests/cpp_exclude/external_modules/module_exclude/module_excluded.cpp
    R tests/cpp_exclude/module_exclude/Makefile
    R tests/cpp_exclude/module_exclude/Makefile.dep
    R tests/cpp_exclude/module_exclude/Makefile.include
    R tests/cpp_exclude/module_exclude/module.cpp
    R tests/cpp_exclude/module_exclude/module.hpp
    R tests/cpp_exclude/module_exclude/module_excluded.cpp
    M tests/cpp_ext/Makefile
    A tests/cpp_ext/external_modules/module/Makefile
    A tests/cpp_ext/external_modules/module/Makefile.dep
    A tests/cpp_ext/external_modules/module/Makefile.include
    A tests/cpp_ext/external_modules/module/module.cc
    A tests/cpp_ext/external_modules/module/module.cpp
    A tests/cpp_ext/external_modules/module/module.hh
    R tests/cpp_ext/module/Makefile
    R tests/cpp_ext/module/Makefile.dep
    R tests/cpp_ext/module/Makefile.include
    R tests/cpp_ext/module/module.cc
    R tests/cpp_ext/module/module.cpp
    R tests/cpp_ext/module/module.hh
    M tests/external_module_dirs/Makefile
    R tests/external_module_dirs/external_module/Makefile
    R tests/external_module_dirs/external_module/Makefile.dep
    R tests/external_module_dirs/external_module/Makefile.include
    R tests/external_module_dirs/external_module/external_module.c
    R tests/external_module_dirs/external_module/include/external_module.h
    A tests/external_module_dirs/external_modules/external_module/Makefile
    A tests/external_module_dirs/external_modules/external_module/Makefile.dep
    A tests/external_module_dirs/external_modules/external_module/Makefile.include
    A tests/external_module_dirs/external_modules/external_module/external_module.c
    A tests/external_module_dirs/external_modules/external_module/include/external_module.h
    A tests/external_module_dirs/external_modules/external_module_not_used/Makefile
    A tests/external_module_dirs/external_modules/external_module_not_used/this_should_not_compile.c
    M tests/kconfig/Makefile
    R tests/kconfig/external_module_1/Kconfig
    R tests/kconfig/external_module_1/Makefile
    R tests/kconfig/external_module_1/Makefile.include
    R tests/kconfig/external_module_1/include/external_module_1.h
    R tests/kconfig/external_module_2/Kconfig
    R tests/kconfig/external_module_2/Makefile
    R tests/kconfig/external_module_2/Makefile.include
    R tests/kconfig/external_module_2/include/external_module_2.h
    A tests/kconfig/external_modules/external_module_1/Kconfig
    A tests/kconfig/external_modules/external_module_1/Makefile
    A tests/kconfig/external_modules/external_module_1/Makefile.include
    A tests/kconfig/external_modules/external_module_1/include/external_module_1.h
    A tests/kconfig/external_modules/external_module_2/Kconfig
    A tests/kconfig/external_modules/external_module_2/Makefile
    A tests/kconfig/external_modules/external_module_2/Makefile.include
    A tests/kconfig/external_modules/external_module_2/include/external_module_2.h
    M tests/pkg_openwsn_sock_udp/Makefile
    A tests/pkg_openwsn_sock_udp/external_modules/openwsn_scheduler_mock/Makefile
    A tests/pkg_openwsn_sock_udp/external_modules/openwsn_scheduler_mock/Makefile.include
    A tests/pkg_openwsn_sock_udp/external_modules/openwsn_scheduler_mock/include/scheduler_types.h
    A tests/pkg_openwsn_sock_udp/external_modules/openwsn_scheduler_mock/scheduler.c
    R tests/pkg_openwsn_sock_udp/scheduler/Makefile
    R tests/pkg_openwsn_sock_udp/scheduler/Makefile.include
    R tests/pkg_openwsn_sock_udp/scheduler/include/scheduler_types.h
    R tests/pkg_openwsn_sock_udp/scheduler/scheduler.c
    M tests/pkg_tensorflow-lite/Makefile
    A tests/pkg_tensorflow-lite/external_modules/mnist/.gitignore
    A tests/pkg_tensorflow-lite/external_modules/mnist/Makefile
    A tests/pkg_tensorflow-lite/external_modules/mnist/digit
    A tests/pkg_tensorflow-lite/external_modules/mnist/generate_digit.py
    A tests/pkg_tensorflow-lite/external_modules/mnist/main_functions.cc
    A tests/pkg_tensorflow-lite/external_modules/mnist/mnist_mlp.py
    A tests/pkg_tensorflow-lite/external_modules/mnist/model.tflite
    R tests/pkg_tensorflow-lite/mnist/.gitignore
    R tests/pkg_tensorflow-lite/mnist/Makefile
    R tests/pkg_tensorflow-lite/mnist/digit
    R tests/pkg_tensorflow-lite/mnist/generate_digit.py
    R tests/pkg_tensorflow-lite/mnist/main_functions.cc
    R tests/pkg_tensorflow-lite/mnist/mnist_mlp.py
    R tests/pkg_tensorflow-lite/mnist/model.tflite
    M tests/pkg_utensor/Makefile
    A tests/pkg_utensor/external_modules/models/Makefile
    A tests/pkg_utensor/external_modules/models/Makefile.include
    A tests/pkg_utensor/external_modules/models/deep_mlp.cpp
    A tests/pkg_utensor/external_modules/models/deep_mlp.hpp
    A tests/pkg_utensor/external_modules/models/deep_mlp_weight.hpp
    M tests/pkg_utensor/main.cpp
    R tests/pkg_utensor/models/Makefile
    R tests/pkg_utensor/models/Makefile.include
    R tests/pkg_utensor/models/deep_mlp.cpp
    R tests/pkg_utensor/models/deep_mlp.hpp
    R tests/pkg_utensor/models/deep_mlp_weight.hpp

  Log Message:
  -----------
  Merge pull request #16104 from maribu/external_modules

build system: Rework EXTERNAL_MODULE_DIRS


Compare: https://github.com/RIOT-OS/RIOT/compare/26b61d02547f...8cb8bba4e770


More information about the commits mailing list