Symbol versions provide a means by which ELF utilities can determine whether a program is incompatible with a too-old library version so that package management tools can autodetect version-based dependencies and suggest upgrade paths.
Signed-off-by: Jan Engelhardt <jeng...@inai.de> --- src/Makefile.am | 3 +- src/libinput.map | 87 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+), 1 deletion(-) create mode 100644 src/libinput.map diff --git a/src/Makefile.am b/src/Makefile.am index 44e73d3..629ce49 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -34,7 +34,8 @@ libinput_la_CFLAGS = -I$(top_srcdir)/include \ $(LIBEVDEV_CFLAGS) \ $(GCC_CFLAGS) -libinput_la_LDFLAGS = -version-info $(LIBINPUT_LT_VERSION) -shared +libinput_la_LDFLAGS = -version-info $(LIBINPUT_LT_VERSION) -shared \ + -Wl,--version-script=$(srcdir)/libinput.map pkgconfigdir = $(libdir)/pkgconfig pkgconfig_DATA = libinput.pc diff --git a/src/libinput.map b/src/libinput.map new file mode 100644 index 0000000..414dbd2 --- /dev/null +++ b/src/libinput.map @@ -0,0 +1,87 @@ +V_0.5.0 { +global: + libinput_event_destroy; + libinput_event_get_type; + libinput_event_get_context; + libinput_event_get_device; + libinput_event_get_pointer_event; + libinput_event_get_keyboard_event; + libinput_event_get_touch_event; + libinput_event_get_device_notify_event; + libinput_event_device_notify_get_base_event; + libinput_event_keyboard_get_time; + libinput_event_keyboard_get_key; + libinput_event_keyboard_get_key_state; + libinput_event_keyboard_get_base_event; + libinput_event_keyboard_get_seat_key_count; + libinput_event_pointer_get_time; + libinput_event_pointer_get_dx; + libinput_event_pointer_get_dy; + libinput_event_pointer_get_absolute_x; + libinput_event_pointer_get_absolute_y; + libinput_event_pointer_get_absolute_x_transformed; + libinput_event_pointer_get_absolute_y_transformed; + libinput_event_pointer_get_button; + libinput_event_pointer_get_button_state; + libinput_event_pointer_get_seat_button_count; + libinput_event_pointer_get_axis; + libinput_event_pointer_get_axis_value; + libinput_event_pointer_get_base_event; + libinput_event_touch_get_time; + libinput_event_touch_get_slot; + libinput_event_touch_get_seat_slot; + libinput_event_touch_get_x; + libinput_event_touch_get_y; + libinput_event_touch_get_x_transformed; + libinput_event_touch_get_y_transformed; + libinput_event_touch_get_base_event; + libinput_udev_create_context; + libinput_udev_assign_seat; + libinput_path_create_context; + libinput_path_add_device; + libinput_path_remove_device; + libinput_get_fd; + libinput_dispatch; + libinput_get_event; + libinput_next_event_type; + libinput_get_user_data; + libinput_resume; + libinput_suspend; + libinput_ref; + libinput_unref; + libinput_log_set_priority; + libinput_log_get_priority; + libinput_log_set_handler; + libinput_seat_ref; + libinput_seat_unref; + libinput_seat_set_user_data; + libinput_seat_get_user_data; + libinput_seat_get_physical_name; + libinput_seat_get_logical_name; + libinput_device_ref; + libinput_device_unref; + libinput_device_set_user_data; + libinput_device_get_user_data; + libinput_device_get_sysname; + libinput_device_get_name; + libinput_device_get_id_product; + libinput_device_get_id_vendor; + libinput_device_get_output_name; + libinput_device_get_seat; + libinput_device_led_update; + libinput_device_get_keys; + libinput_device_calibrate; + libinput_device_has_capability; + libinput_device_get_size; + libinput_config_status_to_str; + libinput_device_config_tap_get_finger_count; + libinput_device_config_tap_set_enabled; + libinput_device_config_tap_get_enabled; + libinput_device_config_tap_get_default_enabled; + libinput_device_config_calibration_has_matrix; + libinput_device_config_calibration_set_matrix; + libinput_device_config_calibration_get_matrix; + libinput_device_config_calibration_get_default_matrix; +local: + *; +}; -- 2.0.0 _______________________________________________ wayland-devel mailing list wayland-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/wayland-devel