1f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)# Copyright 2013 The Chromium Authors. All rights reserved.
2f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be
3f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)# found in the LICENSE file.
4f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
5f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)"""The linux specific host and platform implementation module."""
6f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
7f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)import os
8f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
9f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)import cr
10f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
11f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
12f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)class LinuxHost(cr.Host):
13f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  """The implementation of Host for linux."""
14f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
15f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  ACTIVE = cr.Config.From(
16f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)      GOOGLE_CODE='/usr/local/google/code',
17f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  )
18f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
19f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  def __init__(self):
20f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)    super(LinuxHost, self).__init__()
21f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
22f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  def Matches(self):
23f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)    return cr.Platform.System() == 'Linux'
24f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
25f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
26f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)class LinuxPlatform(cr.Platform):
27f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  """The implementation of Platform for the linux target."""
28f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
29f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  ACTIVE = cr.Config.From(
30f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)      CR_BINARY=os.path.join('{CR_BUILD_DIR}', '{CR_BUILD_TARGET}'),
31f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)      CHROME_DEVEL_SANDBOX='/usr/local/sbin/chrome-devel-sandbox',
32f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  )
33f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
34f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  @property
35f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  def enabled(self):
36f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)    return cr.Platform.System() == 'Linux'
37f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
38f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  @property
39f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  def priority(self):
40f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)    return 2
41f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)
42f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  @property
43f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)  def paths(self):
44f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)    return ['{GOMA_DIR}']
45