variant_dir and CPPPATH

Kees Valkhof <[email protected]> Wed, 27 Jul 2011 01:23:47 -0700 (PDT)
Newsgroups gmane.comp.programming.tools.scons.announce
Message-ID <99943219.19441.1311755027660.JavaMail.httpd@localhost>
When I change the name of the variant_dir, my include directory paths (CPPPATH) suddenly change into something that is wrong.
What am I missing, or is it a bug?
I am using the following (giving the full paths because it may be relevant):

C:\workspace\ILB\SConsBuild\project\SConstruct
env = Environment(tools = ['cosmic'], toolpath = ['C:/workspace/SCons/site_scons/site_tools'])

env.Append(CFLAGS = Split("""
+modsl0
"""))

env.Append(LIBS = Split("""
crtsi0
libisl0
libm0
"""))

SConscript(dirs = 'ILM', exports = 'env', variant_dir = 'BuildResult/ILM', duplicate=0)


C:\workspace\ILB\SConsBuild\project\ILM\SConscript
Import('env')

Sources = Split("""
main.c
""")

Include = Split("""
src/cfg
../../../3rdparty/hwlayer/package_stm8/io-lib/src
../../service/package_ilb/module_api/src
""")

env.Append(CPPPATH = Include)
env.Program('ILM', source = Sources)


and a C:\workspace\ILB\SConsBuild\project\ILM\main.c, and some header files in C:\workspace\ILB\SConsBuild\service\package_ILB\module_API\src and C:\workspace\ILB\3rdparty\hwlayer\package_Stm8\IO-lib\src
Starting the build:
C:\workspace\ILB\SConsBuild\project>scons
scons: Reading SConscript files ...

scons: warning: No installed VCs
File "C:\workspace\ILB\SConsBuild\project\SConstruct", line 5, in <module>

scons: warning: No version of Visual Studio compiler found - C/C++ compilers most likely not set correctly
File "C:\workspace\ILB\SConsBuild\project\SConstruct", line 5, in <module>
scons: done reading SConscript files.
scons: Building targets ...
cxstm8 -aoBuildResult\ILM\main.o +modsl0 -iBuildResult\ILM\src\cfg -iILM\src\cfg -iC:\workspace\ILB\SConsBuild\3rdparty\hwlayer\package_stm8\io-lib\src -iservice\package_ilb\module_api\src ILM\main.c
ILM\main.c:
#error cpstm8 ILM\main.c:7 can't open ilb_api.h
scons: *** [BuildResult\ILM\main.o] Error 1
scons: building terminated because of errors.


Now I change one line in SConstruct:
SConscript(dirs = 'ILM', exports = 'env', variant_dir = 'BuildResult/ILM', duplicate=0)
to
SConscript(dirs = 'ILM', exports = 'env', variant_dir = 'BuildResult_ILM', duplicate=0)

C:\workspace\ILB\SConsBuild\project>scons
scons: Reading SConscript files ...

scons: warning: No installed VCs
File "C:\workspace\ILB\SConsBuild\project\SConstruct", line 5, in <module>

scons: warning: No version of Visual Studio compiler found - C/C++ compilers most likely not set correctly
File "C:\workspace\ILB\SConsBuild\project\SConstruct", line 5, in <module>
scons: done reading SConscript files.
scons: Building targets ...
cxstm8 -aoBuildResult_ILM\main.o +modsl0 -iBuildResult_ILM\src\cfg -iILM\src\cfg -iC:\workspace\ILB\3rdparty\hwlayer\package_stm8\io-lib\src -iC:\workspace\ILB\SConsBuild\service\package_ilb\module_api\src ILM\main.c
ILM\main.c:
#error cpstm8 C:\workspace\ILB\SConsBuild\service\package_ilb\module_api\src\ilb_api.h:75(8+5) missing ;
scons: *** [BuildResult_ILM\main.o] Error 1
scons: building terminated because of errors.

This will find the header file, because now there is a correct (absolute) path. (The error here is caused by my limited example.)

------------------------------------------------------
http://scons.tigris.org/ds/viewMessage.do?dsForumId=1270&dsMessageId=2804484

To unsubscribe, send an e-mail to [[email protected]].