Changeset 846 for trunk/qmake/generators/makefile.h
- Timestamp:
- May 5, 2011, 5:36:53 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/vendor/nokia/qt/4.7.2 (added) merged: 845 /branches/vendor/nokia/qt/current merged: 844 /branches/vendor/nokia/qt/4.6.3 removed
- Property svn:mergeinfo changed
-
trunk/qmake/generators/makefile.h
r651 r846 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 201 0Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 201 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation ([email protected]) … … 248 248 virtual bool mergeBuildProject(MakefileGenerator * /*other*/) { return false; } 249 249 virtual bool openOutput(QFile &, const QString &build) const; 250 virtual bool isDosLikeShell() const { return Option::target_mode == Option::TARG_WIN_MODE || 251 Option::target_mode == Option::TARG_OS2_MODE; } 250 virtual bool isDosLikeShell() const { return Option::host_mode == Option::HOST_WIN_MODE || 251 Option::host_mode == Option::HOST_OS2_MODE; } 252 virtual bool isForSymbianSbsv2() const { return false; } // FIXME: killme - i'm ugly! 253 254 /* The next one is to avoid having SymbianCommonGenerator as a virtually 255 inherited class of this class. Instead it is without a base class 256 (avoiding the virtual inheritance problem), and is allowed to use 257 functions defined in here. 258 259 To illustrate: 260 +-------------------+ 261 | MakefileGenerator | 262 +-------------------+ 263 ^ ^ 264 | | 265 | X <-- Avoid this inheritance 266 | | 267 +------------------------+ +------------------------+ 268 | UnixMakefileGenerator | | SymbianCommonGenerator | 269 | or | | | 270 | NmakeMakefileGenerator | | | 271 +------------------------+ +------------------------+ 272 ^ ^ 273 | | 274 | | 275 | | 276 +-----------------------------+ 277 | SymbianMakefileTemplate<> | 278 +-----------------------------+ 279 280 We want to avoid the famous diamond problem, because if we have that, we need 281 virtual inheritance, which not all compilers like. Therefore, we break the 282 link as illustrated. Instead, we have a pointer to MakefileGenerator inside 283 SymbianCommonGenerator, and allows full access by making it a friend here. 284 */ 285 friend class SymbianCommonGenerator; 252 286 }; 253 287
Note:
See TracChangeset
for help on using the changeset viewer.