All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] Raspberry Pi - WiringPi Library Package
@ 2013-07-10  7:12 Guillermo A. Amaral
  2013-07-10  9:26 ` Thomas Petazzoni
  0 siblings, 1 reply; 16+ messages in thread
From: Guillermo A. Amaral @ 2013-07-10  7:12 UTC (permalink / raw)
  To: buildroot

From: "Guillermo A. Amaral" <g@maral.me>


Signed-off-by: Guillermo A. Amaral <g@maral.me>
---
 package/Config.in                                 |   1 +
 package/wiringpi/Config.in                        |   8 ++
 package/wiringpi/wiringpi-CLOEXEC-undefined.patch |  15 ++++
 package/wiringpi/wiringpi-cmake-support.patch     | 101 ++++++++++++++++++++++
 package/wiringpi/wiringpi.mk                      |  41 +++++++++
 5 files changed, 166 insertions(+)
 create mode 100644 package/wiringpi/Config.in
 create mode 100644 package/wiringpi/wiringpi-CLOEXEC-undefined.patch
 create mode 100644 package/wiringpi/wiringpi-cmake-support.patch
 create mode 100644 package/wiringpi/wiringpi.mk

diff --git a/package/Config.in b/package/Config.in
index 3186bb7..2824904 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -303,6 +303,7 @@ source "package/usb_modeswitch_data/Config.in"
 source "package/usbmount/Config.in"
 source "package/usbutils/Config.in"
 source "package/wipe/Config.in"
+source "package/wiringpi/Config.in"
 source "package/w_scan/Config.in"
 endmenu
 
diff --git a/package/wiringpi/Config.in b/package/wiringpi/Config.in
new file mode 100644
index 0000000..7ce1048
--- /dev/null
+++ b/package/wiringpi/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_WIRINGPI
+        bool "wiringpi"
+	depends on BR2_arm
+	help
+	  GPIO Interface library for the Raspberry Pi.
+
+	  http://wiringpi.com/
+
diff --git a/package/wiringpi/wiringpi-CLOEXEC-undefined.patch b/package/wiringpi/wiringpi-CLOEXEC-undefined.patch
new file mode 100644
index 0000000..097cb93
--- /dev/null
+++ b/package/wiringpi/wiringpi-CLOEXEC-undefined.patch
@@ -0,0 +1,15 @@
+diff --git a/wiringPi/wiringPi.c b/wiringPi/wiringPi.c
+index ba61d9f..2ee23b9 100644
+--- a/wiringPi/wiringPi.c
++++ b/wiringPi/wiringPi.c
+@@ -77,6 +77,10 @@
+ #define	FALSE	(1==2)
+ #endif
+ 
++#ifndef O_CLOEXEC
++#define O_CLOEXEC 0
++#endif
++
+ // Environment Variables
+ 
+ #define	ENV_DEBUG	"WIRINGPI_DEBUG"
diff --git a/package/wiringpi/wiringpi-cmake-support.patch b/package/wiringpi/wiringpi-cmake-support.patch
new file mode 100644
index 0000000..f6664ab
--- /dev/null
+++ b/package/wiringpi/wiringpi-cmake-support.patch
@@ -0,0 +1,101 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+new file mode 100644
+index 0000000..324ccff
+--- /dev/null
++++ b/CMakeLists.txt
+@@ -0,0 +1,9 @@
++cmake_minimum_required(VERSION 2.8)
++
++project(wiringPi)
++
++set(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared objects")
++
++add_subdirectory(wiringPi)
++add_subdirectory(devLib)
++add_subdirectory(gpio)
+diff --git a/devLib/CMakeLists.txt b/devLib/CMakeLists.txt
+new file mode 100644
+index 0000000..6a7199d
+--- /dev/null
++++ b/devLib/CMakeLists.txt
+@@ -0,0 +1,27 @@
++set(CMAKE_INCLUDE_CURRENT_DIR ON)
++
++set(devLib_SOVERSION "2.0")
++set(devLib_CFLAGS "-Wformat=2 -Winline")
++
++file(GLOB devLib_SRCS *.c)
++file(GLOB devLib_HDRS *.h)
++list(REMOVE_ITEM devLib_SRCS ${CMAKE_CURRENT_SOURCE_DIR}/piFaceOld.c)
++
++find_library(PTHREAD_LIBRARY pthread)
++
++include_directories("../wiringPi")
++
++add_library(wiringPiDev ${devLib_SRCS})
++target_link_libraries(wiringPiDev ${PTHREAD_LIBRARY})
++set_target_properties(wiringPiDev PROPERTIES COMPILE_FLAGS ${devLib_CFLAGS})
++set_target_properties(wiringPiDev PROPERTIES SOVERSION ${devLib_SOVERSION})
++
++install(TARGETS wiringPiDev
++        LIBRARY DESTINATION lib COMPONENT target
++        ARCHIVE DESTINATION lib COMPONENT staging
++)
++
++install(FILES ${devLib_HDRS}
++        DESTINATION include/wiringPi COMPONENT staging
++)
++
+diff --git a/gpio/CMakeLists.txt b/gpio/CMakeLists.txt
+new file mode 100644
+index 0000000..a39e511
+--- /dev/null
++++ b/gpio/CMakeLists.txt
+@@ -0,0 +1,20 @@
++set(CMAKE_INCLUDE_CURRENT_DIR ON)
++
++set(gpio_CFLAGS "-Wformat=2 -Winline")
++
++file(GLOB gpio_SRCS *.c)
++
++include_directories("../wiringPi")
++include_directories("../devLib")
++
++find_library(M_LIBRARY m)
++find_library(PTHREAD_LIBRARY pthread)
++
++add_executable(gpio ${gpio_SRCS})
++target_link_libraries(gpio ${M_LIBRARY} ${PTHREAD_LIBRARY} wiringPi wiringPiDev)
++set_target_properties(gpio PROPERTIES COMPILE_FLAGS ${gpio_CFLAGS})
++
++install(TARGETS gpio
++        RUNTIME DESTINATION bin COMPONENT target
++)
++
+diff --git a/wiringPi/CMakeLists.txt b/wiringPi/CMakeLists.txt
+new file mode 100644
+index 0000000..e54eaf6
+--- /dev/null
++++ b/wiringPi/CMakeLists.txt
+@@ -0,0 +1,21 @@
++set(CMAKE_INCLUDE_CURRENT_DIR ON)
++
++set(wiringPi_SOVERSION "2.0")
++set(wiringPi_CFLAGS "-Wformat=2 -Winline")
++
++file(GLOB wiringPi_SRCS *.c)
++file(GLOB wiringPi_HDRS *.h)
++
++add_library(wiringPi ${wiringPi_SRCS})
++set_target_properties(wiringPi PROPERTIES COMPILE_FLAGS ${wiringPi_CFLAGS})
++set_target_properties(wiringPi PROPERTIES SOVERSION ${wiringPi_SOVERSION})
++
++install(TARGETS wiringPi
++        LIBRARY DESTINATION lib COMPONENT target
++        ARCHIVE DESTINATION lib COMPONENT staging
++)
++
++install(FILES ${wiringPi_HDRS}
++        DESTINATION include/wiringPi COMPONENT staging
++)
++
diff --git a/package/wiringpi/wiringpi.mk b/package/wiringpi/wiringpi.mk
new file mode 100644
index 0000000..2f38c4e
--- /dev/null
+++ b/package/wiringpi/wiringpi.mk
@@ -0,0 +1,41 @@
+#############################################################
+#
+# wiringpi
+#
+#############################################################
+
+WIRINGPI_VERSION = 02a3bd8d8f2ae5c873e63875a8faef5b627f9db6
+WIRINGPI_SITE = git://git.drogon.net/wiringPi
+WIRINGPI_LICENSE = LGPLv3+
+WIRINGPI_LICENSE_FILES = COPYING.LESSER
+WIRINGPI_INSTALL_STAGING = YES
+WIRINGPI_INSTALL_TARGET = YES
+WIRINGPI_CONF_OPT = -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr
+
+define WIRINGPI_INSTALL_TARGET_CMDS
+	$(HOST_DIR)/usr/bin/cmake -DCMAKE_INSTALL_PREFIX=$(TARGET_DIR)/usr -DCOMPONENT=target -P "$(@D)/cmake_install.cmake"
+	mv $(@D)/install_manifest_target.txt $(@D)/install_manifest_target_target.txt
+endef
+
+define WIRINGPI_INSTALL_STAGING_CMDS
+	$(HOST_DIR)/usr/bin/cmake -DCMAKE_INSTALL_PREFIX=$(STAGING_DIR)/usr -DCOMPONENT=staging -P "$(@D)/cmake_install.cmake"
+	mv $(@D)/install_manifest_staging.txt $(@D)/install_manifest_staging_staging.txt
+
+	$(HOST_DIR)/usr/bin/cmake -DCMAKE_INSTALL_PREFIX=$(STAGING_DIR)/usr -DCOMPONENT=target -P "$(@D)/cmake_install.cmake"
+	mv $(@D)/install_manifest_target.txt $(@D)/install_manifest_target_staging.txt
+endef
+
+define WIRINGPI_POST_STAGING_CLEANUP
+    rm $(STAGING_DIR)/usr/bin/cpio
+endef
+
+define WIRINGPI_UNINSTALL_TARGET_CMDS
+	xargs rm -f < $(@D)/install_manifest_target_target.txt
+endef
+
+define WIRINGPI_UNINSTALL_STAGING_CMDS
+	xargs rm -f < $(@D)/install_manifest_staging_staging.txt
+	xargs rm -f < $(@D)/install_manifest_target_staging.txt
+endef
+
+$(eval $(cmake-package))
-- 
1.8.1.5

^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2013-07-12  6:54 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <CAPeEpDpMY2sRjGdd+TgPz5S--Pws+5hUNrV8jpiznxBqFZ7zDg@mail.gmail.com>
2013-07-11  5:17 ` [Buildroot] [PATCH] Raspberry Pi - WiringPi Library Package Guillermo A. Amaral
2013-07-11  5:19   ` Guillermo A. Amaral
2013-07-11  5:33     ` Baruch Siach
2013-07-11  6:00       ` Guillermo A. Amaral
2013-07-11  6:04         ` Baruch Siach
2013-07-11  6:38           ` Guillermo A. Amaral
2013-07-11  7:42             ` Carsten Schoenert
2013-07-11 17:55               ` Guillermo Amaral
2013-07-11 18:06                 ` Baruch Siach
2013-07-11 18:22                   ` Guillermo Amaral
2013-07-12  3:24                     ` Baruch Siach
2013-07-12  4:30                       ` Guillermo Amaral
2013-07-12  6:47                         ` Baruch Siach
2013-07-12  6:54                           ` Guillermo A. Amaral
2013-07-10  7:12 Guillermo A. Amaral
2013-07-10  9:26 ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.