configure.in///文件
1588
##################################################
# Checks for gtk-doc and docbook-tools
##################################################
+#ifdef(GTK_DOC_CHECK, GTK_DOC_CHECK([1.0]))
+AM_CONDITIONAL(ENABLE_GTK_DOC, false)
+AM_CONDITIONAL(GTK_DOC_USE_LIBTOOL, false)
-GTK_DOC_CHECK([1.0])
+#GTK_DOC_CHECK([1.0])
222:222/
- gdktarget=x11
+ gdktarget=directfb
226:226/
-AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/linux-fb/win32]] select GDK target [default=$gdktarget]],
+AC_ARG_WITH(gdktarget, [ --with-gdktarget=[[x11/linux-fb/directfb/win32]] select GDK target [default=$gdktarget]],
230:230///
case $gdktarget in
- x11|linux-fb|win32) ;;
- *) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb or win32.]);;
esac
case $gdktarget in
+ x11|linux-fb|win32|directfb) ;;
+ *) AC_MSG_ERROR([Invalid target for GDK: use x11, linux-fb, directfb or win32.]);;
esac
1369:1369/ ~~~~~~~~~~~~~~~~~~~
AC_SUBST(GDK_PIXBUF_XLIB_DEP_CFLAGS)
+if test "x$gdktarget" = "xdirectfb"; then
+ DIRECTFB_REQUIRED_VERSION=1.0.0
+
+ AC_MSG_CHECKING(for DirectFB)
+ if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb ; then
+ AC_MSG_RESULT(found)
+ GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags directfb` $GDK_EXTRA_CFLAGS" //加上??
+ GDK_EXTRA_LIBS="`$PKG_CONFIG --libs directfb` $GDK_EXTRA_LIBS" //。。。
+ else
+ AC_MSG_ERROR([
+*** DirectFB $DIRECTFB_REQUIRED_VERSION or newer is required. The latest
+*** version of DirectFB is always available from http://www.directfb.org.
+ ])
+ fi
+
+ GDK_PACKAGES=directfb
+
+ with_xinput=no
+ AC_DEFINE(XINPUT_NONE)
+ x_cflags=
+ x_includes=
+ x_ldflags=
+ x_libs=
+ xinput_progs=
+
+ AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no)
+ if test x$FREETYPE_CONFIG = xno ; then
+ AC_MSG_ERROR([*** freetype-config not found])
+ fi
+
+ FREETYPE_CFLAGS="`$FREETYPE_CONFIG --cflags`"
+ FREETYPE_LIBS="`$FREETYPE_CONFIG --libs`"
+ CFLAGS="$CFLAGS $FREETYPE_CFLAGS"
+
+ GDK_EXTRA_CFLAGS="$GDK_EXTRA_CFLAGS $FREETYPE_CFLAGS"
+ GDK_EXTRA_LIBS="$GDK_EXTRA_LIBS $FREETYPE_LIBS"
+
+ AM_CONDITIONAL(USE_DIRECTFB, true)
+else
+ AM_CONDITIONAL(USE_DIRECTFB, false)
+fi
+
if test "x$gdktarget" = "xlinux-fb"; then /~~~~~~~~~~~~~~~~~~~~~~~~~~~delete
//
@@ -1361,6 +1361,27 @@ else
AM_CONDITIONAL(ENABLE_FB_MANAGER, false)
fi
+if test "x$gdktarget" = "xdirectfb"; then
+ DIRECTFB_REQUIRED_VERSION=0.9.21
+ AC_MSG_CHECKING(for DirectFB)
+
+ if $PKG_CONFIG --atleast-version $DIRECTFB_REQUIRED_VERSION directfb ; then
+ AC_MSG_RESULT(found)
+ GDK_EXTRA_CFLAGS="`$PKG_CONFIG --cflags directfb` $GDK_EXTRA_CFLAGS"
+ GDK_EXTRA_LIBS="`$PKG_CONFIG --libs directfb` $GDK_EXTRA_LIBS"
+ else
+ AC_MSG_ERROR([
+*** DirectFB $DIRECTFB_REQUIRED_VERSION or newer is required. The latest
+*** version of DirectFB is always available from http://www.directfb.org/.
+ ])
+ fi
+
+ AM_CONDITIONAL(USE_DIRECTFB, true)
+else
+ AM_CONDITIONAL(USE_DIRECTFB, false)
+fi
+
+
# Check for Pango flags
1461
elif test "x$gdktarget" = "xlinux-fb"; then
PANGO_PACKAGES=pangoft2
+elif test "x$gdktarget" = "xdirectfb"; then
+ PANGO_PACKAGES=pangoft2
else
PANGO_PACKAGES=pango
1500///
LDFLAGS="$saved_ldflags"
-GDK_PACKAGES="$PANGO_PACKAGES"
+GDK_PACKAGES="$GDK_PACKAGES $PANGO_PACKAGES"
GDK_DEP_LIBS="$GDK_EXTRA_LIBS `$PKG_CONFIG --libs $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_LIBS"
GDK_DEP_CFLAGS="`$PKG_CONFIG --cflags gthread-2.0 $GDK_PIXBUF_PACKAGES $GDK_PACKAGES` $GDK_PIXBUF_EXTRA_CFLAGS $GDK_EXTRA_CFLAGS"
1673
#define GDK_NATIVE_WINDOW_POINTER'
+elif test "x$gdktarget" = "xdirectfb" ; then
+ gdk_windowing='
+#define GDK_WINDOWING_DIRECTFB'
fi
1734
gdk/win32/rc/gdk.rc
gdk/linux-fb/Makefile
+gdk/directfb/Makefile
gtk/Makefile
gtk/makefile.msc
//
//
//
gdk/Makefile.am
//
3
SUBDIRS = $(gdktarget)
-DIST_SUBDIRS = linux-fb win32 x11
+DIST_SUBDIRS = linux-fb win32 x11 directfb
EXTRA_DIST = /
129 //
gdkmarshalers.h
+libgdk_directfb_2_0_la_SOURCES = $(common_sources)
+libgdk_directfb_2_0_la_LIBADD = directfb/libgdk-directfb.la $(GDK_DEP_LIBS) /
+ $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la
+libgdk_directfb_2_0_la_LDFLAGS = $(LDADD)
+
libgdk_x11_2_0_la_SOURCES = $(common_sources)
libgdk_x11_2_0_la_LIBADD = x11/libgdk-x11.la $(GDK_DEP_LIBS) /
198 ///
lib_LTLIBRARIES = $(gdktargetlib)
-EXTRA_LTLIBRARIES = libgdk-x11-2.0.la libgdk-linux-fb-2.0.la libgdk-win32-2.0.la
+EXTRA_LTLIBRARIES = libgdk-x11-2.0.la libgdk-linux-fb-2.0.la libgdk-win32-2.0.la libgdk-directfb-2.0.la
MAINTAINERCLEANFILES = gdkenumtypes.h stamp-gdkenumtypes.h gdkenumtypes.c /
/
/
gdk/gdk.symbols
318
dk_colormap_get_type G_GNUC_CONST
+#ifndef GDK_DISABLE_DEPRECATED
gdk_colormap_change
gdk_colors_alloc
gdk_colors_free
-#ifndef GDK_DISABLE_DEPRECATED
gdk_colormap_get_system_size
gdk_color_change
#endiff
513//
gdk_drawable_unref
gdk_draw_string
+gdk_draw_text
+gdk_draw_text_wc
#endif
537 //
gdk_draw_polygon
gdk_draw_rectangle
gdk_draw_segments
-gdk_draw_text
-gdk_draw_text_wc
gdk_draw_trapezoids
#endif
786 ///
gdk_keymap_translate_keyboard_state
+#ifndef GDK_WINDOWING_DIRECTFB
gdk_keyval_convert_case
+#endif
gdk_keyval_from_name
///
gtk/Makefile.am
/
658/
libgtk_x11_2_0_la_SOURCES = $(gtk_c_sources) $(gtk_plug_c_sources)
libgtk_linux_fb_2_0_la_SOURCES = $(gtk_c_sources)
libgtk_win32_2_0_la_SOURCES = $(gtk_c_sources)
+libgtk_directfb_2_0_la_SOURCES = $(gtk_c_sources)
libgtk_x11_2_0_la_LDFLAGS = $(libtool_opts)
libgtk_linux_fb_2_0_la_LDFLAGS = $(libtool_opts)
libgtk_win32_2_0_la_LDFLAGS = $(libtool_opts)
+libgtk_directfb_2_0_la_LDFLAGS = $(libtool_opts)
libgtk_x11_2_0_la_LIBADD = $(libadd)
libgtk_linux_fb_2_0_la_LIBADD = $(libadd)
libgtk_win32_2_0_la_LIBADD = $(libadd) $(gtk_win32res_lo) -lole32 -lwsock32 -lgdi32
libgtk_win32_2_0_la_DEPENDENCIES = $(gtk_def) $(gtk_win32res_lo)
+libgtk_directfb_2_0_la_LIBADD = $(libadd)
f USE_WIN32
libgtk_target_ldflags = $(gtk_win32_symbols)
endif
-EXTRA_LTLIBRARIES = libgtk-x11-2.0.la libgtk-linux-fb-2.0.la libgtk-win32-2.0.la
+EXTRA_LTLIBRARIES = libgtk-x11-2.0.la libgtk-linux-fb-2.0.la libgtk-win32-2.0.la libgtk-directfb-2.0.la
///
/
.................................................................................
gdkdrawable-directfb.c
// drawable_class->ref_cairo_surface = gdk_directfb_ref_cairo_surface;
gdkkeys-directfb.c
1609// case DIKI_ALTGR: keyval = GDK_Mode_switch; break;