Beispiel #1
0
        public static void Main(string[] args)
        {
            Console.WriteLine("Generating the C++/CLI parser bindings for Windows...");
            ConsoleDriver.Run(new ParserGen(GeneratorKind.CLI, "i686-pc-win32-msvc",
                                            CppAbi.Microsoft));
            Console.WriteLine();

            Console.WriteLine("Generating the C# parser bindings for Windows...");
            ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "i686-pc-win32-msvc",
                                            CppAbi.Microsoft));
            Console.WriteLine();

            var osxHeadersPath = Path.Combine(GetSourceDirectory("build"), @"headers\osx");

            if (Directory.Exists(osxHeadersPath))
            {
                Console.WriteLine("Generating the C# parser bindings for OSX...");
                ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "i686-apple-darwin12.4.0",
                                                CppAbi.Itanium));
                Console.WriteLine();
            }

            if (Directory.Exists(LINUX_INCLUDE_BASE_DIR))
            {
                Console.WriteLine("Generating the C# parser bindings for Linux...");
                ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "x86_64-linux-gnu",
                                                CppAbi.Itanium));
                Console.WriteLine();
            }
        }
Beispiel #2
0
        public void Run()
        {
            StringBuilder messageBuilder = new StringBuilder();

            messageBuilder.Append("Generating ");

            switch (options.Kind)
            {
            case GeneratorKind.CLI:
                messageBuilder.Append("C++/CLI");
                break;

            case GeneratorKind.CSharp:
                messageBuilder.Append("C#");
                break;
            }

            messageBuilder.Append(" bindings for ");

            switch (options.Platform)
            {
            case TargetPlatform.Linux:
                messageBuilder.Append("Linux");
                break;

            case TargetPlatform.MacOS:
                messageBuilder.Append("OSX");
                break;

            case TargetPlatform.Windows:
                messageBuilder.Append("Windows");
                break;
            }

            messageBuilder.Append(" ");

            switch (options.Architecture)
            {
            case TargetArchitecture.x86:
                messageBuilder.Append("x86");
                break;

            case TargetArchitecture.x64:
                messageBuilder.Append("x64");
                break;
            }

            if (options.Cpp11ABI)
            {
                messageBuilder.Append(" (GCC C++11 ABI)");
            }

            messageBuilder.Append("...");

            Console.WriteLine(messageBuilder.ToString());

            ConsoleDriver.Run(this);

            Console.WriteLine();
        }
Beispiel #3
0
        public void Run()
        {
            String message = "Generating the ";

            switch (_options.Kind)
            {
            case GeneratorKind.CLI:
                message += "C++/CLI";
                break;

            case GeneratorKind.CSharp:
                message += "C#";
                break;
            }

            message += " parser bindings for ";

            switch (_options.Platform)
            {
            case TargetPlatform.Linux:
                message += "Linux";
                break;

            case TargetPlatform.MacOS:
                message += "OSX";
                break;

            case TargetPlatform.Windows:
                message += "Windows";
                break;
            }

            message += " ";

            switch (_options.Architecture)
            {
            case TargetArchitecture.x86:
                message += "x86";
                break;

            case TargetArchitecture.x64:
                message += "x64";
                break;
            }

            if (_options.Cpp11ABI)
            {
                message += " (GCC C++11 ABI)";
            }

            message += "...";

            Console.WriteLine(message);

            ConsoleDriver.Run(this);

            Console.WriteLine();
        }
Beispiel #4
0
        public static void Main(string[] args)
        {
            if (Platform.IsWindows)
            {
                Console.WriteLine("Generating the C++/CLI parser bindings for Windows...");
                ConsoleDriver.Run(new ParserGen(GeneratorKind.CLI, "i686-pc-win32-msvc",
                                                CppAbi.Microsoft));
                Console.WriteLine();

                Console.WriteLine("Generating the C# parser bindings for Windows...");
                ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "i686-pc-win32-msvc",
                                                CppAbi.Microsoft));
                Console.WriteLine();

                Console.WriteLine("Generating the C# 64-bit parser bindings for Windows...");
                ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "x86_64-pc-win32-msvc",
                                                CppAbi.Microsoft));
                Console.WriteLine();
            }

            var osxHeadersPath = Path.Combine(GetSourceDirectory("build"), @"headers\osx");

            if (Directory.Exists(osxHeadersPath) || Platform.IsMacOS)
            {
                Console.WriteLine("Generating the C# parser bindings for OSX...");
                ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "i686-apple-darwin12.4.0",
                                                CppAbi.Itanium));
                Console.WriteLine();

                Console.WriteLine("Generating the C# parser bindings for OSX...");
                ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "x86_64-apple-darwin12.4.0",
                                                CppAbi.Itanium));
                Console.WriteLine();
            }

            var linuxHeadersPath = Path.Combine(GetSourceDirectory("build"), @"headers\x86_64-linux-gnu");

            if (Directory.Exists(linuxHeadersPath) || Platform.IsLinux)
            {
                Console.WriteLine("Generating the C# parser bindings for Linux...");
                ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "x86_64-linux-gnu",
                                                CppAbi.Itanium));
                Console.WriteLine();

                Console.WriteLine("Generating the C# parser bindings for Linux (GCC C++11 ABI)...");
                ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "x86_64-linux-gnu",
                                                CppAbi.Itanium, isGnuCpp11Abi: true));
                Console.WriteLine();
            }
        }
Beispiel #5
0
        public void Run()
        {
            StringBuilder messageBuilder = new StringBuilder();

            messageBuilder.Append($"Generating {GetGeneratorKindName(options.Kind)}");
            messageBuilder.Append($" bindings for {GetPlatformName(options.Platform)} {options.Architecture}");

            if (options.Cpp11ABI)
            {
                messageBuilder.Append(" (GCC C++11 ABI)");
            }

            messageBuilder.Append("...");
            Console.WriteLine(messageBuilder.ToString());

            ConsoleDriver.Run(this);

            Console.WriteLine();
        }
Beispiel #6
0
        public static void Main(string[] args)
        {
            Console.WriteLine("Generating the C++/CLI parser bindings...");
            ConsoleDriver.Run(new ParserGen(GeneratorKind.CLI, "i686-pc-win32",
                                            CppAbi.Microsoft));
            Console.WriteLine();

            Console.WriteLine("Generating the C# parser bindings...");
            ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "i686-pc-win32",
                                            CppAbi.Microsoft));

            // Uncoment the following lines to enable generation of Mac parser bindings.
            // This is disabled by default for now since it requires a non-trivial
            // environment setup: a copy of the Mac SDK native headers and a recent checkout
            // of libcxx since the one provided by the Mac SDK is not compatible with a recent
            // Clang frontend that we use to parse it.

            //ConsoleDriver.Run(new ParserGen(GeneratorKind.CSharp, "i686-apple-darwin12.4.0",
            //    CppAbi.Itanium));
        }
Beispiel #7
0
 public static void Main(string[] args)
 {
     ConsoleDriver.Run(new SDL());
 }
Beispiel #8
0
 public static void Main(string[] args)
 {
     Console.WriteLine("Generating parser bootstrap code...");
     ConsoleDriver.Run(new Bootstrap());
     Console.WriteLine();
 }
Beispiel #9
0
 public static void Main(string[] args)
 {
     ConsoleDriver.Run(new FooLibrary("Foo", GeneratorKind.CSharp));
     Console.Read();
 }