comparison generator/main.cpp @ 384:d2f48c4cb3e3

Same behavior of shared libs on linux and windows. Minor build script fixes.
author Max Samukha <maxter@spambox.com>
date Fri, 16 Jul 2010 20:04:29 +0300
parents 6cd923119ab1
children
comparison
equal deleted inserted replaced
383:bd7f485e3573 384:d2f48c4cb3e3
44 #include "reporthandler.h" 44 #include "reporthandler.h"
45 #include "typesystem.h" 45 #include "typesystem.h"
46 #include "generatorset.h" 46 #include "generatorset.h"
47 #include "fileout.h" 47 #include "fileout.h"
48 #include "binder.h" 48 #include "binder.h"
49 #include "global.h"
49 50
50 #include "abstractmetalang.h" 51 #include "abstractmetalang.h"
51 52
52 #include <QDir> 53 #include <QDir>
53
54 bool cpp_shared;
55 bool dPhobos = false;
56 int dVersion = 1;
57 54
58 void ReportHandler_message_handler(const std::string &str) 55 void ReportHandler_message_handler(const std::string &str)
59 { 56 {
60 ReportHandler::warning(QString::fromStdString(str)); 57 ReportHandler::warning(QString::fromStdString(str));
61 } 58 }
128 if (args.contains("rebuild-only")) { 125 if (args.contains("rebuild-only")) {
129 QStringList classes = args.value("rebuild-only").split(",", QString::SkipEmptyParts); 126 QStringList classes = args.value("rebuild-only").split(",", QString::SkipEmptyParts);
130 TypeDatabase::instance()->setRebuildClasses(classes); 127 TypeDatabase::instance()->setRebuildClasses(classes);
131 } 128 }
132 129
133 if (args.contains("d-target")) 130 QString dTarget = args.value("d-target");
131 if (!dTarget.isEmpty())
134 { 132 {
135 QString dTarget = args.value("d-target"); 133 dTarget = args.value("d-target");
136 if (dTarget == "d1-tango") 134 if (dTarget == "d1-tango")
137 dVersion = 1; 135 global.dVersion = 1;
138 /* 136 /*
139 else if (dtarget == "d2-tango") 137 else if (dtarget == "d2-tango")
140 qFatal("Tango D2 target is not supported"); 138 qFatal("Tango D2 target is not supported");
141 */ 139 */
142 else if (dTarget == "d2-phobos") 140 else if (dTarget == "d2-phobos")
143 { 141 {
144 dVersion = 2; 142 global.dVersion = 2;
145 dPhobos = true; 143 global.dPhobos = true;
146 } 144 }
147 else 145 else
148 { 146 {
149 fprintf(stderr, "D target '%s' is not recognized", qPrintable(dTarget)); 147 fprintf(stderr, "D target '%s' is not recognized", qPrintable(dTarget));
150 return 1; 148 return 1;
177 displayHelp(gs); 175 displayHelp(gs);
178 176
179 if (!gs->readParameters(args)) 177 if (!gs->readParameters(args))
180 displayHelp(gs); 178 displayHelp(gs);
181 179
182 cpp_shared = args.contains("cpp_shared"); 180 global.cppShared = args.contains("cpp-shared");
181
182 global.setTargetPlatform(args.value("target-platform"));
183 183
184 printf("Running the QtD Generator. Please wait while source files are being generated...\n"); 184 printf("Running the QtD Generator. Please wait while source files are being generated...\n");
185 185
186 if (!TypeDatabase::instance()->parseFile(typesystemFileName, source_dir)) 186 if (!TypeDatabase::instance()->parseFile(typesystemFileName, source_dir))
187 qFatal("Cannot parse file: '%s'", qPrintable(typesystemFileName)); 187 qFatal("Cannot parse file: '%s'", qPrintable(typesystemFileName));