Edit

kc3-lang/angle/util/util.gyp

Branch :

  • Show log

    Commit

  • Author : Jamie Madill
    Date : 2017-01-05 14:47:34
    Hash : dcab56a1
    Message : Move some file utils to common. Since common is shared through all ANGLE code (libANGLE/tests/samples) this is the most general place for these utils, and will give libANGLE access to them. We'll need them to get the current executable dir for loading the Vulkan layers. This also means we'll need to fix the global static variable use when we have the ability. BUG=angleproject:1319 BUG=chromium:677841 Change-Id: I7af61920635135b28a2f02f4a8d019ee88c9dd28 Reviewed-on: https://chromium-review.googlesource.com/425440 Commit-Queue: Jamie Madill <jmadill@chromium.org> Reviewed-by: Jamie Madill <jmadill@chromium.org>

  • util/util.gyp
  • # Copyright (c) 2014 The ANGLE Project Authors. All rights reserved.
    # Use of this source code is governed by a BSD-style license that can be
    # found in the LICENSE file.
    
    {
        # Everything below  this is duplicated in the GN build, except Mac support.
        # If you change anything also change angle/BUILD.gn
        'variables':
        {
            'util_sources':
            [
                'com_utils.h',
                'keyboard.h',
                'geometry_utils.cpp',
                'geometry_utils.h',
                'mouse.h',
                'random_utils.cpp',
                'random_utils.h',
                'shader_utils.cpp',
                'shader_utils.h',
                'system_utils.h',
                'Event.h',
                'EGLWindow.cpp',
                'EGLWindow.h',
                'Matrix.cpp',
                'Matrix.h',
                'OSPixmap.h',
                'OSWindow.cpp',
                'OSWindow.h',
                'Timer.h',
            ],
            'util_win32_sources':
            [
                'windows/win32/Win32_system_utils.cpp',
                'windows/win32/Win32Pixmap.cpp',
                'windows/win32/Win32Pixmap.h',
                'windows/win32/Win32Window.cpp',
                'windows/win32/Win32Window.h',
                'windows/Windows_system_utils.cpp',
                'windows/WindowsTimer.cpp',
                'windows/WindowsTimer.h',
            ],
            'util_winrt_sources':
            [
                'windows/winrt/WinRT_system_utils.cpp',
                'windows/winrt/WinRTPixmap.cpp',
                'windows/winrt/WinRTWindow.cpp',
                'windows/winrt/WinRTWindow.h',
                'windows/Windows_system_utils.cpp',
                'windows/WindowsTimer.cpp',
                'windows/WindowsTimer.h',
            ],
            'util_linux_sources':
            [
                'linux/LinuxTimer.cpp',
                'linux/LinuxTimer.h',
                'posix/Posix_system_utils.cpp',
            ],
            'util_x11_sources':
            [
                'x11/X11Pixmap.cpp',
                'x11/X11Pixmap.h',
                'x11/X11Window.cpp',
                'x11/X11Window.h',
            ],
            'util_ozone_sources':
            [
                'ozone/OzonePixmap.cpp',
                'ozone/OzoneWindow.cpp',
                'ozone/OzoneWindow.h',
            ],
            'util_osx_sources':
            [
                'osx/OSXTimer.cpp',
                'osx/OSXTimer.h',
                'osx/OSXPixmap.mm',
                'osx/OSXPixmap.h',
                'osx/OSXWindow.mm',
                'osx/OSXWindow.h',
                'posix/Posix_system_utils.cpp',
            ],
            'util_android_sources':
            [
                'android/AndroidPixmap.cpp',
                'android/AndroidWindow.cpp',
                'android/AndroidWindow.h',
                'android/third_party/android_native_app_glue.c',
                'android/third_party/android_native_app_glue.h',
            ],
        },
        'targets':
        [
            {
                'target_name': 'angle_util_config',
                'type': 'none',
                'direct_dependent_settings':
                {
                    'include_dirs':
                    [
                        '<(angle_path)/include',
                        '<(angle_path)/util',
                    ],
                    'sources':
                    [
                        '<@(util_sources)',
                    ],
                    'defines':
                    [
                        'GL_GLEXT_PROTOTYPES',
                        'EGL_EGLEXT_PROTOTYPES',
                        'LIBANGLE_UTIL_IMPLEMENTATION',
                    ],
                    'conditions':
                    [
                        ['OS=="win" and angle_build_winrt==0',
                        {
                            'sources':
                            [
                                '<@(util_win32_sources)',
                            ],
                        }],
                        ['OS=="win" and angle_build_winrt==1',
                        {
                            'sources':
                            [
                                '<@(util_winrt_sources)',
                            ],
                        }],
                        ['OS=="linux"',
                        {
                            'sources':
                            [
                                '<@(util_linux_sources)',
                            ],
                            'link_settings':
                            {
                                'libraries':
                                [
                                    '-ldl',
                                ],
                            },
                        }],
                        ['use_x11==1',
                        {
                            'sources':
                            [
                                '<@(util_x11_sources)',
                            ],
                            'link_settings':
                            {
                                'ldflags':
                                [
                                    '<!@(<(pkg-config) --libs-only-L --libs-only-other x11 xi)',
                                ],
                                'libraries':
                                [
                                    '<!@(<(pkg-config) --libs-only-l x11 xi)',
                                ],
                            },
                        }],
                        ['use_ozone==1',
                        {
                            'sources':
                            [
                                '<@(util_ozone_sources)',
                            ],
                        }],
                        ['OS=="mac"',
                        {
                            'sources':
                            [
                                '<@(util_osx_sources)',
                            ],
                            'xcode_settings':
                            {
                                'DYLIB_INSTALL_NAME_BASE': '@rpath',
                            },
                            'link_settings':
                            {
                                'libraries':
                                [
                                    '$(SDKROOT)/System/Library/Frameworks/AppKit.framework',
                                    '$(SDKROOT)/System/Library/Frameworks/QuartzCore.framework',
                                ],
                            },
                        }],
                    ],
                },
            },
    
            {
                'target_name': 'angle_util',
                'type': 'shared_library',
                'includes': [ '../gyp/common_defines.gypi', ],
                'dependencies':
                [
                    'angle_util_config',
                    '<(angle_path)/src/angle.gyp:angle_common',
                    '<(angle_path)/src/angle.gyp:libEGL',
                    '<(angle_path)/src/angle.gyp:libGLESv2',
                ],
                'export_dependent_settings':
                [
                    '<(angle_path)/src/angle.gyp:angle_common',
                ],
                'direct_dependent_settings':
                {
                    'include_dirs':
                    [
                        '<(angle_path)/include',
                        '<(angle_path)/util',
                    ],
                    'defines':
                    [
                        'GL_GLEXT_PROTOTYPES',
                        'EGL_EGLEXT_PROTOTYPES',
                    ],
                },
            },
    
            {
                'target_name': 'angle_util_static',
                'type': 'static_library',
                'includes': [ '../gyp/common_defines.gypi', ],
                'dependencies':
                [
                    'angle_util_config',
                    '<(angle_path)/src/angle.gyp:angle_common',
                    '<(angle_path)/src/angle.gyp:libEGL_static',
                    '<(angle_path)/src/angle.gyp:libGLESv2_static',
                ],
                'export_dependent_settings':
                [
                    '<(angle_path)/src/angle.gyp:angle_common',
                ],
                'direct_dependent_settings':
                {
                    'include_dirs':
                    [
                        '<(angle_path)/include',
                        '<(angle_path)/util',
                    ],
                    'defines':
                    [
                        'GL_GLEXT_PROTOTYPES',
                        'EGL_EGLEXT_PROTOTYPES',
                    ],
                },
            },
        ],
    }