tizentoolchain.h 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. /****************************************************************************
  2. **
  3. ** Copyright (C) 2013 Jarek Pelczar <jpelczar@gmail.com>
  4. **
  5. ** This file is part of Qt Creator.
  6. **
  7. ** Commercial License Usage
  8. ** Licensees holding valid commercial Qt licenses may use this file in
  9. ** accordance with the commercial license agreement provided with the
  10. ** Software or, alternatively, in accordance with the terms contained in
  11. ** a written agreement between you and Digia. For licensing terms and
  12. ** conditions see http://qt.digia.com/licensing. For further information
  13. ** use the contact form at http://qt.digia.com/contact-us.
  14. **
  15. ** GNU Lesser General Public License Usage
  16. ** Alternatively, this file may be used under the terms of the GNU Lesser
  17. ** General Public License version 2.1 as published by the Free Software
  18. ** Foundation and appearing in the file LICENSE.LGPL included in the
  19. ** packaging of this file. Please review the following information to
  20. ** ensure the GNU Lesser General Public License version 2.1 requirements
  21. ** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
  22. **
  23. ** In addition, as a special exception, Digia gives you certain additional
  24. ** rights. These rights are described in the Digia Qt LGPL Exception
  25. ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
  26. **
  27. ****************************************************************************/
  28. #ifndef TIZEN_TIZENTOOLCHAIN_H
  29. #define TIZEN_TIZENTOOLCHAIN_H
  30. #include <projectexplorer/gcctoolchain.h>
  31. #include <projectexplorer/toolchainconfigwidget.h>
  32. namespace Tizen {
  33. class TizenToolchainFactory;
  34. class TizenGccToolchain : public ProjectExplorer::GccToolChain
  35. {
  36. public:
  37. ~TizenGccToolchain();
  38. QString type() const;
  39. QString typeDisplayName() const;
  40. bool isValid() const;
  41. void addToEnvironment(Utils::Environment &env) const;
  42. bool operator ==(const ProjectExplorer::ToolChain &) const;
  43. ProjectExplorer::ToolChainConfigWidget *configurationWidget();
  44. Utils::FileName suggestedDebugger() const;
  45. QVariantMap toMap() const;
  46. bool fromMap(const QVariantMap &data);
  47. QString makeCommand(const Utils::Environment &environment) const;
  48. QList<Utils::FileName> suggestedMkspecList() const;
  49. protected:
  50. virtual QList<ProjectExplorer::Abi> detectSupportedAbis() const;
  51. private:
  52. TizenGccToolchain();
  53. TizenGccToolchain(const ProjectExplorer::Abi::Architecture arch, bool autoDetected);
  54. TizenGccToolchain(const TizenGccToolchain&);
  55. friend class TizenToolchainFactory;
  56. };
  57. class TizenToolchainFactory : public ProjectExplorer::ToolChainFactory
  58. {
  59. Q_OBJECT
  60. public:
  61. TizenToolchainFactory();
  62. QString displayName() const;
  63. QString id() const;
  64. virtual QList<ProjectExplorer::ToolChain *> autoDetect();
  65. virtual bool canRestore(const QVariantMap &data);
  66. virtual ProjectExplorer::ToolChain *restore(const QVariantMap &data);
  67. virtual bool canCreate();
  68. virtual ProjectExplorer::ToolChain *create();
  69. static QList<ProjectExplorer::ToolChain *> createToolchainsForSdk(const QString& sdkPath, const QString& sbiPath);
  70. };
  71. } // namespace Tizen
  72. #endif // TIZEN_TIZENTOOLCHAIN_H