meson: move the generic symbols check arguments to a common variable
[mesa.git] / src / mapi / shared-glapi / meson.build
index fe0d458d93470c8f53b328ec5808c144b3ba708d..5b9db0c081a90acf6f5d6740492c23ca6899141b 100644 (file)
@@ -31,34 +31,59 @@ shared_glapi_mapi_tmp_h = custom_target(
   'shared_glapi_mapi_tmp.h',
   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',
+    _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