meson.build revision 01e04c3f
101e04c3fSmrg# Copyright © 2017 Intel Corporation
201e04c3fSmrg
301e04c3fSmrg# Permission is hereby granted, free of charge, to any person obtaining a copy
401e04c3fSmrg# of this software and associated documentation files (the "Software"), to deal
501e04c3fSmrg# in the Software without restriction, including without limitation the rights
601e04c3fSmrg# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
701e04c3fSmrg# copies of the Software, and to permit persons to whom the Software is
801e04c3fSmrg# furnished to do so, subject to the following conditions:
901e04c3fSmrg
1001e04c3fSmrg# The above copyright notice and this permission notice shall be included in
1101e04c3fSmrg# all copies or substantial portions of the Software.
1201e04c3fSmrg
1301e04c3fSmrg# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
1401e04c3fSmrg# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1501e04c3fSmrg# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
1601e04c3fSmrg# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
1701e04c3fSmrg# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1801e04c3fSmrg# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1901e04c3fSmrg# SOFTWARE.
2001e04c3fSmrg
2101e04c3fSmrgsubdir('gen')
2201e04c3fSmrg
2301e04c3fSmrginc_glapi = include_directories('.')
2401e04c3fSmrg
2501e04c3fSmrgstatic_glapi_files = []
2601e04c3fSmrgstatic_glapi_args = []
2701e04c3fSmrg
2801e04c3fSmrgif ['apple', 'windows'].contains(with_dri_platform)
2901e04c3fSmrg  static_glapi_files += [glapi_gentable_c, glapitable_h]
3001e04c3fSmrgendif
3101e04c3fSmrg
3201e04c3fSmrgif with_shared_glapi
3301e04c3fSmrg  static_glapi_files += files(
3401e04c3fSmrg    '../entry.c',
3501e04c3fSmrg    '../entry.h',
3601e04c3fSmrg    '../entry_x86-64_tls.h',
3701e04c3fSmrg    '../entry_x86_tls.h',
3801e04c3fSmrg    '../entry_x86_tsd.h',
3901e04c3fSmrg    '../entry_ppc64le_tls.h',
4001e04c3fSmrg    '../entry_ppc64le_tsd.h',
4101e04c3fSmrg    '../mapi_tmp.h',
4201e04c3fSmrg  )
4301e04c3fSmrg  static_glapi_files += glapi_mapi_tmp_h
4401e04c3fSmrg  static_glapi_args += [
4501e04c3fSmrg    '-DMAPI_MODE_BRIDGE',
4601e04c3fSmrg    '-DMAPI_ABI_HEADER="@0@"'.format(glapi_mapi_tmp_h.full_path()),
4701e04c3fSmrg  ]
4801e04c3fSmrgelse
4901e04c3fSmrg  static_glapi_args += '-DMAPI_MODE_UTIL'
5001e04c3fSmrg  static_glapi_files += files(
5101e04c3fSmrg    'glapi_dispatch.c',
5201e04c3fSmrg    'glapi_entrypoint.c',
5301e04c3fSmrg    'glapi_getproc.c',
5401e04c3fSmrg    'glapi_nop.c',
5501e04c3fSmrg    'glapi.c',
5601e04c3fSmrg    'glapi.h',
5701e04c3fSmrg    'glapi_priv.h',
5801e04c3fSmrg  )
5901e04c3fSmrg  static_glapi_files += files_mapi_util
6001e04c3fSmrg  static_glapi_files += [
6101e04c3fSmrg    glapitable_h, glapi_mapi_tmp_h, glprocs_h, glapitemp_h,
6201e04c3fSmrg  ]
6301e04c3fSmrg  if with_asm_arch == 'x86'
6401e04c3fSmrg    static_glapi_files += glapi_x86_s
6501e04c3fSmrg  elif with_asm_arch == 'x86_64'
6601e04c3fSmrg    static_glapi_files += glapi_x86_64_s
6701e04c3fSmrg  elif with_asm_arch == 'sparc'
6801e04c3fSmrg    static_glapi_files += glapi_sparc_s
6901e04c3fSmrg  endif
7001e04c3fSmrgendif
7101e04c3fSmrg
7201e04c3fSmrglibglapi_static = static_library(
7301e04c3fSmrg  'glapi_static',
7401e04c3fSmrg  static_glapi_files,
7501e04c3fSmrg  include_directories : [inc_mesa, inc_include, inc_src, inc_mapi],
7601e04c3fSmrg  c_args : [c_msvc_compat_args, static_glapi_args],
7701e04c3fSmrg  dependencies : [dep_thread, dep_selinux],
7801e04c3fSmrg  build_by_default : false,
7901e04c3fSmrg)
8001e04c3fSmrg
8101e04c3fSmrgif with_any_opengl and not with_shared_glapi and with_tests
8201e04c3fSmrg  test(
8301e04c3fSmrg    'glapi_static_check_table',
8401e04c3fSmrg    executable(
8501e04c3fSmrg      'glapi_static_check_table',
8601e04c3fSmrg      ['tests/check_table.cpp', glapitable_h],
8701e04c3fSmrg      include_directories : [inc_include, inc_src, inc_mesa, inc_mapi],
8801e04c3fSmrg      link_with : [libglapi_static],
8901e04c3fSmrg      dependencies : [idep_gtest, dep_thread],
9001e04c3fSmrg    )
9101e04c3fSmrg  )
9201e04c3fSmrgendif
93