Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(458)

Unified Diff: site_scons/site_tools/target_platform_linux.py

Issue 6329: Dropping in software construction toolkit. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 12 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « site_scons/site_tools/target_optimized.py ('k') | site_scons/site_tools/target_platform_mac.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: site_scons/site_tools/target_platform_linux.py
===================================================================
--- site_scons/site_tools/target_platform_linux.py (revision 0)
+++ site_scons/site_tools/target_platform_linux.py (revision 0)
@@ -0,0 +1,93 @@
+#!/usr/bin/python2.4
+# Copyright 2008, Google Inc.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are
+# met:
+#
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above
+# copyright notice, this list of conditions and the following disclaimer
+# in the documentation and/or other materials provided with the
+# distribution.
+# * Neither the name of Google Inc. nor the names of its
+# contributors may be used to endorse or promote products derived from
+# this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+"""Build tool setup for Linux.
+
+This module is a SCons tool which should be include in the topmost windows
+environment.
+It is used as follows:
+ env = base_env.Clone(tools = ['component_setup'])
+ linux_env = base_env.Clone(tools = ['target_platform_linux'])
+"""
+
+
+def ComponentPlatformSetup(env, builder_name):
+ """Hook to allow platform to modify environment inside a component builder.
+
+ Args:
+ env: Environment to modify
+ builder_name: Name of the builder
+ """
+ if env.get('ENABLE_EXCEPTIONS'):
+ env.FilterOut(CCFLAGS=['-fno-exceptions'])
+ env.Append(CCFLAGS=['-fexceptions'])
+
+#------------------------------------------------------------------------------
+
+
+def generate(env):
+ # NOTE: SCons requires the use of this name, which fails gpylint.
+ """SCons entry point for this tool."""
+
+ # Use g++
+ env.Tool('g++')
+ env.Tool('gcc')
+ env.Tool('gnulink')
+ env.Tool('ar')
+ env.Tool('as')
+
+ # Declare bits
+ DeclareBit('linux', 'Target platform is linux.',
+ exclusive_groups=('target_platform'))
+ DeclareBit('posix', 'Target platform is posix.')
+ env.SetBits('linux', 'posix')
+
+ env.Replace(
+ TARGET_PLATFORM='LINUX',
+ COMPONENT_PLATFORM_SETUP=ComponentPlatformSetup,
+ )
+
+ env.Append(
+ HOST_PLATFORMS=['LINUX'],
+ CPPDEFINES=['OS_LINUX=OS_LINUX'],
+
+ # Settings for debug
+ CCFLAGS_DEBUG=[
+ '-O0', # turn off optimizations
+ '-g', # turn on debugging info
+ ],
+
+ # Settings for optimized
+ CCFLAGS_OPTIMIZED=['-O2'],
+
+ # Settings for component_builders
+ COMPONENT_LIBRARY_LINK_SUFFIXES=['.so', '.a'],
+ COMPONENT_LIBRARY_DEBUG_SUFFIXES=[],
+ )
« no previous file with comments | « site_scons/site_tools/target_optimized.py ('k') | site_scons/site_tools/target_platform_mac.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698