[Scons-users] Yet another newbie question

syost at triad.rr.com syost at triad.rr.com
Fri Sep 1 12:37:05 EDT 2017


I have a problem with reverse domain dotted file naming and version shared libraries in Scons.   So here it is - I have distilled the SConscript to its most basic and yet reproduce this problem.  The following works great:

Import('rootEnv', 'CFLAGS', 'CXXFLAGS', 'PREFIX')
myVersion='1.1.1'
env=rootEnv.Clone(CFLAGS=CFLAGS, CXXFLAGS=CXXFLAGS, PREFIX=PREFIX, SHLIBVERSION=myVersion)
THISINCLUDES=[
    '/usr/include/boost']
env.Append(CPPPATH=THISINCLUDES)
env.SharedLibrary('deliverable', [ 'mycode.cpp'], )
#env.SharedLibrary('com.domain.functionalarea.package.deliverable', [ 'mycode.cpp'], )

However this does NOT work(note the different target name format):

Import('rootEnv', 'CFLAGS', 'CXXFLAGS', 'PREFIX')
myVersion='1.1.1'
env=rootEnv.Clone(CFLAGS=CFLAGS, CXXFLAGS=CXXFLAGS, PREFIX=PREFIX, SHLIBVERSION=myVersion)
THISINCLUDES=[
    '/usr/include/boost']
env.Append(CPPPATH=THISINCLUDES)
#env.SharedLibrary('deliverable', [ 'mycode.cpp'], )
env.SharedLibrary('com.domain.functionalarea.package.deliverable', [ 'mycode.cpp'], )

I get:
scons: *** Multiple ways to build the same target were specified for: libcom.domain.functionalarea.package.deliverable
File "/home/s0998egu/git/app-genesis/Remote/com/lowes/ss/utility/passdb/SConscript", line 7, in <module>

I can reproduce this all day long with any variant of a dotted file name.  Why can't I use dotted reverse domain dotted notation? I did browse the docs but did not find anything....

Thanks in advance!!!

Spencer



More information about the Scons-users mailing list