I think this is reinventing the wheel. This seems to not be a trivial
change,
and the ready solution in the form of cmake is already there. If an
individual
or a company wants to devote their time to it, I don't see a problem, but
this
must be backward compatible.
The main voice against cmake was that it destroys external projects and
people's workflows. If this change is supposed to do the same thing then
I don't see the point in it.

> In the GitHub comments, it was mentioned that we should not make cmake
> mandatory for certain boards

Forcing people using cmake to support make is the worst thing that can
happen.
Open source is voluntary, any contribution is voluntary, any form of
forcing
others to do anything is unacceptable.
Modifying both systems will be good practice (and an act of kindness), but
only
if the contributor wants it. In other cases, a community interested in a
particular
build system should take care of it.

czw., 24 sie 2023 o 21:55 Tomek CEDRO <to...@cedro.info> napisaƂ(a):

> Out-of-tree build is the default for me in various projects. I like to
> have git submodules / dependencies untouched.
>
> FreeBSD uses (BSD) make and allows out of tree builds and it is
> possible to specify WRKDIRPREFIX for instance in tmpfs located in RAM.
> Kernel build also allows passing another variable with specific
> configuration. So various kernels can be built into different
> locations. This should be possible also with make in NuttX..? :-)
>
> I use custom board and custom application (that requires linking to
> nuttx-apps) to build NuttX anyways by default. Then my build script
> copies resulting binary to out of tree bin dir appending timestamp
> suffix to the firmware image ready to flash. NuttX sources and app
> sources are git submodules that can be easily updated / changed to a
> specific version / branch / commit / release. This enables various
> automation scenarios.
>
> This is the layout:
>
> project.git/
>   nuttx.git
>   nuttx-apps.git
>   cederom/boards/myboard
>   cederom/apps/myapp
>   bin
>   scripts
>   doc
>
> Above could be extended with "build/board_cfg" location with all
> configuration and build files specific for a given board..? This
> location could be provided and set custom in WRKDIRPREFIX env variable
> so the sources remain untouched..?
>
> Alternatively, at this point, user can simply have two nuttx.git
> subdirectories (i.e. project/nuttx-cm4 and project/nuttx-cm7) with
> build configuration and binaries for each CPU right? I do not know the
> details of linking in that situation though.
>
> This is interesting problem, as I also have some prototype Maxim MCU
> with ARM Cortex M as main CPU and modified RISC-V as Hardware Neural
> Network Accelerator. This is something new. I wonder how the story
> follows :-)
>
> --
> CeDeROM, SQ7MHZ, http://www.tomek.cedro.info
>

Reply via email to