summaryrefslogtreecommitdiff
path: root/doc/user/sconf.xml
diff options
context:
space:
mode:
Diffstat (limited to 'doc/user/sconf.xml')
-rw-r--r--doc/user/sconf.xml301
1 files changed, 162 insertions, 139 deletions
diff --git a/doc/user/sconf.xml b/doc/user/sconf.xml
index 3ab022d..d5881e9 100644
--- a/doc/user/sconf.xml
+++ b/doc/user/sconf.xml
@@ -1,6 +1,27 @@
+<?xml version='1.0'?>
+<!DOCTYPE sconsdoc [
+ <!ENTITY % scons SYSTEM "../scons.mod">
+ %scons;
+
+ <!ENTITY % builders-mod SYSTEM "../generated/builders.mod">
+ %builders-mod;
+ <!ENTITY % functions-mod SYSTEM "../generated/functions.mod">
+ %functions-mod;
+ <!ENTITY % tools-mod SYSTEM "../generated/tools.mod">
+ %tools-mod;
+ <!ENTITY % variables-mod SYSTEM "../generated/variables.mod">
+ %variables-mod;
+]>
+
+<chapter id="chap-sconf"
+ xmlns="http://www.scons.org/dbxsd/v1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.scons.org/dbxsd/v1.0/scons.xsd scons.xsd">
+<title>Multi-Platform Configuration (&Autoconf; Functionality)</title>
+
<!--
- Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation
+ Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014 The SCons Foundation
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
@@ -58,12 +79,12 @@
</para>
- <programlisting>
- env = Environment()
- conf = Configure(env)
- # Checks for libraries, header files, etc. go here!
- env = conf.Finish()
- </programlisting>
+ <sconstruct>
+env = Environment()
+conf = Configure(env)
+# Checks for libraries, header files, etc. go here!
+env = conf.Finish()
+ </sconstruct>
<para>
@@ -109,16 +130,16 @@
</para>
- <programlisting>
- env = Environment()
- conf = Configure(env)
- if not conf.CheckCHeader('math.h'):
- print 'Math.h must be installed!'
- Exit(1)
- if conf.CheckCHeader('foo.h'):
- conf.env.Append('-DHAS_FOO_H')
- env = conf.Finish()
- </programlisting>
+ <sconstruct>
+env = Environment()
+conf = Configure(env)
+if not conf.CheckCHeader('math.h'):
+ print 'Math.h must be installed!'
+ Exit(1)
+if conf.CheckCHeader('foo.h'):
+ conf.env.Append('-DHAS_FOO_H')
+env = conf.Finish()
+ </sconstruct>
<para>
@@ -137,14 +158,14 @@
</para>
- <programlisting>
- env = Environment()
- conf = Configure(env)
- if not conf.CheckCXXHeader('vector.h'):
- print 'vector.h must be installed!'
- Exit(1)
- env = conf.Finish()
- </programlisting>
+ <sconstruct>
+env = Environment()
+conf = Configure(env)
+if not conf.CheckCXXHeader('vector.h'):
+ print 'vector.h must be installed!'
+ Exit(1)
+env = conf.Finish()
+ </sconstruct>
</section>
@@ -158,14 +179,14 @@
</para>
- <programlisting>
- env = Environment()
- conf = Configure(env)
- if not conf.CheckFunc('strcpy'):
- print 'Did not find strcpy(), using local version'
- conf.env.Append(CPPDEFINES = '-Dstrcpy=my_local_strcpy')
- env = conf.Finish()
- </programlisting>
+ <sconstruct>
+env = Environment()
+conf = Configure(env)
+if not conf.CheckFunc('strcpy'):
+ print 'Did not find strcpy(), using local version'
+ conf.env.Append(CPPDEFINES = '-Dstrcpy=my_local_strcpy')
+env = conf.Finish()
+ </sconstruct>
</section>
@@ -182,14 +203,14 @@
</para>
- <programlisting>
- env = Environment()
- conf = Configure(env)
- if not conf.CheckLib('m'):
- print 'Did not find libm.a or m.lib, exiting!'
- Exit(1)
- env = conf.Finish()
- </programlisting>
+ <sconstruct>
+env = Environment()
+conf = Configure(env)
+if not conf.CheckLib('m'):
+ print 'Did not find libm.a or m.lib, exiting!'
+ Exit(1)
+env = conf.Finish()
+ </sconstruct>
<para>
@@ -203,14 +224,14 @@
</para>
- <programlisting>
- env = Environment()
- conf = Configure(env)
- if not conf.CheckLibWithHeader('m', 'math.h', 'c'):
- print 'Did not find libm.a or m.lib, exiting!'
- Exit(1)
- env = conf.Finish()
- </programlisting>
+ <sconstruct>
+env = Environment()
+conf = Configure(env)
+if not conf.CheckLibWithHeader('m', 'math.h', 'c'):
+ print 'Did not find libm.a or m.lib, exiting!'
+ Exit(1)
+env = conf.Finish()
+ </sconstruct>
<para>
@@ -232,14 +253,14 @@
</para>
- <programlisting>
- env = Environment()
- conf = Configure(env)
- if not conf.CheckType('off_t'):
- print 'Did not find off_t typedef, assuming int'
- conf.env.Append(CCFLAGS = '-Doff_t=int')
- env = conf.Finish()
- </programlisting>
+ <sconstruct>
+env = Environment()
+conf = Configure(env)
+if not conf.CheckType('off_t'):
+ print 'Did not find off_t typedef, assuming int'
+ conf.env.Append(CCFLAGS = '-Doff_t=int')
+env = conf.Finish()
+ </sconstruct>
<para>
@@ -251,14 +272,14 @@
</para>
- <programlisting>
- env = Environment()
- conf = Configure(env)
- if not conf.CheckType('off_t', '#include &lt;sys/types.h&gt;\n'):
- print 'Did not find off_t typedef, assuming int'
- conf.env.Append(CCFLAGS = '-Doff_t=int')
- env = conf.Finish()
- </programlisting>
+ <sconstruct>
+env = Environment()
+conf = Configure(env)
+if not conf.CheckType('off_t', '#include &amp;lt;sys/types.h&amp;gt;\n'):
+ print 'Did not find off_t typedef, assuming int'
+ conf.env.Append(CCFLAGS = '-Doff_t=int')
+env = conf.Finish()
+ </sconstruct>
</section>
@@ -281,22 +302,22 @@
</para>
- <programlisting>
- mylib_test_source_file = """
- #include &lt;mylib.h&gt;
- int main(int argc, char **argv)
- {
- MyLibrary mylib(argc, argv);
- return 0;
- }
- """
-
- def CheckMyLibrary(context):
- context.Message('Checking for MyLibrary...')
- result = context.TryLink(mylib_test_source_file, '.c')
- context.Result(result)
- return result
- </programlisting>
+ <sconstruct>
+mylib_test_source_file = """
+#include &amp;lt;mylib.h&amp;gt;
+int main(int argc, char **argv)
+{
+ MyLibrary mylib(argc, argv);
+ return 0;
+}
+"""
+
+def CheckMyLibrary(context):
+ context.Message('Checking for MyLibrary...')
+ result = context.TryLink(mylib_test_source_file, '.c')
+ context.Result(result)
+ return result
+ </sconstruct>
<para>
@@ -336,10 +357,10 @@
</para>
- <programlisting>
- env = Environment()
- conf = Configure(env, custom_tests = {'CheckMyLibrary' : CheckMyLibrary})
- </programlisting>
+ <sconstruct>
+env = Environment()
+conf = Configure(env, custom_tests = {'CheckMyLibrary' : CheckMyLibrary})
+ </sconstruct>
<para>
@@ -358,32 +379,32 @@
</para>
- <programlisting>
- mylib_test_source_file = """
- #include &lt;mylib.h&gt;
- int main(int argc, char **argv)
- {
- MyLibrary mylib(argc, argv);
- return 0;
- }
- """
-
- def CheckMyLibrary(context):
- context.Message('Checking for MyLibrary... ')
- result = context.TryLink(mylib_test_source_file, '.c')
- context.Result(result)
- return result
-
- env = Environment()
- conf = Configure(env, custom_tests = {'CheckMyLibrary' : CheckMyLibrary})
- if not conf.CheckMyLibrary():
- print 'MyLibrary is not installed!'
- Exit(1)
- env = conf.Finish()
-
- # We would then add actual calls like Program() to build
- # something using the "env" construction environment.
- </programlisting>
+ <sconstruct>
+mylib_test_source_file = """
+#include &amp;lt;mylib.h&amp;gt;
+int main(int argc, char **argv)
+{
+ MyLibrary mylib(argc, argv);
+ return 0;
+}
+"""
+
+def CheckMyLibrary(context):
+ context.Message('Checking for MyLibrary... ')
+ result = context.TryLink(mylib_test_source_file, '.c')
+ context.Result(result)
+ return result
+
+env = Environment()
+conf = Configure(env, custom_tests = {'CheckMyLibrary' : CheckMyLibrary})
+if not conf.CheckMyLibrary():
+ print 'MyLibrary is not installed!'
+ Exit(1)
+env = conf.Finish()
+
+# We would then add actual calls like Program() to build
+# something using the "env" construction environment.
+ </sconstruct>
<para>
@@ -393,10 +414,10 @@
</para>
<screen>
- % <userinput>scons</userinput>
- scons: Reading SConscript file ...
- Checking for MyLibrary... failed
- MyLibrary is not installed!
+% <userinput>scons</userinput>
+scons: Reading SConscript file ...
+Checking for MyLibrary... failed
+MyLibrary is not installed!
</screen>
<para>
@@ -407,14 +428,14 @@
</para>
<screen>
- % <userinput>scons</userinput>
- scons: Reading SConscript file ...
- Checking for MyLibrary... failed
- scons: done reading SConscript
- scons: Building targets ...
- .
- .
- .
+% <userinput>scons</userinput>
+scons: Reading SConscript file ...
+Checking for MyLibrary... failed
+scons: done reading SConscript
+scons: Building targets ...
+ .
+ .
+ .
</screen>
</section>
@@ -434,10 +455,10 @@
</para>
<screen>
- % <userinput>scons -Q -c</userinput>
- Checking for MyLibrary... yes
- Removed foo.o
- Removed foo
+% <userinput>scons -Q -c</userinput>
+Checking for MyLibrary... yes
+Removed foo.o
+Removed foo
</screen>
<para>
@@ -452,20 +473,20 @@
</para>
- <programlisting>
- env = Environment()
- if not env.GetOption('clean'):
- conf = Configure(env, custom_tests = {'CheckMyLibrary' : CheckMyLibrary})
- if not conf.CheckMyLibrary():
- print 'MyLibrary is not installed!'
- Exit(1)
- env = conf.Finish()
- </programlisting>
+ <sconstruct>
+env = Environment()
+if not env.GetOption('clean'):
+ conf = Configure(env, custom_tests = {'CheckMyLibrary' : CheckMyLibrary})
+ if not conf.CheckMyLibrary():
+ print 'MyLibrary is not installed!'
+ Exit(1)
+ env = conf.Finish()
+ </sconstruct>
<screen>
- % <userinput>scons -Q -c</userinput>
- Removed foo.o
- Removed foo
+% <userinput>scons -Q -c</userinput>
+Removed foo.o
+Removed foo
</screen>
</section>
@@ -484,3 +505,5 @@
</section>
-->
+
+</chapter>