meson: Fix map files and load them to hide private symbols
Map files were using wrong syntax (missing final `;` or invalid chars). Also, the map files were only monitored for rebuilding, but not really used by ld, so pass the ldflags with version-script so that private symbols are really hidden. https://gitlab.gnome.org/GNOME/mutter/merge_requests/395
This commit is contained in:
parent
562cf14258
commit
371b97af27
@ -1,6 +1,4 @@
|
||||
{
|
||||
global:
|
||||
gl*;
|
||||
local:
|
||||
*;
|
||||
}
|
||||
};
|
||||
|
@ -8,12 +8,18 @@ cogl_gles2_sources = [
|
||||
'cogl-gles2-api.c',
|
||||
]
|
||||
|
||||
libmutter_cogl_gles2_map = 'libmutter-cogl-gles2.map'
|
||||
libmutter_cogl_gles2_link_args = [
|
||||
'-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(),
|
||||
libmutter_cogl_gles2_map),
|
||||
]
|
||||
libmutter_cogl_gles2 = shared_library('mutter-cogl-gles2-' + libmutter_api_version,
|
||||
sources: [cogl_gles2_sources, cogl_gles2_public_headers],
|
||||
soversion: '0.0.0',
|
||||
c_args: cogl_c_args,
|
||||
include_directories: [cogl_includepath, cogl_path_includepath],
|
||||
link_depends: 'libmutter-cogl-gles2.map',
|
||||
link_depends: libmutter_cogl_gles2_map,
|
||||
link_args: libmutter_cogl_gles2_link_args,
|
||||
dependencies: [
|
||||
cogl_deps,
|
||||
libmutter_cogl_dep
|
||||
|
@ -3,4 +3,4 @@ global:
|
||||
cogl_pango_*;
|
||||
local:
|
||||
*;
|
||||
}
|
||||
};
|
||||
|
@ -21,12 +21,18 @@ cogl_pango_deps = [
|
||||
libmutter_cogl_dep,
|
||||
]
|
||||
|
||||
libmutter_cogl_pango_map = 'libmutter-cogl-pango.map'
|
||||
libmutter_cogl_pango_link_args = [
|
||||
'-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(),
|
||||
libmutter_cogl_pango_map),
|
||||
]
|
||||
libmutter_cogl_pango = shared_library('mutter-cogl-pango-' + libmutter_api_version,
|
||||
sources: [cogl_pango_sources, cogl_pango_public_headers],
|
||||
soversion: '0.0.0',
|
||||
c_args: cogl_c_args,
|
||||
include_directories: [cogl_includepath, cogl_path_includepath],
|
||||
link_depends: 'libmutter-cogl-pango.map',
|
||||
link_depends: libmutter_cogl_pango_map,
|
||||
link_args: libmutter_cogl_pango_link_args,
|
||||
dependencies: [cogl_pango_deps],
|
||||
install_rpath: pkglibdir,
|
||||
install_dir: pkglibdir,
|
||||
|
@ -14,4 +14,4 @@ global:
|
||||
cogl2_set_*;
|
||||
local:
|
||||
*;
|
||||
}
|
||||
};
|
||||
|
@ -52,12 +52,18 @@ cogl_path_c_args = [
|
||||
cogl_c_args,
|
||||
]
|
||||
|
||||
libmutter_cogl_path_map = 'libmutter-cogl-path.map'
|
||||
libmutter_cogl_path_link_args = [
|
||||
'-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(),
|
||||
libmutter_cogl_path_map),
|
||||
]
|
||||
libmutter_cogl_path = shared_library('mutter-cogl-path-' + libmutter_api_version,
|
||||
sources: [cogl_path_sources, cogl_path_public_headers],
|
||||
soversion: '0.0.0',
|
||||
c_args: cogl_path_c_args,
|
||||
include_directories: [cogl_includepath, cogl_path_includepath],
|
||||
link_depends: 'libmutter-cogl-path.map',
|
||||
link_depends: libmutter_cogl_path_map,
|
||||
link_args: libmutter_cogl_path_link_args,
|
||||
dependencies: [libmutter_cogl_dep, cogl_deps],
|
||||
install_rpath: pkglibdir,
|
||||
install_dir: pkglibdir,
|
||||
|
@ -45,7 +45,9 @@ global:
|
||||
_cogl_framebuffer_winsys_update_size;
|
||||
_cogl_winsys_egl_make_current;
|
||||
_cogl_winsys_egl_ensure_current;
|
||||
_cogl_pixel_format_get_bytes_per_pixel).*";
|
||||
_cogl_pixel_format_get_bytes_per_pixel*;
|
||||
_cogl_system_error_quark;
|
||||
_cogl_util_next_p2;
|
||||
local:
|
||||
*;
|
||||
}
|
||||
*;
|
||||
};
|
||||
|
@ -466,12 +466,18 @@ if have_cogl_tests
|
||||
endif
|
||||
|
||||
libmutter_cogl_name = 'mutter-cogl-' + libmutter_api_version
|
||||
libmutter_cogl_map = 'libmutter-cogl.map'
|
||||
libmutter_cogl_link_args = [
|
||||
'-Wl,--version-script,@0@/@1@'.format(meson.current_source_dir(),
|
||||
libmutter_cogl_map),
|
||||
]
|
||||
libmutter_cogl = shared_library(libmutter_cogl_name,
|
||||
sources: [cogl_sources, cogl_headers_all],
|
||||
soversion: '0.0.0',
|
||||
c_args: cogl_c_args,
|
||||
include_directories: cogl_includepath,
|
||||
link_depends: 'libmutter-cogl.map',
|
||||
link_depends: libmutter_cogl_map,
|
||||
link_args: libmutter_cogl_link_args,
|
||||
dependencies: [cogl_deps, cogl_test_deps],
|
||||
install_rpath: pkglibdir,
|
||||
install_dir: pkglibdir,
|
||||
|
Loading…
Reference in New Issue
Block a user