scons

scons: How to force use of static library over shared?

Hi, In my SConscript I have the following line: Program("xtest", Split("main.cpp"), LIBS="mylib fltk Xft Xinerama Xext X11 m") How do I get scons to use mylib.a instead of mylib.so, while linking dynamically with the other libraries? EDIT: Looking to use as few platform specific hacks as possible. ...

How can I force the SConscript builder to change directory?

Hello all, currently I'm trying to port a million-sloc legacy project from dull .cmd scripts to SCons. Parts of it are VC++, others are Delphi. Creating SConscripts for the C++ pieces was a breeze. To build the delphi part I've written a very simple builder which detects whether it is a program or library project. Calling the builder ...

How to get shared library names like ``libhello.so.0.0.1'' with scons?

I'm using the scons utility to generate shared libraries. When I write the following rule: SharedLibrary('hello', 'hello.c') I would get the ``libhello.so'' file. Is there a way to get files like ``libhello.so.version'' automatically? ...

scons: source directory does not get copied into build directory

Part of my build process is to create a tar file of an input directory, located at src/bundle/bundle. In src/bundle/SConscript: Import('*') bundleDir = Dir("bundle") jsontar = Command("bundle.tar", bundleDir, "/home/dbender/bin/mkvgconf $SOURCE $TARGET") in my SConstruct: SConscript(Split('src/bundle/SConscript'), ...

scons + windows: Cannot execute shell script in Command() builder

I have a command builder as such: jsontar = Command("bundle.tar", bundleDir, "mkvgconf $SOURCE $TARGET") mkvgconf is a shell script $SOURCE is a path to a directory $TARGET is a path to a file When attempting to execute under windows, SCons does not recognize vgmkconf as an executable. Google turns up: http://www.scons.org/wiki/Using...

Why is QProcess converting the '=' in my arguments to spaces

I've run into a weird error with a Qt program running on Windows. The program uses QProcess to spawn a child process wit two arguments. The program and arguments passed to the QProcess::start() method are of the form: "batchfile.bat" "--option1=some_value" "--option2=some_other_value\with_a\path" For some reason by the time those op...

Forcing scons to use older compiler?

Heya, I have a C++ project which is using boost. The whole project is built using scons + Visual Studio 2008. We've installed Visual Studio 2010 and it turned out scons was attempting to use the later compiler instead of the old one - and failed to build the project as boost and visual studio 2010 don't like each other very much - yet. ...

How to test SCons modifications

My team is creating a build system based on SCons. We have created a bunch of helper classes in our own site_scons/site_tools folder. My task is to create and run tests on our code, using pyunit. The test code would probably live in a subfolder, with the directory layout looking something like: SConstruct our_source_code/ Sconscript...

scons - source/include paths

Hi Let's say I have this directory structure: SConstruct src/ a.cpp b.cpp include/ a.h b.h in SConstruct I don't want to specify ['src/a.cpp', 'scr/b.cpp'] every time; I'm looking for some way to set the base source directory to 'src' any hint? I've been looking into the docs but can't find anything useful ...

What is the right way to add a site-specific new platform to SCons?

I have a scons build and I want to add a new platform (for an embedded device); I'd like to avoid adding my platform.py to the distribution build, but I can't seem to get it loaded out of the site_scons directory. Any guidance? ...

XeTeX - Detect when re-run is needed

Hello everyone. I'm trying to determine when a re-run of Xe(La)TeX is required because of undefined references. I've posted a related question on the SCons mailing list, and the problem is as follows: Page counts and other references that require multiple runs of XeLaTeX are sometimes not at present detected by SCons and other build s...

scons and "Test Anything Protocol" integration

I'm looking to scons-ify a project that has a Test Anything Protocol testing framework. Can anyone give me direction on prior work here or smoothly integrating the two? (Is there a native python TAP harness, should I shell out to a custom Test::Harness wrapper, etc.?) Thanks. ...

Does scons support subversion checkout?

From some sites it seems Scons support subversion checkout: env = Environment() env.SourceCode('.', env.Subversion('XXX')) env.Program('hello.c') http://www.scons.org/doc/0.92/HTML/scons-user/x1625.html But from the man page/user guide of the latest stable version(2.0.0) there is no subversion. It's not mentioned in the change log. ...

How to point scons to a different compiler installed in my home directory?

Hi folks, I have tried editing SConstruct to point to a different gcc compiler but it always seems to use the one defined in /usr/bin/gcc and /usr/bin/g++. env = DefaultEnvironment() env['CC'] = '/home/aaron/devel/bin/gcc' env['CXX'] = '/home/aaron/devel/bin/g++' What am I doing wrong? Also, is there a way to specify a different comp...

How can I measure the build time for each component of a scons build?

I have a big C++ project that is built using scons. Its building slow and I want to make some changes to try to make it build faster. Now I'd like to focus my time speeding up the parts of the build that are slowest. How can I work out which files are taking the longest to compile? ...

WAF, SCons or did I overlook something

I am looking for a make alternative (for lots of reasons which I will keep to myself for now). My needs are something that will compile c/c++ and C# and run static analysis and unit tests. It must be easy to grasp, and maintain even for people with intermediate technical skills. During my analysis, I have fallen for WAF and SCons and ...

How to build-in gprof support to a program built with SCons?

Greetings, Here is my SConstruct file: env = Environment() env.Append(CCFLAGS=['-g','-pg']) env.Program(target='program1', source= ['program1.c']) Also here is the output of the compilation: scons: Reading SConscript files ... scons: done reading SConscript files. scons: Building targets ... gcc -o program1.o -c -g -pg program1.c g...

Can scons be used to automatically update your working copy?

Hi all - Bit of confusion. It looks like SCons can be used to automatically get things from the repository if they're not present in your working copy, but maybe not? The documentation is conflicting at best. Does anyone know if this is possible? Thanks. ...

How to create a symbolic link with SCons?

I'm using SCons for building a project and need to add a symbolic link to a file it is installing via env.Install. What command(s) will make a link that's the equivalent of running ln -s on the command line? ...

How to replace (or strip) an extension from a filename in Python ?

Hi, Is there a built-in function in Python that would replace (or remove, whatever) the extension of a filename (if it has one) ? Example: print replace_extension('/home/user/somefile.txt', '.jpg') In my example: /home/user/somefile.txt would become /home/user/somefile.jpg Sorry if my question is really trivial, but I'm learning Py...