1*61046927SAndroid Build Coastguard Worker# Copyright © 2018 Intel Corporation 2*61046927SAndroid Build Coastguard Worker# SPDX-License-Identifier: MIT 3*61046927SAndroid Build Coastguard Worker 4*61046927SAndroid Build Coastguard Workeropengl32_link_args = [] 5*61046927SAndroid Build Coastguard Worker 6*61046927SAndroid Build Coastguard Workeropengl32_def = custom_target( 7*61046927SAndroid Build Coastguard Worker 'opengl32.def', 8*61046927SAndroid Build Coastguard Worker input: 'opengl32.def.in', 9*61046927SAndroid Build Coastguard Worker output : 'opengl32.def', 10*61046927SAndroid Build Coastguard Worker command : gen_vs_module_defs_normal_command, 11*61046927SAndroid Build Coastguard Worker) 12*61046927SAndroid Build Coastguard Worker 13*61046927SAndroid Build Coastguard Workerlibopengl32 = shared_library( 14*61046927SAndroid Build Coastguard Worker 'opengl32', 15*61046927SAndroid Build Coastguard Worker ['stw_wgl.c'], 16*61046927SAndroid Build Coastguard Worker vs_module_defs : opengl32_def, 17*61046927SAndroid Build Coastguard Worker include_directories : [ 18*61046927SAndroid Build Coastguard Worker inc_include, inc_wgl, inc_src, inc_gallium, 19*61046927SAndroid Build Coastguard Worker ], 20*61046927SAndroid Build Coastguard Worker link_with : [ 21*61046927SAndroid Build Coastguard Worker libgallium_wgl, libglapi_bridge, libglapi 22*61046927SAndroid Build Coastguard Worker ], 23*61046927SAndroid Build Coastguard Worker dependencies : [ 24*61046927SAndroid Build Coastguard Worker idep_mesautil 25*61046927SAndroid Build Coastguard Worker ], 26*61046927SAndroid Build Coastguard Worker c_args : ['-D_GDI32_'], 27*61046927SAndroid Build Coastguard Worker link_args : opengl32_link_args, 28*61046927SAndroid Build Coastguard Worker name_prefix : '', # otherwise mingw will create libopengl32.dll 29*61046927SAndroid Build Coastguard Worker install : true, 30*61046927SAndroid Build Coastguard Worker) 31*61046927SAndroid Build Coastguard Worker 32*61046927SAndroid Build Coastguard Workerif with_tests 33*61046927SAndroid Build Coastguard Worker extra_test_defs = [] 34*61046927SAndroid Build Coastguard Worker 35*61046927SAndroid Build Coastguard Worker # The generated MinGW 32-bits import libraries are always broken due to missing @nn suffix on 36*61046927SAndroid Build Coastguard Worker # symbols, no matter what we do. So instead we use the builtin libopengl32.a 37*61046927SAndroid Build Coastguard Worker extra_test_deps = [cpp.find_library('opengl32')] 38*61046927SAndroid Build Coastguard Worker 39*61046927SAndroid Build Coastguard Worker if with_gallium_d3d12 40*61046927SAndroid Build Coastguard Worker extra_test_defs += ['-DGALLIUM_D3D12'] 41*61046927SAndroid Build Coastguard Worker extra_test_deps += [cpp.find_library('d3d12')] 42*61046927SAndroid Build Coastguard Worker endif 43*61046927SAndroid Build Coastguard Worker 44*61046927SAndroid Build Coastguard Worker test_wgl = executable( 45*61046927SAndroid Build Coastguard Worker 'test_wgl', 46*61046927SAndroid Build Coastguard Worker files('tests/wgl_tests.cpp'), 47*61046927SAndroid Build Coastguard Worker cpp_args : [cpp_msvc_compat_args, extra_test_defs], 48*61046927SAndroid Build Coastguard Worker dependencies : [idep_gtest, dep_dxheaders, extra_test_deps], 49*61046927SAndroid Build Coastguard Worker ) 50*61046927SAndroid Build Coastguard Worker 51*61046927SAndroid Build Coastguard Worker wgl_test_env = environment() 52*61046927SAndroid Build Coastguard Worker wgl_test_env.append('PATH', libgallium_wgl_build_dir) 53*61046927SAndroid Build Coastguard Worker if with_shared_glapi 54*61046927SAndroid Build Coastguard Worker wgl_test_env.append('PATH', libglapi_build_dir) 55*61046927SAndroid Build Coastguard Worker endif 56*61046927SAndroid Build Coastguard Worker 57*61046927SAndroid Build Coastguard Worker test( 58*61046927SAndroid Build Coastguard Worker 'wgl', 59*61046927SAndroid Build Coastguard Worker test_wgl, 60*61046927SAndroid Build Coastguard Worker suite : ['wgl'], 61*61046927SAndroid Build Coastguard Worker env : wgl_test_env, 62*61046927SAndroid Build Coastguard Worker depends : [libopengl32], 63*61046927SAndroid Build Coastguard Worker protocol : 'gtest', 64*61046927SAndroid Build Coastguard Worker ) 65*61046927SAndroid Build Coastguard Workerendif 66