xref: /OK3568_Linux_fs/buildroot/package/directfb/directfb.mk (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1################################################################################
2#
3# directfb
4#
5################################################################################
6
7DIRECTFB_VERSION_MAJOR = 1.7
8DIRECTFB_VERSION = $(DIRECTFB_VERSION_MAJOR).7
9DIRECTFB_SITE = http://www.directfb.org/downloads/Core/DirectFB-$(DIRECTFB_VERSION_MAJOR)
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_CYBER5K),cyber5k) \
71	$(if $(BR2_PACKAGE_DIRECTFB_MATROX),matrox) \
72	$(if $(BR2_PACKAGE_DIRECTFB_PXA3XX),pxa3xx) \
73	$(if $(BR2_PACKAGE_DIRECTFB_I830),i830) \
74	$(if $(BR2_PACKAGE_DIRECTFB_EP9X),ep9x)
75
76ifeq ($(strip $(DIRECTFB_GFX)),)
77DIRECTFB_CONF_OPTS += --with-gfxdrivers=none
78else
79DIRECTFB_CONF_OPTS += \
80	--with-gfxdrivers=$(subst $(space),$(comma),$(strip $(DIRECTFB_GFX)))
81endif
82
83DIRECTFB_INPUT = \
84	$(if $(BR2_PACKAGE_DIRECTFB_LINUXINPUT),linuxinput) \
85	$(if $(BR2_PACKAGE_DIRECTFB_KEYBOARD),keyboard) \
86	$(if $(BR2_PACKAGE_DIRECTFB_PS2MOUSE),ps2mouse) \
87	$(if $(BR2_PACKAGE_DIRECTFB_SERIALMOUSE),serialmouse) \
88	$(if $(BR2_PACKAGE_DIRECTFB_TSLIB),tslib)
89
90ifeq ($(BR2_PACKAGE_DIRECTFB_TSLIB),y)
91DIRECTFB_DEPENDENCIES += tslib
92endif
93
94ifeq ($(strip $(DIRECTFB_INPUT)),)
95DIRECTFB_CONF_OPTS += --with-inputdrivers=none
96else
97DIRECTFB_CONF_OPTS += \
98	--with-inputdrivers=$(subst $(space),$(comma),$(strip $(DIRECTFB_INPUT)))
99endif
100
101ifeq ($(BR2_PACKAGE_DIRECTFB_GIF),y)
102DIRECTFB_CONF_OPTS += --enable-gif
103else
104DIRECTFB_CONF_OPTS += --disable-gif
105endif
106
107ifeq ($(BR2_PACKAGE_DIRECTFB_TIFF),y)
108DIRECTFB_CONF_OPTS += --enable-tiff
109DIRECTFB_DEPENDENCIES += tiff
110else
111DIRECTFB_CONF_OPTS += --disable-tiff
112endif
113
114ifeq ($(BR2_PACKAGE_DIRECTFB_PNG),y)
115DIRECTFB_CONF_OPTS += --enable-png
116DIRECTFB_DEPENDENCIES += libpng
117DIRECTFB_CONF_ENV += ac_cv_path_LIBPNG_CONFIG=$(STAGING_DIR)/usr/bin/libpng-config
118else
119DIRECTFB_CONF_OPTS += --disable-png
120endif
121
122ifeq ($(BR2_PACKAGE_DIRECTFB_JPEG),y)
123DIRECTFB_CONF_OPTS += --enable-jpeg
124DIRECTFB_DEPENDENCIES += jpeg
125else
126DIRECTFB_CONF_OPTS += --disable-jpeg
127endif
128
129ifeq ($(BR2_PACKAGE_DIRECTFB_SVG),y)
130DIRECTFB_CONF_OPTS += --enable-svg
131# needs some help to find cairo includes
132DIRECTFB_CONF_ENV += CPPFLAGS="$(TARGET_CPPFLAGS) -I$(STAGING_DIR)/usr/include/cairo"
133DIRECTFB_DEPENDENCIES += libsvg-cairo
134else
135DIRECTFB_CONF_OPTS += --disable-svg
136endif
137
138ifeq ($(BR2_PACKAGE_DIRECTFB_IMLIB2),y)
139DIRECTFB_CONF_OPTS += --enable-imlib2
140DIRECTFB_DEPENDENCIES += imlib2
141DIRECTFB_CONF_ENV += ac_cv_path_IMLIB2_CONFIG=$(STAGING_DIR)/usr/bin/imlib2-config
142else
143DIRECTFB_CONF_OPTS += --disable-imlib2
144endif
145
146ifeq ($(BR2_PACKAGE_DIRECTFB_DITHER_RGB16),y)
147DIRECTFB_CONF_OPTS += --with-dither-rgb16=advanced
148else
149DIRECTFB_CONF_OPTS += --with-dither-rgb16=none
150endif
151
152ifeq ($(BR2_PACKAGE_DIRECTFB_TESTS),y)
153DIRECTFB_CONF_OPTS += --with-tests
154endif
155
156HOST_DIRECTFB_DEPENDENCIES = host-pkgconf host-libpng
157HOST_DIRECTFB_CONF_OPTS = \
158	--disable-multi \
159	--enable-png \
160	--with-gfxdrivers=none \
161	--with-inputdrivers=none
162
163HOST_DIRECTFB_BUILD_CMDS = \
164	$(HOST_MAKE_ENV) $(MAKE) -C $(@D)/tools directfb-csource
165
166HOST_DIRECTFB_INSTALL_CMDS = \
167	$(INSTALL) -m 0755 $(@D)/tools/directfb-csource $(HOST_DIR)/bin
168
169$(eval $(autotools-package))
170$(eval $(host-autotools-package))
171
172# directfb-csource for the host
173DIRECTFB_HOST_BINARY = $(HOST_DIR)/bin/directfb-csource
174