diff options
Diffstat (limited to 'doc/user/parseconfig.in')
-rw-r--r-- | doc/user/parseconfig.in | 140 |
1 files changed, 0 insertions, 140 deletions
diff --git a/doc/user/parseconfig.in b/doc/user/parseconfig.in deleted file mode 100644 index 0566fe9..0000000 --- a/doc/user/parseconfig.in +++ /dev/null @@ -1,140 +0,0 @@ -<!-- - - Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 The SCons Foundation - - Permission is hereby granted, free of charge, to any person obtaining - a copy of this software and associated documentation files (the - "Software"), to deal in the Software without restriction, including - without limitation the rights to use, copy, modify, merge, publish, - distribute, sublicense, and/or sell copies of the Software, and to - permit persons to whom the Software is furnished to do so, subject to - the following conditions: - - The above copyright notice and this permission notice shall be included - in all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY - KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE - WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND - NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE - LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION - OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION - WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - ---> - - <para> - - Configuring the right options to build programs to work with - libraries--especially shared libraries--that are available - on POSIX systems can be very complicated. - To help this situation, - various utilies with names that end in <filename>config</filename> - return the command-line options for the GNU Compiler Collection (GCC) - that are needed to use these libraries; - for example, the command-line options - to use a library named <filename>lib</filename> - would be found by calling a utility named <filename>lib-config</filename>. - - </para> - - <para> - - A more recent convention is that these options - are available from the generic <filename>pkg-config</filename> program, - which has common framework, error handling, and the like, - so that all the package creator has to do is provide the set of strings - for his particular package. - - </para> - - <para> - - &SCons; construction environments have a &ParseConfig; method - that executes a <filename>*config</filename> utility - (either <filename>pkg-config</filename> or a - more specific utility) - and configures the appropriate construction variables - in the environment - based on the command-line options - returned by the specified command. - - </para> - - <scons_example name="ParseConfig1"> - <file name="SConstruct" printme="1"> - env = Environment() - env['CPPPATH'] = ['/lib/compat'] - env.ParseConfig("pkg-config x11 --cflags --libs") - print env['CPPPATH'] - </file> - </scons_example> - - <para> - - &SCons; will execute the specified command string, - parse the resultant flags, - and add the flags to the appropriate environment variables. - - </para> - - <!-- - This is how we used to generate the screen output below, but - as of (at least) Ubuntu Karmic, the pkg-config output for x11 - no longer reports back an include directory. Since this is just - for example anyway, we're just hard-coding the output. - - <scons_output example="ParseConfig1"> - <scons_output_command>scons -Q</scons_output_command> - </scons_output> - --> - - <screen> - % <userinput>scons -Q</userinput> - ['/lib/compat', '/usr/X11/include'] - scons: `.' is up to date. - </screen> - - <para> - - In the example above, &SCons; has added the include directory to - <varname>CPPPATH</varname>. - (Depending upon what other flags are emitted by the - <filename>pkg-config</filename> command, - other variables may have been extended as well.) - - </para> - - <para> - - Note that the options are merged with existing options using - the &MergeFlags; method, - so that each option only occurs once in the construction variable: - - </para> - - <scons_example name="ParseConfig2"> - <file name="SConstruct" printme="1"> - env = Environment() - env.ParseConfig("pkg-config x11 --cflags --libs") - env.ParseConfig("pkg-config x11 --cflags --libs") - print env['CPPPATH'] - </file> - </scons_example> - - <!-- - This is how we used to generate the screen output below, but - as of (at least) Ubuntu Karmic, the pkg-config output for x11 - no longer reports back an include directory. Since this is just - for example anyway, we're just hard-coding the output. - - <scons_output example="ParseConfig2"> - <scons_output_command>scons -Q</scons_output_command> - </scons_output> - --> - - <screen> - % <userinput>scons -Q</userinput> - ['/usr/X11/include'] - scons: `.' is up to date. - </screen> |