diff options
Diffstat (limited to 'macros/gnome-x-checks.m4')
-rw-r--r-- | macros/gnome-x-checks.m4 | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/macros/gnome-x-checks.m4 b/macros/gnome-x-checks.m4 new file mode 100644 index 0000000000..4ffe519fe9 --- /dev/null +++ b/macros/gnome-x-checks.m4 @@ -0,0 +1,59 @@ +AC_DEFUN([GNOME_X_CHECKS], +[ + AC_PATH_X + AC_PATH_XTRA + + saved_cflags="$CFLAGS" + saved_ldflags="$LDFLAGS" + + CFLAGS="$X_CFLAGS" + LDFLAGS="$X_LDFLAGS $X_LIBS" + + dnl Checks for libraries. + AC_CHECK_LIB(X11, XOpenDisplay, + x_libs="$X_PRE_LIBS -lX11 $X_EXTRA_LIBS", + [AC_MSG_ERROR(No X11 installed)], + $X_EXTRA_LIBS) + AC_SUBST(x_libs) + + LDFLAGS="$saved_ldflags $X_LDFLAGS $X_LIBS $x_libs" + + AC_CHECK_LIB(Xext, XShmAttach, + x_libs="$x_libs -lXext", , + $x_libs) + + gnome_cv_passdown_x_libs="$x_libs" + gnome_cv_passdown_X_LIBS="$X_LIBS" + gnome_cv_passdown_X_CFLAGS="$X_CFLAGS" + + LDFLAGS="$saved_ldflags $X_LDFLAGS $X_LIBS" + + dnl Assume that if we have -lSM then we also have -lICE. + AC_CHECK_LIB(SM, SmcSaveYourselfDone, + [AC_DEFINE(HAVE_LIBSM) + x_libs="$x_libs -lSM -lICE"], , + $x_libs -lICE) + AM_CONDITIONAL(ENABLE_GSM, + test "x$ac_cv_lib_SM_SmcSaveYourselfDone" = "xyes") + + AC_CHECK_LIB(gtk, gdk_pixmap_unref, + GTK_LIBS="-lgtk -lgdk -lglib -lm", + [AC_MSG_ERROR(Can not find a Gtk 0.99.1, probably you have an older version?)], + -lgdk -lglib $x_libs -lm) + AC_SUBST(GTK_LIBS) + + gnome_cv_passdown_GTK_LIBS="$GTK_LIBS" + + XPM_LIBS="" + AC_CHECK_LIB(Xpm, XpmFreeXpmImage, [XPM_LIBS="-lXpm"], , $x_libs) + AC_SUBST(XPM_LIBS) + + PTHREAD_LIB="" + AC_CHECK_LIB(pthread, pthread_create, PTHREAD_LIB="-lpthread", + [AC_CHECK_LIB(c_r, pthread_create, PTHREAD_LIB="-lc_r")]) + AC_SUBST(PTHREAD_LIB) + + CFLAGS="$saved_cflags $X_CFLAGS" + LDFLAGS="$saved_ldflags" + AC_PROVIDE([GNOME_X_CHECKS]) +]) |