Seems that while glxvnd relies on some of the hashtable functions in Xext, we only build hashtable support for Xext if we're also building the res extension. This leads to some errors if you try to build glx without res enabled:
glx/liblibglxvnd.a(vndcmds.c.o): In function `LookupVendorPrivDispatch': /home/lyudess/Projects/xserver/glx/vndcmds.c:65: undefined reference to `ht_find' /home/lyudess/Projects/xserver/glx/vndcmds.c:67: undefined reference to `ht_add' glx/liblibglxvnd.a(vndcmds.c.o): In function `GlxDispatchInit': /home/lyudess/Projects/xserver/glx/vndcmds.c:405: undefined reference to `ht_generic_compare' /home/lyudess/Projects/xserver/glx/vndcmds.c:405: undefined reference to `ht_generic_hash' /home/lyudess/Projects/xserver/glx/vndcmds.c:405: undefined reference to `ht_create' glx/liblibglxvnd.a(vndcmds.c.o): In function `GlxDispatchReset': /home/lyudess/Projects/xserver/glx/vndcmds.c:468: undefined reference to `ht_destroy' collect2: error: ld returned 1 exit status ninja: build stopped: subcommand failed. So, make sure that hashtable.c gets both for both glx and res Signed-off-by: Lyude Paul <ly...@redhat.com> --- Xext/meson.build | 6 +++++- meson.build | 9 +++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/Xext/meson.build b/Xext/meson.build index a72173718..7727e207e 100644 --- a/Xext/meson.build +++ b/Xext/meson.build @@ -23,8 +23,12 @@ if build_mitshm hdrs_xext += ['shmint.h'] endif +if build_hashtable + srcs_xext += 'hashtable.c' +endif + if build_res - srcs_xext += ['hashtable.c', 'xres.c'] + srcs_xext += 'xres.c' endif if build_screensaver diff --git a/meson.build b/meson.build index e2dad87bb..5e794ccd0 100644 --- a/meson.build +++ b/meson.build @@ -96,6 +96,8 @@ nettle_dep = dependency('nettle') dbus_required = get_option('systemd_logind') == 'true' dbus_dep = dependency('dbus-1', version: '>= 1.0', required: dbus_required) +build_hashtable = false + # Resolve default values of some options xkb_dir = get_option('xkb_dir') if xkb_dir == '' @@ -300,6 +302,9 @@ if not xdmcp_dep.found() endif build_glx = get_option('glx') +if build_glx + build_hashtable = true +endif libdrm_dep = dependency('libdrm', version: '>= 2.4.89', required: false) @@ -363,6 +368,10 @@ endif build_xf86bigfont = get_option('xf86bigfont') build_screensaver = get_option('screensaver') build_res = get_option('xres') +if build_res + build_hashtable = true +endif + build_xace = get_option('xace') build_xinerama = get_option('xinerama') -- 2.14.3 _______________________________________________ xorg-devel@lists.x.org: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel