baby steps

This commit is contained in:
David Renshaw 2014-05-09 22:05:40 -04:00
parent d2cb61fd17
commit 3c434637c5
2 changed files with 10 additions and 13 deletions

View file

@ -2,9 +2,9 @@ CXX=g++ -std=c++11
CAPNPC_JAVA_SOURCES=src/compiler/capnpc-java.c++ CAPNPC_JAVA_SOURCES=src/compiler/capnpc-java.c++
.PHONY: all clean .PHONY: all clean addressbook
all : capnpc-java all : capnpc-java addressbook
clean : clean :
@ -12,3 +12,7 @@ clean :
capnpc-java : $(CAPNPC_JAVA_SOURCES) capnpc-java : $(CAPNPC_JAVA_SOURCES)
$(CXX) -I/usr/local/include -L/usr/local/lib -lkj -lcapnp $(CAPNPC_JAVA_SOURCES) -o capnpc-java $(CXX) -I/usr/local/include -L/usr/local/lib -lkj -lcapnp $(CAPNPC_JAVA_SOURCES) -o capnpc-java
addressbook : capnpc-java
capnp compile -o ./capnpc-java examples/addressbook.capnp

View file

@ -1165,7 +1165,7 @@ private:
" struct ", name, ";\n"), " struct ", name, ";\n"),
kj::strTree( kj::strTree(
"struct ", fullName, " {\n", "class ", fullName, " {\n",
" ", name, "() = delete;\n" " ", name, "() = delete;\n"
"\n" "\n"
" class Reader;\n" " class Reader;\n"
@ -1880,16 +1880,9 @@ private:
"// Generated by Cap'n Proto compiler, DO NOT EDIT\n" "// Generated by Cap'n Proto compiler, DO NOT EDIT\n"
"// source: ", baseName(displayName), "\n" "// source: ", baseName(displayName), "\n"
"\n" "\n"
"#ifndef CAPNP_INCLUDED_", kj::hex(node.getId()), "_\n", "//#include <capnp/generated-header-support.h>\n",
"#define CAPNP_INCLUDED_", kj::hex(node.getId()), "_\n"
"\n"
"#include <capnp/generated-header-support.h>\n",
hasInterfaces ? kj::strTree("#include <capnp/capability.h>\n") : kj::strTree(), hasInterfaces ? kj::strTree("#include <capnp/capability.h>\n") : kj::strTree(),
"\n" "\n"
"#if CAPNP_VERSION != ", CAPNP_VERSION, "\n"
"#error \"Version mismatch between generated code and library headers. You must "
"use the same version of the Cap'n Proto compiler and library.\"\n"
"#endif\n"
"\n", "\n",
KJ_MAP(path, includes) { KJ_MAP(path, includes) {
if (path.startsWith("/")) { if (path.startsWith("/")) {
@ -1999,8 +1992,8 @@ private:
auto schema = schemaLoader.get(requestedFile.getId()); auto schema = schemaLoader.get(requestedFile.getId());
auto fileText = makeFileText(schema, requestedFile); auto fileText = makeFileText(schema, requestedFile);
writeFile(kj::str(schema.getProto().getDisplayName(), ".h"), fileText.header); writeFile(kj::str(schema.getProto().getDisplayName(), ".java"), fileText.header);
writeFile(kj::str(schema.getProto().getDisplayName(), ".c++"), fileText.source); // writeFile(kj::str(schema.getProto().getDisplayName(), ".c++"), fileText.source);
} }
return true; return true;