浏览代码

libecore: Add new package

[Peter: Config.in fixes, dependencies, build makekeys for host]
Signed-off-by: Will Newton <will.newton@imgtec.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Will Newton 13 年之前
父节点
当前提交
dc6bf5b173
共有 3 个文件被更改,包括 120 次插入0 次删除
  1. 1 0
      package/efl/Config.in
  2. 42 0
      package/efl/libecore/Config.in
  3. 77 0
      package/efl/libecore/libecore.mk

+ 1 - 0
package/efl/Config.in

@@ -9,6 +9,7 @@ menuconfig BR2_PACKAGE_EFL
 if BR2_PACKAGE_EFL
 
 source "package/efl/libeina/Config.in"
+source "package/efl/libecore/Config.in"
 source "package/efl/libeet/Config.in"
 source "package/efl/libevas/Config.in"
 

+ 42 - 0
package/efl/libecore/Config.in

@@ -0,0 +1,42 @@
+config BR2_PACKAGE_LIBECORE
+	bool "libecore"
+	select BR2_PACKAGE_LIBEINA
+	help
+	  Ecore is the event/X abstraction layer that makes doing
+	  selections, Xdnd, general X stuff, event loops, timeouts and
+	  idle handlers fast, optimized, and convenient.
+
+	  http://trac.enlightenment.org/e/wiki/Ecore
+
+if BR2_PACKAGE_LIBECORE
+
+config BR2_PACKAGE_LIBECORE_DIRECTFB
+	bool "libecore DirectFB support"
+	depends on BR2_PACKAGE_DIRECTFB
+	default y
+
+config BR2_PACKAGE_LIBECORE_FB
+	bool "libecore framebuffer support"
+
+config BR2_PACKAGE_LIBECORE_SDL
+	bool "libecore SDL support"
+	select BR2_PACKAGE_SDL
+
+config BR2_PACKAGE_LIBECORE_X
+	bool "libecore X support"
+	depends on BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_XLIB_LIBX11
+	select BR2_PACKAGE_XLIB_LIBXEXT
+
+config BR2_PACKAGE_LIBECORE_X_XCB
+	bool "libecore XCB support"
+	depends on BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_LIBXCB
+	select BR2_PACKAGE_XLIB_LIBX11
+	select BR2_PACKAGE_XCB_UTIL
+
+config BR2_PACKAGE_LIBECORE_EVAS
+	bool "libecore Evas support"
+	select BR2_PACKAGE_LIBEVAS
+
+endif # BR2_PACKAGE_LIBECORE

+ 77 - 0
package/efl/libecore/libecore.mk

@@ -0,0 +1,77 @@
+#############################################################
+#
+# libecore
+#
+#############################################################
+
+LIBECORE_VERSION = 1.1.0
+LIBECORE_SOURCE = ecore-$(LIBECORE_VERSION).tar.bz2
+LIBECORE_SITE = http://download.enlightenment.org/releases/
+LIBECORE_INSTALL_STAGING = YES
+
+LIBECORE_DEPENDENCIES = host-pkg-config libeina
+
+HOST_LIBECORE_DEPENDENCIES = host-pkg-config host-libeina host-libevas
+HOST_LIBECORE_CONF_OPT += --enable-ecore-evas
+
+# default options
+LIBECORE_CONF_OPT = --disable-simple-x11
+
+# libecore
+ifeq ($(BR2_PACKAGE_LIBECORE_DIRECTFB),y)
+LIBECORE_CONF_OPT += --enable-ecore-directfb
+else
+LIBECORE_CONF_OPT += --disable-ecore-directfb
+endif
+
+ifeq ($(BR2_PACKAGE_LIBECORE_FB),y)
+LIBECORE_CONF_OPT += --enable-ecore-fb
+LIBECORE_DEPENDENCIES += directfb
+else
+LIBECORE_CONF_OPT += --disable-ecore-fb
+endif
+
+ifeq ($(BR2_PACKAGE_LIBECORE_SDL),y)
+LIBECORE_CONF_OPT += --enable-ecore-sdl
+LIBECORE_DEPENDENCIES += sdl
+else
+LIBECORE_CONF_OPT += --disable-ecore-sdl
+endif
+
+ifeq ($(BR2_PACKAGE_LIBECORE_X),y)
+LIBECORE_CONF_OPT += --enable-ecore-x
+LIBECORE_DEPENDENCIES += xlib_libXext xlib_libX11
+else
+LIBECORE_CONF_OPT += --disable-ecore-x
+endif
+
+ifeq ($(BR2_PACKAGE_LIBECORE_X_XCB),y)
+LIBECORE_CONF_OPT += --enable-ecore-x-xcb
+LIBECORE_DEPENDENCIES += libxcb xlib_libX11 xcb-util
+
+# src/util/makekeys is executed at build time to generate
+# ecore_xcb_keysym_table.h, so it should get compiled for the host.
+# The ecore makefile unfortunately doesn't know about cross
+# compilation so this doesn't work.  Long term, we should probably
+# teach it about CC_FOR_BUILD, but for now simply build makekeys by
+# hand in advance
+define LIBECORE_BUILD_MAKEKEYS_FOR_HOST
+	cd $(@D)/src/util && $(HOSTCC) $(HOST_CFLAGS) $(HOST_LDFLAGS) \
+		-o makekeys makekeys.c
+endef
+
+LIBECORE_POST_CONFIGURE_HOOKS += LIBECORE_BUILD_MAKEKEYS_FOR_HOST
+else
+LIBECORE_CONF_OPT += --disable-ecore-x-xcb
+endif
+
+# libecore-evas
+ifeq ($(BR2_PACKAGE_LIBECORE_EVAS),y)
+LIBECORE_CONF_OPT += --enable-ecore-evas
+LIBECORE_DEPENDENCIES += libevas
+else
+LIBECORE_CONF_OPT += --disable-ecore-evas
+endif
+
+$(eval $(call AUTOTARGETS))
+$(eval $(call AUTOTARGETS,host))