On Thu, Sep 11, 2014 at 10:55:43PM +0200, Jonas Ådahl wrote:
> On Wed, Sep 10, 2014 at 01:32:25AM +0200, Jan Engelhardt wrote:
> > 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.
> 
> This sounds like a good idea. I have not pushed it yet though because
> I'd want to avoid adding the symbols that will be deprecated in the
> coming release (libinput_device_get_keys and libinput_device_calibrate).

can we run the symbols through sort please? Makes it a lot easier to find
them when they're sorted alphabetically.

> > 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 {

I'm not sure what the best approach is tbh, but maybe we should use the
libtool version here instead of the libinput version for easier and more
obvious numbering? the libtool version at least maps to the soname which is
also what causes everything to break if we change it the wrong way.

Cheers,
   Peter


> > +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
> 
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to