On Thu, Mar 24, 2011 at 1:13 PM, Dan Nicholson <[email protected]> wrote: > On Wed, Mar 23, 2011 at 8:29 PM, Matt Turner <[email protected]> wrote: >> Fixes: http://bugs.gentoo.org/show_bug.cgi?id=360227 >> >> Problem is easily seen during compile: >> -DDFLT_XKB_CONFIG_ROOT='""/usr/share/X11/xkb""' >> --- >> src/xkbcomp/Makefile.am | 2 +- >> 1 files changed, 1 insertions(+), 1 deletions(-) >> >> diff --git a/src/xkbcomp/Makefile.am b/src/xkbcomp/Makefile.am >> index db54c55..84e5381 100644 >> --- a/src/xkbcomp/Makefile.am >> +++ b/src/xkbcomp/Makefile.am >> @@ -1,6 +1,6 @@ >> AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src >> AM_CFLAGS = $(X11_CFLAGS) $(CWARNFLAGS) \ >> - -DDFLT_XKB_CONFIG_ROOT='"$(XKBCONFIGROOT)"' >> + -DDFLT_XKB_CONFIG_ROOT='$(XKBCONFIGROOT)' >> >> noinst_LTLIBRARIES = libxkbcomp.la >> libxkbcomp_la_SOURCES = \ > > This seems to break the normal configuration where pkg-config gives us > the string unquoted. > > $ grep ^XKBCONFIGROOT src/xkbcomp/Makefile > XKBCONFIGROOT = /opt/gfx/share/X11/xkb
A clean checkout and ./autogen.sh here gives me: src/xkbcomp/Makefile:XKBCONFIGROOT = "/usr/share/X11/xkb" > No quotes around the string. Building with this patch and V=1 results in: > > libtool: compile: gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../src > -I../../include -I../../src -I/opt/gfx/include -Wall -Wpointer-arith > -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations > -Wnested-externs -fno-strict-aliasing -Wbad-function-cast -Wformat=2 > -Wold-style-definition -Wdeclaration-after-statement > -DDFLT_XKB_CONFIG_ROOT=/opt/gfx/share/X11/xkb -g -O2 > -fvisibility=hidden -MT listing.lo -MD -MP -MF .deps/listing.Tpo -c > listing.c -fPIC -DPIC -o .libs/listing.o > listing.c: In function ‘xkb_list_components’: > listing.c:494: error: expected expression before ‘/’ token > listing.c:494: error: too few arguments to function ‘GenerateComponent’ > listing.c:498: error: expected expression before ‘/’ token > listing.c:498: error: too few arguments to function ‘GenerateComponent’ > listing.c:502: error: expected expression before ‘/’ token > listing.c:502: error: too few arguments to function ‘GenerateComponent’ > listing.c:506: error: expected expression before ‘/’ token > listing.c:506: error: too few arguments to function ‘GenerateComponent’ > listing.c:510: error: expected expression before ‘/’ token > listing.c:510: error: too few arguments to function ‘GenerateComponent’ > listing.c:514: error: expected expression before ‘/’ token > listing.c:514: error: too few arguments to function ‘GenerateComponent’ > make: *** [listing.lo] Error 1 > > I think you need to change it to > > diff --git a/src/xkbcomp/Makefile.am b/src/xkbcomp/Makefile.am > index db54c55..9c27248 100644 > --- a/src/xkbcomp/Makefile.am > +++ b/src/xkbcomp/Makefile.am > @@ -1,6 +1,6 @@ > AM_CPPFLAGS = -I$(top_srcdir)/include -I$(top_srcdir)/src > AM_CFLAGS = $(X11_CFLAGS) $(CWARNFLAGS) \ > - -DDFLT_XKB_CONFIG_ROOT='"$(XKBCONFIGROOT)"' > + -DDFLT_XKB_CONFIG_ROOT=\"$(XKBCONFIGROOT)\" > > noinst_LTLIBRARIES = libxkbcomp.la > libxkbcomp_la_SOURCES = \ With this patch, I get /bin/sh ../../libtool --tag=CC --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../src -I../../include -I../../src -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -Wbad-function-cast -Wformat=2 -Wold-style-definition -Wdeclaration-after-statement -DDFLT_XKB_CONFIG_ROOT='\""/usr/share/X11/xkb"\"' -g -O2 -fvisibility=hidden -MT listing.lo -MD -MP -MF .deps/listing.Tpo -c -o listing.lo listing.c libtool: compile: gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../src -I../../include -I../../src -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-strict-aliasing -Wbad-function-cast -Wformat=2 -Wold-style-definition -Wdeclaration-after-statement -DDFLT_XKB_CONFIG_ROOT=\\\"\"/usr/share/X11/xkb\"\\\" -g -O2 -fvisibility=hidden -MT listing.lo -MD -MP -MF .deps/listing.Tpo -c listing.c -fPIC -DPIC -o .libs/listing.o <command-line>:0:43: warning: missing terminating " character listing.c: In function 'xkb_list_components': listing.c:494:36: error: stray '\' in program listing.c:494:36: error: 'usr' undeclared (first use in this function) listing.c:494:36: note: each undeclared identifier is reported only once for each function it appears in listing.c:494:36: error: 'share' undeclared (first use in this function) listing.c:494:36: error: 'X11' undeclared (first use in this function) listing.c:494:36: error: missing terminating " character listing.c:494:36: error: 'xkb' undeclared (first use in this function) listing.c:498:36: error: stray '\' in program listing.c:498:36: error: missing terminating " character listing.c:502:36: error: stray '\' in program listing.c:502:36: error: missing terminating " character listing.c:506:36: error: stray '\' in program listing.c:506:36: error: missing terminating " character listing.c:510:36: error: stray '\' in program listing.c:510:36: error: missing terminating " character listing.c:514:36: error: stray '\' in program listing.c:514:36: error: missing terminating " character make[3]: *** [listing.lo] Error 1 Notice both -DDFLT_XKB_CONFIG_ROOT='\""/usr/share/X11/xkb"\"' -DDFLT_XKB_CONFIG_ROOT=\\\"\"/usr/share/X11/xkb\"\\\" appear in the command. No idea what's going on there. This has to be some kind of system-specific problem. The configure script gets the value of XKBCONFIGROOT from pkg-config. What's your output of this command? $ pkg-config --variable=xkb_base xkeyboard-config "/usr/share/X11/xkb" No quotes? (I've got xkeyboard-config-2.1) /usr/share/pkgconfig/xkeyboard-config.pc has xkb_base="/usr/share/X11/xkb". Should this not have quotes? Thanks, Matt _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
