meson: move the generic symbols check arguments to a common variable
[mesa.git] / src / mapi / shared-glapi / meson.build
index 0d88de0545ffff8ca15ca8600c55dc0e392d0582..5b9db0c081a90acf6f5d6740492c23ca6899141b 100644 (file)
@@ -29,33 +29,61 @@ files_mapi_glapi = files(
 
 shared_glapi_mapi_tmp_h = custom_target(
   'shared_glapi_mapi_tmp.h',
-  input : ['../mapi_abi.py', gl_and_es_api_files],
+  input : [mapi_abi_py, gl_and_es_api_files],
   output : 'glapi_mapi_tmp.h',
-  command : [prog_python2, '@INPUT0@', '--printer', 'shared-glapi', '@INPUT1@'],
+  command : [prog_python, '@INPUT0@', '--printer', 'shared-glapi', '@INPUT1@'],
   depend_files : api_xml_files,
   capture : true,
 )
 
+_glapi_c_args = []
+if with_platform_windows
+  _glapi_c_args += ['-D_GLAPI_DLL_EXPORTS']
+endif
+
 libglapi = shared_library(
   'glapi',
   [files_mapi_glapi, files_mapi_util, shared_glapi_mapi_tmp_h],
-  c_args : [c_msvc_compat_args, '-DMAPI_MODE_GLAPI',
-            '-DMAPI_ABI_HEADER="@0@"'.format(shared_glapi_mapi_tmp_h.full_path())],
+  c_args : [
+    _glapi_c_args,
+    c_msvc_compat_args,
+    c_vis_args,
+    '-DMAPI_MODE_GLAPI',
+    '-DMAPI_ABI_HEADER="@0@"'.format(shared_glapi_mapi_tmp_h.full_path()),
+    gcc_lto_quirk,
+  ],
   link_args : [ld_args_gc_sections],
   include_directories : [inc_src, inc_include, inc_mapi],
   dependencies : [dep_thread, dep_selinux],
+  soversion : host_machine.system() == 'windows' ? '' : '0',
+  version : '0.0.0',
+  name_prefix : 'lib',
   install : true,
 )
 
-if with_tests
-  shared_glapi_test = executable(
-    ['shared-glapi-test', glapitable_h],
-    'tests/check_table.cpp',
-    cpp_args : [cpp_msvc_compat_args],
-    include_directories : [inc_src, inc_include, inc_mapi],
-    link_with : [libglapi],
-    dependencies : [dep_thread, idep_gtest],
+if with_any_opengl and with_tests
+  test(
+    'shared-glapi-test',
+    executable(
+      ['shared-glapi-test', glapitable_h],
+      'tests/check_table.cpp',
+      cpp_args : [cpp_msvc_compat_args],
+      include_directories : [inc_src, inc_include, inc_mapi],
+      link_with : [libglapi],
+      dependencies : [dep_thread, idep_gtest],
+    ),
+    suite : ['mapi'],
   )
-
-  test('shared-glapi-test', shared_glapi_test)
+  if with_symbols_check
+    test(
+      'shared-glapi symbols check',
+      symbols_check,
+      args : [
+        '--lib', libglapi,
+        '--symbols-file', files('glapi-symbols.txt'),
+        symbols_check_args,
+      ],
+      suite : ['mapi'],
+    )
+  endif
 endif