[Scons-users] Compiling a program with scons
Mark A. Flacy
mflacy at verizon.net
Wed Feb 18 17:11:03 EST 2015
On Wednesday, February 18, 2015 12:49:53 PM Owen Alanzo Hogarth wrote:
> Hi William
>
> Thank you, I did read the documentation and I am still a bit confused.
> Doing simple things like compiling a hello.c program works but lets say for
> example look at the cURL package. Since it has no external dependencies.
It does have autogenerated code as well as a complicated automake setup.
I'd find a simpler example to try, myself.
>
> I download and extract the tarball, go into the src folder
>
> now let's say I create a SConstruct file like this:
>
> env = Environment()
>
> env.Program(target = "curl", source = [Glob("*.c")])
>
>
> Then I run scons like so and I get an error like this:
>
> Brother:src blubee$ scons
>
> scons: Reading SConscript files ...
>
> scons: done reading SConscript files.
>
> scons: Building targets ...
>
> gcc -o tool_binmode.o -c tool_binmode.c
>
> In file included from tool_binmode.c:22:
>
> ./tool_setup.h:36:10: fatal error: 'curl_setup.h' file not found
>
> #include "curl_setup.h" /* from the lib directory */
>
> ^
>
> 1 error generated.
>
> scons: *** [tool_binmode.o] Error 1
>
> scons: building terminated because of errors.
>
>
> I am writing the SConstruct file in the /src folder and running scons from
> the same folder.
If you wish to continue with this, see CPPPATH
(http://www.scons.org/doc/production/HTML/scons-man.html#cv-CPPPATH)
You really need to read and understand the automake files (ALL the Makefile.am
files in all the directories) in the curl source to see how the source is put
together and how it is supposed to compile. For example, the curl binary
requires libcurl to be built first. That's the code in the lib directory.
I've built an old version of nettrek with scons as well as used scons to build
things such as docbook based documentation.
See http://syx.googlecode.com/svn/trunk/SConstruct for a sample SConstruct file
for a somewhat complicated build (from http://www.scons.org/wiki/SconsProjects
where I found the Syx project). Not all of the projects on that page are
still using SCons, but some of them still are. I suggest that you look
through them to see what can be done that isn't super simple.
--
Mark A. Flacy
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20150218/0ef13bce/attachment.html>
More information about the Scons-users
mailing list