edits
[cdsspec-compiler.git] / src / edu / uci / eecs / codeGenerator / CodeGenerator.java
index a86c2cbd257fbc85afa672346df77b2c2dff036a..41a5bddfe32eefba8c061e6455fc99f152dc8fd6 100644 (file)
@@ -178,6 +178,14 @@ public class CodeGenerator {
                        additionIdx = 0;
                        curAddition = additions.codeAdditions.get(0);
                }
+               
+               // Include the header for C/C++ files (.c/.cc/.cpp)
+               String name = file.getName();
+               if (name.endsWith(".c") || name.endsWith(".cc") || name.endsWith(".cpp")) {
+                       newCode.addLine(CodeGeneratorUtils.Comment("Add the" + SpecNaming.CDSSpecGeneratedHeader + " header file"));
+                       newCode.addLine(CodeGeneratorUtils.IncludeHeader(SpecNaming.CDSSpecGeneratedHeader));
+                       newCode.addLine("");
+               }
 
                try {
                        br = new BufferedReader(new FileReader(file));
@@ -318,13 +326,18 @@ public class CodeGenerator {
        }
 
        static public void main(String[] args) {
-               String[] dirNames = { Environment.REGISTER, Environment.MS_QUEUE,
-                               Environment.LINUXRWLOCKS, Environment.MCS_LOCK,
-                               Environment.DEQUE };
+//             String[] dirNames = { 
+//                             Environment.REGISTER, 
+//                             Environment.MS_QUEUE,
+//                             Environment.LINUXRWLOCKS,
+//                             Environment.MCS_LOCK,
+//                             Environment.DEQUE, 
+//                             Environment.TREIBER_STACK };
+               String[] dirNames = args;
 
                for (int i = 0; i < dirNames.length; i++) {
                        String dirName = dirNames[i];
-                       System.out.println("/**********   Processing " + dirName
+                       System.out.println("/**********   Generating CDSSpec files for " + dirName
                                        + "    **********/");
                        CodeGenerator generator = new CodeGenerator(dirName);
                        generator.generateCode();