Hello,
Le 10/06/2021 à 02:00, Matias N. a écrit :
With regards to comments about others requiring some hands-on time to become
familiar with the system and try it for themselves: I agree with this point and
was one
of the reasons I actually started the migration. As I mentioned several weeks
ago,
the cmake branch can already be tested on the currently supported boards by
everyone
wishing to do so, but I don't think anyone really tried it as my offers about
assistance in this were unanswered.
I have no doubt that the new build system will work better.
I understand that it builds faster than the existing and requires less
kludges, and permits out of tree builds.
But it's a fundamental change about how to approach the NuttX OS globally.
The track record of this OS in terms of user documentation is not very
good, to be honest, it requires a lot of time to dig in various source
files and different web sites to understand how to do something.
This is not only my experience, it's the feeling of all of the ~10
persons I have tried to introduce to Nuttx: This OS is hard, it does not
guide beginners and it's hard to do "WHAT I WANT" (which is usually not
configuring nsh on a stm32f4discovery, but hands-on use case on custom
hardware with custom apps).
With that in mind, I am very worried of a supplemental dispersion of
useful documentation.
At what release/commit does the build system becomes cmake? before that,
please refer to the make build system documentation. chances are that
this doc quickly becomes 404, leaving all users of all versions in the
dark. for commits after that, please refer to this other documentation
on some personal blog, but only for release a.b.c later than this date.
I dont think cmake is technically wrong, but from a USER POINT OF VIEW,
it will become a nightmare and will drive new contributors away, because
of documentation problems.
Not to mention old users who spend weeks just to migrate a few boards
from an old to a new nuttx, just because a makefile and a critical
variable were renamed but no migration documentation exists. Add more
changes, and a project may become unusable in the current state of the
project.
So please. Keep NuttX interfaces STABLE for users that need it. It's not
a beta project anymore, it's "mature" as you advertise it, which means
it has some real industrial users that matter more than abstract
technical beauty. EXTRADEFINES now also need to include flags. hah, not
cool. I should rename that to EXTRAFLAGS, thats more cute. But how many
users will suffer from this apparently benign change? These questions
NEED to be asked by developers and contributors and reviewers.
When you make a change, please ask yourselves: how many unknown users
will I f*k up with that?
As a famous quote more or less goes, because it can be done does not
mean it should be done.
And having a generator that derives cmake files from current makefiles
feels a bit like xkcd #927
Sebastien