+AC_ARG_WITH(directfb,
+ [ --with-directfb=PATH path to DirectFB headers and libraries])
+
+if test "${enable_directfb}" = "yes"; then
+ have_directfb="false"
+ CPPFLAGS_mydirectfb=
+ LDFLAGS_mydirectfb=
+ if test "${with_directfb}" != "no" -a -n "${with_directfb}"; then
+ dnl Trying the given location
+ CPPFLAGS_save=${CPPFLAGS}
+ LDFLAGS_save=${LDFLAGS}
+
+ CPPFLAGS_new="-I${with_directfb}/include -D_REENTRANT -D_GNU_SOURCE"
+ LDFLAGS_new="-L${with_directfb}/lib/fusion/.libs/ -L${with_directfb}/lib/direct/.libs/"
+ LDFLAGS_new="${LDFLAGS_new} -L${with_directfb}/src/.libs/"
+
+ CPPFLAGS="${CPPFLAGS} ${CPPFLAGS_new}"
+ LDFLAGS="${LD_FLAGS} ${LDFLAGS_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}"
+ LDFLAGS="${LDFLAGS_save}"
+
+ if test "${have_directfb}" = "true"; then
+ LDFLAGS_mydirectfb="${LDFLAGS_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`"
+ LDFLAGS_mydirectfb="`${DIRECTFB_CONFIG} --libs`"
+ have_directfb="true"
+ else
+ dnl Trying with pkg-config
+ PKG_CHECK_MODULES(DIRECTFB, directfb, [
+ CPPFLAGS_mydirectfb="${DIRECTFB_CFLAGS}"
+ LDFLAGS_mydirectfb="${DIRECTFB_LIBS}"
+ have_directfb="true"
+ ], [have_directfb="false"])
+ fi
+ fi
+ if test "${have_directfb}" = "true"; then