aboutsummaryrefslogtreecommitdiffstats
path: root/emulator/opengl/host/tools/emugen/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'emulator/opengl/host/tools/emugen/main.cpp')
-rw-r--r--emulator/opengl/host/tools/emugen/main.cpp165
1 files changed, 0 insertions, 165 deletions
diff --git a/emulator/opengl/host/tools/emugen/main.cpp b/emulator/opengl/host/tools/emugen/main.cpp
deleted file mode 100644
index c0c24e9..0000000
--- a/emulator/opengl/host/tools/emugen/main.cpp
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
-* Copyright (C) 2011 The Android Open Source Project
-*
-* Licensed under the Apache License, Version 2.0 (the "License");
-* you may not use this file except in compliance with the License.
-* You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-#include <stdio.h>
-#include <stdlib.h>
-#include "errors.h"
-#include "EntryPoint.h"
-#include "strUtils.h"
-#include "ApiGen.h"
-#include "TypeFactory.h"
-#include "getopt.h"
-
-const std::string SPEC_EXTENSION = std::string(".in");
-const std::string ATTRIB_EXTENSION = std::string(".attrib");
-const std::string TYPES_EXTENTION = std::string(".types");
-
-
-void usage(const char *filename)
-{
- fprintf(stderr, "Usage: %s [options] <base name>\n", filename);
- fprintf(stderr, "\t-h: This message\n");
- fprintf(stderr, "\t-E <dir>: generate encoder into dir\n");
- fprintf(stderr, "\t-D <dir>: generate decoder into dir\n");
- fprintf(stderr, "\t-i: input dir, local directory by default\n");
- fprintf(stderr, "\t-T : generate attribute template into the input directory\n\t\tno other files are generated\n");
- fprintf(stderr, "\t-W : generate wrapper into dir\n");
-}
-
-int main(int argc, char *argv[])
-{
- std::string encoderDir = "";
- std::string decoderDir = "";
- std::string wrapperDir = "";
- std::string inDir = ".";
- bool generateAttributesTemplate = false;
-
- int c;
- while((c = getopt(argc, argv, "TE:D:i:hW:")) != -1) {
- switch(c) {
- case 'W':
- wrapperDir = std::string(optarg);
- break;
- case 'T':
- generateAttributesTemplate = true;
- break;
- case 'h':
- usage(argv[0]);
- exit(0);
- break;
- case 'E':
- encoderDir = std::string(optarg);
- break;
- case 'D':
- decoderDir = std::string(optarg);
- break;
- case 'i':
- inDir = std::string(optarg);
- break;
- case ':':
- fprintf(stderr, "Missing argument !!\n");
- // fall through
- default:
- usage(argv[0]);
- exit(0);
- }
- }
-
- if (optind >= argc) {
- fprintf(stderr, "Usage: %s [options] <base name> \n", argv[0]);
- return BAD_USAGE;
- }
-
- if (encoderDir.size() == 0 &&
- decoderDir.size() == 0 &&
- generateAttributesTemplate == false &&
- wrapperDir.size() == 0) {
- fprintf(stderr, "No output specified - aborting\n");
- return BAD_USAGE;
- }
-
- std::string baseName = std::string(argv[optind]);
- ApiGen apiEntries(baseName);
-
- // init types;
- std::string typesFilename = inDir + "/" + baseName + TYPES_EXTENTION;
-
- if (TypeFactory::instance()->initFromFile(typesFilename) < 0) {
- fprintf(stderr, "missing or error reading types file: %s...ignored\n", typesFilename.c_str());
- }
-
- std::string filename = inDir + "/" + baseName + SPEC_EXTENSION;
- if (apiEntries.readSpec(filename) < 0) {
- perror(filename.c_str());
- return BAD_SPEC_FILE;
- }
-
-
- if (generateAttributesTemplate) {
- apiEntries.genAttributesTemplate(inDir + "/" + baseName + ATTRIB_EXTENSION);
- exit(0);
- }
-
- std::string attribFileName = inDir + "/" + baseName + ATTRIB_EXTENSION;
- if (apiEntries.readAttributes(attribFileName) < 0) {
- perror(attribFileName.c_str());
- fprintf(stderr, "failed to parse attributes\n");
- exit(1);
- }
-
- if (encoderDir.size() != 0) {
-
- apiEntries.genOpcodes(encoderDir + "/" + baseName + "_opcodes.h");
- apiEntries.genContext(encoderDir + "/" + baseName + "_client_context.h", ApiGen::CLIENT_SIDE);
- apiEntries.genContextImpl(encoderDir + "/" + baseName + "_client_context.cpp", ApiGen::CLIENT_SIDE);
-
- apiEntries.genProcTypes(encoderDir + "/" + baseName + "_client_proc.h", ApiGen::CLIENT_SIDE);
- apiEntries.genFuncTable(encoderDir + "/" + baseName + "_ftable.h", ApiGen::CLIENT_SIDE);
-
- apiEntries.genEntryPoints(encoderDir + "/" + baseName + "_entry.cpp", ApiGen::CLIENT_SIDE);
- apiEntries.genEncoderHeader(encoderDir + "/" + baseName + "_enc.h");
- apiEntries.genEncoderImpl(encoderDir + "/" + baseName + "_enc.cpp");
- }
-
- if (decoderDir.size() != 0) {
- apiEntries.genOpcodes(decoderDir + "/" + baseName + "_opcodes.h");
- apiEntries.genProcTypes(decoderDir + "/" + baseName + "_server_proc.h", ApiGen::SERVER_SIDE);
- apiEntries.genContext(decoderDir + "/" + baseName + "_server_context.h", ApiGen::SERVER_SIDE);
- apiEntries.genContextImpl(decoderDir + "/" + baseName + "_server_context.cpp", ApiGen::SERVER_SIDE);
- apiEntries.genDecoderHeader(decoderDir + "/" + baseName + "_dec.h");
- apiEntries.genDecoderImpl(decoderDir + "/" + baseName + "_dec.cpp");
- }
-
- if (wrapperDir.size() != 0) {
- apiEntries.genProcTypes(wrapperDir + "/" + baseName + "_wrapper_proc.h", ApiGen::WRAPPER_SIDE);
- apiEntries.genContext(wrapperDir + "/" + baseName + "_wrapper_context.h", ApiGen::WRAPPER_SIDE);
- apiEntries.genContextImpl(wrapperDir + "/" + baseName + "_wrapper_context.cpp", ApiGen::WRAPPER_SIDE);
- apiEntries.genEntryPoints(wrapperDir + "/" + baseName + "_wrapper_entry.cpp", ApiGen::WRAPPER_SIDE);
- }
-
-#ifdef DEBUG_DUMP
- int withPointers = 0;
- printf("%d functions found\n", int(apiEntries.size()));
- for (int i = 0; i < apiEntries.size(); i++) {
- if (apiEntries[i].hasPointers()) {
- withPointers++;
- apiEntries[i].print();
- }
- }
- fprintf(stdout, "%d entries has poitners\n", withPointers);
-#endif
-
-}
-