[patch] fix circular linking between ncurses and gpm

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



the problem is that ncurses has optional gpm support while gpm has optional 
ncurses support.  if you link ncurses against gpm and gpm against ncurses, 
this creates a circular dependency loop which makes a lot of programs 
unhappy.

you can find the Gentoo bug about it here:
http://bugs.gentoo.org/show_bug.cgi?id=80942
and the Redhat bug here:
https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=117150

find attached the patch from Fedora to resolve this ... i imagine you'll want 
to do more with the autotools portion :)
-mike
--- gpm-1.20.1/src/lib/libcurses.c.weak-wgetch	2002-12-24 17:57:16.000000000 -0500
+++ gpm-1.20.1/src/lib/libcurses.c	2004-03-22 15:51:24.000000000 -0500
@@ -41,7 +41,12 @@
 #endif /* HAVE_NCURSES_CURSES_H */
 #endif /* HAVE_NCURSES_H */
 
-#define GET(win) ((win) ? wgetch(win) : getch())
+/* If win != NULL, it must have been created by ncurses anyway.
+   Avoid circular library dependencies.  */
+#pragma weak wgetch
+#pragma weak stdscr
+
+#define GET(win) ((win && wgetch) ? wgetch(win) : getch())
 
 int Gpm_Wgetch(WINDOW *win)
 {
--- gpm-1.20.1/configure.in.weak-wgetch	2004-03-22 15:49:51.000000000 -0500
+++ gpm-1.20.1/configure.in	2004-03-22 15:51:24.000000000 -0500
@@ -115,7 +115,7 @@
             AC_CHECK_LIB($i, wgetch,,,$TERMLIBS)
         else :; fi
     done
-    SHARED_LIBS="$LIBS $TERMLIBS -lc"
+    SHARED_LIBS="-lc"
     LIBS=$SAVELIBS ;;
 esac    
 
--- gpm-1.20.1/configure.weak-wgetch	2004-03-22 15:49:55.000000000 -0500
+++ gpm-1.20.1/configure	2004-03-22 15:51:24.000000000 -0500
@@ -4295,7 +4295,7 @@
 
         else :; fi
     done
-    SHARED_LIBS="$LIBS $TERMLIBS -lc"
+    SHARED_LIBS="-lc"
     LIBS=$SAVELIBS ;;
 esac
 
_______________________________________________
gpm mailing list
gpm@xxxxxxxxxxxxxx
http://lists.linux.it/listinfo/gpm

[Index of Archives]     [Kernel Development]     [Red Hat Install]     [Red Hat Watch]     [Red Hat Development]     [Gimp]     [Yosemite News]