Use symbol versioning
authorPeter Hutterer <peter.hutterer@who-t.net>
Tue, 9 Dec 2014 02:52:45 +0000 (12:52 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Thu, 11 Dec 2014 02:26:03 +0000 (12:26 +1000)
This isn't the final 0.8.0 API yet, but we might as well get started.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jonas Ã…dahl <jadahl@gmail.com>
src/Makefile.am
src/libinput.sym [new file with mode: 0644]

index 0968459c3c420fc963eb77dbb136e18df951e6e2..eeaf439b1851d4eeffc47f4beba14df20ee7bcbe 100644 (file)
@@ -46,7 +46,8 @@ libinput_util_la_CFLAGS = -I$(top_srcdir)/include \
                          $(LIBUDEV_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.sym
 
 pkgconfigdir = $(libdir)/pkgconfig
 pkgconfig_DATA = libinput.pc
@@ -54,4 +55,4 @@ pkgconfig_DATA = libinput.pc
 AM_CFLAGS = $(GCC_CFLAGS)
 
 DISTCLEANFILES = libinput-version.h
-EXTRA_DIST = libinput-version.h.in
+EXTRA_DIST = libinput-version.h.in libinput.sym
diff --git a/src/libinput.sym b/src/libinput.sym
new file mode 100644 (file)
index 0000000..f35a0cd
--- /dev/null
@@ -0,0 +1,117 @@
+/* in alphabetical order! */
+
+LIBINPUT_0.8.0 {
+global:
+       libinput_config_status_to_str;
+       libinput_device_config_accel_get_default_speed;
+       libinput_device_config_accel_get_speed;
+       libinput_device_config_accel_is_available;
+       libinput_device_config_accel_set_speed;
+       libinput_device_config_buttons_get_default_left_handed;
+       libinput_device_config_buttons_get_left_handed;
+       libinput_device_config_buttons_has_left_handed;
+       libinput_device_config_buttons_set_left_handed;
+       libinput_device_config_calibration_get_default_matrix;
+       libinput_device_config_calibration_get_matrix;
+       libinput_device_config_calibration_has_matrix;
+       libinput_device_config_calibration_set_matrix;
+       libinput_device_config_scroll_get_button;
+       libinput_device_config_scroll_get_default_button;
+       libinput_device_config_scroll_get_default_method;
+       libinput_device_config_scroll_get_default_natural_scroll_enabled;
+       libinput_device_config_scroll_get_methods;
+       libinput_device_config_scroll_get_method;
+       libinput_device_config_scroll_get_natural_scroll_enabled;
+       libinput_device_config_scroll_has_natural_scroll;
+       libinput_device_config_scroll_set_button;
+       libinput_device_config_scroll_set_method;
+       libinput_device_config_scroll_set_natural_scroll_enabled;
+       libinput_device_config_send_events_get_default_mode;
+       libinput_device_config_send_events_get_modes;
+       libinput_device_config_send_events_get_mode;
+       libinput_device_config_send_events_set_mode;
+       libinput_device_config_tap_get_default_enabled;
+       libinput_device_config_tap_get_enabled;
+       libinput_device_config_tap_get_finger_count;
+       libinput_device_config_tap_set_enabled;
+       libinput_device_get_context;
+       libinput_device_get_id_product;
+       libinput_device_get_id_vendor;
+       libinput_device_get_name;
+       libinput_device_get_output_name;
+       libinput_device_get_seat;
+       libinput_device_get_size;
+       libinput_device_get_sysname;
+       libinput_device_get_udev_device;
+       libinput_device_get_user_data;
+       libinput_device_has_button;
+       libinput_device_has_capability;
+       libinput_device_led_update;
+       libinput_device_ref;
+       libinput_device_set_seat_logical_name;
+       libinput_device_set_user_data;
+       libinput_device_unref;
+       libinput_dispatch;
+       libinput_event_destroy;
+       libinput_event_device_notify_get_base_event;
+       libinput_event_get_context;
+       libinput_event_get_device_notify_event;
+       libinput_event_get_device;
+       libinput_event_get_keyboard_event;
+       libinput_event_get_pointer_event;
+       libinput_event_get_touch_event;
+       libinput_event_get_type;
+       libinput_event_keyboard_get_base_event;
+       libinput_event_keyboard_get_key_state;
+       libinput_event_keyboard_get_key;
+       libinput_event_keyboard_get_seat_key_count;
+       libinput_event_keyboard_get_time;
+       libinput_event_pointer_get_absolute_x;
+       libinput_event_pointer_get_absolute_x_transformed;
+       libinput_event_pointer_get_absolute_y;
+       libinput_event_pointer_get_absolute_y_transformed;
+       libinput_event_pointer_get_axis;
+       libinput_event_pointer_get_axis_value;
+       libinput_event_pointer_get_base_event;
+       libinput_event_pointer_get_button_state;
+       libinput_event_pointer_get_button;
+       libinput_event_pointer_get_dx;
+       libinput_event_pointer_get_dx_unaccelerated;
+       libinput_event_pointer_get_dy;
+       libinput_event_pointer_get_dy_unaccelerated;
+       libinput_event_pointer_get_seat_button_count;
+       libinput_event_pointer_get_time;
+       libinput_event_touch_get_base_event;
+       libinput_event_touch_get_seat_slot;
+       libinput_event_touch_get_slot;
+       libinput_event_touch_get_time;
+       libinput_event_touch_get_x;
+       libinput_event_touch_get_x_transformed;
+       libinput_event_touch_get_y;
+       libinput_event_touch_get_y_transformed;
+       libinput_get_event;
+       libinput_get_fd;
+       libinput_get_user_data;
+       libinput_log_get_priority;
+       libinput_log_set_handler;
+       libinput_log_set_priority;
+       libinput_next_event_type;
+       libinput_path_add_device;
+       libinput_path_create_context;
+       libinput_path_remove_device;
+       libinput_ref;
+       libinput_resume;
+       libinput_seat_get_context;
+       libinput_seat_get_logical_name;
+       libinput_seat_get_physical_name;
+       libinput_seat_get_user_data;
+       libinput_seat_ref;
+       libinput_seat_set_user_data;
+       libinput_seat_unref;
+       libinput_suspend;
+       libinput_udev_assign_seat;
+       libinput_udev_create_context;
+       libinput_unref;
+local:
+       *;
+};