On 03/03/2015 08:30 AM, Emil Velikov wrote: > On 26 February 2015 at 21:26, Chad Versace <[email protected]> wrote: >> On 02/23/2015 12:32 PM, Emil Velikov wrote: >>> Hello list, >>> >>> Second to last part of removing all the window specific bits from >>> link-time to run-time (hail libdl). >>> >>> Note that the last patch looks a bit messy, mostly due to the wayland >>> design approach to have a handful of functions defined as static inlines >>> in the public header. >>> >>> This has been compiled tested only, as I don't have a wayland setup atm. >>> Will see if anyone volunteers over at #wayland (touch wood). >> >> I run Waffle's Wayland tests inside an X session. You can run Weston >> inside an X window. >> >> $ sudo yum install weston >> $ nohup weston & >> $ wflinfo -p wayland -a gles2 >> >>> >>> As usual the series can be found at my github repo in branch >>> wip/no-libwayland. >>> >>> Comments, suggestions even moderate bike-shed is welcome. >> >> wl_display_connect() crashes with SIGSEGV. I suspect the problem >> is a symbol collision: a wl_display_connect symbol exists in >> libwaffle and in the dlopened libwayland-client. But I'm not >> confident in that guess. >> >> This patch series is crazy stuff :) Before it's complete >> and working, we'll probably learn a few things about linker magic. >> >> Maybe I should be building libwaffle with -Bsymbolic? Hmm.... >> > I fear that -Bsymbolic does not cut it :'( > > I've went ahead with another solution inspired by SDL. Admittedly it's > not pretty, but it does not violate the spec (like v1), plus it even > works - double-checked via your instructions above. > > The whole things in a nutshell can be seen below: > > $ cat wrapper.h > > foo * > (*wrapper_wl_foo)(...); > > #define wl_foo (*wrapper_wl_foo) > > #include <wayland-foo.h> > > We're nearly there :-)
Ahhh.... Yes, that should work. That's the same trick used by libepoxy and piglit-dispatch. _______________________________________________ waffle mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/waffle

