# Copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

__doc__ = """
Configuration for building base.sln.
"""

Import('env')

env = env.Clone()

env.Tool('MSVSNew')


env.ChromeMSVSFolder('webkit dependencies',
               name='dependencies',
               entries = [
                   'webkit libxslt projects',
                   '$BASE_DIR/build/debug_message.vcproj',
                   '$BASE_DIR/build/base.vcproj',
                   '$V8_DIR/tools/visual_studio/v8.vcproj',
                   '$LIBJPEG_DIR/libjpeg.vcproj',
                   '$BZIP2_DIR/bzip2.vcproj',
                   '$NET_DIR/build/net.vcproj',
                   '$MEDIA_DIR/build/media.vcproj',
                   '$SQLITE_DIR/sqlite.vcproj',
                   '$MODP_B64_DIR/modp_b64.vcproj',
                   '$ZLIB_DIR/zlib.vcproj',
                   '$V8_DIR/tools/visual_studio/v8_mksnapshot.vcproj',
                   '$ICU38_DIR/build/icu.vcproj',
                   '$ICU38_DIR/build/icudt.vcproj',
                   '$BASE_DIR/build/base_gfx.vcproj',
                   '$BREAKPAD_DIR/breakpad_handler.vcproj',
                   'webkit libxml projects',
                   '$TESTING_DIR/gtest.vcproj',
                   '$V8_DIR/tools/visual_studio/v8_snapshot.vcproj',
                   '$LIBPNG_DIR/libpng.vcproj',
                   '$SKIA_DIR/skia.vcproj',
                   '$NET_DIR/build/tld_cleanup.vcproj',
                   '$V8_DIR/tools/visual_studio/v8_base.vcproj',
                   '$GOOGLEURL_DIR/build/googleurl.vcproj',
                   '$SDCH_DIR/sdch.vcproj',
                   '$NET_DIR/build/net_resources.vcproj',
               ],
               guid='{2C5FC2FE-B8B0-44B9-A7C4-E5B5E7292F6B}')

env.ChromeMSVSFolder('webkit libxml projects',
               name='libxml projects',
               entries = [
                   '$LIBXML_DIR/build/libxml_config.vcproj',
                   '$LIBXML_DIR/build/libxml.vcproj',
               ],
               guid='{B5EEDCC4-877F-4537-AD0E-A3FA070522DF}')

env.ChromeMSVSFolder('webkit libxslt projects',
               name='libxslt projects',
               entries = [
                   '$LIBXSLT_DIR/build/libxslt_config.vcproj',
                   '$LIBXSLT_DIR/build/libxslt.vcproj',
               ],
               guid='{0655DC38-C685-436C-8D99-7CF64CB2CC35}')

env.ChromeMSVSFolder('webkit test',
               name='test',
               entries = [
                   '$WEBKIT_DIR/glue/plugins/test/npapi_test_plugin.vcproj',
                   ('$WEBKIT_DIR/tools/npapi_layout_test_plugin/' +
                        'npapi_layout_test_plugin.vcproj'),
                   '$WEBKIT_DIR/tools/test_shell/test_shell_tests.vcproj',
                   '$WEBKIT_DIR/tools/test_shell/test_shell.vcproj',
               ],
               guid='{4A249B49-19FB-4BD1-B017-718E7A4448EF}')

env.ChromeMSVSFolder('webkit (readonly)',
               entries = [
                   '$WEBKIT_DIR/build/WebCore/WebCore.vcproj',
                   '$WEBKIT_DIR/build/JSConfig/V8Config.vcproj',
                   ('$WEBKIT_DIR/build/JavaScriptCore/' +
                        'JavaScriptCore_pcre.vcproj'),
                   '$WEBKIT_DIR/build/JavaScriptCore/WTF.vcproj',
               ],
               guid='{1DFD10B5-A673-4C3A-BA1D-3546FC4B7740}')

env.ChromeMSVSFolder('webkit (ours)',
               entries = [
                   '$WEBKIT_DIR/build/V8Bindings/V8Bindings_prebuild.vcproj',
                   '$WEBKIT_DIR/activex_shim_dll/activex_shim_dll.vcproj',
                   '$WEBKIT_DIR/build/port/port.vcproj',
                   '$WEBKIT_DIR/default_plugin/default_plugin.vcproj',
                   ('$WEBKIT_DIR/build/localized_strings/' +
                                    'localized_strings.vcproj'),
                   '$WEBKIT_DIR/build/V8Bindings/V8Bindings.vcproj',
                   '$WEBKIT_DIR/build/glue/glue.vcproj',
                   '$WEBKIT_DIR/activex_shim/activex_shim.vcproj',
               ],
               guid='{4BC2C9E2-78FA-446A-B6E0-85689A2B4D3D}')


