summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2013-07-03 16:33:28 +0100
committerCarl Hetherington <cth@carlh.net>2013-07-03 16:33:28 +0100
commitb68591911bd8116df0ad987627244b9bdf87de89 (patch)
tree43aa12a69b5023af81ddf95173a65870e1e2144a
parent6057976df6cce189567012d5b1bc5533a532813b (diff)
Make C++ flags available from makedcp.
-rw-r--r--src/lib/version.h1
-rw-r--r--src/tools/makedcp.cc9
-rw-r--r--wscript11
3 files changed, 17 insertions, 4 deletions
diff --git a/src/lib/version.h b/src/lib/version.h
index 71639e3bc..e1ec9067c 100644
--- a/src/lib/version.h
+++ b/src/lib/version.h
@@ -1,3 +1,4 @@
extern char const * dvdomatic_version;
extern char const * dvdomatic_git_commit;
+extern char const * dvdomatic_cxx_flags;
diff --git a/src/tools/makedcp.cc b/src/tools/makedcp.cc
index e73930d3c..1cd5145ed 100644
--- a/src/tools/makedcp.cc
+++ b/src/tools/makedcp.cc
@@ -48,7 +48,8 @@ help (string n)
cerr << "Syntax: " << n << " [OPTION] <FILM>\n"
<< " -v, --version show DVD-o-matic version\n"
<< " -h, --help show this help\n"
- << " -d, --deps list DVD-o-matic dependency details and quit\n"
+ << " -d, --deps list DVD-o-matic dependency details\n"
+ << " -f, --flags show flags passed to C++ compiler on build\n"
<< " -n, --no-progress do not print progress to stdout\n"
<< " -r, --no-remote do not use any remote servers\n"
<< "\n"
@@ -69,13 +70,14 @@ main (int argc, char* argv[])
{ "version", no_argument, 0, 'v'},
{ "help", no_argument, 0, 'h'},
{ "deps", no_argument, 0, 'd'},
+ { "flags", no_argument, 0, 'f'},
{ "no-progress", no_argument, 0, 'n'},
{ "no-remote", no_argument, 0, 'r'},
{ "log-level", required_argument, 0, 'l' },
{ 0, 0, 0, 0 }
};
- int c = getopt_long (argc, argv, "vhdnrl:", long_options, &option_index);
+ int c = getopt_long (argc, argv, "vhdfnrl:", long_options, &option_index);
if (c == -1) {
break;
@@ -91,6 +93,9 @@ main (int argc, char* argv[])
case 'd':
cout << dependency_version_summary () << "\n";
exit (EXIT_SUCCESS);
+ case 'f':
+ cout << dvdomatic_cxx_flags << "\n";
+ exit (EXIT_SUCCESS);
case 'n':
progress = false;
break;
diff --git a/wscript b/wscript
index b87191f42..0008d198f 100644
--- a/wscript
+++ b/wscript
@@ -206,7 +206,7 @@ def configure(conf):
conf.recurse('test')
def build(bld):
- create_version_cc(VERSION)
+ create_version_cc(VERSION, bld.env.CXXFLAGS)
bld.recurse('src')
bld.recurse('test')
@@ -232,7 +232,7 @@ def dist(ctx):
GRSYMS GRTAGS GSYMS GTAGS
"""
-def create_version_cc(version):
+def create_version_cc(version, cxx_flags):
if os.path.exists('.git'):
cmd = "LANG= git log --abbrev HEAD^..HEAD ."
output = subprocess.Popen(cmd, shell=True, stderr=subprocess.STDOUT, stdout=subprocess.PIPE).communicate()[0].splitlines()
@@ -245,6 +245,13 @@ def create_version_cc(version):
text = '#include "version.h"\n'
text += 'char const * dvdomatic_git_commit = \"%s\";\n' % commit
text += 'char const * dvdomatic_version = \"%s\";\n' % version
+
+ t = ''
+ for f in cxx_flags:
+ f = f.replace('"', '\\"')
+ t += f + ' '
+ text += 'char const * dvdomatic_cxx_flags = \"%s\";\n' % t[:-1]
+
print('Writing version information to src/lib/version.cc')
o = open('src/lib/version.cc', 'w')
o.write(text)