Re: I does an app know it is building on NuttX

2022-02-22 Thread James Dougherty
And yes, I was just commenting to someone the other day that NuttX is the only RTOS you can easily write your app on Linux and deploy with POSIX equivalent semantics on Nuttx. Great job, and Kudos to you and the whole NuttX team! On Tue, Feb 22, 2022 at 7:48 PM James Dougherty wrote: > Right.

Re: I does an app know it is building on NuttX

2022-02-22 Thread James Dougherty
Right. you have to decide whether you want to build in an existing tree or setup a new out of tree build using sources pulled elsewhere. A simple (yet dangerous) way to do that in GNU makefiles is to just override vpath in a Makefile.linux, and then make -f GNUMakefile.linux from wherever you are b

Re: I does an app know it is building on NuttX

2022-02-22 Thread Gregory Nutt
I think we have done a great job with C code compatibility across platforms. I was thinking more of a common application make system that could work on both Linux and NuttX platforms. The apps/ Makefiles and Make.defs files and some of the apps Kconfig menu=ing are not compatible. I would like to

Re: I does an app know it is building on NuttX

2022-02-22 Thread James Dougherty
Hi Greg, Thanks for this; it is one of the greatest features you have built into NuttX - POSIX compliance!!! I have a few programs which compile either for NuttX or Linux/MacOS with no changes (or Makefile -D options). I started out that way, using -D__NuttX__ but then found that besides the incl

Re: I does an app know it is building on NuttX

2022-02-22 Thread Gregory Nutt
Hmm.. but that doesn't help with setting up the build. That definition is only visible to C code since it is a C pre-processor definition defined in the CFLAGS. It can't really be used to customize the build, at least not in any clean way. It would have been useful to have a similar, Make=friend

Re: I does an app know it is building on NuttX

2022-02-22 Thread Gregory Nutt
Thanks! Now I see it defined tools/Config.mk. Looks like that was added with #2192. That is exactly what I need! I was thrown off because there are applications that ARE using __NUTTX__: $ grep -rl __NUTTX__ * system/adb/Makefile system/libuv/0001-initial-libuv-port-to-nuttx.patch system/libuv

Re: I does an app know it is building on NuttX

2022-02-22 Thread Nathan Hartman
On Tue, Feb 22, 2022 at 2:14 PM Gregory Nutt wrote: > One option would be to define __NUTTX_ in tools/Config.mk instead of in > each individual apps/Makefile. That would provide a single point > definition coordinate all usage. Just one (possible) correction: IIRC it is capitalized as __NuttX_

Re: I does an app know it is building on NuttX

2022-02-22 Thread Gregory Nutt
Yes, exactly. That is why I said that that solution ws "not one that is easily fielded". The situation would be exactly as it is with Linux. You can't use any toolchain to build Linux, you have to use one with a name like arm-linux-eabi or xxx-linux-elf. It is mandatory for Linux. And that is

Re: I does an app know it is building on NuttX

2022-02-22 Thread Piet
Wouldn‘t the buildroot option require, that all targets needs to be supported from that single toolchain unless the not supported target defined __NUTTX__ within their own configs? /Piet > Am 22.02.2022 um 20:14 schrieb Gregory Nutt : > > One option would be to define __NUTTX_ in tools/Con

Re: I does an app know it is building on NuttX

2022-02-22 Thread Gregory Nutt
One option would be to define __NUTTX_ in tools/Config.mk instead of in each individual apps/Makefile. That would provide a single point definition coordinate all usage. My favorite solution, but not one that is easily fielded would be to use the NuttX buildroot toolchains: https://bitbucket.org/

I does an app know it is building on NuttX

2022-02-22 Thread Gregory Nutt
I have been working on an application for the past several months. Now want to get it running on NuttX. I don't have much experience porting applications to NuttX and have some dumb newbie questions (I mostly worked on the other side of the application/OS interface). If I have an application th