solution = env.ChromeMSVSSolution('webkit.sln',
                            dest='$CHROME_SRC_DIR/webkit/webkit.sln',
                            entries = [
                               'webkit dependencies',
                               '$WEBKIT_DIR/build/glue/glue.vcproj',
                               '$WEBKIT_DIR/build/V8Bindings/V8Bindings.vcproj',
                               '$WEBKIT_DIR/build/WebCore/WebCore.vcproj',
                               '$WEBKIT_DIR/build/JSConfig/V8Config.vcproj',
                               '$WEBKIT_DIR/build/port/port.vcproj',
                               'webkit (readonly)',
                               '$WEBKIT_DIR/build/JavaScriptCore/WTF.vcproj',
                               ('$WEBKIT_DIR/build/localized_strings/' +
                                    'localized_strings.vcproj'),
                               'webkit (ours)',
                               'webkit test',
                               '$BASE_DIR/build/base_gfx.vcproj',
                               '$BASE_DIR/build/base.vcproj',
                               '$BASE_DIR/build/debug_message.vcproj',
                               '$NET_DIR/build/net.vcproj',
                               '$NET_DIR/build/tld_cleanup.vcproj',
                               '$MEDIA_DIR/build/media.vcproj',
                               '$GOOGLEURL_DIR/build/googleurl.vcproj',
                               '$SKIA_DIR/skia.vcproj',
                               '$ICU38_DIR/build/icudt.vcproj',
                               '$ICU38_DIR/build/icu.vcproj',
                               '$WEBKIT_DIR/tools/test_shell/test_shell.vcproj',
                               '$LIBPNG_DIR/libpng.vcproj',
                               ('$WEBKIT_DIR/tools/test_shell/' +
                                    'test_shell_tests.vcproj'),
                               '$LIBXML_DIR/build/libxml.vcproj',
                               '$LIBXSLT_DIR/build/libxslt.vcproj',
                               '$ZLIB_DIR/zlib.vcproj',
                               '$LIBJPEG_DIR/libjpeg.vcproj',
                               '$BREAKPAD_DIR/breakpad_handler.vcproj',
                               '$MODP_B64_DIR/modp_b64.vcproj',
                               '$BZIP2_DIR/bzip2.vcproj',
                               ('$WEBKIT_DIR/glue/plugins/test/' +
                                    'npapi_test_plugin.vcproj'),
                               ('$WEBKIT_DIR/tools/npapi_layout_test_plugin/' +
                                    'npapi_layout_test_plugin.vcproj'),
                               '$WEBKIT_DIR/activex_shim/activex_shim.vcproj',
                               '$WEBKIT_DIR/activex_shim_dll/activex_shim_dll.vcproj',
                               'webkit libxml projects',
                               '$LIBXML_DIR/build/libxml_config.vcproj',
                               'webkit libxslt projects',
                               '$LIBXSLT_DIR/build/libxslt_config.vcproj',
                               ('$WEBKIT_DIR/default_plugin/' +
                                    'default_plugin.vcproj'),
                               ('$WEBKIT_DIR/build/JavaScriptCore/' +
                                    'JavaScriptCore_pcre.vcproj'),
                               ('$WEBKIT_DIR/build/V8Bindings/' +
                                    'V8Bindings_prebuild.vcproj'),
                               '$TESTING_DIR/gtest.vcproj',
                               '$V8_DIR/tools/visual_studio/v8_base.vcproj',
                               '$V8_DIR/tools/visual_studio/v8.vcproj',
                               ('$V8_DIR/tools/visual_studio/' + 
                                    'v8_mksnapshot.vcproj'),
                               '$V8_DIR/tools/visual_studio/v8_snapshot.vcproj',
                               '$SDCH_DIR/sdch.vcproj',
                               '$SQLITE_DIR/sqlite.vcproj',
                            ],
                            variants = [
                                'Debug|Win32',
                                'Release|Win32',
                            ])