How to make created packages available for make menuconfig?

I am trying to create a libxerces package for OpenWrt. Following the instructions from this site http://wiki.openwrt.org/doc/devel/packages , I created the libxerces-c folder inside the package directory and a simple Makefile to have the specified package on make menuconfig, but this does not happen.

A Makefile is defined as:

# # Copyright (C) 2006-2013 OpenWrt.org # # This is free software, licensed under the GNU General Public License v2. # See /LICENSE for more information. # include $(TOPDIR)/rules.mk # Name and release number of this package PKG_NAME:=xerces-c PKG_VERSION:=3.1.1 PKG_RELEASE:=1 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://apache.mirror.pop-sc.rnp.br/apache//xerces/c/3/sources/ PKG_CAT:=zcat include $(INCLUDE_DIR)/package.mk # Specify package information for this program. # The variables defined here should be self explanatory. define Package/libxerces SECTION:=libs CATEGORY:=Libraries TITLE:=Validating XML parser written in a portable subset of C++. URL:=http://xerces.apache.org/ endef define Package/libxerces/description Xerces-C++ is a validating XML parser written in a portable subset of C++. Xerces-C++ makes it easy to give your application the ability to read and write XML data. A shared library is provided for parsing, generating, manipulating, and validating XML documents. Xerces-C++ is faithful to the XML 1.0 recommendation and associated standards (DOM 1.0, DOM 2.0, SAX 1.0, SAX 2.0, Namespaces, XML Schema Part 1 and Part 2). It also provides experimental implementations of XML 1.1 and DOM Level 3.0. The parser provides high performance, modularity, and scalability. endef CONFIGURE_ARGS+= --host=mips-openwrt-linux define Build/Configure $(call Build/Configure/Default) endef define Build/Compile $(call Build/Compile/Default) endef define Package/libxerces/install endef $(eval $(call BuildPackage,libxerces)) 

I already tried to install the script

 ./scripts/feeds install libxerces-c 

But nothing happened. I still cannot see the package after doing make menuconfig.

+4
source share
3 answers

You need

  • add the feed with the package to your feeds.conf.default or create feeds.conf

  • then ./scripts/feeds update -a (update all feeds ... you can just set the feed name instead of -a )

  • then ./scripts/feeds install foobar

[...]

... You obviously call the installation on libxerces-c , and your package is called libxerces ?

0
source

You may not be looking for him yet, but here is the answer. To make your package appear in the menuconfig TUI, you need to add the following option for the Makefile inside the definition of the Package clause:

 MENU:1 

So this part of your Makefile will look like this:

 define Package/libxerces SECTION:=libs CATEGORY:=Libraries TITLE:=Validating XML parser written in a portable subset of C++. URL:=http://xerces.apache.org/ endef 
0
source

can you do make menuconfig and see if your package's "libxerces" error message is displayed. My setup for custom packages looks something like this:

 mkdir package/custom mkdir package/custom/ ln -s /path/to/package/libxerces/ package/custom/ 

If your make file is correct, then Libraries-> libxerces should appear in menuconfig, if you should not display an error message in make / make menuconfig. You can also do make package/libxerces/compile etc. Note. Your package name is libxerces, not libxerces-c.

0
source

All Articles