> > - I'm making the build independed of the header files from > > /boot/develop/headers > > - I'm making the kernel build use BeOS headers where applicable. > > - I'm adding header files for the kits when they are required for the build. > > OK, but why? As header files become available in our tree, they won't > be pulled in from /boot/develop/headers anyway, so I don't understand > the need for this. Currently, we have headers for the kernel, and headers for other libraries. The problem is that both should be places in the public header directory. One example is sys/types.h, that currently includes the private ktypes.h This is fine for the kernel, but not BeOS compatible replacement, so you can't compile anything of the libraries that includes this file. For example compiling the new network libraries requires new headers from the public posix directory, which also will include the kernel headers Of couse, you can always tweak the Jmafiles to get this working anyway, but I don't think this is a good solution as it gets more complicated. > > - I'm merging ktypes.h sys/types.h OS.h SupportDefs.h > > Why? Will those headers still be available and simply refer to the new > "master" header? They will still be available. But currently, they do duplicate defines, and give compile errors/warnings. sys/types.h is included by every SupportDefs.h anyway, and I'm just moving some typdefs to resolve collisions. They will stay also compatible with BeOS. > > - This means, I'm probably going to change "int" into "status_t" or into > > "int32" where required. > > Is there a technical reason for doing this? Yes. But this is just one of the examples On BeOS, "long" == "int32" == "status_t" On NewOS, "int" == "int32" == "status_t" Both are 32 bit wide. But, many functions return int in the kernel. But this gives compiler warnings and errors when using prototypes from the BeOS headers. As we won't change the headers, this will have to be done in the implementations. > My big question is "why the heck are you doing this?" ;P What problem > does this solve or goal does it achieve? I'm not trying to be > antagonistic, I just want to understand your motivation -- if for no > other reason than to help me avoid making a necessary task more > difficult for you. =) The main motivation is to get a smoth integration of networking, kernel, and BeOS headers. At the same time, this makes the kernel more BeOS like, and also gets us a cleaner build system, with less unexpected dependencies. It also gets us more functionality when we can add libc/libroot functions. This should also create the possibility to compile the whole tree on Windows or Linux. regards Marcus