summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
authorMichael Forney <mforney@mforney.org>2016-06-29 20:45:57 -0700
committerMichael Forney <mforney@mforney.org>2016-07-02 21:39:52 -0700
commitced273f4cc5aaa9a8bbc8dd0b143a9c7f45711cf (patch)
tree61a79b14d3b08656888eb93e4482d0bbc5a5cc17 /extra
parent5bbfb541ee7bb39431120c0ca4c514b68a7d6987 (diff)
Add efivar 0.23
Diffstat (limited to 'extra')
-rw-r--r--extra/efivar/.gitignore1
-rw-r--r--extra/efivar/.rev1
-rw-r--r--extra/efivar/compat.h3
-rw-r--r--extra/efivar/gen.rc31
-rw-r--r--extra/efivar/patch/0001-Workaround-rename-of-linux-nvme.h.patch30
m---------extra/efivar/src0
-rw-r--r--extra/gen.rc1
7 files changed, 67 insertions, 0 deletions
diff --git a/extra/efivar/.gitignore b/extra/efivar/.gitignore
new file mode 100644
index 00000000..012dc66e
--- /dev/null
+++ b/extra/efivar/.gitignore
@@ -0,0 +1 @@
+/tools.ninja
diff --git a/extra/efivar/.rev b/extra/efivar/.rev
new file mode 100644
index 00000000..d00491fd
--- /dev/null
+++ b/extra/efivar/.rev
@@ -0,0 +1 @@
+1
diff --git a/extra/efivar/compat.h b/extra/efivar/compat.h
new file mode 100644
index 00000000..4f4842f7
--- /dev/null
+++ b/extra/efivar/compat.h
@@ -0,0 +1,3 @@
+#ifndef __bswap_constant_16
+#define __bswap_constant_16(x) ((x)<<8&0xff00 | (x)>>8&0xff)
+#endif
diff --git a/extra/efivar/gen.rc b/extra/efivar/gen.rc
new file mode 100644
index 00000000..bab38a44
--- /dev/null
+++ b/extra/efivar/gen.rc
@@ -0,0 +1,31 @@
+cc src/guids.S '||' '$outdir'/^(guids.bin names.bin) ; with\
+ cflags '$cflags -I $outdir'
+
+cflags\
+ -D _GNU_SOURCE\
+ -include '$dir'/compat.h\
+ -I '$outdir'/include\
+ -I '$srcdir'/src/include/efivar
+
+{
+ include 'toolchain/$host_toolchain.ninja'
+ cflags\
+ -D EFIVAR_BUILD_ENVIRONMENT\
+ -I '$srcdir'/src/include/efivar
+ build '$outdir'/host-guid.c.o cc '$srcdir'/src/guid.c
+ exe makeguids src/makeguids.c host-guid.c.o
+} >tools.ninja
+subninja '$dir'/tools.ninja
+
+rule makeguids '$outdir/makeguids $in $out'
+outs='$outdir'/^(guids.bin names.bin guid-symbols.c include/efivar-guids.h)\
+ build $"outs makeguids '$srcdir'/src/guids.txt '|' '$outdir'/makeguids
+
+lib libefiboot.a src/^(crc32.c creator.c disk.c gpt.c linux.c loadopt.c)
+lib libefivar.a -d '$outdir'/include/efivar-guids.h src/^(\
+ dp.c dp-acpi.c dp-hw.c dp-media.c dp-message.c\
+ efivarfs.c export.c guid.c guids.S.o\
+ lib.c vars.c\
+) '$outdir'/guid-symbols.c
+
+fetch git
diff --git a/extra/efivar/patch/0001-Workaround-rename-of-linux-nvme.h.patch b/extra/efivar/patch/0001-Workaround-rename-of-linux-nvme.h.patch
new file mode 100644
index 00000000..d18b779f
--- /dev/null
+++ b/extra/efivar/patch/0001-Workaround-rename-of-linux-nvme.h.patch
@@ -0,0 +1,30 @@
+From 2b91a687fc2734ee53abfb02b115ea546f46c6f1 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Thu, 14 Jan 2016 17:02:31 -0500
+Subject: [PATCH] Workaround rename of linux/nvme.h
+
+Bug: https://bugs.gentoo.org/571548
+---
+ src/linux.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/linux.c b/src/linux.c
+index b618cfd..9388cd3 100644
+--- a/src/linux.c
++++ b/src/linux.c
+@@ -22,7 +22,12 @@
+ #include <inttypes.h>
+ #include <limits.h>
+ #include <linux/ethtool.h>
++#include <linux/version.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 0)
++#include <linux/nvme_ioctl.h>
++#else
+ #include <linux/nvme.h>
++#endif
+ #include <linux/sockios.h>
+ #include <net/if.h>
+ #include <scsi/scsi.h>
+--
+2.9.0
+
diff --git a/extra/efivar/src b/extra/efivar/src
new file mode 160000
+Subproject 6478af5af7e2fc8fa2247a47b6db9f2a5dc9136
diff --git a/extra/gen.rc b/extra/gen.rc
index b908bf21..a1e685f2 100644
--- a/extra/gen.rc
+++ b/extra/gen.rc
@@ -1,3 +1,4 @@
+subgen efivar
subgen hostap
subgen libevent
subgen libfuse