[Bf-committers] intern and source issue

Laurence Bourn bf-committers@blender.org
Mon, 31 Mar 2003 10:01:28 +0200


Hello, what's wrong with the old idea of each intern module having a 
module_name/include 
module_name/source

directories. The good thing about the intern directory is that it is
modular. Modules can
have inter - intern module link dependencies but that's it. They certainly
dont depend upon anything in blender. Please do not destroy this modular
setup. Please also consider that there is development going on in the intern
directory (well err umm kindof *cough*). 

I would say that there is nothing wrong with the intern setup and your build
system should change rather than the other way round. So option 3 or 4 get
my vote. To be honest, intern was always the C++ safe haven away from the
spaghetti of blender so please excuse my over protectiveness. 
Cheers,
Laurence.

------------------------------------------------------------------------

Hi,

It has always been the purpose to let the source files from source/
never refer to .h files in intern/.
However, with the new auto* build system, this gives some trouble.
Currently, various Makefile.am's refer to intern/ just because the
source files depend on it. So this practice is in fact breaking the
rule. With the auto* build getting better every day, and almost to a
point where the NaN build system becomes obsolete, the issue about
source and intern may need to be addressed. Below I have summed up four
possible solutions to this problem:

1 - Split off intern to a seperate lib
    Create a new component which will result in a libblender_intern
    library. This implies that a user who wants to build blender, has to
    download one additional package.
2 - Create new include directory in blender/
    In the root directory of blender, create a new directory include/
    that contains all necessary header files for intern/. Of course we
    don't want to maintain any duplicate headerfiles, so this means the
    files need to be removed. This does not apply for header files that
    are only used from within the intern/ directory.
3 - Pass along -I flags to intern from source
    Leave the situation as it is. Pass any include directory to the
    compiler via the -I flag in Makefile.am. This only applies for
    files in source/ to include anything from intern/ and not the other
    way (intern/ needing .h files from source/).
4 - The "I don't know if this works" option
    Somehow update the auto* system so that it does a 'make install'
    of intern/ _before_ it starts compiling source/

I don't really have a preference of one or the other. I just think it's
something that we need to have consensus on.

With regards,
	Michel


_______________________________________________
Bf-committers mailing list
Bf-committers@blender.org
http://www.blender.org/mailman/listinfo/bf-committers