+AC_ARG_WITH(directfb,
+ [ --with-directfb=PATH path to DirectFB headers and libraries])
+
+if test "${enable_directfb}" = "yes"; then
+ have_directfb="false"
+ CPPFLAGS_mydirectfb=
+ LIBS_mydirectfb=
+ if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
+ dnl Trying the given location
+ CPPFLAGS_save="${CPPFLAGS}"
+ LIBS_save="${LIBS}"
+
+ CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
+ LIBS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
+ LIBS_new="${LIBS_new} -L${with_directfb}/src/.libs/"
+
+ CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
+ LIBS="${LIBS} ${LIBS_new}"
+
+ dnl FIXME: too obscure
+ AC_CHECK_HEADER([directfb.h], [
+ AC_CHECK_LIB([direct],[direct_initialize], [
+ AC_CHECK_LIB([fusion], [fusion_enter], [
+ AC_CHECK_LIB([directfb], [DirectFBInit], have_directfb="true", have_directfb="false")
+ ], have_directfb="false")
+ ], have_directfb="false")
+ ], have_directfb="false")
+
+ dnl Restore flags
+ CPPFLAGS="${CPPFLAGS_save}"
+ LIBS="${LIBS_save}"
+
+ if test "${have_directfb}" = "true"; then
+ LIBS_mydirectfb="${LIBS_new} -lz -ldl -ldirectfb -lfusion -ldirect -lpthread"
+ CPPFLAGS_mydirectfb="${CPPFLAGS_new}"
+ fi
+ else
+ dnl Look for directfb-config
+ AC_PATH_PROG(DIRECTFB_CONFIG, directfb-config, no, ${PATH})
+ if test "${DIRECTFB_CONFIG}" != "no"; then
+ CPPFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --cflags`"
+ LIBS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
+ have_directfb="true"
+ else
+ dnl Trying with pkg-config
+ PKG_CHECK_MODULES(DIRECTFB, directfb, [
+ CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
+ LIBS_mydirectfb="${DIRECTFB_LIBS}"
+ have_directfb="true"
+ ], [have_directfb="false"])
+ fi
+ fi
+ if test "${have_directfb}" = "true"; then