summaryrefslogtreecommitdiff
path: root/cpp/src/slice2cpp/Main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/slice2cpp/Main.cpp')
-rw-r--r--cpp/src/slice2cpp/Main.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/cpp/src/slice2cpp/Main.cpp b/cpp/src/slice2cpp/Main.cpp
index 5eb13c1a3a5..db69a5f8396 100644
--- a/cpp/src/slice2cpp/Main.cpp
+++ b/cpp/src/slice2cpp/Main.cpp
@@ -31,6 +31,7 @@ usage(const char* n)
"--dll-export SYMBOL Use SYMBOL for DLL exports.\n"
"--impl Generate sample implementations.\n"
"-d, --debug Print debug messages.\n"
+ "--ice Permit `Ice' prefix (for building Ice source code only)\n"
;
}
@@ -44,6 +45,7 @@ main(int argc, char* argv[])
string dllExport;
bool impl = false;
bool debug = false;
+ bool ice = false;
int idx = 1;
while(idx < argc)
@@ -95,6 +97,15 @@ main(int argc, char* argv[])
}
--argc;
}
+ else if(strcmp(argv[idx], "--ice") == 0)
+ {
+ ice = true;
+ for(int i = idx ; i + 1 < argc ; ++i)
+ {
+ argv[i] = argv[i + 1];
+ }
+ --argc;
+ }
else if(strcmp(argv[idx], "--include-dir") == 0)
{
if(idx + 1 >= argc)
@@ -210,7 +221,7 @@ main(int argc, char* argv[])
return EXIT_FAILURE;
}
- UnitPtr unit = Unit::createUnit(false, false);
+ UnitPtr unit = Unit::createUnit(false, false, ice);
int parseStatus = unit->parse(cppHandle, debug);
#ifdef _WIN32