Ignore:
Timestamp:
May 5, 2011, 5:36:53 AM (14 years ago)
Author:
Dmitry A. Kuminov
Message:

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/qmake/generators/makefile.h

    r651 r846  
    11/****************************************************************************
    22**
    3 ** Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
     3** Copyright (C) 201 Nokia Corporation and/or its subsidiary(-ies).
    44** All rights reserved.
    55** Contact: Nokia Corporation ([email protected])
     
    248248    virtual bool mergeBuildProject(MakefileGenerator * /*other*/) { return false; }
    249249    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;
    252286};
    253287
Note: See TracChangeset for help on using the changeset viewer.