kconfig: fix xconfig on fedora 2 & 3 (x86_64)
authorSam Ravnborg <sam@mars.ravnborg.org>
Sun, 6 Nov 2005 10:05:21 +0000 (11:05 +0100)
committerSam Ravnborg <sam@mars.ravnborg.org>
Sun, 6 Nov 2005 10:05:21 +0000 (11:05 +0100)
From: Than Ngo <than@redhat.com>
qt as installed on fedora core (2 and 3) does not work with vanilla
kernel. The linker fails to locate the qt lib:

Actual Results:  # make xconfig
  HOSTLD  scripts/kconfig/qconf
  /usr/bin/ld: cannot find -lqt
  collect2: ld returned 1 exit status

Than Ngo has provided following fix for the bug.

Cc: Than Ngo <than@redhat.com>
Acked-by: Dave Jones <davej@redhat.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
scripts/kconfig/Makefile

index 0dd9691..455aeab 100644 (file)
@@ -129,7 +129,7 @@ endif
 HOSTCFLAGS_lex.zconf.o := -I$(src)
 HOSTCFLAGS_zconf.tab.o := -I$(src)
 
-HOSTLOADLIBES_qconf    = -L$(QTLIBPATH) -Wl,-rpath,$(QTLIBPATH) -l$(QTLIB) -ldl
+HOSTLOADLIBES_qconf    = -L$(QTLIBPATH) -Wl,-rpath,$(QTLIBPATH) -l$(LIBS_QT) -ldl
 HOSTCXXFLAGS_qconf.o   = -I$(QTDIR)/include -D LKC_DIRECT_LINK
 
 HOSTLOADLIBES_gconf    = `pkg-config gtk+-2.0 gmodule-2.0 libglade-2.0 --libs`
@@ -163,11 +163,16 @@ $(obj)/.tmp_qtcheck:
          false; \
        fi; \
        LIBPATH=$$DIR/lib; LIB=qt; \
-       $(HOSTCXX) -print-multi-os-directory > /dev/null 2>&1 && \
-         LIBPATH=$$DIR/lib/$$($(HOSTCXX) -print-multi-os-directory); \
-       if [ -f $$LIBPATH/libqt-mt.so ]; then LIB=qt-mt; fi; \
+       if [ -f $$QTLIB/libqt-mt.so ] ; then \
+               LIB=qt-mt; \
+               LIBPATH=$$QTLIB; \
+       else \
+               $(HOSTCXX) -print-multi-os-directory > /dev/null 2>&1 && \
+               LIBPATH=$$DIR/lib/$$($(HOSTCXX) -print-multi-os-directory); \
+               if [ -f $$LIBPATH/libqt-mt.so ]; then LIB=qt-mt; fi; \
+       fi; \
        echo "QTDIR=$$DIR" > $@; echo "QTLIBPATH=$$LIBPATH" >> $@; \
-       echo "QTLIB=$$LIB" >> $@; \
+       echo "LIBS_QT=$$LIB" >> $@; \
        if [ ! -x $$DIR/bin/moc -a -x /usr/bin/moc ]; then \
          echo "*"; \
          echo "* Unable to find $$DIR/bin/moc, using /usr/bin/moc instead."; \