17c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet# Copyright 2012 Google Inc. All Rights Reserved.
27c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet#
37c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet# Licensed under the Apache License, Version 2.0 (the "License");
47c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet# you may not use this file except in compliance with the License.
57c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet# You may obtain a copy of the License at
67c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet#
77c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet#     http://www.apache.org/licenses/LICENSE-2.0
87c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet#
97c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet# Unless required by applicable law or agreed to in writing, software
107c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet# distributed under the License is distributed on an "AS IS" BASIS,
117c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
127c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet# See the License for the specific language governing permissions and
137c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet# limitations under the License.
147c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet#
157c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet# main.scons for google-tv-pairing-protocol cpp library 
167c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
177c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetimport os
187c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetimport platform
197c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetimport sys
207c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
217c9978567a202d6aa98beac5da5e1b3b34792862Jerome PoichetGTEST_INCLUDES = ['%s/include' % os.environ['GTEST_DIR']]
227c9978567a202d6aa98beac5da5e1b3b34792862Jerome PoichetExport('GTEST_INCLUDES')
237c9978567a202d6aa98beac5da5e1b3b34792862Jerome PoichetGMOCK_INCLUDES = ['%s/include' % os.environ['GMOCK_DIR']]
247c9978567a202d6aa98beac5da5e1b3b34792862Jerome PoichetExport('GMOCK_INCLUDES')
257c9978567a202d6aa98beac5da5e1b3b34792862Jerome PoichetOPENSSL_INCLUDES = ['%s/include' % os.environ['OPENSSL_DIR']]
267c9978567a202d6aa98beac5da5e1b3b34792862Jerome PoichetExport('OPENSSL_INCLUDES')
277c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
287c9978567a202d6aa98beac5da5e1b3b34792862Jerome PoichetGTEST_LIBS = ['%s/lib/.libs' % os.environ['GTEST_DIR']]
297c9978567a202d6aa98beac5da5e1b3b34792862Jerome PoichetExport('GTEST_LIBS')
307c9978567a202d6aa98beac5da5e1b3b34792862Jerome PoichetGMOCK_LIBS = ['%s/lib/.libs' % os.environ['GMOCK_DIR']]
317c9978567a202d6aa98beac5da5e1b3b34792862Jerome PoichetExport('GMOCK_LIBS')
327c9978567a202d6aa98beac5da5e1b3b34792862Jerome PoichetOPENSSL_LIBS = [os.environ['OPENSSL_DIR']]
337c9978567a202d6aa98beac5da5e1b3b34792862Jerome PoichetExport('OPENSSL_LIBS')
347c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
357c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetbuild_environments = []
367c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
377c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetroot_env = Environment(
387c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  tools = ['component_setup'],
397c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  BUILD_SCONSCRIPTS = [
407c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    'src/polo',
417c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    'tests/polo',
427c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  ],
437c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  CPPPATH=['$MAIN_DIR/src'],
447c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet)
457c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
467c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet# Detect 64-bit build platform
477c9978567a202d6aa98beac5da5e1b3b34792862Jerome PoichetDeclareBit('arch_64', 'Target platform is 64-bit')
487c9978567a202d6aa98beac5da5e1b3b34792862Jerome PoichetDeclareBit('64bit', 'Target environment is 64-bit')
497c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetif platform.architecture()[0] == '64bit':
507c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    root_env.SetBits('arch_64')
517c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
527c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet# Setup the linux environment
537c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetlinux_env = root_env.Clone(tools = ['target_platform_linux'])
547c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
557c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetlinux_env.Append(
567c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  LINKFLAGS = ['-static', '-pthread'],
577c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  CCFLAGS = ['-fPIC'],
587c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet)
597c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
607c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetlinux_32_env = linux_env.Clone()
617c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetlinux_32_env.Append(
627c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  CCFLAGS = ['-m32'],
637c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  LINKFLAGS = ['-m32'],
647c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  LIBPATH = [
657c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    #'/usr/lib32',
667c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  ]
677c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet)
687c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
697c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetlinux_dbg_32_env = linux_32_env.Clone(
707c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  BUILD_TYPE = 'dbg',
717c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  BUILD_TYPE_DESCRIPTION = 'Linux 32-bit Debug Build',
727c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  tools = ['target_debug'],
737c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet)
747c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetbuild_environments.append(linux_dbg_32_env)
757c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
767c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
777c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetlinux_opt_32_env = linux_32_env.Clone(
787c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  BUILD_TYPE = 'opt',
797c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  BUILD_TYPE_DESCRIPTION = 'Linux 32-bit Release Build',
807c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  tools = ['target_optimized']
817c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet)
827c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetlinux_opt_32_env.Append(
837c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  CCFLAGS = ['-O2'],
847c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  LINKFLAGS = ['--strip-all', '-s'],
857c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet)
867c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetbuild_environments.append(linux_opt_32_env)
877c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
887c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet#  Add 64-bit linux environment if supported by build platform
897c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetif linux_env.Bit('arch_64'):
907c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  linux_64_env = linux_env.Clone()
917c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  linux_64_env.Append(
927c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    CCFLAGS = ['-m64'],
937c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    LINKFLAGS = ['-m64'],
947c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    LIBPATH = [
957c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet      #'/usr/lib64',
967c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    ]
977c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  )
987c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
997c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  linux_dbg_64_env = linux_64_env.Clone(
1007c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    BUILD_TYPE = 'dbg64',
1017c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    BUILD_TYPE_DESCRIPTION = 'Linux 64-bit Debug Build',
1027c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    BUILD_GROUPS = ['default'],
1037c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    tools = ['target_debug'],
1047c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  )
1057c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  linux_dbg_64_env.SetBits('64bit')
1067c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  build_environments.append(linux_dbg_64_env)
1077c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
1087c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  linux_opt_64_env = linux_64_env.Clone(
1097c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    BUILD_TYPE = 'opt64',
1107c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    BUILD_TYPE_DESCRIPTION = 'Linux 64-bit Release Build',
1117c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    tools = ['target_optimized']
1127c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  )
1137c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  linux_opt_64_env.Append(
1147c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    CCFLAGS = ['-O2'],
1157c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    LINKFLAGS = ['--strip-all'],
1167c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  )
1177c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  linux_opt_64_env.SetBits('64bit')
1187c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  build_environments.append(linux_opt_64_env)
1197c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
1207c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet# Mac OSX Build Environment
1217c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetmac_env = root_env.Clone(tools = ['target_platform_mac'])
1227c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetmac_env.Append(
1237c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  CCFLAGS = [
1247c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '-arch', 'i386',
1257c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '-fPIC',
1267c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  ],
1277c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  CPPDEFINES = [
1287c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    'OSX',
1297c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    'XP_MACOSX',
1307c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  ],
1317c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  FRAMEWORKS = [
1327c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    'CoreFoundation',
1337c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    'IOKit',
1347c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  ],
1357c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  LIBS = [
1367c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    'pthread',
1377c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  ],
1387c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  LINKFLAGS = [
1397c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '-arch', 'i386',
1407c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '-Wl,-search_paths_first',
1417c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  ],
1427c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet)
1437c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
1447c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetmac_opt_env = mac_env.Clone(
1457c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  BUILD_TYPE = 'opt',
1467c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  BUILD_TYPE_DESCRIPTIONS = 'Mac Release Build',
1477c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet)
1487c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
1497c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetmac_opt_env.Append(
1507c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  CCFLAGS = [
1517c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '-O2',
1527c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  ],
1537c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  LINKFLAGS = ['--string-all', '-s'],
1547c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  tools = ['target_optimized'],
1557c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet)
1567c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetbuild_environments.append(mac_opt_env)
1577c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
1587c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetmac_dbg_env = mac_env.Clone(
1597c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  BUILD_TYPE = 'dbg',
1607c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  BUILD_TYPE_DESCRIPTION = 'Mac Debug Build',
1617c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet)
1627c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
1637c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetmac_dbg_env.Append(
1647c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  CCFLAGS = ['-O0'],
1657c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  tools = ['target_debug'],
1667c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet)
1677c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetbuild_environments.append(mac_dbg_env)
1687c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
1697c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
1707c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet# Windows Build Environment
1717c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetwin_env = root_env.Clone(tools = ['target_platform_windows'])
1727c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
1737c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetwin_env.Append(
1747c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  CCFLAGS = [
1757c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '/EHsc',
1767c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  ],
1777c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  CPPDEFINES = [
1787c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    'OS_WINDOWS',
1797c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    'WIN32',
1807c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '_WINDOWS',
1817c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '_WIN32_WINNT=0x0501',
1827c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    'WINVER=0x0501',
1837c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    'WIN32_LEAN_AND_MEAN',
1847c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    'GOOGLE_GLOG_DLL_DECL=',
1857c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    'NOGDI',
1867c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    'BOOST_ALL_NO_LIB',
1877c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    'BOOST_THREAD_BUILD_LIB',
1887c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '_X86_',
1897c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    'X86',
1907c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  ],
1917c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet)
1927c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
1937c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet# We need perl and nasm to be in the path.
1947c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetif sys.platform == 'win32':
1957c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  win_env['ENV']['PATH'] = os.environ['PRESCONS_PATH']
1967c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  win_env['ENV']['INCLUDE'] = os.environ['INCLUDE']
1977c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  win_env['ENV']['LIB'] = os.environ['LIB']
1987c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
1997c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetwin_opt_env = win_env.Clone(
2007c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  BUILD_TYPE = 'opt',
2017c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  BUILD_TYPE_DESCRIPTION = 'Windows Release Build',
2027c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet)
2037c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
2047c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetwin_opt_env.Append(
2057c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  CCFLAGS = [
2067c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '/O1',
2077c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '/GS',
2087c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '/GL',
2097c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '/MT',
2107c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  ],
2117c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  CPPDEFINES = [
2127c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    'NDEBUG',
2137c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  ],
2147c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  ARFLAGS = [
2157c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '/LTCG',
2167c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  ],
2177c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  LINKFLAGS = [
2187c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '/incremental:no',
2197c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '/LTCG',
2207c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '/opt:icf=32',
2217c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '/opt:ref',
2227c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  ]
2237c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet)
2247c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetbuild_environments.append(win_opt_env)
2257c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
2267c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetwin_dbg_env = win_env.Clone(
2277c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  BUILD_TYPE = 'dbg',
2287c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  BUILD_TYPE_DESCRIPTION = 'Windows Debug Build',
2297c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  BUILD_GROUPS = ['default'],
2307c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet)
2317c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
2327c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetwin_dbg_env.Append(
2337c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  CCFLAGS = [
2347c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '/Fd$OBJ_ROOT/vc80.pdb',
2357c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '/MTd',
2367c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '/Od',
2377c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '/Z7',
2387c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  ],
2397c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  CPPDEFINES = [
2407c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    'DEBUG',
2417c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet    '_DEBUG',
2427c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet  ],
2437c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet)
2447c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichetbuild_environments.append(win_dbg_env)
2457c9978567a202d6aa98beac5da5e1b3b34792862Jerome Poichet
2467c9978567a202d6aa98beac5da5e1b3b34792862Jerome PoichetBuildEnvironments(build_environments)
247