summaryrefslogtreecommitdiff
path: root/cpp/src/slice2java
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2015-04-13 14:58:28 +0200
committerJose <jose@zeroc.com>2015-04-13 14:58:28 +0200
commit8cff2a828400acb3769b7b05452ac267725086eb (patch)
tree3735ea75f8890fcec71909b0ce4cc616bd14d30a /cpp/src/slice2java
parentICE-6445 Remove .NET CF support (diff)
downloadice-8cff2a828400acb3769b7b05452ac267725086eb.tar.bz2
ice-8cff2a828400acb3769b7b05452ac267725086eb.tar.xz
ice-8cff2a828400acb3769b7b05452ac267725086eb.zip
Add --depend-file/--depend-xml optinos to all Slice compilers
Diffstat (limited to 'cpp/src/slice2java')
-rw-r--r--cpp/src/slice2java/Main.cpp18
-rw-r--r--cpp/src/slice2java/Makefile2
-rw-r--r--cpp/src/slice2java/Makefile.mak2
3 files changed, 15 insertions, 7 deletions
diff --git a/cpp/src/slice2java/Main.cpp b/cpp/src/slice2java/Main.cpp
index a334113a7af..fe93c7d59a3 100644
--- a/cpp/src/slice2java/Main.cpp
+++ b/cpp/src/slice2java/Main.cpp
@@ -73,6 +73,7 @@ usage(const char* n)
"--impl-tie Generate sample TIE implementations.\n"
"--depend Generate Makefile dependencies.\n"
"--depend-xml Generate dependencies in XML format.\n"
+ "--depend-file FILE Write dependencies to FILE instead of standard output.\n"
"--list-generated Emit list of generated files in XML format.\n"
"-d, --debug Print debug messages.\n"
"--ice Permit `Ice' prefix (for building Ice source code only).\n"
@@ -99,6 +100,7 @@ compile(int argc, char* argv[])
opts.addOpt("", "impl-tie");
opts.addOpt("", "depend");
opts.addOpt("", "depend-xml");
+ opts.addOpt("", "depend-file", IceUtilInternal::Options::NeedArg, "");
opts.addOpt("", "list-generated");
opts.addOpt("d", "debug");
opts.addOpt("", "ice");
@@ -162,6 +164,7 @@ compile(int argc, char* argv[])
bool depend = opts.isSet("depend");
bool dependxml = opts.isSet("depend-xml");
+ string dependFile = opts.optArg("depend-file");
bool debug = opts.isSet("debug");
@@ -200,9 +203,10 @@ compile(int argc, char* argv[])
IceUtil::CtrlCHandler ctrlCHandler;
ctrlCHandler.setCallback(interruptedCallback);
+ DependOutputUtil out(dependFile);
if(dependxml)
{
- cout << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<dependencies>" << endl;
+ out.os() << "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<dependencies>" << endl;
}
for(vector<string>::const_iterator i = args.begin(); i != args.end(); ++i)
@@ -223,6 +227,7 @@ compile(int argc, char* argv[])
if(cppHandle == 0)
{
+ out.cleanup();
return EXIT_FAILURE;
}
@@ -232,18 +237,20 @@ compile(int argc, char* argv[])
if(parseStatus == EXIT_FAILURE)
{
+ out.cleanup();
return EXIT_FAILURE;
}
- if(!icecpp->printMakefileDependencies(depend ? Preprocessor::Java : Preprocessor::JavaXML, includePaths,
- "-D__SLICE2JAVA__"
- ))
+ if(!icecpp->printMakefileDependencies(out.os(), depend ? Preprocessor::Java : Preprocessor::SliceXML, includePaths,
+ "-D__SLICE2JAVA__"))
{
+ out.cleanup();
return EXIT_FAILURE;
}
if(!icecpp->close())
{
+ out.cleanup();
return EXIT_FAILURE;
}
}
@@ -361,6 +368,7 @@ compile(int argc, char* argv[])
if(interrupted)
{
+ out.cleanup();
//
// If the translator was interrupted then cleanup any files we've already created.
//
@@ -372,7 +380,7 @@ compile(int argc, char* argv[])
if(dependxml)
{
- cout << "</dependencies>\n";
+ out.os() << "</dependencies>\n";
}
if(status == EXIT_SUCCESS && !checksumClass.empty() && !dependxml)
diff --git a/cpp/src/slice2java/Makefile b/cpp/src/slice2java/Makefile
index 0d6c152f9f7..5b6afcbc512 100644
--- a/cpp/src/slice2java/Makefile
+++ b/cpp/src/slice2java/Makefile
@@ -20,7 +20,7 @@ RPATH_DIR = $(LOADER_PATH)/../$(libsubdir)
include $(top_srcdir)/config/Make.rules
-CPPFLAGS := -I. $(CPPFLAGS)
+CPPFLAGS := -I. -I.. $(CPPFLAGS)
$(NAME): $(OBJS)
rm -f $@
diff --git a/cpp/src/slice2java/Makefile.mak b/cpp/src/slice2java/Makefile.mak
index fa1eafda57b..7e1b2b88a58 100644
--- a/cpp/src/slice2java/Makefile.mak
+++ b/cpp/src/slice2java/Makefile.mak
@@ -18,7 +18,7 @@ OBJS = .\Gen.obj \
!include $(top_srcdir)/config/Make.rules.mak
-CPPFLAGS = -I. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
+CPPFLAGS = -I. -I.. $(CPPFLAGS) -DWIN32_LEAN_AND_MEAN
!if "$(GENERATE_PDB)" == "yes"
PDBFLAGS = /pdb:$(NAME:.exe=.pdb)