The problem seems to be with the drawing-back end dependency feature.
The way it is set up now it is a radio button and one of the two
choices has to be picked.  The radio button doesn't do anything until
some package that depends on it is enabled.

Now I go enable Cairo. Cairo has this in the dependencies:
  +FEATURE_drawing-backend_DirectFB:directfb \
  +FEATURE_drawing-backend_libX11:libX11

So enabling Cairo follows the FEATURE dependency and then in turn
causes X11 or DirectFb (radio button choice) to be enabled and built.

But.. Cairo also works without the presence of X11/DirectFB. My
problem is that enabling Cairo is sucking in megabytes of code I don't
need.

How should this be fixed? Should I removed the FEATURE dependencies
from Cairo? Or should I add a new drawing-backend which does nothing?
I tried the code below and it doesn't add another option in the
drawing-backend menu so there is something wrong with it.

include $(TOPDIR)/rules.mk

PKG_NAME:=fbdev
PKG_VERSION:=1.0

include $(INCLUDE_DIR)/package.mk

define Package/fbdev
    TITLE:=FBDev
    SECTION:=libs
    CATEGORY:=Libraries
endef

define Package/fbdev/description
        Null drawing lib allowing Cairo direct access to /dev/fb.
endef

define Feature/FBDev
  TARGET_NAME:=drawing-backend
  TARGET_TITLE:=Drawing Backend
  NAME:=FBDev
endef

$(eval $(call Feature,FBDev))
$(eval $(call BuildPackage,fbdev))

-- 
Jon Smirl
[email protected]
_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to