syslinux-native: Try to make syslinux cross-compile friendly.

We only had one package for building both the bootloader and the installer,
i.e. target and host code.  It used always the host compiler.  Split the
package into syslinux and syslinux-installer-native, require both for a
cd bootable image.


git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5539 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Andrzej Zaborowski
2008-10-20 00:22:07 +00:00
parent 4cb659823b
commit 3f93ed6bce
6 changed files with 44 additions and 56 deletions

View File

@@ -13,7 +13,8 @@
# ${SYSLINUX_OPTS} - additional options to add to the syslinux file ';' delimited
do_bootimg[depends] += "dosfstools-native:do_populate_staging \
syslinux-native:do_populate_staging \
syslinux:do_populate_staging \
syslinux-installer-native:do_populate_staging \
mtools-native:do_populate_staging \
cdrtools-native:do_populate_staging"
@@ -45,7 +46,7 @@ build_boot_bin() {
install -m 0644 ${ROOTFS} ${HDDDIR}/rootfs.img
fi
install -m 444 ${STAGING_DATADIR_NATIVE}/syslinux/ldlinux.sys \
install -m 444 ${STAGING_DATADIR}/syslinux/ldlinux.sys \
${HDDDIR}/ldlinux.sys
# Do a little math, bash style
@@ -83,7 +84,7 @@ build_boot_bin() {
install -m 0644 ${INITRD} ${ISODIR}/initrd
# And install the syslinux stuff
cp ${STAGING_DATADIR_NATIVE}/syslinux/isolinux.bin \
cp ${STAGING_DATADIR}/syslinux/isolinux.bin \
${ISODIR}
mkisofs -V ${BOOTIMG_VOLUME_ID} \

View File

@@ -0,0 +1,26 @@
# syslinux-native OE build file
# Copyright (C) 2004-2006, Advanced Micro Devices, Inc. All Rights Reserved
# Released under the MIT license (see packages/COPYING)
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 "
S="${WORKDIR}/syslinux-${PV}"
STAGE_TEMP="${WORKDIR}/stage_temp"
inherit native
do_compile() {
oe_runmake installer
}
do_stage() {
install -d ${STAGE_TEMP}
oe_runmake install INSTALLROOT="${STAGE_TEMP}"
install -d ${STAGING_BINDIR}
install -m 755 ${STAGE_TEMP}/usr/bin/syslinux ${STAGING_BINDIR}
install -m 755 ${STAGE_TEMP}/sbin/extlinux ${STAGING_BINDIR}
}

View File

@@ -1,3 +0,0 @@
SRC_URI = "${KERNELORG_MIRROR}/pub/linux/utils/boot/syslinux/syslinux-${PV}.tar.bz2 "
require syslinux3.inc

View File

@@ -1,29 +0,0 @@
# syslinux-native OE build file
# Copyright (C) 2004-2006, Advanced Micro Devices, Inc. All Rights Reserved
# Released under the MIT license (see packages/COPYING)
DESCRIPTION="A multi-purpose linux bootloader"
HOMEPAGE="http://syslinux.zytor.com/"
LICENSE="GPL"
# 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"
S="${WORKDIR}/syslinux-${PV}"
inherit native
do_stage() {
install -d ${STAGING_BINDIR}
install -m 755 ${S}/syslinux ${STAGING_BINDIR}
# When building media, the syslinux binary isn't nearly as useful
# as the DOS data files, so we copy those into a special location
# for usage during a image build stage
install -d ${STAGING_DATADIR}/syslinux
install -m 644 ${S}/ldlinux.sys ${STAGING_DATADIR}/syslinux/ldlinux.sys
install -m 644 ${S}/ldlinux.bss ${STAGING_DATADIR}/syslinux/ldlinux.bss
}

View File

@@ -1,21 +0,0 @@
require syslinux.inc
STAGE_TEMP="${WORKDIR}/stage_temp"
do_stage() {
install -d ${STAGE_TEMP}
oe_runmake install INSTALLROOT="${STAGE_TEMP}"
install -d ${STAGING_BINDIR}
install -m 755 ${STAGE_TEMP}/usr/bin/syslinux ${STAGING_BINDIR}
install -m 755 ${STAGE_TEMP}/sbin/extlinux ${STAGING_BINDIR}
# When building media, the syslinux binary isn't nearly as useful
# as the DOS data files, so we copy those into a special location
# for usage during a image build stage
install -d ${STAGING_DATADIR}/syslinux
install -m 0644 ${STAGE_TEMP}/usr/lib/syslinux/isolinux.bin ${STAGING_DATADIR}/syslinux/isolinux.bin
install -m 644 ${S}/ldlinux.sys ${STAGING_DATADIR}/syslinux/ldlinux.sys
install -m 644 ${S}/ldlinux.bss ${STAGING_DATADIR}/syslinux/ldlinux.bss
}

View File

@@ -0,0 +1,14 @@
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 "
# 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"
S="${WORKDIR}/syslinux-${PV}"
do_configure() {
sed -i ${S}/Makefile ${S}/*/Makefile -e 's/\(CC[\t ]*\)=/\1?=/'
}