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 | |
parent | e7bcb1210e6688fcaf5ebfd27d218a10e06b52d8 (diff) | |
download | poky-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.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 @@ | |||
1 | Use ?= for Makefile variables to use poky environment variables. | ||
2 | Original method to sed s/CC =/CC ?=/ is not applicable anymore | ||
3 | because of the Makefile changes. | ||
4 | |||
5 | against 3.86 | ||
6 | |||
7 | 06/28/2010 - qhe | ||
8 | --- | ||
9 | diff --git a/MCONFIG b/MCONFIG | ||
10 | index 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 @@ | |||
1 | DESCRIPTION = "A multi-purpose linux bootloader" | ||
2 | HOMEPAGE = "http://syslinux.zytor.com/" | ||
3 | LICENSE = "GPL" | ||
4 | SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/boot/syslinux/syslinux-${PV}.tar.bz2" | ||
5 | PR = "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 | ||
9 | DEPENDS = "nasm-native" | ||
10 | |||
11 | do_configure() { | ||
12 | sed -i ${S}/Makefile ${S}/*/Makefile -e 's/\(CC[\t ]*\)=/\1?=/' | ||
13 | } | ||
14 | |||
15 | COMPATIBLE_HOST = '(x86_64|i.86.*)-(linux|freebsd.*)' | ||
16 | |||
17 | export BINDIR = "${bindir}" | ||
18 | export SBINDIR = "${sbindir}" | ||
19 | export LIBDIR = "${libdir}" | ||
20 | export INCDIR = "${includedir}" | ||
21 | |||
22 | do_compile_virtclass-native () { | ||
23 | oe_runmake installer | ||
24 | } | ||
25 | |||
26 | NATIVE_INSTALL_WORKS = "1" | ||
27 | do_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 | |||
35 | 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 @@ | |||
1 | DESCRIPTION = "A multi-purpose linux bootloader" | ||
2 | HOMEPAGE = "http://syslinux.zytor.com/" | ||
3 | LICENSE = "GPLv2+" | ||
4 | LIC_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 | ||
9 | DEPENDS = "nasm-native" | ||
10 | PR = "r0" | ||
11 | |||
12 | SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/boot/syslinux/syslinux-${PV}.tar.bz2 \ | ||
13 | file://cross-build.patch" | ||
14 | |||
15 | COMPATIBLE_HOST = '(x86_64|i.86.*)-(linux|freebsd.*)' | ||
16 | |||
17 | EXTRA_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 | ||
22 | export LDFLAGS = "`echo $LDFLAGS | sed 's/-Wl,//g'`" | ||
23 | |||
24 | do_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 | |||
32 | do_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 | |||
38 | NATIVE_INSTALL_WORKS = "1" | ||
39 | do_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 | |||
47 | BBCLASSEXTEND = "native" | ||