diff options
author | Qing He <qing.he@intel.com> | 2010-06-17 17:23:20 +0800 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2010-06-30 13:19:03 +0100 |
commit | 60255c8d281dfefb9c1751e41ca06b13c73664de (patch) | |
tree | 3c1415ab08806aac71c5fcc9a2f5cdd26889cfdc /meta/packages/syslinux | |
parent | e7bcb1210e6688fcaf5ebfd27d218a10e06b52d8 (diff) | |
download | openembedded-core-60255c8d281dfefb9c1751e41ca06b13c73664de.tar.gz openembedded-core-60255c8d281dfefb9c1751e41ca06b13c73664de.tar.bz2 openembedded-core-60255c8d281dfefb9c1751e41ca06b13c73664de.zip |
syslinux: upgrade to versin 3.86
from version 3.36
partly based on the recipe from openembedded project
changes:
- add cross-build.patch to use poky toolchain
- mangle LDFLAGS so $LD invocation works
- use precompiled version of $BTARGET for target (OE)
- stick on ${sbindir} instead of OE's ${base_sbindir}
Signed-off-by: Qing He <qing.he@intel.com>
Diffstat (limited to 'meta/packages/syslinux')
-rw-r--r-- | meta/packages/syslinux/files/cross-build.patch | 58 | ||||
-rw-r--r-- | meta/packages/syslinux/syslinux_3.36.bb | 35 | ||||
-rw-r--r-- | meta/packages/syslinux/syslinux_3.86.bb | 47 |
3 files changed, 105 insertions, 35 deletions
diff --git a/meta/packages/syslinux/files/cross-build.patch b/meta/packages/syslinux/files/cross-build.patch new file mode 100644 index 0000000000..69b3378baf --- /dev/null +++ b/meta/packages/syslinux/files/cross-build.patch @@ -0,0 +1,58 @@ +Use ?= for Makefile variables to use poky environment variables. +Original method to sed s/CC =/CC ?=/ is not applicable anymore +because of the Makefile changes. + +against 3.86 + +06/28/2010 - qhe +--- +diff --git a/MCONFIG b/MCONFIG +index e9c16d3..4d49f33 100644 +--- a/MCONFIG ++++ b/MCONFIG +@@ -18,13 +18,13 @@ + MAKEFLAGS += -r + MAKE += -r + +-BINDIR = /usr/bin +-SBINDIR = /sbin +-LIBDIR = /usr/lib +-DATADIR = /usr/share ++BINDIR ?= /usr/bin ++SBINDIR ?= /sbin ++LIBDIR ?= /usr/lib ++DATADIR ?= /usr/share + AUXDIR = $(DATADIR)/syslinux +-MANDIR = /usr/man +-INCDIR = /usr/include ++MANDIR ?= /usr/man ++INCDIR ?= /usr/include + TFTPBOOT = /tftpboot + COM32DIR = $(AUXDIR)/com32 + +@@ -38,18 +38,18 @@ PERL = perl + + CHMOD = chmod + +-CC = gcc ++CC ?= gcc + gcc_ok = $(shell tmpf=gcc_ok.$$$$.tmp; \ + if $(CC) $(1) -c $(topdir)/dummy.c -o $$tmpf 2>/dev/null ; \ + then echo '$(1)'; else echo '$(2)'; fi; \ + rm -f $$tmpf) + +-LD = ld +-OBJDUMP = objdump +-OBJCOPY = objcopy +-AR = ar +-NM = nm +-RANLIB = ranlib ++LD ?= ld ++OBJDUMP ?= objdump ++OBJCOPY ?= objcopy ++AR ?= ar ++NM ?= nm ++RANLIB ?= ranlib + GZIPPROG = gzip + PNGTOPNM = pngtopnm + MCOPY = mcopy diff --git a/meta/packages/syslinux/syslinux_3.36.bb b/meta/packages/syslinux/syslinux_3.36.bb deleted file mode 100644 index 9cd24e6bd9..0000000000 --- a/meta/packages/syslinux/syslinux_3.36.bb +++ /dev/null @@ -1,35 +0,0 @@ -DESCRIPTION = "A multi-purpose linux bootloader" -HOMEPAGE = "http://syslinux.zytor.com/" -LICENSE = "GPL" -SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/boot/syslinux/syslinux-${PV}.tar.bz2" -PR = "r4" - -# If you really want to run syslinux, you need mtools. We just want the -# ldlinux.* stuff for now, so skip mtools-native -DEPENDS = "nasm-native" - -do_configure() { - sed -i ${S}/Makefile ${S}/*/Makefile -e 's/\(CC[\t ]*\)=/\1?=/' -} - -COMPATIBLE_HOST = '(x86_64|i.86.*)-(linux|freebsd.*)' - -export BINDIR = "${bindir}" -export SBINDIR = "${sbindir}" -export LIBDIR = "${libdir}" -export INCDIR = "${includedir}" - -do_compile_virtclass-native () { - oe_runmake installer -} - -NATIVE_INSTALL_WORKS = "1" -do_install() { - oe_runmake install INSTALLROOT="${D}" - - install -d ${D}${libdir}/syslinux/ - install -m 644 ${S}/ldlinux.sys ${D}${libdir}/syslinux/ - install -m 644 ${S}/ldlinux.bss ${D}${libdir}/syslinux/ -} - -BBCLASSEXTEND = "native" diff --git a/meta/packages/syslinux/syslinux_3.86.bb b/meta/packages/syslinux/syslinux_3.86.bb new file mode 100644 index 0000000000..2fbbf0d0bd --- /dev/null +++ b/meta/packages/syslinux/syslinux_3.86.bb @@ -0,0 +1,47 @@ +DESCRIPTION = "A multi-purpose linux bootloader" +HOMEPAGE = "http://syslinux.zytor.com/" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \ + file://README;beginline=28;endline=34;md5=a4607efd4a6392017186d08099e7d546" + +# If you really want to run syslinux, you need mtools. We just want the +# ldlinux.* stuff for now, so skip mtools-native +DEPENDS = "nasm-native" +PR = "r0" + +SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/boot/syslinux/syslinux-${PV}.tar.bz2 \ + file://cross-build.patch" + +COMPATIBLE_HOST = '(x86_64|i.86.*)-(linux|freebsd.*)' + +EXTRA_OEMAKE = " \ + BINDIR=${bindir} SBINDIR=${sbindir} LIBDIR=${libdir} \ + DATADIR=${datadir} MANDIR=${mandir} INCDIR=${includedir} \ +" +# syslinux uses $LD for linking, strip `-Wl,' so it can work +export LDFLAGS = "`echo $LDFLAGS | sed 's/-Wl,//g'`" + +do_configure() { + # drop win32 targets or build fails + sed -e 's,win32/\S*,,g' -i Makefile + + # clean installer executables included in source tarball + oe_runmake clean +} + +do_compile() { + # Rebuild only the installer; keep precompiled bootloaders + # as per author's request (doc/distrib.txt) + oe_runmake CC="${CC}" installer +} + +NATIVE_INSTALL_WORKS = "1" +do_install() { + oe_runmake install INSTALLROOT="${D}" + + install -d ${D}${libdir}/syslinux/ + install -m 644 ${S}/core/ldlinux.sys ${D}${libdir}/syslinux/ + install -m 644 ${S}/core/ldlinux.bss ${D}${libdir}/syslinux/ +} + +BBCLASSEXTEND = "native" |