summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQing He <qing.he@intel.com>2010-06-17 17:23:20 +0800
committerRichard Purdie <rpurdie@linux.intel.com>2010-06-30 13:19:03 +0100
commit60255c8d281dfefb9c1751e41ca06b13c73664de (patch)
tree3c1415ab08806aac71c5fcc9a2f5cdd26889cfdc
parente7bcb1210e6688fcaf5ebfd27d218a10e06b52d8 (diff)
downloadpoky-60255c8d281dfefb9c1751e41ca06b13c73664de.tar.gz
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>
-rw-r--r--meta/packages/syslinux/files/cross-build.patch58
-rw-r--r--meta/packages/syslinux/syslinux_3.36.bb35
-rw-r--r--meta/packages/syslinux/syslinux_3.86.bb47
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 @@
1Use ?= for Makefile variables to use poky environment variables.
2Original method to sed s/CC =/CC ?=/ is not applicable anymore
3because of the Makefile changes.
4
5against 3.86
6
706/28/2010 - qhe
8---
9diff --git a/MCONFIG b/MCONFIG
10index e9c16d3..4d49f33 100644
11--- a/MCONFIG
12+++ b/MCONFIG
13@@ -18,13 +18,13 @@
14 MAKEFLAGS += -r
15 MAKE += -r
16
17-BINDIR = /usr/bin
18-SBINDIR = /sbin
19-LIBDIR = /usr/lib
20-DATADIR = /usr/share
21+BINDIR ?= /usr/bin
22+SBINDIR ?= /sbin
23+LIBDIR ?= /usr/lib
24+DATADIR ?= /usr/share
25 AUXDIR = $(DATADIR)/syslinux
26-MANDIR = /usr/man
27-INCDIR = /usr/include
28+MANDIR ?= /usr/man
29+INCDIR ?= /usr/include
30 TFTPBOOT = /tftpboot
31 COM32DIR = $(AUXDIR)/com32
32
33@@ -38,18 +38,18 @@ PERL = perl
34
35 CHMOD = chmod
36
37-CC = gcc
38+CC ?= gcc
39 gcc_ok = $(shell tmpf=gcc_ok.$$$$.tmp; \
40 if $(CC) $(1) -c $(topdir)/dummy.c -o $$tmpf 2>/dev/null ; \
41 then echo '$(1)'; else echo '$(2)'; fi; \
42 rm -f $$tmpf)
43
44-LD = ld
45-OBJDUMP = objdump
46-OBJCOPY = objcopy
47-AR = ar
48-NM = nm
49-RANLIB = ranlib
50+LD ?= ld
51+OBJDUMP ?= objdump
52+OBJCOPY ?= objcopy
53+AR ?= ar
54+NM ?= nm
55+RANLIB ?= ranlib
56 GZIPPROG = gzip
57 PNGTOPNM = pngtopnm
58 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 @@
1DESCRIPTION = "A multi-purpose linux bootloader"
2HOMEPAGE = "http://syslinux.zytor.com/"
3LICENSE = "GPL"
4SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/boot/syslinux/syslinux-${PV}.tar.bz2"
5PR = "r4"
6
7# If you really want to run syslinux, you need mtools. We just want the
8# ldlinux.* stuff for now, so skip mtools-native
9DEPENDS = "nasm-native"
10
11do_configure() {
12 sed -i ${S}/Makefile ${S}/*/Makefile -e 's/\(CC[\t ]*\)=/\1?=/'
13}
14
15COMPATIBLE_HOST = '(x86_64|i.86.*)-(linux|freebsd.*)'
16
17export BINDIR = "${bindir}"
18export SBINDIR = "${sbindir}"
19export LIBDIR = "${libdir}"
20export INCDIR = "${includedir}"
21
22do_compile_virtclass-native () {
23 oe_runmake installer
24}
25
26NATIVE_INSTALL_WORKS = "1"
27do_install() {
28 oe_runmake install INSTALLROOT="${D}"
29
30 install -d ${D}${libdir}/syslinux/
31 install -m 644 ${S}/ldlinux.sys ${D}${libdir}/syslinux/
32 install -m 644 ${S}/ldlinux.bss ${D}${libdir}/syslinux/
33}
34
35BBCLASSEXTEND = "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 @@
1DESCRIPTION = "A multi-purpose linux bootloader"
2HOMEPAGE = "http://syslinux.zytor.com/"
3LICENSE = "GPLv2+"
4LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
5 file://README;beginline=28;endline=34;md5=a4607efd4a6392017186d08099e7d546"
6
7# If you really want to run syslinux, you need mtools. We just want the
8# ldlinux.* stuff for now, so skip mtools-native
9DEPENDS = "nasm-native"
10PR = "r0"
11
12SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/boot/syslinux/syslinux-${PV}.tar.bz2 \
13 file://cross-build.patch"
14
15COMPATIBLE_HOST = '(x86_64|i.86.*)-(linux|freebsd.*)'
16
17EXTRA_OEMAKE = " \
18 BINDIR=${bindir} SBINDIR=${sbindir} LIBDIR=${libdir} \
19 DATADIR=${datadir} MANDIR=${mandir} INCDIR=${includedir} \
20"
21# syslinux uses $LD for linking, strip `-Wl,' so it can work
22export LDFLAGS = "`echo $LDFLAGS | sed 's/-Wl,//g'`"
23
24do_configure() {
25 # drop win32 targets or build fails
26 sed -e 's,win32/\S*,,g' -i Makefile
27
28 # clean installer executables included in source tarball
29 oe_runmake clean
30}
31
32do_compile() {
33 # Rebuild only the installer; keep precompiled bootloaders
34 # as per author's request (doc/distrib.txt)
35 oe_runmake CC="${CC}" installer
36}
37
38NATIVE_INSTALL_WORKS = "1"
39do_install() {
40 oe_runmake install INSTALLROOT="${D}"
41
42 install -d ${D}${libdir}/syslinux/
43 install -m 644 ${S}/core/ldlinux.sys ${D}${libdir}/syslinux/
44 install -m 644 ${S}/core/ldlinux.bss ${D}${libdir}/syslinux/
45}
46
47BBCLASSEXTEND = "native"