blob: 1870201eaa14b64fee9c23a7e64af00d9143a94e [file] [log] [blame]
# Copyright (c) 2013 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.
{
'includes': [
'gles2_conform.gypi',
],
'target_defaults': {
'msvs_disabled_warnings': [4005, 4013, 4018, 4101, 4716],
'include_dirs': [
'<(SHARED_INTERMEDIATE_DIR)/gles2_conform_test_embedded_data',
'../../third_party/gles2_conform/GTF_ES/glsl/GTF/Source',
],
'variables': {
'clang_warning_flags': [
'-Wno-array-bounds',
# There are some implicit conversions from "int" to "char" in
# GTFExtensionTestSurfacelessContext.c.
'-Wno-constant-conversion',
'-Wno-implicit-function-declaration',
'-Wno-incompatible-pointer-types',
'-Wno-logical-op-parentheses',
# Many struct initializers in the GTF_ES code are missing braces.
'-Wno-missing-braces',
'-Wno-parentheses-equality',
'-Wno-pointer-sign',
'-Wno-return-type',
'-Wno-sizeof-pointer-memaccess',
# A few variables are unitialized if GLVersion != 2.0.
'-Wno-sometimes-uninitialized',
'-Wno-tautological-compare',
# GTFVecBase.h contains static no-inline functions in a header :-/
'-Wno-unused-function',
],
},
},
'targets': [
{
'target_name': 'gles2_conform_test',
'type': '<(gtest_target_type)',
'dependencies': [
'<(DEPTH)/base/base.gyp:base',
'<(DEPTH)/base/base.gyp:test_support_base',
'<(DEPTH)/gpu/gpu.gyp:gpu',
'<(DEPTH)/testing/gtest.gyp:gtest',
],
'sources': [
'gles2_conform_test.cc',
],
'conditions': [
['internal_gles2_conform_tests', {
'dependencies': [
'gles2_conform_test_windowless',
],
'variables': {
'gles2_conform_test_output_dir': '<(SHARED_INTERMEDIATE_DIR)/gpu/gles2_conform_test',
},
'sources': [
'<(gles2_conform_test_output_dir)/gles2_conform_test_autogen.cc',
],
'actions': [
{
'action_name': 'generate_gles2_conform_tests',
'inputs': [
'generate_gles2_conform_tests.py',
'gles2_conform_test.h',
'<(DEPTH)/third_party/gles2_conform/GTF_ES/glsl/GTF/mustpass_es20.run',
],
'outputs': [
'<(gles2_conform_test_output_dir)/gles2_conform_test_autogen.cc',
],
'action': [
'python',
'generate_gles2_conform_tests.py',
'<(gles2_conform_test_output_dir)',
],
},
],
}], # internal_gles2_conform_tests
],
},
# TODO(alokp): Add gles2_conform_test_pepper target
],
'conditions': [
['internal_gles2_conform_tests', {
'targets': [
{
'target_name': 'gles2_conform_test_embedded_data',
'type': 'none',
'hard_dependency': 1,
'actions': [
{
'action_name': 'generate_gles2_conform_embedded_files',
'variables': {
'generator_path': 'generate_gles2_embedded_data.py',
},
'inputs': [
'<(generator_path)',
'<!@(python <(generator_path) ../../third_party/gles2_conform/GTF_ES/glsl/GTF)',
],
'outputs': [
#'../../third_party/gles2_conform/GTF_ES/glsl/GTF/Source/FilesDATA.c',
#'../../third_party/gles2_conform/GTF_ES/glsl/GTF/Source/FilesDATA.h',
#'../../third_party/gles2_conform/GTF_ES/glsl/GTF/Source/FilesTOC.c',
'<(SHARED_INTERMEDIATE_DIR)/gles2_conform_test_embedded_data/FilesDATA.c',
'<(SHARED_INTERMEDIATE_DIR)/gles2_conform_test_embedded_data/FilesDATA.h',
'<(SHARED_INTERMEDIATE_DIR)/gles2_conform_test_embedded_data/FilesTOC.c',
],
'action': [
'python',
'<(generator_path)',
'../../third_party/gles2_conform/GTF_ES/glsl/GTF',
'<(SHARED_INTERMEDIATE_DIR)/gles2_conform_test_embedded_data',
],
},
],
},
{
'target_name': 'gles2_conform_test_windowless',
'type': 'executable',
'dependencies': [
'gles2_conform_test_embedded_data',
'<(DEPTH)/gpu/gles2_conform_support/gles2_conform_support.gyp:egl_native',
'<(DEPTH)/gpu/gles2_conform_support/gles2_conform_support.gyp:egl_main_windowless',
'<(DEPTH)/gpu/gpu.gyp:gles2_c_lib_nocheck',
'<(DEPTH)/third_party/expat/expat.gyp:expat',
],
'conditions': [
['OS=="linux"', {
'conditions': [
[ 'chromeos==0', {
'dependencies': ['../../build/linux/system.gyp:gtk2']
}],
],
}],
['OS=="win"', {
'dependencies': [
'<(angle_path)/src/angle.gyp:libGLESv2',
'<(angle_path)/src/angle.gyp:libEGL',
],
'defines': [
'EGLAPI=',
'EGLAPIENTRY=',
],
'msvs_disabled_warnings': [
4018, # signed/unsigned mismatch
4101, # unreferenced local variable
4715, # not all control paths return a value
4267, # size_t/unsigned int conversion
],
'defines!': [ 'NOMINMAX' ],
}],
['OS=="mac"', {
'defines': [
'_STDINT',
'_STDINT_H',
],
'conditions': [
[ 'clang==1', {
'xcode_settings': {
'LD': 'clang++',
'WARNING_CFLAGS': [
'-Wno-pointer-sign',
'-Wno-array-bounds',
'-Wno-sizeof-pointer-memaccess',
'-Wno-implicit-function-declaration',
'-Wno-logical-op-parentheses',
'-Wno-tautological-compare',
'-Wno-parentheses-equality',
'-Wno-return-type',
],
},
}],
],
}],
],
'defines': [
'GTF_API=GTF_GLES20',
'HKEMBEDDEDFILESYSTEM',
],
'sources': [
'<@(gtf_es_sources)',
'<@(gl2_extension_test_sources)',
'<@(gl2_fixed_test_sources)',
'<@(gl2_test_sources)',
# Include a dummy c++ file to force linking of libstdc++.
'<(DEPTH)/gpu/gles2_conform_support/dummy.cc',
],
'run_as': {
'conditions': [
['OS=="win"', {
'action': [
'$(TargetPath)',
'-noimagefileio',
'-run=<(DEPTH)/third_party/gles2_conform/GTF_ES/glsl/GTF/mustpass.run',
],
}],
],
},
},
],
}], # internal_gles2_conform_tests
['OS=="win" and internal_gles2_conform_tests', {
'targets': [
{
'target_name': 'gles2_conform_test_angle',
'type': 'executable',
'dependencies': [
'gles2_conform_test_embedded_data',
'<(DEPTH)/base/base.gyp:base',
'<(DEPTH)/third_party/expat/expat.gyp:expat',
'<(angle_path)/src/angle.gyp:libGLESv2',
'<(angle_path)/src/angle.gyp:libEGL',
'<(DEPTH)/gpu/gles2_conform_support/gles2_conform_support.gyp:egl_main_native',
],
'defines': [
'GTF_API=GTF_GLES20',
],
'include_dirs': [
'<(DEPTH)/third_party/angle_dx11/include',
],
'sources': [
'<@(gtf_es_sources)',
'<@(gl2_extension_test_sources)',
'<@(gl2_fixed_test_sources)',
'<@(gl2_test_sources)',
],
},
],
}],
['chromeos==1 and internal_gles2_conform_tests', {
'targets': [
{
'target_name': 'gles2_conform_test_chromeos',
'type': 'executable',
'dependencies': [
'gles2_conform_test_embedded_data',
'<(DEPTH)/base/base.gyp:*',
'<(DEPTH)/third_party/expat/expat.gyp:expat',
'<(DEPTH)/gpu/gles2_conform_support/gles2_conform_support.gyp:egl_main_native',
],
'libraries': [
'-lEGL',
'-lGLESv2',
],
'defines': [
'GTF_API=GTF_GLES20',
'CHROMEOS_GLES2_CONFORMANCE',
],
'sources': [
'<@(gtf_es_sources)',
'<@(gl2_extension_test_sources)',
'<@(gl2_fixed_test_sources)',
'<@(gl2_test_sources)',
],
},
],
}],
],
}
# Local Variables:
# tab-width:2
# indent-tabs-mode:nil
# End:
# vim: set expandtab tabstop=2 shiftwidth=2: