Chen Qi f8da3b616c iproute2: fix the configure process
Previously, the iproute2's configure script is actually run in the
do_compile stage. There's a Makefile rule 'all: Config' which makes
the configure process run to generate the Config file.

However, this makes it hard to fix the dependency problems. We need
to generate the Config file in the do_configure stage.

Add do_configure_append to separate the configure process from the
compile process.

Besides, explicitly disable ATM support for iproute2, otherwise we'll
sometimes meet errors like below when building.

  ld: cannot find -latm
  collect2: error: ld returned 1 exit status
  Makefile:154: recipe for target 'q_atm.so' failed
  make[1]: *** [q_atm.so] Error 1

(From OE-Core rev: a6967f6e441eca758058ced9982b715984ee9b5b)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-28 12:00:29 +01:00

45 lines
1.6 KiB
PHP

SUMMARY = "TCP / IP networking and traffic control utilities"
DESCRIPTION = "Iproute2 is a collection of utilities for controlling \
TCP / IP networking and traffic control in Linux. Of the utilities ip \
and tc are the most important. ip controls IPv4 and IPv6 \
configuration and tc stands for traffic control."
HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
SECTION = "base"
LICENSE = "GPLv2+"
LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
file://ip/ip.c;beginline=3;endline=8;md5=689d691d0410a4b64d3899f8d6e31817"
DEPENDS = "flex-native bison-native iptables elfutils"
inherit update-alternatives
EXTRA_OEMAKE = "CC='${CC}' KERNEL_INCLUDE=${STAGING_INCDIR} DOCDIR=${docdir}/iproute2 SUBDIRS='lib tc ip' SBINDIR='${base_sbindir}' LIBDIR='${libdir}'"
do_configure_append () {
sh configure ${STAGING_INCDIR}
# Explicitly disable ATM support
sed -i -e '/TC_CONFIG_ATM/d' Config
}
do_install () {
oe_runmake DESTDIR=${D} install
mv ${D}${base_sbindir}/ip ${D}${base_sbindir}/ip.iproute2
install -d ${D}${datadir}
mv ${D}/share/* ${D}${datadir}/ || true
rm ${D}/share -rf || true
}
# The .so files in iproute2-tc are modules, not traditional libraries
INSANE_SKIP_${PN}-tc = "dev-so"
PACKAGES =+ "${PN}-tc"
FILES_${PN}-tc = "${base_sbindir}/tc* \
${libdir}/tc/*.so"
FILES_${PN}-dbg += "${libdir}/tc/.debug"
ALTERNATIVE_${PN} = "ip"
ALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}"
ALTERNATIVE_LINK_NAME[ip] = "${base_sbindir}/ip"
ALTERNATIVE_PRIORITY = "100"