summaryrefslogtreecommitdiff
path: root/meta/recipes-devtools/syslinux
diff options
context:
space:
mode:
authorRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:14:24 +0100
committerRichard Purdie <rpurdie@linux.intel.com>2010-08-27 15:29:45 +0100
commit29d6678fd546377459ef75cf54abeef5b969b5cf (patch)
tree8edd65790e37a00d01c3f203f773fe4b5012db18 /meta/recipes-devtools/syslinux
parentda49de6885ee1bc424e70bc02f21f6ab920efb55 (diff)
downloadopenembedded-core-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.gz
openembedded-core-29d6678fd546377459ef75cf54abeef5b969b5cf.tar.bz2
openembedded-core-29d6678fd546377459ef75cf54abeef5b969b5cf.zip
Major layout change to the packages directory
Having one monolithic packages directory makes it hard to find things and is generally overwhelming. This commit splits it into several logical sections roughly based on function, recipes.txt gives more information about the classifications used. The opportunity is also used to switch from "packages" to "recipes" as used in OpenEmbedded as the term "packages" can be confusing to people and has many different meanings. Not all recipes have been classified yet, this is just a first pass at separating things out. Some packages are moved to meta-extras as they're no longer actively used or maintained. Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
Diffstat (limited to 'meta/recipes-devtools/syslinux')
-rw-r--r--meta/recipes-devtools/syslinux/files/cross-build.patch64
-rw-r--r--meta/recipes-devtools/syslinux/syslinux_3.86.bb46
2 files changed, 110 insertions, 0 deletions
diff --git a/meta/recipes-devtools/syslinux/files/cross-build.patch b/meta/recipes-devtools/syslinux/files/cross-build.patch
new file mode 100644
index 0000000000..c90c7afbaf
--- /dev/null
+++ b/meta/recipes-devtools/syslinux/files/cross-build.patch
@@ -0,0 +1,64 @@
+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
+
+also AUXDIR stays in $(LIBDIR)/syslinux rather than $(DATADIR)/syslinux
+
+07/08/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
+-AUXDIR = $(DATADIR)/syslinux
+-MANDIR = /usr/man
+-INCDIR = /usr/include
++BINDIR ?= /usr/bin
++SBINDIR ?= /sbin
++LIBDIR ?= /usr/lib
++DATADIR ?= /usr/share
++AUXDIR = $(LIBDIR)/syslinux
++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/recipes-devtools/syslinux/syslinux_3.86.bb b/meta/recipes-devtools/syslinux/syslinux_3.86.bb
new file mode 100644
index 0000000000..5edbd24086
--- /dev/null
+++ b/meta/recipes-devtools/syslinux/syslinux_3.86.bb
@@ -0,0 +1,46 @@
+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 = "r1"
+
+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
+}
+
+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"