spelling
[monky] / configure.in
index ac64aa2..05d672a 100644 (file)
@@ -1,8 +1,9 @@
-AC_INIT([Conky],[1.3.6_CVS_20060107],[brenden1@users.sourceforge.net])
+AC_INIT([Conky],[1.4.0],[brenden1@users.sourceforge.net])
 
-AM_INIT_AUTOMAKE(conky, 1.3.6_CVS_20060107)
+AM_INIT_AUTOMAKE(conky, 1.4.0)
 AM_CONFIG_HEADER(src/config.h)
 AC_PROG_LIBTOOL
+PKG_PROG_PKG_CONFIG([0.17.2])
 
 
 AC_CONFIG_FILES(
@@ -43,8 +44,6 @@ AM_CONDITIONAL(BUILD_SOLARIS, test x$uname = xSunOS)
 AM_CONDITIONAL(BUILD_FREEBSD, test x$uname = xFreeBSD)
 AM_CONDITIONAL(BUILD_NETBSD, test x$uname = xNetBSD)
 
-PKG_PROG_PKG_CONFIG([0.17.2])
-
 dnl
 dnl XFT option
 dnl
@@ -81,52 +80,174 @@ if test $dah = "yes"; then
 fi
 
 dnl
-dnl XMMS_SUPPORT
-dnl
-
-xmms_support=none
-AC_ARG_ENABLE(xmms-support,
-   [  --enable-xmms-support[[=project]] 
-        Specify the XMMS-related Project: 
-              none:       none [[default]]
-             xmms:       XMMS (version 1) Support
-             bmp:        Beep Media Player (not BMPx) Support 
-             audacious:  Audacious (version >= 0.1) Media Player Support
-             infopipe:   XMMS/BMP InfoPipe (version 1.3) Plugin Support ],
-   [xmms_support="$enableval"])
-
-case x$xmms_support in
-    xnone|xyes|xno)
+dnl XMMS (Version 1)
+dnl
+
+want_xmms=auto
+AC_ARG_ENABLE(xmms,
+   [  --enable-xmms           enable xmms (ver. 1) media player support [[default=auto]]],
+   [want_xmms="$enableval"])
+
+case x$want_xmms in
+    xauto)
+        want_xmms=yes
+        ## its ok to favor the glib 2.0 headers over 1.2 for our purposes ##
+        PKG_CHECK_MODULES([XMMS], [glib-2.0], [], [PKG_CHECK_MODULES([XMMS], [glib-1.2], [], [want_xmms=no])]) 
+
+        if test x$want_xmms = xyes; then
+            AC_CHECK_HEADERS([dlfcn.h], [], [want_xmms=no])
+            if test x$want_xmms = xyes; then
+                AC_CHECK_LIB(dl, dlopen, [LIBS="$LIBS -ldl"],
+                                         [AC_CHECK_FUNCS(dlopen,[],
+                                                                [want_xmms=no])])
+                if test x$want_xmms = xyes; then
+                     CFLAGS="$CFLAGS $XMMS_CFLAGS"
+                    ### if we link to glib 1.2, that means 2.0 wasn't found ###
+                    ### if we link to glib 2.0, that's ok, we will load libglib-1.2.so.0 dynamically ###
+                     LIBS="$LIBS $XMMS_LIBS"
+                     AC_DEFINE(XMMS, 1, [Define for XMMS Ver. 1 support])
+                fi
+            fi
+        fi
         ;;
