xref: /aosp_15_r20/external/mesa3d/src/gallium/targets/libgl-gdi/meson.build (revision 6104692788411f58d303aa86923a9ff6ecaded22)
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