]> git.eshelyaron.com Git - emacs.git/commitdiff
Add HAVE_GLIB check instead of checking individual libraries that use GLib.
authorJan Djärv <jan.h.d@swipnet.se>
Mon, 3 Jun 2013 18:47:35 +0000 (20:47 +0200)
committerJan Djärv <jan.h.d@swipnet.se>
Mon, 3 Jun 2013 18:47:35 +0000 (20:47 +0200)
* configure.ac (HAVE_GLIB): Add GLib check.  Set XGSELOBJ if GLib is
used.  Remove xgselect.o from XOBJ.

* src/Makefile.in (XGSELOBJ): New, xgselect.o if GLib is used, or empty.

* src/process.c (wait_reading_process_output): Call xg_select if HAVE_GLIB.

* src/xgselect.c: Replace #if defined ... with #ifdef HAVE_GLIB.

ChangeLog
configure.ac
src/ChangeLog
src/Makefile.in
src/process.c
src/xgselect.c

index 22607d59529ef143a5f5628f25da68f08a1c9aa7..d8474483f1e72cb18d82058e4b7c4ca76373d5fb 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2013-06-03  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * configure.ac (HAVE_GLIB): Add GLib check.  Set XGSELOBJ if GLib is
+       used.  Remove xgselect.o from XOBJ.
+
 2013-06-03  Michael Albinus  <michael.albinus@gmx.de>
 
        * configure.ac (file-notification): New option, replaces inotify option.
index b0859ca8dec97528d86dd707bfefe36ea49688ec..c13f9d977e64d524b9f6351541fdeaaa16b3b791 100644 (file)
@@ -3612,6 +3612,23 @@ AC_FUNC_FORK
 
 AC_CHECK_FUNCS(snprintf)
 
+dnl Check this late.  It depends on what other libraries (lrsvg, Gtk+ etc)
+dnl Emacs uses.
+XGSELOBJ=
+AC_MSG_CHECKING([whether GLib is linked in])
+AC_LINK_IFELSE([AC_LANG_PROGRAM(
+       [[#include <glib.h>
+       ]],
+       [[g_print ("Hello world");]])],
+     [links_glib=yes],
+     [links_glib=no])
+AC_MSG_RESULT([$links_glib])
+if test "${links_glib}" = "yes"; then
+  AC_DEFINE(HAVE_GLIB, 1, [Define to 1 if GLib is linked in.])
+  XGSELOBJ=xgselect.o
+fi
+AC_SUBST(XGSELOBJ)
+
 dnl Adapted from Haible's version.
 AC_CACHE_CHECK([for nl_langinfo and CODESET], emacs_cv_langinfo_codeset,
   [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include <langinfo.h>]],
@@ -4398,7 +4415,7 @@ if test "${HAVE_X_WINDOWS}" = "yes" ; then
   AC_DEFINE(HAVE_X_WINDOWS, 1,
            [Define to 1 if you want to use the X window system.])
   XMENU_OBJ=xmenu.o
-  XOBJ="xterm.o xfns.o xselect.o xrdb.o xsmfns.o xsettings.o xgselect.o"
+  XOBJ="xterm.o xfns.o xselect.o xrdb.o xsmfns.o xsettings.o"
   FONT_OBJ=xfont.o
   if test "$HAVE_XFT" = "yes"; then
     FONT_OBJ="$FONT_OBJ ftfont.o xftfont.o ftxfont.o"
index b3b6f4730f06e7577ef6a280f25525911d885c81..aeca77b2ba3fdd51d6f0ccb9dfa05fa0abfae6f7 100644 (file)
@@ -1,3 +1,11 @@
+2013-06-03  Jan Djärv  <jan.h.d@swipnet.se>
+
+       * xgselect.c: Replace #if defined ... with #ifdef HAVE_GLIB.
+
+       * process.c (wait_reading_process_output): Call xg_select if HAVE_GLIB.
+
+       * Makefile.in (XGSELOBJ): New, xgselect.o if GLib is used, or empty.
+
 2013-06-03  Paul Eggert  <eggert@cs.ucla.edu>
 
        Fix minor problems found by static checking.
index 0556bae1ecd684bb19df7642cda4396729820fb1..0e42f0ee6a0bc13643a7b8225bc60ef37db5c831 100644 (file)
@@ -205,10 +205,13 @@ LIBXMENU=@LIBXMENU@
 
 ## xmenu.o if HAVE_X_WINDOWS, else empty.
 XMENU_OBJ=@XMENU_OBJ@
-## xterm.o xfns.o xselect.o xrdb.o xsmfns.o xsettings.o xgselect.o if
+## xterm.o xfns.o xselect.o xrdb.o xsmfns.o xsettings.o if
 ## HAVE_X_WINDOWS, else empty.
 XOBJ=@XOBJ@
 
+# xgselect.o if linking with GLib, else empty
+XGSELOBJ=@XGSELOBJ@
+
 TOOLKIT_LIBW=@TOOLKIT_LIBW@
 
 ## Only used if HAVE_X11, in LIBX_OTHER.
@@ -371,7 +374,7 @@ base_obj = dispnew.o frame.o scroll.o xdisp.o menu.o $(XMENU_OBJ) window.o \
        doprnt.o intervals.o textprop.o composite.o xml.o $(NOTIFY_OBJ) \
        profiler.o \
        $(MSDOS_OBJ) $(MSDOS_X_OBJ) $(NS_OBJ) $(CYGWIN_OBJ) $(FONT_OBJ) \
-       $(W32_OBJ) $(WINDOW_SYSTEM_OBJ)
+       $(W32_OBJ) $(WINDOW_SYSTEM_OBJ) $(XGSELOBJ)
 obj = $(base_obj) $(NS_OBJC_OBJ)
 
 ## Object files used on some machine or other.
index 8c4199e5eede1f74ebd4c4574313c9ae976a7d43..33035078df90e5e45b62458be74dfd102fe0717b 100644 (file)
@@ -4528,7 +4528,7 @@ wait_reading_process_output (intmax_t time_limit, int nsecs, int read_kbd,
            }
 #endif
 
-#if defined (USE_GTK) || defined (HAVE_GCONF) || defined (HAVE_GSETTINGS)
+#if defined (HAVE_GLIB)
           nfds = xg_select
 #elif defined (HAVE_NS)
          nfds = ns_select
index 0b5ad6ae70d466b17a2b5cb2fb7d3c14f990f3ac..38b9705e976365e0ef763a9954ee35f535af8086 100644 (file)
@@ -21,7 +21,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #include "xgselect.h"
 
-#if defined (USE_GTK) || defined (HAVE_GCONF) || defined (HAVE_GSETTINGS)
+#ifdef HAVE_GLIB
 
 #include <glib.h>
 #include <errno.h>
@@ -140,4 +140,4 @@ xg_select (int fds_lim, SELECT_TYPE *rfds, SELECT_TYPE *wfds, SELECT_TYPE *efds,
 
   return retval;
 }
-#endif /* USE_GTK || HAVE_GCONF || HAVE_GSETTINGS */
+#endif /* HAVE_GLIB */