* CodeGen.cs: Add methods for setting corflags, subsystem, and corflags.
authorJackson Harper <jackson@novell.com>
Sun, 15 Jun 2003 00:54:17 +0000 (00:54 -0000)
committerJackson Harper <jackson@novell.com>
Sun, 15 Jun 2003 00:54:17 +0000 (00:54 -0000)
svn path=/trunk/mcs/; revision=15406

mcs/ilasm/codegen/ChangeLog
mcs/ilasm/codegen/CodeGen.cs

index 269e4e8da575b943b9c79474ef06700c86dbf5bb..c97f2c7c0ed47956f1d028d207e523c9dcbdffcf 100644 (file)
@@ -1,3 +1,7 @@
+2003-06-14 Jackson Harper <jackson@latitudegeo.com>
+
+       * CodeGen.cs: Add methods for setting corflags, subsystem, and corflags.
+       
 2003-06-14 Jackson Harper <jackson@latitudegeo.com>
 
        * ITypeRef.cs, PeapiTypeRef.cs, TypeRef.cs: Quick hack for custom
index ddf8acc3c458a03167c87f09fc7767b0cf121da5..7670c551bc8434ea25450094eb9f2b840e0aaba2 100644 (file)
@@ -34,6 +34,10 @@ namespace Mono.ILASM {
 \r
                 private ArrayList defcont_list;\r
 \r
+                private int sub_system;\r
+                private int cor_flags;\r
+                private long image_base;\r
+\r
                 public CodeGen (string output_file, bool is_dll, bool is_assembly)\r
                 {\r
                         pefile = new PEFile (output_file, is_dll, is_assembly);\r
@@ -45,6 +49,10 @@ namespace Mono.ILASM {
                         global_data_list = new ArrayList ();\r
 \r
                         defcont_list = new ArrayList ();\r
+\r
+                        sub_system = -1;\r
+                        cor_flags = -1;\r
+                        image_base = -1;\r
                 }\r
 \r
                 public PEFile PEFile {\r
@@ -72,6 +80,21 @@ namespace Mono.ILASM {
                         get { return type_manager; }\r
                 }\r
 \r
+                public void SetSubSystem (int sub_system)\r
+                {\r
+                        this.sub_system = sub_system;\r
+                }\r
+\r
+                public void SetCorFlags (int cor_flags)\r
+                {\r
+                        this.cor_flags = cor_flags;\r
+                }\r
+\r
+                public void SetImageBase (long image_base)\r
+                {\r
+                        this.image_base = image_base;\r
+                }\r
+\r
                 public void SetAssemblyName (string name)\r
                 {\r
                         assembly_name = name;\r
@@ -175,6 +198,11 @@ namespace Mono.ILASM {
                                 typedef.DefineContents (this);\r
                         }\r
 \r
+                        if (sub_system != -1)\r
+                                pefile.SetSubSystem ((PEAPI.SubSystem) sub_system);\r
+                        if (cor_flags != -1)\r
+                                pefile.SetCorFlags (cor_flags);\r
+\r
                         pefile.WritePEFile ();\r
                 }\r
 \r