mirror of
https://git.yoctoproject.org/poky
synced 2026-05-31 00:39:46 +00:00
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>
This commit is contained in:
@@ -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
|
||||||
@@ -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"
|
|
||||||
@@ -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"
|
||||||
Reference in New Issue
Block a user