aboutsummaryrefslogblamecommitdiffstats
path: root/macros/gnome-x-checks.m4
blob: 7b43a5744d9945f053cec0dd7b6751c334a32bd6 (plain) (tree)
1
2
3
4
5
6
7
8
9
10



                                                                        
                                             
                                                   



                                                                               
                                                                          



                                                                       

                          
                                                                                      
 
                                                                          



                                                                         
                                        
 

                                    
 



                                                
 
                                          
 
                          
                           
                
                                 

              
                                                                    
                                                 
                                                                      
                              

              
 







                                                                




                                                                         
                                         
                                
 

                                    
dnl GNOME_X_CHECKS
dnl
dnl Basic X11 related checks for X11.  At the end, the following will be
dnl defined/changed:
dnl   GTK_{CFLAGS,LIBS}      From AM_PATH_GTK
dnl   CPPFLAGS           Will include $X_CFLAGS
dnl   GNOME_HAVE_SM      `true' or `false' depending on whether session
dnl                          management is available.  It is available if
dnl                          both -lSM and X11/SM/SMlib.h exist.  (Some
dnl                          Solaris boxes have the library but not the header)
dnl   XPM_LIBS               -lXpm if Xpm library is present, otherwise ""
dnl
dnl The following configure cache variables are defined (but not used):
dnl   gnome_cv_passdown_{x_libs,X_LIBS,X_CFLAGS}
dnl
AC_DEFUN([GNOME_X_CHECKS],
[
    AM_PATH_GTK(1.0.0,,AC_MSG_ERROR(GTK not installed, or gtk-config not in path))

    dnl Hope that GTK_CFLAGS have only -I and -D.  Otherwise, we could
    dnl   test -z "$x_includes" || CPPFLAGS="$CPPFLAGS -I$x_includes"
    dnl
    dnl Use CPPFLAGS instead of CFLAGS because AC_CHECK_HEADERS uses
    dnl CPPFLAGS, not CFLAGS
        CPPFLAGS="$CPPFLAGS $GTK_CFLAGS"

        saved_ldflags="$LDFLAGS"
        LDFLAGS="$LDFLAGS $GTK_LIBS"

    gnome_cv_passdown_x_libs="$GTK_LIBS"
    gnome_cv_passdown_X_LIBS="$GTK_LIBS"
    gnome_cv_passdown_X_CFLAGS="$GTK_CFLAGS"
    gnome_cv_passdown_GTK_LIBS="$GTK_LIBS"

        LDFLAGS="$saved_ldflags $GTK_LIBS"

    GNOME_HAVE_SM=true
    case "$GTK_LIBS" in
     *-lSM*)
        dnl Already found it.
        ;;
     *)
        dnl Assume that if we have -lSM then we also have -lICE.
        AC_CHECK_LIB(SM, SmcSaveYourselfDone,
            [GTK_LIBS="-lSM -lICE $GTK_LIBS"],GNOME_HAVE_SM=false,
        $x_libs -lICE)
        ;;
    esac

    if test "$GNOME_HAVE_SM" = true; then
       AC_CHECK_HEADERS(X11/SM/SMlib.h,,GNOME_HAVE_SM=false)
    fi

    if test "$GNOME_HAVE_SM" = true; then
       AC_DEFINE(HAVE_LIBSM)
    fi


    XPM_LIBS=""
    AC_CHECK_LIB(Xpm, XpmFreeXpmImage, [XPM_LIBS="-lXpm"], , $x_libs)
    AC_SUBST(XPM_LIBS)

    AC_REQUIRE([GNOME_PTHREAD_CHECK])
        LDFLAGS="$saved_ldflags"

    AC_PROVIDE([GNOME_X_CHECKS])
])