meson: add variable to control the symbols checks
[mesa.git] / src / mapi / es2api / meson.build
index de8a29bb6beddc840ef78f2edd702dcb1385c62f..119e8d36a75e56eef908f9da6e510c257170133c 100644 (file)
 
 es2_glapi_mapi_tmp_h = custom_target(
   'es2_glapi_mapi_tmp.h',
-  input : [mapi_abi_py, gl_and_es_api_files],
+  input : [glapi_gen_mapi_py, glapi_gen_gl_xml],
   output : 'glapi_mapi_tmp.h',
-  command : [prog_python2, '@INPUT0@', '--printer', 'es2api', '@INPUT1@'],
-  depend_files : api_xml_files,
+  command : [prog_python, '@INPUT0@', 'glesv2', '@INPUT1@'],
+  depend_files : glapi_gen_mapi_deps,
   capture : true,
 )
 
+_es2_c_args = []
+if with_platform_windows
+  _es2_c_args += ['-D_GDI32_', '-DBUILD_GL32']
+endif
+
 libgles2 = shared_library(
-  'GLESv2',
+  'GLESv2' + get_option('gles-lib-suffix'),
   ['../entry.c', es2_glapi_mapi_tmp_h],
   c_args : [
-    c_msvc_compat_args, c_vis_args, '-DMAPI_MODE_BRIDGE',
+    c_msvc_compat_args,
+    c_vis_args,
+    _es2_c_args,
+    '-DMAPI_MODE_BRIDGE',
     '-DMAPI_ABI_HEADER="@0@"'.format(es2_glapi_mapi_tmp_h.full_path()),
+    gcc_lto_quirk,
   ],
   link_args : [ld_args_gc_sections],
   include_directories : [inc_src, inc_include, inc_mapi],
   link_with : libglapi,
   dependencies : [dep_thread, dep_libdrm, dep_m, dep_dl],
+  soversion : host_machine.system() == 'windows' ? '' : '2',
   version : '2.0.0',
+  name_prefix : 'lib',
   install : true,
 )
 
@@ -48,13 +59,18 @@ pkg.generate(
   description : 'Mesa OpenGL ES 2.0 library',
   version : meson.project_version(),
   libraries : libgles2,
-  libraries_private : '-lm -ldl -lpthread -pthread',
+  libraries_private : gl_priv_libs,
 )
 
-if with_tests
+if with_symbols_check
   test(
     'es2-ABI-check',
-    find_program('ABI-check'),
-    args : libgles2
+    symbols_check,
+    args : [
+      '--lib', libgles2,
+      '--symbols-file', files('gles2-symbols.txt'),
+      '--nm', prog_nm.path(),
+    ],
+    suite : ['mapi'],
   )
 endif