Squashed 'import-layers/meta-raspberrypi/' content from commit 2745399

Change-Id: I8a89d81813dea98209d089ef500a403ea4da5d9d
git-subtree-dir: import-layers/meta-raspberrypi
git-subtree-split: 2745399f75d7564fcc586d0365ff73be47849d0e
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/import-layers/meta-raspberrypi/recipes-devtools/wiringPi/files/0001-Add-initial-cross-compile-support.patch b/import-layers/meta-raspberrypi/recipes-devtools/wiringPi/files/0001-Add-initial-cross-compile-support.patch
new file mode 100644
index 0000000..ed47fab
--- /dev/null
+++ b/import-layers/meta-raspberrypi/recipes-devtools/wiringPi/files/0001-Add-initial-cross-compile-support.patch
@@ -0,0 +1,410 @@
+From 6d85e6cc3ab97c3f060e5e0a8e3f1945a14c86ba Mon Sep 17 00:00:00 2001
+From: Gianfranco Costamagna <gianfranco.costamagna@abinsula.com>
+Date: Mon, 12 Oct 2015 12:15:51 +0200
+Subject: [PATCH] Add initial cross compile support (rebase from Petter Mabäcker <petter@technux.se> version)
+
+---
+ devLib/Makefile             |   54 ++++++++++++++++++++++++-------------------
+ examples/Gertboard/Makefile |   22 +++++++++++-------
+ examples/Makefile           |   22 +++++++++++-------
+ examples/PiFace/Makefile    |   22 +++++++++++-------
+ examples/PiGlow/Makefile    |    4 ++--
+ examples/q2w/Makefile       |    4 ++--
+ gpio/Makefile               |   29 ++++++++++++-----------
+ wiringPi/Makefile           |   50 +++++++++++++++++++++------------------
+ 8 files changed, 119 insertions(+), 88 deletions(-)
+
+diff --git a/devLib/Makefile b/devLib/Makefile
+index 0fb0033..cbea759 100644
+--- a/devLib/Makefile
++++ b/devLib/Makefile
+@@ -31,15 +31,19 @@ ifneq ($V,1)
+ Q ?= @
+ endif
+ 
+-STATIC=libwiringPiDev.a
+-DYNAMIC=libwiringPiDev.so.$(VERSION)
++INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
++LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
+ 
+-#DEBUG	= -g -O0
+-DEBUG	= -O2
+-CC	= gcc
+-INCLUDE	= -I.
+-DEFS	= -D_GNU_SOURCE
+-CFLAGS	= $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC
++BASE_NAME=libwiringPiDev
++STATIC=$(BASE_NAME).a
++DYNAMIC=$(BASE_NAME).so.$(VERSION)
++
++#DEBUG ?= -g -O0
++DEBUG	?= -O2
++CC	?= gcc
++INCLUDE	?= -I.
++DEFS	?= -D_GNU_SOURCE
++CFLAGS	?= $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC
+ 
+ LIBS    =
+ 
+@@ -66,16 +70,16 @@ $(STATIC):	$(OBJ)
+ 
+ $(DYNAMIC):	$(OBJ)
+ 	$Q echo "[Link (Dynamic)]"
+-	$Q $(CC) -shared -Wl,-soname,libwiringPiDev.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPiDev.so.$(VERSION) -lpthread $(OBJ)
++	$Q $(CC) -shared -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so -lpthread $(OBJ)
+ 
+ .c.o:
+ 	$Q echo [Compile] $<
+-	$Q $(CC) -c $(CFLAGS) $< -o $@
++	$Q $(CC) -c $(CFLAGS) -fPIC $< -o $@
+ 
+ .PHONY:	clean
+ clean:
+ 	$Q echo "[Clean]"
+-	$Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak libwiringPiDev.*
++	$Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak $(BASE_NAME).so* $(BASE_NAME).a
+ 
+ .PHONY:	tags
+ tags:	$(SRC)
+@@ -86,22 +90,22 @@ tags:	$(SRC)
+ .PHONY:	install
+ install:	$(DYNAMIC)
+ 	$Q echo "[Install Headers]"
+-	$Q install -m 0755 -d						$(DESTDIR)$(PREFIX)/include
+-	$Q install -m 0644 $(HEADERS)					$(DESTDIR)$(PREFIX)/include
++	$Q install -m 0755 -d						$(INCLUDE_DIR)
++	$Q install -m 0644 $(HEADERS)					$(INCLUDE_DIR)
+ 	$Q echo "[Install Dynamic Lib]"
+-	$Q install -m 0755 -d						$(DESTDIR)$(PREFIX)/lib
+-	$Q install -m 0755 libwiringPiDev.so.$(VERSION)			$(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION)
+-	$Q ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION)	$(DESTDIR)/lib/libwiringPiDev.so
+-	$Q $(LDCONFIG)
++	$Q install -m 0755 -d						$(LIB_DIR)
++	$Q install -m 0755 $(BASE_NAME).so				$(LIB_DIR)/$(DYNAMIC)
++	$Q ln -sf $(DYNAMIC)						$(LIB_DIR)/$(BASE_NAME).so
++	$Q ln -sf $(DYNAMIC)						$(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
+ 
+ .PHONY:	install-static
+ install-static:	$(STATIC)
+ 	$Q echo "[Install Headers]"
+-	$Q install -m 0755 -d						$(DESTDIR)$(PREFIX)/include
+-	$Q install -m 0644 $(HEADERS)					$(DESTDIR)$(PREFIX)/include
++	$Q install -m 0755 -d						$(INCLUDE_DIR)
++	$Q install -m 0644 $(HEADERS)					$(INCLUDE_DIR)
+ 	$Q echo "[Install Static Lib]"
+-	$Q install -m 0755 -d						$(DESTDIR)$(PREFIX)/lib
+-	$Q install -m 0755 libwiringPiDev.a				$(DESTDIR)$(PREFIX)/lib
++	$Q install -m 0755 -d						$(LIB_DIR)
++	$Q install -m 0755 $(STATIC)					$(LIB_DIR)
+ 
+ .PHONY:	install-deb
+ install-deb:	$(DYNAMIC)
+@@ -116,9 +120,11 @@ install-deb:	$(DYNAMIC)
+ .PHONY:	uninstall
+ uninstall:
+ 	$Q echo "[UnInstall]"
+-	$Q cd $(DESTDIR)$(PREFIX)/include/ && rm -f $(HEADERS)
+-	$Q cd $(DESTDIR)$(PREFIX)/lib/     && rm -f libwiringPiDev.*
+-	$Q $(LDCONFIG)
++	$Q cd $(INCLUDE_DIR) && rm -f $(HEADERS)
++	$Q rm -f $(LIB_DIR)/$(STATIC)
++	$Q rm -f $(LIB_DIR)/$(DYNAMIC)
++	$Q rm -f $(LIB_DIR)/$(BASE_NAME).so
++	$Q rm -f $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
+ 
+ 
+ .PHONY:	depend
+diff --git a/examples/Gertboard/Makefile b/examples/Gertboard/Makefile
+index 1939ad6..98d1415 100644
+--- a/examples/Gertboard/Makefile
++++ b/examples/Gertboard/Makefile
+@@ -9,14 +9,20 @@ ifneq ($V,1)
+ Q ?= @
+ endif
+ 
+-#DEBUG	= -g -O0
+-DEBUG	= -O3
+-CC	= gcc
+-INCLUDE	= -I/usr/local/include
+-CFLAGS	= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
+-
+-LDFLAGS	= -L/usr/local/lib
+-LDLIBS    = -lwiringPi -lwiringPiDev -lpthread -lm
++DESTDIR?=/usr
++PREFIX?=/local
++
++INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
++LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
++
++#DEBUG	?= -g -O0
++DEBUG	?= -O3
++CC	?= gcc
++INCLUDE	?= -I$(INCLUDE_DIR)
++CFLAGS	?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
++
++LDFLAGS	?= -L$(LIB_DIR)
++LDLIBS    ?= -lwiringPi -lwiringPiDev -lpthread -lm
+ 
+ # Should not alter anything below this line
+ ###############################################################################
+diff --git a/examples/Makefile b/examples/Makefile
+index e6b9b71..931b167 100644
+--- a/examples/Makefile
++++ b/examples/Makefile
+@@ -26,14 +26,20 @@ ifneq ($V,1)
+ Q ?= @
+ endif
+ 
+-#DEBUG	= -g -O0
+-DEBUG	= -O3
+-CC	= gcc
+-INCLUDE	= -I/usr/local/include
+-CFLAGS	= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
+-
+-LDFLAGS	= -L/usr/local/lib
+-LDLIBS    = -lwiringPi -lwiringPiDev -lpthread -lm
++DESTDIR?=/usr
++PREFIX?=/local
++
++INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
++LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
++
++#DEBUG	?= -g -O0
++DEBUG	?= -O3
++CC	?= gcc
++INCLUDE	?= -I$(INCLUDE_DIR)
++CFLAGS	?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
++
++LDFLAGS	?= -L$(LIB_DIR)
++LDLIBS    ?= -lwiringPi -lwiringPiDev -lpthread -lm
+ 
+ # Should not alter anything below this line
+ ###############################################################################
+diff --git a/examples/PiFace/Makefile b/examples/PiFace/Makefile
+index 4685adc..cfaf902 100644
+--- a/examples/PiFace/Makefile
++++ b/examples/PiFace/Makefile
+@@ -26,14 +26,20 @@ ifneq ($V,1)
+ Q ?= @
+ endif
+ 
+-#DEBUG	= -g -O0
+-DEBUG	= -O3
+-CC	= gcc
+-INCLUDE	= -I/usr/local/include
+-CFLAGS	= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
+-
+-LDFLAGS	= -L/usr/local/lib
+-LDLIBS    = -lwiringPi -lwiringPiDev -lpthread -lm
++DESTDIR?=/usr
++PREFIX?=/local
++
++INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
++LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
++
++#DEBUG	?= -g -O0
++DEBUG	?= -O3
++CC	?= gcc
++INCLUDE	?= -I$(INCLUDE_DIR)
++CFLAGS	?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
++
++LDFLAGS	?= -L$(LIB_DIR)
++LDLIBS    ?= -lwiringPi -lwiringPiDev -lpthread -lm
+ 
+ # Should not alter anything below this line
+ ###############################################################################
+diff --git a/examples/PiGlow/Makefile b/examples/PiGlow/Makefile
+index acd4818..dabd64e 100644
+--- a/examples/PiGlow/Makefile
++++ b/examples/PiGlow/Makefile
+@@ -29,10 +29,10 @@ endif
+ #DEBUG	= -g -O0
+ DEBUG	= -O3
+ CC	= gcc
+-INCLUDE	= -I/usr/local/include
++INCLUDE	= -I../wiringPi -I../wiringPiDev
+ CFLAGS	= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
+ 
+-LDFLAGS	= -L/usr/local/lib
++LDFLAGS	= -L../wiringPi -L../wiringPiDev
+ LDLIBS    = -lwiringPi -lwiringPiDev -lpthread -lm
+ 
+ # Should not alter anything below this line
+diff --git a/examples/q2w/Makefile b/examples/q2w/Makefile
+index 6f50fa0..c5e9f6e 100644
+--- a/examples/q2w/Makefile
++++ b/examples/q2w/Makefile
+@@ -29,10 +29,10 @@ endif
+ #DEBUG	= -g -O0
+ DEBUG	= -O3
+ CC	= gcc
+-INCLUDE	= -I/usr/local/include
++INCLUDE	= -I../wiringPi -I../devLib
+ CFLAGS	= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
+ 
+-LDFLAGS	= -L/usr/local/lib
++LDFLAGS	= -L../wiringPi -L../devLib
+ LDLIBS    = -lwiringPi -lwiringPiDev -lpthread -lm
+ 
+ ###############################################################################
+diff --git a/gpio/Makefile b/gpio/Makefile
+index 7dcd090..83ec454 100644
+--- a/gpio/Makefile
++++ b/gpio/Makefile
+@@ -30,13 +30,17 @@ ifneq ($V,1)
+ Q ?= @
+ endif
+ 
+-#DEBUG	= -g -O0
+-DEBUG	= -O2
+-CC	= gcc
+-INCLUDE	= -I$(DESTDIR)$(PREFIX)/include
+-CFLAGS	= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
++INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
++LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
++BIN_DIR?=$(DESTDIR)$(PREFIX)/bin
+ 
+-LDFLAGS	= -L$(DESTDIR)$(PREFIX)/lib
++#DEBUG	?= -g -O0
++DEBUG	?= -O2
++CC	?= gcc
++INCLUDE	?= -I$(INCLUDE_DIR)
++CFLAGS	?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
++
++LDFLAGS	?= -L$(LIB_DIR)
+ LIBS    = -lwiringPi -lwiringPiDev -lpthread
+ 
+ # May not need to  alter anything below this line
+@@ -72,13 +76,10 @@ tags:	$(SRC)
+ .PHONY:	install
+ install: gpio
+ 	$Q echo "[Install]"
+-	$Q cp gpio		$(DESTDIR)$(PREFIX)/bin
+-ifneq ($(WIRINGPI_SUID),0)
+-	$Q chown root.root	$(DESTDIR)$(PREFIX)/bin/gpio
+-	$Q chmod 4755		$(DESTDIR)$(PREFIX)/bin/gpio
+-endif
+-	$Q mkdir -p		$(DESTDIR)$(PREFIX)/man/man1
+-	$Q cp gpio.1		$(DESTDIR)$(PREFIX)/man/man1
++	$Q install -d $(BIN_DIR)
++	$Q install -m 4755 -o root -g root gpio $(BIN_DIR)
++	$Q install -d $(DESTDIR)$(PREFIX)/share/man/man1
++	$Q install -m 644 -o root -g root gpio.1 $(DESTDIR)$(PREFIX)/share/man/man1
+ 
+ .PHONY:	install-deb
+ install-deb:	gpio
+@@ -89,7 +90,7 @@ install-deb:	gpio
+ .PHONY:	uninstall
+ uninstall:
+ 	$Q echo "[UnInstall]"
+-	$Q rm -f $(DESTDIR)$(PREFIX)/bin/gpio
++	$Q rm -f $(BIN_DIR)/gpio
+ 	$Q rm -f $(DESTDIR)$(PREFIX)/man/man1/gpio.1
+ 
+ .PHONY:	depend
+diff --git a/wiringPi/Makefile b/wiringPi/Makefile
+index 6bbcc5d..5355b74 100644
+--- a/wiringPi/Makefile
++++ b/wiringPi/Makefile
+@@ -25,19 +25,23 @@ VERSION=$(shell cat ../VERSION)
+ DESTDIR?=/usr
+ PREFIX?=/local
+ 
++INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
++LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
++
+ LDCONFIG?=ldconfig
+ 
+ ifneq ($V,1)
+ Q ?= @
+ endif
+ 
+-STATIC=libwiringPi.a
+-DYNAMIC=libwiringPi.so.$(VERSION)
++BASE_NAME=libwiringPi
++STATIC=$(BASE_NAME).a
++DYNAMIC=$(BASE_NAME).so.$(VERSION)
+ 
+-#DEBUG	= -g -O0
+-DEBUG	= -O2
+-CC	= gcc
+-INCLUDE	= -I.
++#DEBUG	?= -g -O0
++DEBUG	?= -O2
++CC	?= gcc
++INCLUDE	?= -I.
+ DEFS	= -D_GNU_SOURCE
+ CFLAGS	= $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC
+ 
+@@ -89,17 +93,17 @@ $(STATIC):	$(OBJ)
+ 
+ $(DYNAMIC):	$(OBJ)
+ 	$Q echo "[Link (Dynamic)]"
+-	$Q $(CC) -shared -Wl,-soname,libwiringPi.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPi.so.$(VERSION) -lpthread $(OBJ)
++	$Q $(CC) -shared -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so -lpthread $(OBJ)
+ 
+ .c.o:
+ 	$Q echo [Compile] $<
+-	$Q $(CC) -c $(CFLAGS) $< -o $@
++	$Q $(CC) -c $(CFLAGS) -fPIC $< -o $@
+ 
+ 
+ .PHONY:	clean
+ clean:
+ 	$Q echo "[Clean]"
+-	$Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak libwiringPi.*
++	$Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak $(BASE_NAME).so* $(BASE_NAME).a
+ 
+ .PHONY:	tags
+ tags:	$(SRC)
+@@ -110,22 +114,22 @@ tags:	$(SRC)
+ .PHONY:	install
+ install:	$(DYNAMIC)
+ 	$Q echo "[Install Headers]"
+-	$Q install -m 0755 -d						$(DESTDIR)$(PREFIX)/include
+-	$Q install -m 0644 $(HEADERS)					$(DESTDIR)$(PREFIX)/include
++	$Q install -m 0755 -d						$(INCLUDE_DIR)
++	$Q install -m 0644 $(HEADERS)					$(INCLUDE_DIR)
+ 	$Q echo "[Install Dynamic Lib]"
+-	$Q install -m 0755 -d						$(DESTDIR)$(PREFIX)/lib
+-	$Q install -m 0755 libwiringPi.so.$(VERSION)			$(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION)
+-	$Q ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION)	$(DESTDIR)/lib/libwiringPi.so
+-	$Q $(LDCONFIG)
++	$Q install -m 0755 -d						$(LIB_DIR)
++	$Q install -m 0755 $(BASE_NAME).so				$(LIB_DIR)/$(DYNAMIC)
++	$Q ln -sf $(DYNAMIC)						$(LIB_DIR)/$(BASE_NAME).so
++	$Q ln -sf $(DYNAMIC)						$(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
+ 
+ .PHONY:	install-static
+ install-static:	$(STATIC)
+ 	$Q echo "[Install Headers]"
+-	$Q install -m 0755 -d						$(DESTDIR)$(PREFIX)/include
+-	$Q install -m 0644 $(HEADERS)					$(DESTDIR)$(PREFIX)/include
++	$Q install -m 0755 -d						$(INCLUDE_DIR)
++	$Q install -m 0644 $(HEADERS)					$(INCLUDE_DIR)
+ 	$Q echo "[Install Static Lib]"
+-	$Q install -m 0755 -d						$(DESTDIR)$(PREFIX)/lib
+-	$Q install -m 0755 libwiringPi.a					$(DESTDIR)$(PREFIX)/lib
++	$Q install -m 0755 -d						$(LIB_DIR)
++	$Q install -m 0755 $(STATIC)					$(LIB_DIR)
+ 
+ .PHONY:	install-deb
+ install-deb:	$(DYNAMIC)
+@@ -140,9 +144,11 @@ install-deb:	$(DYNAMIC)
+ .PHONY:	uninstall
+ uninstall:
+ 	$Q echo "[UnInstall]"
+-	$Q cd $(DESTDIR)$(PREFIX)/include/ && rm -f $(HEADERS)
+-	$Q cd $(DESTDIR)$(PREFIX)/lib/     && rm -f libwiringPi.*
+-	$Q $(LDCONFIG)
++	$Q cd $(INCLUDE_DIR) && rm -f $(HEADERS)
++	$Q rm -f $(LIB_DIR)/$(STATIC)
++	$Q rm -f $(LIB_DIR)/$(DYNAMIC)
++	$Q rm -f $(LIB_DIR)/$(BASE_NAME).so
++	$Q rm -f $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
+ 
+ 
+ .PHONY:	depend
+-- 
+2.1.4
+
diff --git a/import-layers/meta-raspberrypi/recipes-devtools/wiringPi/wiringpi/0001-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch b/import-layers/meta-raspberrypi/recipes-devtools/wiringPi/wiringpi/0001-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch
new file mode 100644
index 0000000..5de5853
--- /dev/null
+++ b/import-layers/meta-raspberrypi/recipes-devtools/wiringPi/wiringpi/0001-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch
@@ -0,0 +1,58 @@
+From 7f65eb37a82a6d9b095d9c8f262ad9dd205acd03 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 30 Jan 2016 16:57:38 -0800
+Subject: [PATCH] include <asm/ioctl.h> directly for _IOC_SIZEBITS
+
+Fixes errors like
+| wiringPiSPI.c: In function 'wiringPiSPIDataRW':
+| wiringPiSPI.c:89:35: error: '_IOC_SIZEBITS' undeclared (first use in
+this function)
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ wiringPi/wiringPi.c    | 1 +
+ wiringPi/wiringPiI2C.c | 1 +
+ wiringPi/wiringPiSPI.c | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/wiringPi/wiringPi.c b/wiringPi/wiringPi.c
+index 32e5100..cb5db9d 100644
+--- a/wiringPi/wiringPi.c
++++ b/wiringPi/wiringPi.c
+@@ -64,6 +64,7 @@
+ #include <time.h>
+ #include <fcntl.h>
+ #include <pthread.h>
++#include <asm/ioctl.h>
+ #include <sys/time.h>
+ #include <sys/mman.h>
+ #include <sys/stat.h>
+diff --git a/wiringPi/wiringPiI2C.c b/wiringPi/wiringPiI2C.c
+index c787bce..efdf53c 100644
+--- a/wiringPi/wiringPiI2C.c
++++ b/wiringPi/wiringPiI2C.c
+@@ -52,6 +52,7 @@
+ #include <string.h>
+ #include <fcntl.h>
+ #include <sys/ioctl.h>
++#include <asm/ioctl.h>
+ 
+ #include "wiringPi.h"
+ #include "wiringPiI2C.h"
+diff --git a/wiringPi/wiringPiSPI.c b/wiringPi/wiringPiSPI.c
+index 453df31..ae3c7d9 100644
+--- a/wiringPi/wiringPiSPI.c
++++ b/wiringPi/wiringPiSPI.c
+@@ -27,6 +27,7 @@
+ #include <fcntl.h>
+ #include <errno.h>
+ #include <string.h>
++#include <asm/ioctl.h>
+ #include <sys/ioctl.h>
+ #include <linux/spi/spidev.h>
+ 
+-- 
+2.7.0
+
diff --git a/import-layers/meta-raspberrypi/recipes-devtools/wiringPi/wiringpi_git.bb b/import-layers/meta-raspberrypi/recipes-devtools/wiringPi/wiringpi_git.bb
new file mode 100644
index 0000000..9d2206b
--- /dev/null
+++ b/import-layers/meta-raspberrypi/recipes-devtools/wiringPi/wiringpi_git.bb
@@ -0,0 +1,34 @@
+DESCRIPTION = "A library to control Raspberry Pi GPIO channels"
+HOMEPAGE = "https://projects.drogon.net/raspberry-pi/wiringpi/"
+SECTION = "devel/libs"
+LICENSE = "LGPLv3+"
+LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+# tag 2.29
+SRCREV = "d79506694d7ba1c3da865d095238289d6175057d"
+
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://git.drogon.net/wiringPi \
+           file://0001-Add-initial-cross-compile-support.patch \
+           file://0001-include-asm-ioctl.h-directly-for-_IOC_SIZEBITS.patch \
+           "
+
+COMPATIBLE_MACHINE = "raspberrypi"
+
+CFLAGS_prepend = "-I${S}/wiringPi -I${S}/devLib"
+
+EXTRA_OEMAKE += "'INCLUDE_DIR=${D}${includedir}' 'LIB_DIR=${D}${libdir}'"
+EXTRA_OEMAKE += "'DESTDIR=${D}/usr' 'PREFIX=""'"
+
+do_compile() {
+    oe_runmake -C devLib
+    oe_runmake -C wiringPi
+    oe_runmake -C gpio 'LDFLAGS=${LDFLAGS} -L${S}/wiringPi -L${S}/devLib'
+}
+
+do_install() {
+    oe_runmake -C devLib install
+    oe_runmake -C wiringPi install
+    oe_runmake -C gpio install
+}