meson: Build libdrm.so as an unversioned lib on Android.

Android vendor libraries don't have sonames, and libdrm.so shouldn't
either.  This lets a Mesa built against a libdrm.so built for Android
be copied directly to a Chrome OS ARC installation.

Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
main
Eric Anholt 2021-04-22 16:03:38 -07:00 committed by Emma Anholt
parent 4ac7d6bf5d
commit a819b9ad3b
1 changed files with 25 additions and 14 deletions

View File

@ -44,6 +44,8 @@ dep_threads = dependency('threads')
cc = meson.get_compiler('c') cc = meson.get_compiler('c')
android = cc.compiles('''int func() { return __ANDROID__; }''')
symbols_check = find_program('symbols-check.py') symbols_check = find_program('symbols-check.py')
prog_nm = find_program('nm') prog_nm = find_program('nm')
@ -299,20 +301,29 @@ add_project_arguments('-include', '@0@'.format(config_file), language : 'c')
inc_root = include_directories('.') inc_root = include_directories('.')
inc_drm = include_directories('include/drm') inc_drm = include_directories('include/drm')
libdrm = library( libdrm_files = [files(
'drm', 'xf86drm.c', 'xf86drmHash.c', 'xf86drmRandom.c', 'xf86drmSL.c',
[files( 'xf86drmMode.c'
'xf86drm.c', 'xf86drmHash.c', 'xf86drmRandom.c', 'xf86drmSL.c', ),
'xf86drmMode.c' config_file, format_mod_static_table
), ]
config_file, format_mod_static_table
], if android
c_args : libdrm_c_args, libdrm = library('drm', libdrm_files,
dependencies : [dep_valgrind, dep_rt, dep_m], c_args : libdrm_c_args,
include_directories : inc_drm, dependencies : [dep_valgrind, dep_rt, dep_m],
version : '2.4.0', include_directories : inc_drm,
install : true, install : true,
) )
else
libdrm = library('drm', libdrm_files,
c_args : libdrm_c_args,
dependencies : [dep_valgrind, dep_rt, dep_m],
include_directories : inc_drm,
install : true,
version: '2.4.0'
)
endif
test( test(
'core-symbols-check', 'core-symbols-check',