From 299c5243ddcdbf6028e44e0fa3e3ff314d97cc38 Mon Sep 17 00:00:00 2001 From: Kurt Bodiker Date: Tue, 1 May 2018 10:05:32 -0400 Subject: xen: GMP recipe for Xen stubdoms GMP is a fast precision arithmetic library targeted for cryptographic applications. This GMP recipe creates a static library that is cross-compiled against that is cross-compiled against MiniOS, Xen, LWIP, Newlib, and PolarSSL headers and subsquently used during the cross-compilation and linking of the TPM Emulator and the Xen vTPM and vTPM Manager stubdomains. Signed-off-by: Kurt Bodiker Signed-off-by: Bruce Ashfield --- recipes-extended/xen/stubdom-gmp.inc | 37 +++++++++++++++++++++++++++++++ recipes-extended/xen/stubdom-gmp_4.3.2.bb | 20 +++++++++++++++++ 2 files changed, 57 insertions(+) create mode 100644 recipes-extended/xen/stubdom-gmp.inc create mode 100644 recipes-extended/xen/stubdom-gmp_4.3.2.bb diff --git a/recipes-extended/xen/stubdom-gmp.inc b/recipes-extended/xen/stubdom-gmp.inc new file mode 100644 index 00000000..ef6473d4 --- /dev/null +++ b/recipes-extended/xen/stubdom-gmp.inc @@ -0,0 +1,37 @@ +# Copyright (C) 2017 Kurt Bodiker +# Released under the MIT license (see COPYING.MIT for the terms) + +require stubdom.inc + +DEPENDS += "\ + newlib \ +" + +do_configure() { + # need to modify prefix here during configure otherwise OE-level variables + # (prefix, libdir, includedir, etc...) defined in stubdom.inc get messed up + CPPFLAGS="-isystem ${RECIPE_SYSROOT}/cross-root-${GNU_TARGET_ARCH}/${GNU_TARGET_ARCH}-xen-elf/include ${STUBDOM_CPPFLAGS}" \ + CFLAGS="${STUBDOM_CFLAGS}" \ + CC="${HOST_PREFIX}gcc --sysroot=${RECIPE_SYSROOT}" \ + ${S}/configure \ + --disable-shared \ + --enable-static \ + --disable-fft \ + --without-readline \ + --with-gnu-ld \ + --prefix=${prefix}/${GNU_TARGET_ARCH}-xen-elf \ + --libdir=${libdir} \ + --build=`${HOST_PREFIX}gcc -dumpmachine` \ + --host=${GNU_TARGET_ARCH}-xen-elf + + sed -i 's/#define HAVE_OBSTACK_VPRINTF 1/\/\/#define HAVE_OBSTACK_VPRINTF 1/' ${S}/config.h +} + +do_compile() { + ${MAKE} +} + +do_install() { + ${MAKE} DESTDIR=${D} install + rm -rf ${D}${prefix}/${GNU_TARGET_ARCH}-xen-elf/share +} diff --git a/recipes-extended/xen/stubdom-gmp_4.3.2.bb b/recipes-extended/xen/stubdom-gmp_4.3.2.bb new file mode 100644 index 00000000..d9a2adbd --- /dev/null +++ b/recipes-extended/xen/stubdom-gmp_4.3.2.bb @@ -0,0 +1,20 @@ +# Copyright (C) 2017 Kurt Bodiker +# Released under the MIT license (see COPYING.MIT for the terms) + +DESCRIPTION = "GMP library for Xen vTPM's." +HOMEPAGE = "http://gmp" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.LIB;md5=6a6a8e020838b23406c81b19c1d46df6 \ +" + +SRC_URI = "\ + https://gmplib.org/download/gmp/archive/gmp-${PV}.tar.bz2 \ +" +SRC_URI[md5sum] = "dd60683d7057917e34630b4a787932e8" +SRC_URI[sha256sum] = "936162c0312886c21581002b79932829aa048cfaf9937c6265aeaa14f1cd1775" + +S="${WORKDIR}/gmp-${PV}" +B="${S}" + +require stubdom-gmp.inc -- cgit v1.2.3-54-g00ecf