Skip to content

Commit 8ef30b4

Browse files
Daniel Kroeningpeterschrammel
authored andcommitted
use a string instead of macro for version number
1 parent 0618f7d commit 8ef30b4

15 files changed

+48
-43
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ Release/*
2828
*.obj
2929
*.a
3030
*.lib
31-
version.h
31+
util/version.cpp
3232
src/ansi-c/arm_builtin_headers.inc
3333
src/ansi-c/clang_builtin_headers.inc
3434
src/ansi-c/cprover_builtin_headers.inc

jbmc/src/janalyzer/janalyzer_parse_options.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ Author: Daniel Kroening, [email protected]
6060
janalyzer_parse_optionst::janalyzer_parse_optionst(int argc, const char **argv)
6161
: parse_options_baset(JANALYZER_OPTIONS, argc, argv),
6262
messaget(ui_message_handler),
63-
ui_message_handler(cmdline, "JANALYZER " CBMC_VERSION)
63+
ui_message_handler(cmdline, std::string("JANALYZER ")+CBMC_VERSION)
6464
{
6565
}
6666

@@ -342,7 +342,7 @@ int janalyzer_parse_optionst::doit()
342342
//
343343
// Print a banner
344344
//
345-
status() << "JANALYZER version " CBMC_VERSION " " << sizeof(void *) * 8
345+
status() << "JANALYZER version " << CBMC_VERSION << " " << sizeof(void *) * 8
346346
<< "-bit " << config.this_architecture() << " "
347347
<< config.this_operating_system() << eom;
348348

jbmc/src/jbmc/jbmc_parse_options.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ Author: Daniel Kroening, [email protected]
6464
jbmc_parse_optionst::jbmc_parse_optionst(int argc, const char **argv):
6565
parse_options_baset(JBMC_OPTIONS, argc, argv),
6666
messaget(ui_message_handler),
67-
ui_message_handler(cmdline, "JBMC " CBMC_VERSION),
67+
ui_message_handler(cmdline, std::string("JBMC ")+CBMC_VERSION),
6868
path_strategy_chooser()
6969
{
7070
}
@@ -75,7 +75,7 @@ ::jbmc_parse_optionst::jbmc_parse_optionst(
7575
const std::string &extra_options):
7676
parse_options_baset(JBMC_OPTIONS+extra_options, argc, argv),
7777
messaget(ui_message_handler),
78-
ui_message_handler(cmdline, "JBMC " CBMC_VERSION),
78+
ui_message_handler(cmdline, std::string("JBMC ")+CBMC_VERSION),
7979
path_strategy_chooser()
8080
{
8181
}
@@ -418,7 +418,7 @@ int jbmc_parse_optionst::doit()
418418
//
419419
// Print a banner
420420
//
421-
status() << "JBMC version " CBMC_VERSION " "
421+
status() << "JBMC version " << CBMC_VERSION << " "
422422
<< sizeof(void *)*8 << "-bit "
423423
<< config.this_architecture() << " "
424424
<< config.this_operating_system() << eom;

jbmc/src/jdiff/jdiff_parse_options.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ Author: Peter Schrammel
6464
jdiff_parse_optionst::jdiff_parse_optionst(int argc, const char **argv)
6565
: parse_options_baset(JDIFF_OPTIONS, argc, argv),
6666
jdiff_languagest(cmdline, ui_message_handler),
67-
ui_message_handler(cmdline, "JDIFF " CBMC_VERSION),
67+
ui_message_handler(cmdline, std::string("JDIFF ")+CBMC_VERSION),
6868
languages2(cmdline, ui_message_handler)
6969
{
7070
}
@@ -75,7 +75,7 @@ ::jdiff_parse_optionst::jdiff_parse_optionst(
7575
const std::string &extra_options)
7676
: parse_options_baset(JDIFF_OPTIONS + extra_options, argc, argv),
7777
jdiff_languagest(cmdline, ui_message_handler),
78-
ui_message_handler(cmdline, "JDIFF " CBMC_VERSION),
78+
ui_message_handler(cmdline, std::string("JDIFF ")+CBMC_VERSION),
7979
languages2(cmdline, ui_message_handler)
8080
{
8181
}
@@ -206,7 +206,7 @@ int jdiff_parse_optionst::doit()
206206
//
207207
// Print a banner
208208
//
209-
status() << "JDIFF version " CBMC_VERSION " " << sizeof(void *) * 8 << "-bit "
209+
status() << "JDIFF version " << CBMC_VERSION << " " << sizeof(void *) * 8 << "-bit "
210210
<< config.this_architecture() << " "
211211
<< config.this_operating_system() << eom;
212212

src/cbmc/cbmc_parse_options.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ cbmc_parse_optionst::cbmc_parse_optionst(int argc, const char **argv):
6969
parse_options_baset(CBMC_OPTIONS, argc, argv),
7070
xml_interfacet(cmdline),
7171
messaget(ui_message_handler),
72-
ui_message_handler(cmdline, "CBMC " CBMC_VERSION),
72+
ui_message_handler(cmdline, std::string("CBMC ")+CBMC_VERSION),
7373
path_strategy_chooser()
7474
{
7575
}
@@ -81,7 +81,7 @@ ::cbmc_parse_optionst::cbmc_parse_optionst(
8181
parse_options_baset(CBMC_OPTIONS+extra_options, argc, argv),
8282
xml_interfacet(cmdline),
8383
messaget(ui_message_handler),
84-
ui_message_handler(cmdline, "CBMC " CBMC_VERSION),
84+
ui_message_handler(cmdline, std::string("CBMC ")+CBMC_VERSION),
8585
path_strategy_chooser()
8686
{
8787
}
@@ -436,7 +436,7 @@ int cbmc_parse_optionst::doit()
436436
//
437437
// Print a banner
438438
//
439-
status() << "CBMC version " CBMC_VERSION " "
439+
status() << "CBMC version " << CBMC_VERSION << " "
440440
<< sizeof(void *)*8 << "-bit "
441441
<< config.this_architecture() << " "
442442
<< config.this_operating_system() << eom;

src/cbmc/cbmc_solvers.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ std::unique_ptr<cbmc_solverst::solvert> cbmc_solverst::get_smt2(
177177
util_make_unique<smt2_dect>(
178178
ns,
179179
"cbmc",
180-
"Generated by CBMC " CBMC_VERSION,
180+
std::string("Generated by CBMC ")+CBMC_VERSION,
181181
"QF_AUFBV",
182182
solver);
183183

@@ -192,7 +192,7 @@ std::unique_ptr<cbmc_solverst::solvert> cbmc_solverst::get_smt2(
192192
util_make_unique<smt2_convt>(
193193
ns,
194194
"cbmc",
195-
"Generated by CBMC " CBMC_VERSION,
195+
std::string("Generated by CBMC ")+CBMC_VERSION,
196196
"QF_AUFBV",
197197
solver,
198198
std::cout);
@@ -222,7 +222,7 @@ std::unique_ptr<cbmc_solverst::solvert> cbmc_solverst::get_smt2(
222222
util_make_unique<smt2_convt>(
223223
ns,
224224
"cbmc",
225-
"Generated by CBMC " CBMC_VERSION,
225+
std::string("Generated by CBMC ")+CBMC_VERSION,
226226
"QF_AUFBV",
227227
solver,
228228
*out);

src/clobber/clobber_parse_options.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Author: Daniel Kroening, [email protected]
3838
clobber_parse_optionst::clobber_parse_optionst(int argc, const char **argv):
3939
parse_options_baset(CLOBBER_OPTIONS, argc, argv),
4040
language_uit(cmdline, ui_message_handler),
41-
ui_message_handler(cmdline, "CLOBBER " CBMC_VERSION)
41+
ui_message_handler(cmdline, std::string("CLOBBER ")+CBMC_VERSION)
4242
{
4343
}
4444

src/goto-analyzer/goto_analyzer_parse_options.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ goto_analyzer_parse_optionst::goto_analyzer_parse_optionst(
6767
const char **argv):
6868
parse_options_baset(GOTO_ANALYSER_OPTIONS, argc, argv),
6969
messaget(ui_message_handler),
70-
ui_message_handler(cmdline, "GOTO-ANALYZER " CBMC_VERSION)
70+
ui_message_handler(cmdline, std::string("GOTO-ANALYZER ")+CBMC_VERSION)
7171
{
7272
}
7373

@@ -374,7 +374,7 @@ int goto_analyzer_parse_optionst::doit()
374374
//
375375
// Print a banner
376376
//
377-
status() << "GOTO-ANALYSER version " CBMC_VERSION " "
377+
status() << "GOTO-ANALYSER version " << CBMC_VERSION << " "
378378
<< sizeof(void *)*8 << "-bit "
379379
<< config.this_architecture() << " "
380380
<< config.this_operating_system() << eom;

src/goto-cc/as_mode.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,15 +82,15 @@ int as_modet::doit()
8282
cmdline.isset("version"))
8383
{
8484
if(act_as_as86)
85-
status() << "as86 version: 0.16.17 (goto-cc " CBMC_VERSION ")"
85+
status() << "as86 version: 0.16.17 (goto-cc " << CBMC_VERSION << ")"
8686
<< eom;
8787
else
8888
status() << "GNU assembler version 2.20.51.0.7 20100318"
89-
<< " (goto-cc " CBMC_VERSION ")" << eom;
89+
<< " (goto-cc " << CBMC_VERSION << ")" << eom;
9090

9191
status() << '\n' <<
9292
"Copyright (C) 2006-2014 Daniel Kroening, Christoph Wintersteiger\n" <<
93-
"CBMC version: " CBMC_VERSION << '\n' <<
93+
"CBMC version: " << CBMC_VERSION << '\n' <<
9494
"Architecture: " << config.this_architecture() << '\n' <<
9595
"OS: " << config.this_operating_system() << eom;
9696

src/goto-cc/compile.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -677,7 +677,8 @@ unsigned compilet::function_body_count(const goto_functionst &functions) const
677677

678678
void compilet::add_compiler_specific_defines(configt &config) const
679679
{
680-
config.ansi_c.defines.push_back("__GOTO_CC_VERSION__=" CBMC_VERSION);
680+
config.ansi_c.defines.push_back(
681+
std::string("__GOTO_CC_VERSION__=")+CBMC_VERSION);
681682
}
682683

683684
void compilet::convert_symbols(goto_functionst &dest)

src/goto-cc/gcc_mode.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -346,14 +346,14 @@ int gcc_modet::doit()
346346

347347
if(act_as_bcc)
348348
std::cout << "bcc: version " << gcc_version
349-
<< " (goto-cc " CBMC_VERSION ")\n";
349+
<< " (goto-cc " << CBMC_VERSION << ")\n";
350350
else
351351
{
352352
if(gcc_version.flavor == gcc_versiont::flavort::CLANG)
353353
std::cout << "clang version " << gcc_version
354-
<< " (goto-cc " CBMC_VERSION ")\n";
354+
<< " (goto-cc " << CBMC_VERSION << ")\n";
355355
else
356-
std::cout << "gcc (goto-cc " CBMC_VERSION ") " << gcc_version << '\n';
356+
std::cout << "gcc (goto-cc " << CBMC_VERSION << ") " << gcc_version << '\n';
357357
}
358358
}
359359

@@ -371,7 +371,7 @@ int gcc_modet::doit()
371371
std::cout
372372
<< '\n'
373373
<< "Copyright (C) 2006-2018 Daniel Kroening, Christoph Wintersteiger\n"
374-
<< "CBMC version: " CBMC_VERSION << '\n'
374+
<< "CBMC version: " << CBMC_VERSION << '\n'
375375
<< "Architecture: " << config.this_architecture() << '\n'
376376
<< "OS: " << config.this_operating_system() << '\n';
377377

src/goto-diff/goto_diff_parse_options.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ Author: Peter Schrammel
6464
goto_diff_parse_optionst::goto_diff_parse_optionst(int argc, const char **argv):
6565
parse_options_baset(GOTO_DIFF_OPTIONS, argc, argv),
6666
goto_diff_languagest(cmdline, ui_message_handler),
67-
ui_message_handler(cmdline, "GOTO-DIFF " CBMC_VERSION),
67+
ui_message_handler(cmdline, std::string("GOTO-DIFF ")+CBMC_VERSION),
6868
languages2(cmdline, ui_message_handler)
6969
{
7070
}
@@ -75,7 +75,7 @@ ::goto_diff_parse_optionst::goto_diff_parse_optionst(
7575
const std::string &extra_options):
7676
parse_options_baset(GOTO_DIFF_OPTIONS+extra_options, argc, argv),
7777
goto_diff_languagest(cmdline, ui_message_handler),
78-
ui_message_handler(cmdline, "GOTO-DIFF " CBMC_VERSION),
78+
ui_message_handler(cmdline, std::string("GOTO-DIFF ")+CBMC_VERSION),
7979
languages2(cmdline, ui_message_handler)
8080
{
8181
}
@@ -243,7 +243,7 @@ int goto_diff_parse_optionst::doit()
243243
//
244244
// Print a banner
245245
//
246-
status() << "GOTO-DIFF version " CBMC_VERSION " "
246+
status() << "GOTO-DIFF version " << CBMC_VERSION << " "
247247
<< sizeof(void *)*8 << "-bit "
248248
<< config.this_architecture() << " "
249249
<< config.this_operating_system() << eom;

src/util/CMakeLists.txt

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
11
file(GLOB_RECURSE sources "*.cpp" "*.h")
2-
add_library(util ${sources})
3-
4-
generic_includes(util)
5-
6-
target_link_libraries(util big-int langapi)
72

83
# based on https://cmake.org/pipermail/cmake/2010-July/038015.html
94
find_package(Git)
@@ -18,7 +13,7 @@ if(GIT_FOUND)
1813
OUTPUT_VARIABLE GIT_INFO
1914
OUTPUT_STRIP_TRAILING_WHITESPACE
2015
)
21-
configure_file(\${CUR}/version.h.in version.h)
16+
configure_file(\${CUR}/version.cpp.in version.cpp)
2217
"
2318
)
2419
else()
@@ -28,18 +23,25 @@ else()
2823
config_inc_v REGEX \"CBMC_VERSION *= *[0-9\.]+\")
2924
string(REGEX REPLACE \"^CBMC_VERSION *= *\" \"\" CBMC_RELEASE \${config_inc_v})
3025
set(GIT_INFO \"n/a\")
31-
configure_file(\${CUR}/version.h.in version.h)
26+
configure_file(\${CUR}/version.cpp.in version.cpp)
3227
"
3328
)
3429
endif()
3530

36-
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/version.h.in
37-
"\#define CBMC_VERSION \"@CBMC_RELEASE@ (@GIT_INFO@)\"\n")
38-
add_custom_target(
39-
version.h
31+
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/version.cpp.in
32+
"const char *CBMC_VERSION=\"@CBMC_RELEASE@ (@GIT_INFO@)\";\n")
33+
add_custom_command(
34+
OUTPUT version.cpp
4035
COMMAND ${CMAKE_COMMAND}
4136
-D CBMC_SOURCE_DIR=${CBMC_SOURCE_DIR}
4237
-D CUR=${CMAKE_CURRENT_BINARY_DIR}
4338
-P ${CMAKE_BINARY_DIR}/version.cmake
4439
)
45-
add_dependencies(util version.h)
40+
41+
add_library(util
42+
${sources}
43+
version.cpp)
44+
45+
generic_includes(util)
46+
47+
target_link_libraries(util big-int langapi)

src/util/Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,7 @@ SRC = arith_tools.cpp \
9393
union_find.cpp \
9494
union_find_replace.cpp \
9595
unwrap_nested_exception.cpp \
96+
version.cpp \
9697
xml.cpp \
9798
xml_expr.cpp \
9899
xml_irep.cpp \
@@ -105,8 +106,8 @@ include ../common
105106

106107
# get version from git
107108
GIT_INFO = $(shell git describe --tags --always --dirty || echo "n/a")
108-
RELEASE_INFO = \#define CBMC_VERSION "$(CBMC_VERSION) ($(GIT_INFO))"
109-
GIT_INFO_FILE = version.h
109+
RELEASE_INFO = const char *CBMC_VERSION="$(CBMC_VERSION) ($(GIT_INFO))";
110+
GIT_INFO_FILE = version.cpp
110111

111112
$(GIT_INFO_FILE):
112113
echo '$(RELEASE_INFO)' > $@

src/util/version.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
extern const char *CBMC_VERSION;

0 commit comments

Comments
 (0)