-    xxmms)
-        AC_DEFINE(XMMS, 1, [Define for XMMS support])
-       echo "Sorry, xmms isn't supported yet"
-       exit -1
-       ;;
-    xbmp)
-       PKG_CHECK_MODULES([BMP], [bmp], [])
-       CFLAGS="$CFLAGS $BMP_CFLAGS"
-       LIBS="$LIBS $BMP_LIBS"
-       AC_DEFINE(BMP, 1, [Define for BMP support])
-       ;;
-    xaudacious)
-        PKG_CHECK_MODULES([AUDACIOUS], [audacious >= 0.1])
+    xyes)
+        ## its ok to favor the glib 2.0 headers over 1.2 for our purposes ##
+       PKG_CHECK_MODULES([XMMS], [glib-2.0], [], [PKG_CHECK_MODULES([XMMS], [glib-1.2])])
+        CFLAGS="$CFLAGS $XMMS_CFLAGS"
+       ### if we link to glib 1.2, that means 2.0 wasn't found ###
+       ### if we link to glib 2.0, that's ok, we will load libglib-1.2.so.0 dynamically ###
+        LIBS="$LIBS $XMMS_LIBS"
+        AC_CHECK_HEADERS([dlfcn.h], [],
+             [AC_MSG_ERROR(["dlfcn.h not found: dynamic library loading not supported"])])
+        AC_CHECK_LIB(dl, dlopen, [LIBS="$LIBS -ldl"],
+                                 [AC_CHECK_FUNCS(dlopen,[],
+                                                        [AC_MSG_ERROR([dlopen() not available])])])
+        AC_DEFINE(XMMS, 1, [Define for XMMS Ver. 1 support])
+        ;;
+    xno)
+        ;;
+    *)
+        echo "Error: invalid xmms parameter specified: $want_xmms"
+        exit -1
+        ;;
+esac
+AM_CONDITIONAL(BUILD_XMMS, test x$want_xmms = xyes)
+
+dnl
+dnl BMP (through 0.9.7.1)
+dnl
+
+want_bmp=auto
+AC_ARG_ENABLE(bmp,
+   [  --enable-bmp            enable beep media media player support [[default=auto]]],
+   [want_bmp="$enableval"])
+
+case x$want_bmp in
+    xauto)
+        want_bmp=yes
+        PKG_CHECK_MODULES([BMP], [glib-2.0], [], [want_bmp=no])
+        if test x$want_bmp = xyes; then
+            AC_CHECK_HEADERS([dlfcn.h], [], [want_bmp=no])
+            if test x$want_bmp = xyes; then
+                AC_CHECK_LIB(dl, dlopen, [LIBS="$LIBS -ldl"],
+                                         [AC_CHECK_FUNCS(dlopen,[],
+                                                                [want_bmp=no])])
+                if test x$want_bmp = xyes; then
+                     CFLAGS="$CFLAGS $BMP_CFLAGS"
+                     LIBS="$LIBS $BMP_LIBS"
+                     AC_DEFINE(BMP, 1, [Define for Beep Media Player support])
+                fi
+            fi
+        fi
+        ;;
+    xyes)
+        PKG_CHECK_MODULES([BMP], [glib-2.0 >= 2.0])
+        CFLAGS="$CFLAGS $BMP_CFLAGS"
+        LIBS="$LIBS $BMP_LIBS"
+        AC_CHECK_HEADERS([dlfcn.h], [],
+             [AC_MSG_ERROR(["dlfcn.h not found: dynamic library loading not supported"])])
+        AC_CHECK_LIB(dl, dlopen, [LIBS="$LIBS -ldl"],
+                                 [AC_CHECK_FUNCS(dlopen,[],
+                                                        [AC_MSG_ERROR([dlopen() not available])])])
+        AC_DEFINE(BMP, 1, [Define for Beep Media Player support])
+        ;;
+    xno)
+        ;;
+    *)
+        echo "Error: invalid bmp parameter specified: $want_bmp"
+        exit -1
+        ;;
+esac
+AM_CONDITIONAL(BUILD_BMP, test x$want_bmp = xyes)
+
+dnl
+dnl Audacious Media Player
+dnl
+
+want_audacious=auto
+AC_ARG_ENABLE(audacious,
+   [  --enable-audacious      enable audacious player support [[default=auto]]],
+   [want_audacious="$enableval"])
+
+case x$want_audacious in
+    xauto)
+        want_audacious=yes
+        PKG_CHECK_MODULES([AUDACIOUS], [glib-2.0], [], [want_audacious=no])  
+       if test x$want_audacious = xyes; then
+           AC_CHECK_HEADERS([dlfcn.h], [], [want_audacious=no])
+           if test x$want_audacious = xyes; then
+               AC_CHECK_LIB(dl, dlopen, [LIBS="$LIBS -ldl"], 
+                                         [AC_CHECK_FUNCS(dlopen,[],
+                                                                [want_audacious=no])])
+               if test x$want_audacious = xyes; then
+                    CFLAGS="$CFLAGS $AUDACIOUS_CFLAGS"
+                    LIBS="$LIBS $AUDACIOUS_LIBS"
+                    AC_DEFINE(AUDACIOUS, 1, [Define for Audacious support])
+               fi
+           fi
+        fi
+        ;;
+    xyes)
+        PKG_CHECK_MODULES([AUDACIOUS], [glib-2.0])
         CFLAGS="$CFLAGS $AUDACIOUS_CFLAGS"
-       LIBS="$LIBS $AUDACIOUS_LIBS"
+        LIBS="$LIBS $AUDACIOUS_LIBS"
+        AC_CHECK_HEADERS([dlfcn.h], [], 
+             [AC_MSG_ERROR(["dlfcn.h not found: dynamic library loading not supported"])])
+       AC_CHECK_LIB(dl, dlopen, [LIBS="$LIBS -ldl"], 
+                                 [AC_CHECK_FUNCS(dlopen,[], 
+                                                        [AC_MSG_ERROR([dlopen() not available])])])
         AC_DEFINE(AUDACIOUS, 1, [Define for Audacious support])
         ;;
-    xinfopipe)
-        AC_DEFINE(INFOPIPE, 1, [Define for XMMS/BMP InfoPipe support])
+    xno)
        ;;
     *)
-        echo "Error: invalid xmms-status specified: $xmms_support"
-       exit -1
+        echo "Error: invalid audacious parameter specified: $want_audacious"
+        exit -1
        ;;
 esac
-AM_CONDITIONAL(BUILD_XMMS, test x$xmms_support = xxmms)
-AM_CONDITIONAL(BUILD_BMP, test x$xmms_support = xbmp)
-AM_CONDITIONAL(BUILD_AUDACIOUS, test x$xmms_support = xaudacious)
-AM_CONDITIONAL(BUILD_INFOPIPE, test x$xmms_support = xinfopipe)
+AM_CONDITIONAL(BUILD_AUDACIOUS, test x$want_audacious = xyes)
+
+dnl
+dnl InfoPipe (Version 1.3)
+dnl
+
+want_infopipe=yes
+AC_ARG_ENABLE(infopipe,
+   [  --enable-infopipe       enable xmms/bmp infopipe support [[default=yes]]],
+   [want_infopipe="$enableval"])
+
+case x$want_infopipe in
+    xyes)
+        AC_DEFINE(INFOPIPE, 1, [Define for InfoPipe support])
+        ;;
+    xno)
+        ;;
+    *)
+        echo "Error: invalid infopipe parameter specified: $want_infopipe"
+        exit -1
+        ;;
+esac
+AM_CONDITIONAL(BUILD_INFOPIPE, test x$want_infopipe = xyes)
 
 dnl
 dnl BMPx