summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2013-04-25 19:42:16 (GMT)
committerRemko Tronçon <git@el-tramo.be>2013-04-25 19:42:16 (GMT)
commit7ef27db79a528263b17610444f4f85bafd0fa6fa (patch)
tree7f569f61b8d0d3661237185fbd6385250a3a83da
parent5eff3391c316d5ab325b78024296e74127c6747c (diff)
downloadswift-7ef27db79a528263b17610444f4f85bafd0fa6fa.zip
swift-7ef27db79a528263b17610444f4f85bafd0fa6fa.tar.bz2
swiften-config improvements.
Allow --libs and --cflags to be used in the same command. Include Boost flags in --cflags. Add documentation for using swiften-config with SCons. Change-Id: I36d78cdecab7c2b7b6ef7861e09a43964357f23d
-rw-r--r--Documentation/SwiftenDevelopersGuide/Swiften Developers Guide.xml15
-rw-r--r--Swiften/Config/SConscript5
-rw-r--r--Swiften/Config/swiften-config.cpp2
3 files changed, 20 insertions, 2 deletions
diff --git a/Documentation/SwiftenDevelopersGuide/Swiften Developers Guide.xml b/Documentation/SwiftenDevelopersGuide/Swiften Developers Guide.xml
index fae79e4..345d049 100644
--- a/Documentation/SwiftenDevelopersGuide/Swiften Developers Guide.xml
+++ b/Documentation/SwiftenDevelopersGuide/Swiften Developers Guide.xml
@@ -117,6 +117,21 @@
whereas calling it with the <literal>--cflags</literal> option will return the
list of C(++) compiler flags.
</para>
+
+ <para>
+ An example of setting up a build of a Swiften application using SCons is shown
+ in <xref linkend="Example-SCons"/>.
+ </para>
+
+ <example id="Example-SCons">
+ <title><literal>SConstruct</literal> file to build Swiften application with SCons</title>
+ <programlisting>
+env = Environment()
+env["SWIFTEN_CONFIG"] = "/path/to/swiften-config"
+env.MergeFlags(env.subst("!$SWIFTEN_CONFIG --cflags --libs"))
+env.Program("EchoBot.cpp")
+ </programlisting>
+ </example>
</sect1>
<sect1>
diff --git a/Swiften/Config/SConscript b/Swiften/Config/SConscript
index 691e9e5..27dfc2e 100644
--- a/Swiften/Config/SConscript
+++ b/Swiften/Config/SConscript
@@ -20,7 +20,10 @@ swiften_env = env.Clone()
swiften_env.UseFlags(swiften_env["SWIFTEN_FLAGS"])
swiften_env.UseFlags(swiften_env["SWIFTEN_DEP_FLAGS"])
-cppflags = replaceSwiftenPath(" ".join([swiften_env.subst("$_CPPDEFFLAGS"), swiften_env.subst("$_CPPINCFLAGS")]))
+cppflags = replaceSwiftenPath(" ".join([
+ swiften_env.subst("$CPPFLAGS").replace("-isystem ","-I"),
+ swiften_env.subst("$_CPPDEFFLAGS"),
+ swiften_env.subst("$_CPPINCFLAGS")]))
config_flags += cStringVariable(swiften_env, "CPPFLAGS", cppflags)
libflags = replaceSwiftenPath(" ".join([
diff --git a/Swiften/Config/swiften-config.cpp b/Swiften/Config/swiften-config.cpp
index de07d74..89df9cd 100644
--- a/Swiften/Config/swiften-config.cpp
+++ b/Swiften/Config/swiften-config.cpp
@@ -118,7 +118,7 @@ int main(int argc, char* argv[]) {
if (vm.count("libs") > 0) {
printFlags(libs);
}
- else if (vm.count("cflags") > 0) {
+ if (vm.count("cflags") > 0) {
printFlags(cflags);
}
return 0;