Merge "Set up aidl for gtest"
diff --git a/AST.h b/AST.h
index ead5e7a..0640b2a 100644
--- a/AST.h
+++ b/AST.h
@@ -1,5 +1,5 @@
-#ifndef AIDL_AST_H
-#define AIDL_AST_H
+#ifndef AIDL_AST_H_
+#define AIDL_AST_H_
#include <string>
#include <vector>
@@ -7,7 +7,9 @@
#include <stdarg.h>
#include <stdio.h>
-using namespace std;
+using std::set;
+using std::string;
+using std::vector;
class Type;
@@ -368,4 +370,4 @@
virtual void Write(FILE* to);
};
-#endif // AIDL_AST_H
+#endif // AIDL_AST_H_
diff --git a/Android.mk b/Android.mk
index c76a04e..f18b082 100644
--- a/Android.mk
+++ b/Android.mk
@@ -8,21 +8,33 @@
LOCAL_PATH:= $(call my-dir)
include $(CLEAR_VARS)
-LOCAL_SRC_FILES := \
- aidl_language_l.l \
- aidl_language_y.y \
- aidl.cpp \
- aidl_language.cpp \
- options.cpp \
- search_path.cpp \
- AST.cpp \
- Type.cpp \
- generate_java.cpp \
- generate_java_binder.cpp \
- generate_java_rpc.cpp
+LOCAL_CLANG_CFLAGS := -Wall -Werror
+# Tragically, the code is riddled with unused parameters.
+LOCAL_CLANG_CFLAGS += -Wno-unused-parameter
+# yacc dumps a lot of code *just in case*.
+LOCAL_CLANG_CFLAGS += -Wno-unused-function
+LOCAL_CLANG_CFLAGS += -Wno-unneeded-internal-declaration
+# yacc is a tool from a more civilized age.
+LOCAL_CLANG_CFLAGS += -Wno-deprecated-register
+# yacc also has a habit of using char* over const char*.
+LOCAL_CLANG_CFLAGS += -Wno-writable-strings
-LOCAL_CFLAGS := -g
+LOCAL_SRC_FILES := \
+ AST.cpp \
+ Type.cpp \
+ aidl.cpp \
+ aidl_language.cpp \
+ aidl_language_l.l \
+ aidl_language_y.y \
+ generate_java.cpp \
+ generate_java_binder.cpp \
+ generate_java_rpc.cpp \
+ main.cpp \
+ options.cpp \
+ search_path.cpp \
+
LOCAL_MODULE := aidl
+LOCAL_MODULE_HOST_OS := darwin linux windows
include $(BUILD_HOST_EXECUTABLE)
diff --git a/Type.h b/Type.h
index ae12720..cf6eaff 100644
--- a/Type.h
+++ b/Type.h
@@ -1,11 +1,12 @@
-#ifndef AIDL_TYPE_H
-#define AIDL_TYPE_H
+#ifndef AIDL_TYPE_H_
+#define AIDL_TYPE_H_
#include "AST.h"
#include <string>
#include <vector>
-using namespace std;
+using std::string;
+using std::vector;
class Type
{
@@ -539,4 +540,4 @@
void register_base_types();
-#endif // AIDL_TYPE_H
+#endif // AIDL_TYPE_H_
diff --git a/aidl.cpp b/aidl.cpp
index 438007f..d77f2b1 100644
--- a/aidl.cpp
+++ b/aidl.cpp
@@ -31,7 +31,10 @@
#define MIN_USER_SET_METHOD_ID 0
#define MAX_USER_SET_METHOD_ID 16777214
-using namespace std;
+using std::map;
+using std::set;
+using std::string;
+using std::vector;
static void
test_document(document_item_type* d)
@@ -162,11 +165,6 @@
{
}
-static ParserCallbacks g_importCallbacks = {
- &main_document_parsed,
- &import_import_parsed
-};
-
// ==========================================================
static int
check_filename(const char* filename, const char* package, buffer_type* name)
@@ -938,7 +936,7 @@
}
// ==========================================================
-static int
+int
compile_aidl(Options& options)
{
int err = 0, N;
@@ -1068,7 +1066,7 @@
return err;
}
-static int
+int
preprocess_aidl(const Options& options)
{
vector<string> lines;
@@ -1140,24 +1138,3 @@
close(fd);
return 0;
}
-
-// ==========================================================
-int
-main(int argc, const char **argv)
-{
- Options options;
- int result = parse_options(argc, argv, &options);
- if (result) {
- return result;
- }
-
- switch (options.task)
- {
- case COMPILE_AIDL:
- return compile_aidl(options);
- case PREPROCESS_AIDL:
- return preprocess_aidl(options);
- }
- fprintf(stderr, "aidl: internal error\n");
- return 1;
-}
diff --git a/aidl.h b/aidl.h
new file mode 100644
index 0000000..98b15f3
--- /dev/null
+++ b/aidl.h
@@ -0,0 +1,9 @@
+#ifndef AIDL_AIDL_H_
+#define AIDL_AIDL_H_
+
+#include "options.h"
+
+int compile_aidl(Options& options);
+int preprocess_aidl(const Options& options);
+
+#endif // AIDL_AIDL_H_
diff --git a/aidl_language.h b/aidl_language.h
index de1370c..1be5a9b 100644
--- a/aidl_language.h
+++ b/aidl_language.h
@@ -1,5 +1,5 @@
-#ifndef DEVICE_TOOLS_AIDL_AIDL_LANGUAGE_H
-#define DEVICE_TOOLS_AIDL_AIDL_LANGUAGE_H
+#ifndef AIDL_AIDL_LANGUAGE_H_
+#define AIDL_AIDL_LANGUAGE_H_
typedef enum {
@@ -169,4 +169,4 @@
#endif
-#endif // DEVICE_TOOLS_AIDL_AIDL_LANGUAGE_H
+#endif // AIDL_AIDL_LANGUAGE_H_
diff --git a/generate_java.h b/generate_java.h
index 4bfcfeb..413a5b3 100644
--- a/generate_java.h
+++ b/generate_java.h
@@ -1,12 +1,13 @@
-#ifndef GENERATE_JAVA_H
-#define GENERATE_JAVA_H
+#ifndef AIDL_GENERATE_JAVA_H_
+#define AIDL_GENERATE_JAVA_H_
#include "aidl_language.h"
#include "AST.h"
#include <string>
-using namespace std;
+using std::string;
+using std::vector;
int generate_java(const string& filename, const string& originalSrc,
interface_type* iface);
@@ -29,5 +30,5 @@
int m_index;
};
-#endif // GENERATE_JAVA_H
+#endif // AIDL_GENERATE_JAVA_H_
diff --git a/main.cpp b/main.cpp
new file mode 100644
index 0000000..7cc2198
--- /dev/null
+++ b/main.cpp
@@ -0,0 +1,23 @@
+#include "aidl.h"
+#include "options.h"
+
+#include <stdio.h>
+
+int
+main(int argc, const char **argv)
+{
+ Options options;
+ int result = parse_options(argc, argv, &options);
+ if (result) {
+ return result;
+ }
+
+ switch (options.task) {
+ case COMPILE_AIDL:
+ return compile_aidl(options);
+ case PREPROCESS_AIDL:
+ return preprocess_aidl(options);
+ }
+ fprintf(stderr, "aidl: internal error\n");
+ return 1;
+}
diff --git a/options.h b/options.h
index 387e37d..ef4af6d 100644
--- a/options.h
+++ b/options.h
@@ -1,11 +1,12 @@
-#ifndef DEVICE_TOOLS_AIDL_H
-#define DEVICE_TOOLS_AIDL_H
+#ifndef AIDL_OPTIONS_H_
+#define AIDL_OPTIONS_H_
#include <string.h>
#include <string>
#include <vector>
-using namespace std;
+using std::string;
+using std::vector;
enum {
COMPILE_AIDL,
@@ -33,4 +34,4 @@
// It also prints the usage statement on failure.
int parse_options(int argc, const char* const* argv, Options *options);
-#endif // DEVICE_TOOLS_AIDL_H
+#endif // AIDL_OPTIONS_H_
diff --git a/options_test.cpp b/options_test.cpp
index bd106ce..7ac527d 100644
--- a/options_test.cpp
+++ b/options_test.cpp
@@ -3,7 +3,8 @@
const bool VERBOSE = false;
-using namespace std;
+using std::string;
+using std::vector;
struct Answer {
const char* argv[8];
diff --git a/os.h b/os.h
index 79d2c35..752ed47 100644
--- a/os.h
+++ b/os.h
@@ -14,8 +14,8 @@
* limitations under the License.
*/
-#ifndef _FRAMEWORKS_BASE_TOOLS_AIDL_OS_SEP_H_
-#define _FRAMEWORKS_BASE_TOOLS_AIDL_OS_SEP_H_
+#ifndef AIDL_OS_H_
+#define AIDL_OS_H_
#if defined(_WIN32)
#define OS_PATH_SEPARATOR '\\'
@@ -23,4 +23,4 @@
#define OS_PATH_SEPARATOR '/'
#endif
-#endif
+#endif // AIDL_OS_H_
diff --git a/search_path.h b/search_path.h
index 2bf94b1..de10d9b 100644
--- a/search_path.h
+++ b/search_path.h
@@ -1,12 +1,15 @@
-#ifndef DEVICE_TOOLS_AIDL_SEARCH_PATH_H
-#define DEVICE_TOOLS_AIDL_SEARCH_PATH_H
+#ifndef AIDL_SEARCH_PATH_H_
+#define AIDL_SEARCH_PATH_H_
#include <stdio.h>
#if __cplusplus
#include <vector>
#include <string>
-using namespace std;
+
+using std::string;
+using std::vector;
+
extern "C" {
#endif
@@ -19,5 +22,4 @@
void set_import_paths(const vector<string>& importPaths);
#endif
-#endif // DEVICE_TOOLS_AIDL_SEARCH_PATH_H
-
+#endif // AIDL_SEARCH_PATH_H_