« Return to Thread: Sharing variables across multiple files

Sharing variables across multiple files

by Fredrik Zetterman :: Rate this Message:

Reply to Author | View in Thread

Hi,

I've been trying to figure out how to share variables across multiple  
Jamfiles, and so far I haven't found any info on how to do so. I however  
found the following statement on the boost build wiki:

"8. Variables, their usage; local, global variables; accessing variables  
cross Jamfiles (again from the above example, I'm unable to access  
BOOST_ROOT variable from anywhere else except the Jamfile that declared  
it, even with the 'local' keyword dropped from variale declaration)."

(http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?Boost.Build_V2/Documentation_Todo)

A small example from what I'm trying to do:

./Jamfile
----------------------
import os ;
switch [ os.name ]
{
   case "NT" :
     PLATFORM_EXCLUDE = linux ;
   case "*" :
     PLATFORM_EXCLUDE = win32 ;
}

# This works fine
Echo $(PLATFORM_EXCLUDE) ;

build-project source/app ;
----------------------


./source/Jamfile
----------------------
#This doesn't work
Echo $(PLATFORM_EXCLUDE) ;

#Intended usage, should remove all *linux.cpp-files when compiling on NT  
or vice versa
exe app
   : [ glob-tree *.cpp : *$(PLATFORM_EXCLUDE).cpp ]
;
----------------------

I read that each Jamfile has it's own namespace, and that would explain  
why above usage doesn't work.
But is it possible with some tricks (i.e. exporting it somehow)? If so,  
what am I missing? And if it's not possible, then what would you recommend  
me to do?

Best Regards,
Fredrik Zetterman
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost-build

 « Return to Thread: Sharing variables across multiple files