Move all rs* generated functions to be extern "C".
Change-Id: Ie99117ce8ec50e56ae29eb748f3b7e0b319da76f
diff --git a/rsg_generator.c b/rsg_generator.c
index ca26851..fd531b6 100644
--- a/rsg_generator.c
+++ b/rsg_generator.c
@@ -123,9 +123,12 @@
fprintf(f, ")");
}
-void printFuncDecls(FILE *f, const char *prefix, int addContext) {
+void printFuncDecls(FILE *f, const char *prefix, int addContext, int externC) {
int ct;
for (ct=0; ct < apiCount; ct++) {
+ if (externC) {
+ fprintf(f, "extern \"C\" ");
+ }
printFuncDecl(f, &apis[ct], prefix, addContext, 0);
fprintf(f, ";\n");
}
@@ -400,6 +403,8 @@
int needFlush = 0;
const ApiEntry * api = &apis[ct];
+ fprintf(f, "extern \"C\" ");
+
printFuncDecl(f, api, "rs", 0, 0);
fprintf(f, "\n{\n");
fprintf(f, " ");
@@ -655,7 +660,7 @@
fprintf(f, "namespace android {\n");
fprintf(f, "namespace renderscript {\n");
printStructures(f);
- printFuncDecls(f, "rsi_", 1);
+ printFuncDecls(f, "rsi_", 1, 0);
printPlaybackFuncs(f, "rsp_");
fprintf(f, "\n\ntypedef struct RsPlaybackRemoteHeaderRec {\n");
fprintf(f, " uint32_t command;\n");
@@ -673,7 +678,7 @@
case '1': // rsgApiFuncDecl.h
{
- printFuncDecls(f, "rs", 0);
+ printFuncDecls(f, "rs", 0, 1);
}
break;