1################################################################################
2#
3# directfb
4#
5################################################################################
6
7DIRECTFB_VERSION_MAJOR = 1.7
8DIRECTFB_VERSION = $(DIRECTFB_VERSION_MAJOR).7
9DIRECTFB_SITE = http://sources.buildroot.net/directfb
10DIRECTFB_SOURCE = DirectFB-$(DIRECTFB_VERSION).tar.gz
11DIRECTFB_LICENSE = LGPL-2.1+
12DIRECTFB_LICENSE_FILES = COPYING
13DIRECTFB_INSTALL_STAGING = YES
14DIRECTFB_AUTORECONF = YES
15
16DIRECTFB_CONF_OPTS = \
17	--enable-zlib \
18	--enable-freetype \
19	--enable-fbdev \
20	--disable-sdl \
21	--disable-vnc \
22	--disable-osx \
23	--disable-video4linux \
24	--disable-video4linux2 \
25	--without-tools \
26	--disable-x11
27
28ifeq ($(BR2_STATIC_LIBS),y)
29DIRECTFB_CONF_OPTS += --disable-dynload
30endif
31
32DIRECTFB_CONFIG_SCRIPTS = directfb-config
33
34DIRECTFB_DEPENDENCIES = freetype zlib
35
36ifeq ($(BR2_PACKAGE_DIRECTFB_MULTI),y)
37DIRECTFB_CONF_OPTS += --enable-multi --enable-multi-kernel
38DIRECTFB_DEPENDENCIES += linux-fusion
39else
40DIRECTFB_CONF_OPTS += --disable-multi --disable-multi-kernel
41endif
42
43ifeq ($(BR2_PACKAGE_DIRECTFB_DEBUG_SUPPORT),y)
44DIRECTFB_CONF_OPTS += --enable-debug-support
45ifeq ($(BR2_PACKAGE_DIRECTFB_DEBUG),y)
46DIRECTFB_CONF_OPTS += --enable-debug
47endif
48else
49DIRECTFB_CONF_OPTS += --disable-debug-support
50endif
51
52ifeq ($(BR2_PACKAGE_DIRECTFB_TRACE),y)
53DIRECTFB_CONF_OPTS += --enable-trace
54endif
55
56ifeq ($(BR2_PACKAGE_DIRECTFB_DIVINE),y)
57DIRECTFB_CONF_OPTS += --enable-divine
58else
59DIRECTFB_CONF_OPTS += --disable-divine
60endif
61
62ifeq ($(BR2_PACKAGE_DIRECTFB_SAWMAN),y)
63DIRECTFB_CONF_OPTS += --enable-sawman
64else
65DIRECTFB_CONF_OPTS += --disable-sawman
66endif
67
68DIRECTFB_GFX = \
69	$(if $(BR2_PACKAGE_DIRECTFB_ATI128),ati128) \
70	$(if $(BR2_PACKAGE_DIRECTFB_MATROX),matrox) \
71	$(if $(BR2_PACKAGE_DIRECTFB_PXA3XX),pxa3xx) \
72	$(if $(BR2_PACKAGE_DIRECTFB_I830),i830) \
73	$(if $(BR2_PACKAGE_DIRECTFB_EP9X),ep9x)
74
75ifeq ($(strip $(DIRECTFB_GFX)),)
76DIRECTFB_CONF_OPTS += --with-gfxdrivers=none
77else
78DIRECTFB_CONF_OPTS += \
79	--with-gfxdrivers=$(subst $(space),$(comma),$(strip $(DIRECTFB_GFX)))
80endif
81
82DIRECTFB_INPUT = \
83	$(if $(BR2_PACKAGE_DIRECTFB_LINUXINPUT),linuxinput) \
84	$(if $(BR2_PACKAGE_DIRECTFB_KEYBOARD),keyboard) \
85	$(if $(BR2_PACKAGE_DIRECTFB_PS2MOUSE),ps2mouse) \
86	$(if $(BR2_PACKAGE_DIRECTFB_SERIALMOUSE),serialmouse) \
87	$(if $(BR2_PACKAGE_DIRECTFB_TSLIB),tslib)
88
89ifeq ($(BR2_PACKAGE_DIRECTFB_TSLIB),y)
90DIRECTFB_DEPENDENCIES += tslib
91endif
92
93ifeq ($(strip $(DIRECTFB_INPUT)),)
94DIRECTFB_CONF_OPTS += --with-inputdrivers=none
95else
96DIRECTFB_CONF_OPTS += \
97	--with-inputdrivers=$(subst $(space),$(comma),$(strip $(DIRECTFB_INPUT)))
98endif
99
100ifeq ($(BR2_PACKAGE_DIRECTFB_GIF),y)
101DIRECTFB_CONF_OPTS += --enable-gif
102else
103DIRECTFB_CONF_OPTS += --disable-gif
104endif
105
106ifeq ($(BR2_PACKAGE_DIRECTFB_TIFF),y)
107DIRECTFB_CONF_OPTS += --enable-tiff
108DIRECTFB_DEPENDENCIES += tiff
109else
110DIRECTFB_CONF_OPTS += --disable-tiff
111endif
112
113ifeq ($(BR2_PACKAGE_DIRECTFB_PNG),y)
114DIRECTFB_CONF_OPTS += --enable-png
115DIRECTFB_DEPENDENCIES += libpng
116DIRECTFB_CONF_ENV += ac_cv_path_LIBPNG_CONFIG=$(STAGING_DIR)/usr/bin/libpng-config
117else
118DIRECTFB_CONF_OPTS += --disable-png
119endif
120
121ifeq ($(BR2_PACKAGE_DIRECTFB_JPEG),y)
122DIRECTFB_CONF_OPTS += --enable-jpeg
123DIRECTFB_DEPENDENCIES += jpeg
124else
125DIRECTFB_CONF_OPTS += --disable-jpeg
126endif
127
128ifeq ($(BR2_PACKAGE_DIRECTFB_SVG),y)
129DIRECTFB_CONF_OPTS += --enable-svg
130# needs some help to find cairo includes
131DIRECTFB_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) -I$(STAGING_DIR)/usr/include/cairo"
132DIRECTFB_DEPENDENCIES += libsvg-cairo
133else
134DIRECTFB_CONF_OPTS += --disable-svg
135endif
136
137ifeq ($(BR2_PACKAGE_DIRECTFB_IMLIB2),y)
138DIRECTFB_CONF_OPTS += --enable-imlib2
139DIRECTFB_DEPENDENCIES += imlib2
140DIRECTFB_CONF_ENV += ac_cv_path_IMLIB2_CONFIG=$(STAGING_DIR)/usr/bin/imlib2-config
141else
142DIRECTFB_CONF_OPTS += --disable-imlib2
143endif
144
145ifeq ($(BR2_PACKAGE_DIRECTFB_DITHER_RGB16),y)
146DIRECTFB_CONF_OPTS += --with-dither-rgb16=advanced
147else
148DIRECTFB_CONF_OPTS += --with-dither-rgb16=none
149endif
150
151ifeq ($(BR2_PACKAGE_DIRECTFB_TESTS),y)
152DIRECTFB_CONF_OPTS += --with-tests
153endif
154
155HOST_DIRECTFB_DEPENDENCIES = host-pkgconf host-libpng
156HOST_DIRECTFB_CONF_OPTS = \
157	--disable-multi \
158	--enable-png \
159	--with-gfxdrivers=none \
160	--with-inputdrivers=none
161
162HOST_DIRECTFB_BUILD_CMDS = \
163	$(HOST_MAKE_ENV) $(MAKE) -C $(@D)/tools directfb-csource
164
165HOST_DIRECTFB_INSTALL_CMDS = \
166	$(INSTALL) -m 0755 $(@D)/tools/directfb-csource $(HOST_DIR)/bin
167
168$(eval $(autotools-package))
169$(eval $(host-autotools-package))
170
171# directfb-csource for the host
172DIRECTFB_HOST_BINARY = $(HOST_DIR)/bin/directfb-csource
173