* [Buildroot] [PATCH 0/8] Misc. fixes around libftdi
@ 2015-01-25 21:13 Samuel Martin
2015-01-25 21:13 ` [Buildroot] [PATCH 1/8 v2] package/libftdi: fix libftdi.pc Samuel Martin
` (7 more replies)
0 siblings, 8 replies; 16+ messages in thread
From: Samuel Martin @ 2015-01-25 21:13 UTC (permalink / raw)
To: buildroot
Hi all,
The series includes a number of fixes/updates:
Patch 1/8: 2nd version of pending fix for libftdi (which fixes openocd failures)
Patch 2/8: a random libiio cmake fix
Patches 3-4/8: bump libftdi and add libftdi1
Patches 5-6/8: [RFC] use libftdi1 for the 2 packages explicitly dependending on
libftdi (only build tests, runtime test feedback is welcome).
It seems ola also depends on libftdi, but does not support libftdi1. Who knows
how many other packages silently depend on libftdi depending on the buildroot
configuration...
Patch 7/8: bump CMake
Patch 8/8: [RFC] add a patch to finely enable/disable CMake tools being built,
allowing to cut down ~25% of the buildtime of the cmake package.
Regards,
Daniel Sangue (1):
package/libftdi1: new package
Samuel Martin (7):
package/libftdi: fix libftdi.pc
package/libiio: update cmake code for libxml2 detection
package/libftdi: bump to version 0.20
package/avrdude: depends on libftdi1 instead of libftdi
package/openocd: depends on libftdi1 instead of libftdi
package/cmake: bump to version 3.1.1
package/cmake: only build what is necessary
package/Config.in | 1 +
package/avrdude/avrdude.mk | 4 +-
...-allow-to-select-what-program-to-be-built.patch | 231 +++++++++++++++++++++
package/cmake/cmake.hash | 2 +
package/cmake/cmake.mk | 8 +-
...bftdi.pc-requires-libusb-fix-static-build.patch | 27 +++
package/libftdi/libftdi.hash | 2 +
package/libftdi/libftdi.mk | 2 +-
...he-standard-CMake-flag-to-drive-the-share.patch | 96 +++++++++
.../libftdi1/0002-cmake-fix-FindUSB1.cmake.patch | 34 +++
...o-not-check-for-g-when-FTDIPP-is-disabled.patch | 46 ++++
package/libftdi1/Config.in | 37 ++++
package/libftdi1/libftdi1.hash | 2 +
package/libftdi1/libftdi1.mk | 38 ++++
...l2-detection-try-first-the-CMake-module-f.patch | 40 ++--
package/openocd/Config.in | 8 +-
package/openocd/openocd.mk | 2 +-
17 files changed, 553 insertions(+), 27 deletions(-)
create mode 100644 package/cmake/0001-CMake-allow-to-select-what-program-to-be-built.patch
create mode 100644 package/cmake/cmake.hash
create mode 100644 package/libftdi/0002-libftdi.pc-requires-libusb-fix-static-build.patch
create mode 100644 package/libftdi/libftdi.hash
create mode 100644 package/libftdi1/0001-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch
create mode 100644 package/libftdi1/0002-cmake-fix-FindUSB1.cmake.patch
create mode 100644 package/libftdi1/0003-cmake-do-not-check-for-g-when-FTDIPP-is-disabled.patch
create mode 100644 package/libftdi1/Config.in
create mode 100644 package/libftdi1/libftdi1.hash
create mode 100644 package/libftdi1/libftdi1.mk
--
2.2.2
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Buildroot] [PATCH 1/8 v2] package/libftdi: fix libftdi.pc
2015-01-25 21:13 [Buildroot] [PATCH 0/8] Misc. fixes around libftdi Samuel Martin
@ 2015-01-25 21:13 ` Samuel Martin
2015-02-01 22:31 ` Thomas Petazzoni
2015-01-25 21:13 ` [Buildroot] [PATCH 2/8] package/libiio: update cmake code for libxml2 detection Samuel Martin
` (6 subsequent siblings)
7 siblings, 1 reply; 16+ messages in thread
From: Samuel Martin @ 2015-01-25 21:13 UTC (permalink / raw)
To: buildroot
This patch fixes libftdi pkg-config module, so that packages linking
against libftdi correctly have all needed CFLAGS and LIBS defined,
especially when running a static build.
Fixes:
http://autobuild.buildroot.org/results/e90/e90b4d5ad79d99487f21c9d18581e8eba7034501/
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
change v1->v2:
- libusb as "Require" (ThomasP)
---
...bftdi.pc-requires-libusb-fix-static-build.patch | 27 ++++++++++++++++++++++
1 file changed, 27 insertions(+)
create mode 100644 package/libftdi/0002-libftdi.pc-requires-libusb-fix-static-build.patch
diff --git a/package/libftdi/0002-libftdi.pc-requires-libusb-fix-static-build.patch b/package/libftdi/0002-libftdi.pc-requires-libusb-fix-static-build.patch
new file mode 100644
index 0000000..ee47af6
--- /dev/null
+++ b/package/libftdi/0002-libftdi.pc-requires-libusb-fix-static-build.patch
@@ -0,0 +1,27 @@
+From d3d6ca63cb86727533d7d83c98e70002bb04f343 Mon Sep 17 00:00:00 2001
+From: Samuel Martin <s.martin49@gmail.com>
+Date: Wed, 21 Jan 2015 11:18:59 +0100
+Subject: [PATCH] libftdi.pc: requires libusb (fix static build)
+
+---
+ libftdi.pc.in | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/libftdi.pc.in b/libftdi.pc.in
+index 2061b91..57f0a09 100644
+--- a/libftdi.pc.in
++++ b/libftdi.pc.in
+@@ -5,8 +5,8 @@ includedir=@includedir@
+
+ Name: libftdi
+ Description: Library to program and control the FTDI USB controller
+-Requires:
++Requires: libusb
+ Version: @VERSION@
+-Libs: -L${libdir} -lftdi -lusb
++Libs: -L${libdir} -lftdi
+ Cflags: -I${includedir}
+
+--
+2.1.0
+
--
2.2.2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [Buildroot] [PATCH 2/8] package/libiio: update cmake code for libxml2 detection
2015-01-25 21:13 [Buildroot] [PATCH 0/8] Misc. fixes around libftdi Samuel Martin
2015-01-25 21:13 ` [Buildroot] [PATCH 1/8 v2] package/libftdi: fix libftdi.pc Samuel Martin
@ 2015-01-25 21:13 ` Samuel Martin
2015-01-27 21:16 ` Arnout Vandecappelle
2015-02-14 21:15 ` Thomas Petazzoni
2015-01-25 21:13 ` [Buildroot] [PATCH 3/8] package/libftdi: bump to version 0.20 Samuel Martin
` (5 subsequent siblings)
7 siblings, 2 replies; 16+ messages in thread
From: Samuel Martin @ 2015-01-25 21:13 UTC (permalink / raw)
To: buildroot
Only check for libxml2 when it is needed.
This prevents CMake from falling back on the libxml2-config.cmake
installed on the host system (i.e. when libxml2 >=2.9.2 is part of the
host system), but not enabled as a target package (i.e. not existing in
the staging tree).
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
...l2-detection-try-first-the-CMake-module-f.patch | 40 +++++++++++++---------
1 file changed, 23 insertions(+), 17 deletions(-)
diff --git a/package/libiio/0002-cmake-libxml2-detection-try-first-the-CMake-module-f.patch b/package/libiio/0002-cmake-libxml2-detection-try-first-the-CMake-module-f.patch
index 9f44169..43dcf62 100644
--- a/package/libiio/0002-cmake-libxml2-detection-try-first-the-CMake-module-f.patch
+++ b/package/libiio/0002-cmake-libxml2-detection-try-first-the-CMake-module-f.patch
@@ -1,4 +1,4 @@
-From 4f849e1d2287206cfb7ff0fdeca96c22383b0d53 Mon Sep 17 00:00:00 2001
+From 238ce46fec88f5cba092ed4d8b52104eb2e31af2 Mon Sep 17 00:00:00 2001
From: Samuel Martin <s.martin49@gmail.com>
Date: Mon, 29 Dec 2014 19:05:13 +0100
Subject: [PATCH] cmake: libxml2 detection: try first the CMake module from
@@ -7,36 +7,42 @@ Subject: [PATCH] cmake: libxml2 detection: try first the CMake module from
Libxml2 >=2.9.2 provides its own CMake module, so check for it before
falling back on the CMake's module FindLibXml2.cmake.
+Also, only check for libxml2 when needed (i.e. network backend is
+enabled). This prevents CMake from finding the libxml2-config.cmake
+when is installed on the host system, but not in the staging tree.
+
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
- CMakeLists.txt | 14 +++++++++++++-
- 1 file changed, 13 insertions(+), 1 deletion(-)
+ CMakeLists.txt | 16 +++++++++++++++-
+ 1 file changed, 15 insertions(+), 1 deletion(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 393fee3..b4f1d26 100644
+index dcc6617..810b329 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
-@@ -38,7 +38,19 @@ endif()
+@@ -53,7 +53,21 @@ endif()
find_library(AVAHI_CLIENT_LIBRARIES avahi-client)
find_library(AVAHI_COMMON_LIBRARIES avahi-common)
find_library(PTHREAD_LIBRARIES pthread)
-include(FindLibXml2)
+
-+# Since libxml2-2.9.2, libxml2 provides its own LibXml2-config.cmake, with all
-+# variables correctly set.
-+# So, try first to find the CMake module provided by libxml2 package, then fallback
-+# on the CMake's FindLibXml2.cmake module (which can lack some definition, especially
-+# in static build case).
-+find_package(LibXml2 QUIET NO_MODULE)
-+if(DEFINED LIBXML2_VERSION_STRING)
-+ set(LIBXML2_FOUND ON)
-+ set(LIBXML2_INCLUDE_DIR ${LIBXML2_INCLUDE_DIRS})
-+else()
-+ include(FindLibXml2)
++if(WITH_NETWORK_BACKEND)
++ # Since libxml2-2.9.2, libxml2 provides its own LibXml2-config.cmake, with all
++ # variables correctly set.
++ # So, try first to find the CMake module provided by libxml2 package, then fallback
++ # on the CMake's FindLibXml2.cmake module (which can lack some definition, especially
++ # in static build case).
++ find_package(LibXml2 QUIET NO_MODULE)
++ if(DEFINED LIBXML2_VERSION_STRING)
++ set(LIBXML2_FOUND ON)
++ set(LIBXML2_INCLUDE_DIR ${LIBXML2_INCLUDE_DIRS})
++ else()
++ include(FindLibXml2)
++ endif()
+endif()
set(LIBIIO_CFILES channel.c device.c context.c buffer.c utilities.c)
set(LIBIIO_HEADERS iio.h)
--
-2.2.1
+2.2.2
--
2.2.2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [Buildroot] [PATCH 3/8] package/libftdi: bump to version 0.20
2015-01-25 21:13 [Buildroot] [PATCH 0/8] Misc. fixes around libftdi Samuel Martin
2015-01-25 21:13 ` [Buildroot] [PATCH 1/8 v2] package/libftdi: fix libftdi.pc Samuel Martin
2015-01-25 21:13 ` [Buildroot] [PATCH 2/8] package/libiio: update cmake code for libxml2 detection Samuel Martin
@ 2015-01-25 21:13 ` Samuel Martin
2015-01-25 21:13 ` [Buildroot] [PATCH 4/8] package/libftdi1: new package Samuel Martin
` (4 subsequent siblings)
7 siblings, 0 replies; 16+ messages in thread
From: Samuel Martin @ 2015-01-25 21:13 UTC (permalink / raw)
To: buildroot
Also add *.hash file.
Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
package/libftdi/libftdi.hash | 2 ++
package/libftdi/libftdi.mk | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
create mode 100644 package/libftdi/libftdi.hash
diff --git a/package/libftdi/libftdi.hash b/package/libftdi/libftdi.hash
new file mode 100644
index 0000000..5d9f876
--- /dev/null
+++ b/package/libftdi/libftdi.hash
@@ -0,0 +1,2 @@
+# Locally computed (after checking the signature from http://www.intra2net.com/en/developer/libftdi/download.php)
+sha256 3176d5b5986438f33f5208e690a8bfe90941be501cc0a72118ce3d338d4b838e libftdi-0.20.tar.gz
diff --git a/package/libftdi/libftdi.mk b/package/libftdi/libftdi.mk
index 22d2616..8370b0a 100644
--- a/package/libftdi/libftdi.mk
+++ b/package/libftdi/libftdi.mk
@@ -4,7 +4,7 @@
#
################################################################################
-LIBFTDI_VERSION = 0.19
+LIBFTDI_VERSION = 0.20
LIBFTDI_SITE = http://www.intra2net.com/en/developer/libftdi/download
LIBFTDI_DEPENDENCIES = libusb-compat libusb
LIBFTDI_INSTALL_STAGING = YES
--
2.2.2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [Buildroot] [PATCH 4/8] package/libftdi1: new package
2015-01-25 21:13 [Buildroot] [PATCH 0/8] Misc. fixes around libftdi Samuel Martin
` (2 preceding siblings ...)
2015-01-25 21:13 ` [Buildroot] [PATCH 3/8] package/libftdi: bump to version 0.20 Samuel Martin
@ 2015-01-25 21:13 ` Samuel Martin
2015-01-27 22:10 ` Arnout Vandecappelle
2015-01-25 21:13 ` [Buildroot] [PATCH 5/8] package/avrdude: depends on libftdi1 instead of libftdi Samuel Martin
` (3 subsequent siblings)
7 siblings, 1 reply; 16+ messages in thread
From: Samuel Martin @ 2015-01-25 21:13 UTC (permalink / raw)
To: buildroot
From: Daniel Sangue <daniel.sangue@sangue.ch>
This version of libftdi can coexists beside the 0.x version.
Signed-off-by: Daniel Sangue <daniel.sangue@sangue.ch>
[Samuel Martin:
- libftdi1.mk: bump to version 1.2 and add hash
- cleanup uneeded libusb-compat stuff
- Config.in: add comment when ftdipp1 deps are not met
- fix typos in variable names and legit CMake options for *_CONF_OPTS
- add support for python bindings and ftdi_eeprom
- fix static build
- fix build with toolchain w/o C++ support
]
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
change v1->v2
- rebase on top of master
- libftdi1.mk: bump to version 1.2
- add hash
- Config.in: cleanup deps for ftdipp1
- Config.in: add comment when ftdipp1 deps are not met
- libftdi1.mk: fix typos in LIBFTDI1_CONF_OPTS variable name
- libftdi1.mk: use proper CMake options for *_CONF_OPTS
- libftdi1.mk: update libftdi1 deps and conf. opts.
- libftdi1.mk: add support for python bindings and ftdi_eeprom
- libftdi1.mk: add patch fixing static build
- libftdi1.mk: add patch fixing FindUSB1.cmake module (for static build)
- libftdi1.mk: add patch correctly disabling ftdipp when the toolchain
does not install libstdc++
- reword commit message
---
package/Config.in | 1 +
...he-standard-CMake-flag-to-drive-the-share.patch | 96 ++++++++++++++++++++++
.../libftdi1/0002-cmake-fix-FindUSB1.cmake.patch | 34 ++++++++
...o-not-check-for-g-when-FTDIPP-is-disabled.patch | 46 +++++++++++
package/libftdi1/Config.in | 37 +++++++++
package/libftdi1/libftdi1.hash | 2 +
package/libftdi1/libftdi1.mk | 38 +++++++++
7 files changed, 254 insertions(+)
create mode 100644 package/libftdi1/0001-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch
create mode 100644 package/libftdi1/0002-cmake-fix-FindUSB1.cmake.patch
create mode 100644 package/libftdi1/0003-cmake-do-not-check-for-g-when-FTDIPP-is-disabled.patch
create mode 100644 package/libftdi1/Config.in
create mode 100644 package/libftdi1/libftdi1.hash
create mode 100644 package/libftdi1/libftdi1.mk
diff --git a/package/Config.in b/package/Config.in
index 5f6ebc2..443030a 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -721,6 +721,7 @@ menu "Hardware handling"
source "package/libcec/Config.in"
source "package/libfreefare/Config.in"
source "package/libftdi/Config.in"
+ source "package/libftdi1/Config.in"
source "package/libhid/Config.in"
source "package/libiio/Config.in"
source "package/libinput/Config.in"
diff --git a/package/libftdi1/0001-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch b/package/libftdi1/0001-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch
new file mode 100644
index 0000000..487fc28
--- /dev/null
+++ b/package/libftdi1/0001-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch
@@ -0,0 +1,96 @@
+From 7e57ff280b55b45e74329b9988279e8831d32eab Mon Sep 17 00:00:00 2001
+From: Samuel Martin <s.martin49@gmail.com>
+Date: Sun, 25 Jan 2015 09:45:04 +0100
+Subject: [PATCH 1/2] cmake: use the standard CMake flag to drive the shared
+ object build
+
+Remove the STATICLIBS CMake option (and the code handling it) and let
+the standard CMake flags drive the shared object build.
+
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+---
+ CMakeLists.txt | 2 --
+ ftdipp/CMakeLists.txt | 15 +--------------
+ src/CMakeLists.txt | 13 +------------
+ 3 files changed, 2 insertions(+), 28 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 74f80f4..0ba0b08 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -46,8 +46,6 @@ set(CPACK_COMPONENT_SHAREDLIBS_GROUP "Development")
+ set(CPACK_COMPONENT_STATICLIBS_GROUP "Development")
+ set(CPACK_COMPONENT_HEADERS_GROUP "Development")
+
+-option ( STATICLIBS "Build static libraries" ON )
+-
+ # guess LIB_SUFFIX, don't take debian multiarch into account
+ if ( NOT DEFINED LIB_SUFFIX )
+ if( CMAKE_SYSTEM_NAME MATCHES "Linux"
+diff --git a/ftdipp/CMakeLists.txt b/ftdipp/CMakeLists.txt
+index 7500211..27e7884 100644
+--- a/ftdipp/CMakeLists.txt
++++ b/ftdipp/CMakeLists.txt
+@@ -23,8 +23,7 @@ if (FTDIPP)
+ set(FTDI_BUILD_CPP True PARENT_SCOPE)
+ message(STATUS "Building libftdi1++")
+
+- # Shared library
+- add_library(ftdipp1 SHARED ${cpp_sources})
++ add_library(ftdipp1 ${cpp_sources})
+
+ math(EXPR VERSION_FIXUP "${MAJOR_VERSION} + 1") # Compatiblity with previous releases
+ set_target_properties(ftdipp1 PROPERTIES VERSION ${VERSION_FIXUP}.${MINOR_VERSION}.0 SOVERSION 2)
+@@ -41,18 +40,6 @@ if (FTDIPP)
+ LIBRARY DESTINATION lib${LIB_SUFFIX}
+ ARCHIVE DESTINATION lib${LIB_SUFFIX}
+ )
+-
+- # Static library
+- if ( STATICLIBS )
+- add_library(ftdipp1-static STATIC ${cpp_sources})
+- set_target_properties(ftdipp1-static PROPERTIES OUTPUT_NAME "ftdipp1")
+- set_target_properties(ftdipp1-static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
+-
+- install ( TARGETS ftdipp1-static
+- ARCHIVE DESTINATION lib${LIB_SUFFIX}
+- COMPONENT staticlibs
+- )
+- endif ()
+
+ install ( FILES ${cpp_headers}
+ DESTINATION include/${PROJECT_NAME}
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 9fd86a6..501d4a8 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -21,7 +21,7 @@ configure_file(ftdi_version_i.h.in "${CMAKE_CURRENT_BINARY_DIR}/ftdi_version_i.h
+ set(c_sources ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.c ${CMAKE_CURRENT_SOURCE_DIR}/ftdi_stream.c CACHE INTERNAL "List of c sources" )
+ set(c_headers ${CMAKE_CURRENT_SOURCE_DIR}/ftdi.h CACHE INTERNAL "List of c headers" )
+
+-add_library(ftdi1 SHARED ${c_sources})
++add_library(ftdi1 ${c_sources})
+
+ math(EXPR VERSION_FIXUP "${MAJOR_VERSION} + 1") # Compatiblity with previous releases
+ set_target_properties(ftdi1 PROPERTIES VERSION ${VERSION_FIXUP}.${MINOR_VERSION}.0 SOVERSION 2)
+@@ -38,17 +38,6 @@ install ( TARGETS ftdi1
+ ARCHIVE DESTINATION lib${LIB_SUFFIX}
+ )
+
+-if ( STATICLIBS )
+- add_library(ftdi1-static STATIC ${c_sources})
+- target_link_libraries(ftdi1-static ${LIBUSB_LIBRARIES})
+- set_target_properties(ftdi1-static PROPERTIES OUTPUT_NAME "ftdi1")
+- set_target_properties(ftdi1-static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
+- install ( TARGETS ftdi1-static
+- ARCHIVE DESTINATION lib${LIB_SUFFIX}
+- COMPONENT staticlibs
+- )
+-endif ()
+-
+ install ( FILES ${c_headers}
+ DESTINATION include/${PROJECT_NAME}
+ COMPONENT headers
+--
+2.2.2
+
diff --git a/package/libftdi1/0002-cmake-fix-FindUSB1.cmake.patch b/package/libftdi1/0002-cmake-fix-FindUSB1.cmake.patch
new file mode 100644
index 0000000..5619a0c
--- /dev/null
+++ b/package/libftdi1/0002-cmake-fix-FindUSB1.cmake.patch
@@ -0,0 +1,34 @@
+From 81275d75ae88fe8ab1915d3ba260ea935e63c362 Mon Sep 17 00:00:00 2001
+From: Samuel Martin <s.martin49@gmail.com>
+Date: Sun, 25 Jan 2015 10:01:17 +0100
+Subject: [PATCH 2/2] cmake: fix FindUSB1.cmake
+
+Make sure all ldflags are correctly set, especially for static build.
+
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+---
+ cmake/FindUSB1.cmake | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/FindUSB1.cmake b/cmake/FindUSB1.cmake
+index b90e297..e7f1b3c 100644
+--- a/cmake/FindUSB1.cmake
++++ b/cmake/FindUSB1.cmake
+@@ -26,8 +26,12 @@ else (LIBUSB_INCLUDE_DIR AND LIBUSB_LIBRARIES)
+ PATH_SUFFIXES libusb-1.0
+ PATHS ${PC_LIBUSB_INCLUDEDIR} ${PC_LIBUSB_INCLUDE_DIRS})
+
+- FIND_LIBRARY(LIBUSB_LIBRARIES NAMES usb-1.0
+- PATHS ${PC_LIBUSB_LIBDIR} ${PC_LIBUSB_LIBRARY_DIRS})
++ set(LIBUSB_LIBRARIES ${PC_LIBUSB_STATIC_LDFLAGS} ${PC_LIBUSB_STATIC_LDFLAGS_OTHER})
++ foreach(libname ${PC_LIBUSB_STATIC_LIBRARIES})
++ FIND_LIBRARY(lib NAMES ${libname}
++ PATHS ${PC_LIBUSB_LIBDIR} ${PC_LIBUSB_LIBRARY_DIRS})
++ list(APPEND LIBUSB_LIBRARIES ${lib})
++ endforeach()
+
+ include(FindPackageHandleStandardArgs)
+ FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBUSB DEFAULT_MSG LIBUSB_LIBRARIES LIBUSB_INCLUDE_DIR)
+--
+2.2.2
+
diff --git a/package/libftdi1/0003-cmake-do-not-check-for-g-when-FTDIPP-is-disabled.patch b/package/libftdi1/0003-cmake-do-not-check-for-g-when-FTDIPP-is-disabled.patch
new file mode 100644
index 0000000..be0913d
--- /dev/null
+++ b/package/libftdi1/0003-cmake-do-not-check-for-g-when-FTDIPP-is-disabled.patch
@@ -0,0 +1,46 @@
+From c215d5ecd985b57700e817920d0e99112b4a571b Mon Sep 17 00:00:00 2001
+From: Samuel Martin <s.martin49@gmail.com>
+Date: Sun, 25 Jan 2015 13:35:24 +0100
+Subject: [PATCH] cmake: do not check for g++ when FTDIPP is disabled
+
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+---
+ CMakeLists.txt | 6 ++++--
+ ftdipp/CMakeLists.txt | 1 +
+ 2 files changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 0ba0b08..e880211 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,5 +1,5 @@
+ # Project
+-project(libftdi1)
++project(libftdi1 C)
+ set(MAJOR_VERSION 1)
+ set(MINOR_VERSION 2)
+ set(PACKAGE libftdi1)
+@@ -145,7 +145,9 @@ else(DOCUMENTATION AND DOXYGEN_FOUND)
+ endif(DOCUMENTATION AND DOXYGEN_FOUND)
+
+ add_subdirectory(src)
+-add_subdirectory(ftdipp)
++if(FTDIPP)
++ add_subdirectory(ftdipp)
++endif()
+ add_subdirectory(python)
+ add_subdirectory(ftdi_eeprom)
+ add_subdirectory(examples)
+diff --git a/ftdipp/CMakeLists.txt b/ftdipp/CMakeLists.txt
+index 27e7884..2d080f4 100644
+--- a/ftdipp/CMakeLists.txt
++++ b/ftdipp/CMakeLists.txt
+@@ -1,4 +1,5 @@
+ # Check
++project(libftdipp1 C CXX)
+ set(FTDI_BUILD_CPP False PARENT_SCOPE)
+
+ option ( FTDIPP "Build C++ binding library libftdi1++" ON )
+--
+2.2.2
+
diff --git a/package/libftdi1/Config.in b/package/libftdi1/Config.in
new file mode 100644
index 0000000..1bb0bfd
--- /dev/null
+++ b/package/libftdi1/Config.in
@@ -0,0 +1,37 @@
+config BR2_PACKAGE_LIBFTDI1
+ bool "libftdi1"
+ depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
+ select BR2_PACKAGE_LIBUSB
+ help
+ Userspace access to FTDI USB interface chips (version 1.x)
+
+ http://www.intra2net.com/en/developer/libftdi/index.php
+
+if BR2_PACKAGE_LIBFTDI1
+
+config BR2_PACKAGE_LIBTFDI1_LIBFTDIPP1
+ depends on BR2_INSTALL_LIBSTDCPP # boost
+ depends on BR2_LARGEFILE # boost
+ depends on BR2_TOOLCHAIN_HAS_THREADS # boost
+ select BR2_PACKAGE_BOOST
+ bool "libfdtipp1"
+ help
+ C++ bindings for libftdi
+
+comment "libfdtipp1 needs a toolchain w/ C++, largefile, threads"
+ depends on !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
+
+config BR2_PACKAGE_LIBTFDI1_PYTHON_BINDINGS
+ depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3
+ bool "python bindings"
+ help
+ Python bindings for libftdi
+
+config BR2_PACKAGE_LIBTFDI1_FDTI_EEPROM
+ select BR2_PACKAGE_LIBCONFUSE
+ bool "ftdi_eeprom tool"
+
+endif # BR2_PACKAGE_LIBFTDI1
+
+comment "libftdi1 needs a toolchain w/ threads"
+ depends on !BR2_TOOLCHAIN_HAS_THREADS
diff --git a/package/libftdi1/libftdi1.hash b/package/libftdi1/libftdi1.hash
new file mode 100644
index 0000000..e53bc8f
--- /dev/null
+++ b/package/libftdi1/libftdi1.hash
@@ -0,0 +1,2 @@
+# Locally computed (after checking the signature from http://www.intra2net.com/en/developer/libftdi/download.php)
+sha256 a6ea795c829219015eb372b03008351cee3fb39f684bff3bf8a4620b558488d6 libftdi1-1.2.tar.bz2
diff --git a/package/libftdi1/libftdi1.mk b/package/libftdi1/libftdi1.mk
new file mode 100644
index 0000000..59b1732
--- /dev/null
+++ b/package/libftdi1/libftdi1.mk
@@ -0,0 +1,38 @@
+################################################################################
+#
+# libftdi1
+#
+################################################################################
+
+LIBFTDI1_VERSION = 1.2
+LIBFTDI1_SOURCE = libftdi1-$(LIBFTDI1_VERSION).tar.bz2
+LIBFTDI1_SITE = http://www.intra2net.com/en/developer/libftdi/download/
+LIBFTDI1_INSTALL_STAGING = YES
+LIBFTDI1_DEPENDENCIES = libusb
+LIBFTDI1_CONF_OPTS = -DDOCUMENTATION=OFF -DEXAMPLES=OFF
+
+ifeq ($(BR2_PACKAGE_LIBTFDI1_LIBFTDIPP1),y)
+LIBFTDI1_DEPENDENCIES += boost
+LIBFTDI1_CONF_OPTS += -DFTDIPP=ON
+else
+LIBFTDI1_CONF_OPTS += -DFTDIPP=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_LIBTFDI1_PYTHON_BINDINGS),y)
+LIBFTDI1_DEPENDENCIES += $(if BR2_PACKAGE_PYTHON,python,python3) host-swig
+LIBFTDI1_CONF_OPTS += -DPYTHON_BINDINGS=ON
+else
+LIBFTDI1_CONF_OPTS += -DPYTHON_BINDINGS=OFF
+endif
+
+ifeq ($(BR2_PACKAGE_LIBTFDI1_FDTI_EEPROM),y)
+# ftdi_eeprom optionally depends on libintl, so make sure gettext is built
+# _before_ libfitdi1 when gettext is enbaled.
+LIBFTDI1_DEPENDENCIES += libconfuse $(if $(BR2_PACKAGE_GETTEXT),gettext)
+LIBFTDI1_CONF_OPTS += -DFTDI_EEPROM=ON
+else
+LIBFTDI1_CONF_OPTS += -DFTDI_EEPROM=OFF
+endif
+
+$(eval $(cmake-package))
+
--
2.2.2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [Buildroot] [PATCH 5/8] package/avrdude: depends on libftdi1 instead of libftdi
2015-01-25 21:13 [Buildroot] [PATCH 0/8] Misc. fixes around libftdi Samuel Martin
` (3 preceding siblings ...)
2015-01-25 21:13 ` [Buildroot] [PATCH 4/8] package/libftdi1: new package Samuel Martin
@ 2015-01-25 21:13 ` Samuel Martin
2015-01-25 21:13 ` [Buildroot] [PATCH 6/8] package/openocd: " Samuel Martin
` (2 subsequent siblings)
7 siblings, 0 replies; 16+ messages in thread
From: Samuel Martin @ 2015-01-25 21:13 UTC (permalink / raw)
To: buildroot
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
package/avrdude/avrdude.mk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/package/avrdude/avrdude.mk b/package/avrdude/avrdude.mk
index 03d6490..a4e0ebd 100644
--- a/package/avrdude/avrdude.mk
+++ b/package/avrdude/avrdude.mk
@@ -17,8 +17,8 @@ AVRDUDE_DEPENDENCIES = elfutils libusb libusb-compat ncurses \
AVRDUDE_LICENSE = GPLv2+
AVRDUDE_LICENSE_FILES = avrdude/COPYING
-ifeq ($(BR2_PACKAGE_LIBFTDI),y)
-AVRDUDE_DEPENDENCIES += libftdi
+ifeq ($(BR2_PACKAGE_LIBFTDI1),y)
+AVRDUDE_DEPENDENCIES += libftdi1
endif
# if /etc/avrdude.conf exists, the installation process creates a
--
2.2.2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [Buildroot] [PATCH 6/8] package/openocd: depends on libftdi1 instead of libftdi
2015-01-25 21:13 [Buildroot] [PATCH 0/8] Misc. fixes around libftdi Samuel Martin
` (4 preceding siblings ...)
2015-01-25 21:13 ` [Buildroot] [PATCH 5/8] package/avrdude: depends on libftdi1 instead of libftdi Samuel Martin
@ 2015-01-25 21:13 ` Samuel Martin
2015-01-25 21:13 ` [Buildroot] [PATCH 7/8] package/cmake: bump to version 3.1.1 Samuel Martin
2015-01-25 21:13 ` [Buildroot] [PATCH 8/8] package/cmake: only build what is necessary Samuel Martin
7 siblings, 0 replies; 16+ messages in thread
From: Samuel Martin @ 2015-01-25 21:13 UTC (permalink / raw)
To: buildroot
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
package/openocd/Config.in | 8 ++++----
package/openocd/openocd.mk | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package/openocd/Config.in b/package/openocd/Config.in
index 7c140c7..2db17fa 100644
--- a/package/openocd/Config.in
+++ b/package/openocd/Config.in
@@ -121,7 +121,7 @@ config BR2_PACKAGE_OPENOCD_PARPORT
config BR2_PACKAGE_OPENOCD_FT2XXX
bool "FT2232 based devices (DEPRECATED)"
- select BR2_PACKAGE_LIBFTDI
+ select BR2_PACKAGE_LIBFTDI1
depends on BR2_TOOLCHAIN_HAS_THREADS # libftdi -> libusb
depends on BR2_ARCH_HAS_ATOMICS
help
@@ -135,7 +135,7 @@ config BR2_PACKAGE_OPENOCD_VPI
config BR2_PACKAGE_OPENOCD_UBLASTER
bool "Altera USB-Blaster"
- select BR2_PACKAGE_LIBFTDI
+ select BR2_PACKAGE_LIBFTDI1
depends on BR2_TOOLCHAIN_HAS_THREADS # libftdi -> libusb
depends on BR2_ARCH_HAS_ATOMICS
help
@@ -176,7 +176,7 @@ config BR2_PACKAGE_OPENOCD_GW16012
config BR2_PACKAGE_OPENOCD_PRESTO
bool "ASIX Presto Programmer"
- select BR2_PACKAGE_LIBFTDI
+ select BR2_PACKAGE_LIBFTDI1
depends on BR2_TOOLCHAIN_HAS_THREADS # libftdi -> libusb
depends on BR2_ARCH_HAS_ATOMICS
help
@@ -185,7 +185,7 @@ config BR2_PACKAGE_OPENOCD_PRESTO
config BR2_PACKAGE_OPENOCD_OPENJTAG
bool "OpenJTAG Programmer"
- select BR2_PACKAGE_LIBFTDI
+ select BR2_PACKAGE_LIBFTDI1
depends on BR2_TOOLCHAIN_HAS_THREADS # libftdi -> libusb
depends on BR2_ARCH_HAS_ATOMICS
help
diff --git a/package/openocd/openocd.mk b/package/openocd/openocd.mk
index fd7e09f..4023af8 100644
--- a/package/openocd/openocd.mk
+++ b/package/openocd/openocd.mk
@@ -23,7 +23,7 @@ OPENOCD_CONF_OPTS = \
# the dependencies they need.
OPENOCD_DEPENDENCIES = \
- $(if $(BR2_PACKAGE_LIBFTDI),libftdi) \
+ $(if $(BR2_PACKAGE_LIBFTDI),libftdi1) \
$(if $(BR2_PACKAGE_LIBUSB),libusb) \
$(if $(BR2_PACKAGE_LIBUSB_COMPAT),libusb-compat) \
$(if $(BR2_PACKAGE_LIBHID),libhid)
--
2.2.2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [Buildroot] [PATCH 7/8] package/cmake: bump to version 3.1.1
2015-01-25 21:13 [Buildroot] [PATCH 0/8] Misc. fixes around libftdi Samuel Martin
` (5 preceding siblings ...)
2015-01-25 21:13 ` [Buildroot] [PATCH 6/8] package/openocd: " Samuel Martin
@ 2015-01-25 21:13 ` Samuel Martin
2015-01-25 21:13 ` [Buildroot] [PATCH 8/8] package/cmake: only build what is necessary Samuel Martin
7 siblings, 0 replies; 16+ messages in thread
From: Samuel Martin @ 2015-01-25 21:13 UTC (permalink / raw)
To: buildroot
Also add *.hash.
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
package/cmake/cmake.hash | 2 ++
package/cmake/cmake.mk | 4 ++--
2 files changed, 4 insertions(+), 2 deletions(-)
create mode 100644 package/cmake/cmake.hash
diff --git a/package/cmake/cmake.hash b/package/cmake/cmake.hash
new file mode 100644
index 0000000..e13b6e9
--- /dev/null
+++ b/package/cmake/cmake.hash
@@ -0,0 +1,2 @@
+# Locally computed
+# sha256 b58694e545d51cde5756a894f53107e3d9e469360e1d92e7f6892b55ebc0bebf cmake-3.1.1.tar.gz
diff --git a/package/cmake/cmake.mk b/package/cmake/cmake.mk
index e09fddf..14d5a4e 100644
--- a/package/cmake/cmake.mk
+++ b/package/cmake/cmake.mk
@@ -4,8 +4,8 @@
#
################################################################################
-CMAKE_VERSION_MAJOR = 3.0
-CMAKE_VERSION = $(CMAKE_VERSION_MAJOR).2
+CMAKE_VERSION_MAJOR = 3.1
+CMAKE_VERSION = $(CMAKE_VERSION_MAJOR).1
CMAKE_SITE = http://www.cmake.org/files/v$(CMAKE_VERSION_MAJOR)
CMAKE_LICENSE = BSD-3c
CMAKE_LICENSE_FILES = Copyright.txt
--
2.2.2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [Buildroot] [PATCH 8/8] package/cmake: only build what is necessary
2015-01-25 21:13 [Buildroot] [PATCH 0/8] Misc. fixes around libftdi Samuel Martin
` (6 preceding siblings ...)
2015-01-25 21:13 ` [Buildroot] [PATCH 7/8] package/cmake: bump to version 3.1.1 Samuel Martin
@ 2015-01-25 21:13 ` Samuel Martin
2015-03-04 23:30 ` Romain Naour
7 siblings, 1 reply; 16+ messages in thread
From: Samuel Martin @ 2015-01-25 21:13 UTC (permalink / raw)
To: buildroot
Add a patch allowing to select the binaries to be built.
After applying this change, the time to build host-cmake is roughly
25% shorter.
Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
Here is the actual results of the build I run on my machine:
4x Intel(R) Core(TM) i7-4510U CPU @ 2.00GHz
8GB RAM
SSD
w/o the patch, automatic job-level (i.e. 5 in my case):
675.36user 29.59system 4:21.72elapsed 269%CPU
686.98user 31.07system 4:26.85elapsed 269%CPU
694.84user 31.11system 4:35.42elapsed 263%CPU
697.24user 31.19system 4:32.17elapsed 267%CPU
686.62user 30.89system 4:23.00elapsed 272%CPU
696.28user 31.33system 4:29.15elapsed 270%CPU
677.73user 30.18system 4:15.15elapsed 277%CPU
692.62user 31.45system 4:47.56elapsed 251%CPU
679.78user 31.53system 4:20.99elapsed 272%CPU
685.63user 32.10system 4:28.15elapsed 267%CPU
w/o the patch, w/ BR2_JLEVEL=1:
340.58user 18.57system 6:19.26elapsed 94%CPU
337.48user 18.70system 6:16.41elapsed 94%CPU
335.39user 18.53system 6:13.74elapsed 94%CPU
335.93user 17.94system 6:13.84elapsed 94%CPU
335.49user 18.19system 6:13.67elapsed 94%CPU
w/ the patch, automatic job-level (i.e. 5 in my case):
494.96user 23.91system 3:13.87elapsed 267%CPU
506.90user 24.37system 3:16.83elapsed 269%CPU
504.37user 24.42system 3:17.57elapsed 267%CPU
499.79user 24.19system 3:04.50elapsed 284%CPU
507.02user 23.67system 3:04.93elapsed 286%CPU
510.93user 24.43system 3:08.19elapsed 284%CPU
512.43user 24.16system 3:08.53elapsed 284%CPU
510.80user 24.65system 3:08.64elapsed 283%CPU
512.28user 24.38system 3:09.62elapsed 283%CPU
514.90user 24.46system 3:08.96elapsed 285%CPU
w/ the patch, w/ BR2_JLEVEL=1:
244.56user 14.88system 4:36.88elapsed 93%CPU
247.02user 15.43system 4:39.89elapsed 93%CPU
247.14user 15.04system 4:39.76elapsed 93%CPU
246.32user 14.75system 4:38.93elapsed 93%CPU
247.53user 14.64system 4:40.27elapsed 93%CPU
---
...-allow-to-select-what-program-to-be-built.patch | 231 +++++++++++++++++++++
package/cmake/cmake.mk | 4 +
2 files changed, 235 insertions(+)
create mode 100644 package/cmake/0001-CMake-allow-to-select-what-program-to-be-built.patch
diff --git a/package/cmake/0001-CMake-allow-to-select-what-program-to-be-built.patch b/package/cmake/0001-CMake-allow-to-select-what-program-to-be-built.patch
new file mode 100644
index 0000000..d6e53da
--- /dev/null
+++ b/package/cmake/0001-CMake-allow-to-select-what-program-to-be-built.patch
@@ -0,0 +1,231 @@
+From 9aeb3ea5f9c69bbc9a69672762d5fae939c3fd8c Mon Sep 17 00:00:00 2001
+From: Samuel Martin <s.martin49@gmail.com>
+Date: Sun, 25 Jan 2015 18:11:13 +0100
+Subject: [PATCH] CMake: allow to select what program to be built
+
+Signed-off-by: Samuel Martin <s.martin49@gmail.com>
+---
+ CMakeLists.txt | 24 ++++++++++++++++++++++++
+ Source/CMakeLists.txt | 33 ++++++++++++++++++++++++++++++++-
+ 2 files changed, 56 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 71850de..cb9375e 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -43,6 +43,16 @@ if(CMAKE_ENCODING_UTF8)
+ set(KWSYS_ENCODING_DEFAULT_CODEPAGE CP_UTF8)
+ endif()
+
++# options to select what programs to be built
++option(BUILD_CMAKE "Build cmake program" ON)
++mark_as_advanced(BUILD_CMAKE)
++
++option(BUILD_CTEST "Build ctest program" ON)
++mark_as_advanced(BUILD_CTEST)
++
++option(BUILD_CPACK "Build cpack program" ON)
++mark_as_advanced(BUILD_CPACK)
++
+ #-----------------------------------------------------------------------
+ # a macro to deal with system libraries, implemented as a macro
+ # simply to improve readability of the main script
+@@ -241,6 +251,7 @@ macro (CMAKE_BUILD_UTILITIES)
+
+ #---------------------------------------------------------------------
+ # Build zlib library for Curl, CMake, and CTest.
++ if(BUILD_CMAKE OR BUILD_CTEST OR NOT CMAKE_USE_SYSTEM_CURL)
+ set(CMAKE_ZLIB_HEADER "cm_zlib.h")
+ if(CMAKE_USE_SYSTEM_ZLIB)
+ find_package(ZLIB)
+@@ -256,9 +267,11 @@ macro (CMAKE_BUILD_UTILITIES)
+ add_subdirectory(Utilities/cmzlib)
+ CMAKE_SET_TARGET_FOLDER(cmzlib "Utilities/3rdParty")
+ endif()
++ endif()
+
+ #---------------------------------------------------------------------
+ # Build Curl library for CTest.
++ if(BUILD_CMAKE OR BUILD_CTEST)
+ if(CMAKE_USE_SYSTEM_CURL)
+ find_package(CURL)
+ if(NOT CURL_FOUND)
+@@ -284,9 +297,11 @@ macro (CMAKE_BUILD_UTILITIES)
+ CMAKE_SET_TARGET_FOLDER(cmcurl "Utilities/3rdParty")
+ CMAKE_SET_TARGET_FOLDER(LIBCURL "Utilities/3rdParty")
+ endif()
++ endif()
+
+ #---------------------------------------------------------------------
+ # Build Compress library for CTest.
++ if(BUILD_CMAKE OR BUILD_CTEST)
+ set(CMAKE_COMPRESS_INCLUDES
+ "${CMAKE_CURRENT_BINARY_DIR}/Utilities/cmcompress")
+ set(CMAKE_COMPRESS_LIBRARIES "cmcompress")
+@@ -301,6 +316,7 @@ macro (CMAKE_BUILD_UTILITIES)
+ add_subdirectory(Utilities/cmbzip2)
+ CMAKE_SET_TARGET_FOLDER(cmbzip2 "Utilities/3rdParty")
+ endif()
++ endif()
+
+ #---------------------------------------------------------------------
+ # Build or use system liblzma for libarchive.
+@@ -321,6 +337,7 @@ macro (CMAKE_BUILD_UTILITIES)
+
+ #---------------------------------------------------------------------
+ # Build or use system libarchive for CMake and CTest.
++ if(BUILD_CMAKE OR BUILD_CTEST)
+ if(CMAKE_USE_SYSTEM_LIBARCHIVE)
+ find_package(LibArchive)
+ if(NOT LibArchive_FOUND)
+@@ -347,9 +364,11 @@ macro (CMAKE_BUILD_UTILITIES)
+ CMAKE_SET_TARGET_FOLDER(cmlibarchive "Utilities/3rdParty")
+ set(CMAKE_TAR_LIBRARIES cmlibarchive ${BZIP2_LIBRARIES})
+ endif()
++ endif()
+
+ #---------------------------------------------------------------------
+ # Build expat library for CMake and CTest.
++ if(BUILD_CMAKE OR BUILD_CTEST)
+ if(CMAKE_USE_SYSTEM_EXPAT)
+ find_package(EXPAT)
+ if(NOT EXPAT_FOUND)
+@@ -364,9 +383,11 @@ macro (CMAKE_BUILD_UTILITIES)
+ add_subdirectory(Utilities/cmexpat)
+ CMAKE_SET_TARGET_FOLDER(cmexpat "Utilities/3rdParty")
+ endif()
++ endif()
+
+ #---------------------------------------------------------------------
+ # Build XMLRPC library for CMake and CTest.
++ if(BUILD_CMAKE OR BUILD_CTEST)
+ if(CTEST_USE_XMLRPC)
+ find_package(XMLRPC QUIET REQUIRED libwww-client)
+ if(NOT XMLRPC_FOUND)
+@@ -376,6 +397,7 @@ macro (CMAKE_BUILD_UTILITIES)
+ set(CMAKE_XMLRPC_INCLUDES ${XMLRPC_INCLUDE_DIRS})
+ set(CMAKE_XMLRPC_LIBRARIES ${XMLRPC_LIBRARIES})
+ endif()
++ endif()
+
+ #---------------------------------------------------------------------
+ # Use curses?
+@@ -583,7 +605,9 @@ if(NOT CMake_TEST_EXTERNAL_CMAKE)
+ add_subdirectory(Utilities)
+ endif()
+
++if(BUILD_CTEST)
+ add_subdirectory(Tests)
++endif()
+
+ if(NOT CMake_TEST_EXTERNAL_CMAKE)
+ if(BUILD_TESTING)
+diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
+index f9405b3..2e14def 100644
+--- a/Source/CMakeLists.txt
++++ b/Source/CMakeLists.txt
+@@ -481,6 +481,7 @@ if(WIN32 AND NOT CYGWIN AND NOT BORLAND)
+ endif()
+
+ # create a library used by the command line and the GUI
++if(BUILD_CMAKE)
+ add_library(CMakeLib ${SRCS})
+ target_link_libraries(CMakeLib cmsys
+ ${CMAKE_EXPAT_LIBRARIES} ${CMAKE_ZLIB_LIBRARIES}
+@@ -496,6 +497,7 @@ endif()
+ if(CMAKE_BUILD_ON_VISUAL_STUDIO OR MINGW)
+ target_link_libraries(CMakeLib rpcrt4)
+ endif()
++endif()
+
+ #
+ # CTestLib
+@@ -565,8 +567,10 @@ set(CTEST_SRCS cmCTest.cxx
+ )
+
+ # Build CTestLib
++if(BUILD_CTEST)
+ add_library(CTestLib ${CTEST_SRCS})
+ target_link_libraries(CTestLib CMakeLib ${CMAKE_CURL_LIBRARIES} ${CMAKE_XMLRPC_LIBRARIES})
++endif()
+
+ #
+ # Sources for CPack
+@@ -628,9 +632,12 @@ if(APPLE)
+ endif()
+
+ # Build CPackLib
++if(BUILD_CPACK)
+ add_library(CPackLib ${CPACK_SRCS})
+ target_link_libraries(CPackLib CMakeLib)
++endif()
+
++if(BUILD_CMAKE)
+ if(APPLE)
+ add_executable(cmakexbuild cmakexbuild.cxx)
+ target_link_libraries(cmakexbuild CMakeLib)
+@@ -639,36 +646,60 @@ if(APPLE)
+ target_link_libraries(OSXScriptLauncher cmsys)
+ target_link_libraries(OSXScriptLauncher "-framework CoreFoundation")
+ endif()
++endif()
+
+ # Build CMake executable
++if(BUILD_CMAKE)
+ add_executable(cmake cmakemain.cxx cmcmd.cxx cmcmd.h)
+ target_link_libraries(cmake CMakeLib)
++endif()
+
+ # Build CTest executable
++if(BUILD_CTEST)
+ add_executable(ctest ctest.cxx)
+ target_link_libraries(ctest CTestLib)
++endif()
+
+ # Build CPack executable
++if(BUILD_CPACK)
+ add_executable(cpack CPack/cpack.cxx)
+ target_link_libraries(cpack CPackLib)
++endif()
+
+ # Curses GUI
++if(BUILD_CMAKE)
+ if(BUILD_CursesDialog)
+ include(${CMake_SOURCE_DIR}/Source/CursesDialog/CMakeLists.txt)
+ endif()
++endif()
+
+ # Qt GUI
+ option(BUILD_QtDialog "Build Qt dialog for CMake" FALSE)
++if(BUILD_CMAKE)
+ if(BUILD_QtDialog)
+ add_subdirectory(QtDialog)
+ endif()
++endif()
+
+ include (${CMake_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
+ include (${CMake_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
+
+-install(TARGETS cmake ctest cpack DESTINATION bin)
++if(BUILD_CMAKE)
++install(TARGETS cmake DESTINATION bin)
++endif()
++
++if(BUILD_CTEST)
++install(TARGETS ctest DESTINATION bin)
++endif()
++
++if(BUILD_CPACK)
++install(TARGETS cpack DESTINATION bin)
++endif()
++
++if(BUILD_CMAKE)
+ if(APPLE)
+ install(TARGETS cmakexbuild DESTINATION bin)
+ endif()
++endif()
+
+ install(FILES cmCPluginAPI.h DESTINATION ${CMAKE_DATA_DIR}/include)
+--
+2.2.2
+
diff --git a/package/cmake/cmake.mk b/package/cmake/cmake.mk
index 14d5a4e..664885f 100644
--- a/package/cmake/cmake.mk
+++ b/package/cmake/cmake.mk
@@ -22,6 +22,10 @@ define HOST_CMAKE_CONFIGURE_CMDS
-DCMAKE_CXX_FLAGS="$(HOST_CXXFLAGS)" \
-DCMAKE_EXE_LINKER_FLAGS="$(HOST_LDFLAGS)" \
-DBUILD_CursesDialog=OFF \
+ -DBUILD_CMAKE=ON \
+ -DBUILD_CTEST=OFF \
+ -DBUILD_CPACK=OFF \
+ -DBUILD_TESTING=OFF \
)
endef
--
2.2.2
^ permalink raw reply related [flat|nested] 16+ messages in thread
* [Buildroot] [PATCH 2/8] package/libiio: update cmake code for libxml2 detection
2015-01-25 21:13 ` [Buildroot] [PATCH 2/8] package/libiio: update cmake code for libxml2 detection Samuel Martin
@ 2015-01-27 21:16 ` Arnout Vandecappelle
2015-03-02 20:35 ` Samuel Martin
2015-02-14 21:15 ` Thomas Petazzoni
1 sibling, 1 reply; 16+ messages in thread
From: Arnout Vandecappelle @ 2015-01-27 21:16 UTC (permalink / raw)
To: buildroot
On 25/01/15 22:13, Samuel Martin wrote:
> Only check for libxml2 when it is needed.
>
> This prevents CMake from falling back on the libxml2-config.cmake
> installed on the host system (i.e. when libxml2 >=2.9.2 is part of the
> host system), but not enabled as a target package (i.e. not existing in
> the staging tree).
This is worrisome... I would hope that our cmake could be convinced never to
look in /usr/share/cmake when cross-compiling...
Regards,
Arnout
>
> Signed-off-by: Samuel Martin <s.martin49@gmail.com>
[snip]
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Buildroot] [PATCH 4/8] package/libftdi1: new package
2015-01-25 21:13 ` [Buildroot] [PATCH 4/8] package/libftdi1: new package Samuel Martin
@ 2015-01-27 22:10 ` Arnout Vandecappelle
0 siblings, 0 replies; 16+ messages in thread
From: Arnout Vandecappelle @ 2015-01-27 22:10 UTC (permalink / raw)
To: buildroot
On 25/01/15 22:13, Samuel Martin wrote:
> From: Daniel Sangue <daniel.sangue@sangue.ch>
>
> This version of libftdi can coexists beside the 0.x version.
Perhaps this can be mentioned in the help text as well.
[snip]
> diff --git a/package/libftdi1/0001-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch b/package/libftdi1/0001-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch
> new file mode 100644
> index 0000000..487fc28
> --- /dev/null
> +++ b/package/libftdi1/0001-cmake-use-the-standard-CMake-flag-to-drive-the-share.patch
> @@ -0,0 +1,96 @@
> +From 7e57ff280b55b45e74329b9988279e8831d32eab Mon Sep 17 00:00:00 2001
> +From: Samuel Martin <s.martin49@gmail.com>
> +Date: Sun, 25 Jan 2015 09:45:04 +0100
> +Subject: [PATCH 1/2] cmake: use the standard CMake flag to drive the shared
> + object build
> +
> +Remove the STATICLIBS CMake option (and the code handling it) and let
> +the standard CMake flags drive the shared object build.
Can upstream be convinced to take this patch?
[snip]
> diff --git a/package/libftdi1/Config.in b/package/libftdi1/Config.in
> new file mode 100644
> index 0000000..1bb0bfd
> --- /dev/null
> +++ b/package/libftdi1/Config.in
> @@ -0,0 +1,37 @@
> +config BR2_PACKAGE_LIBFTDI1
> + bool "libftdi1"
> + depends on BR2_TOOLCHAIN_HAS_THREADS # libusb
> + select BR2_PACKAGE_LIBUSB
> + help
> + Userspace access to FTDI USB interface chips (version 1.x)
> +
> + http://www.intra2net.com/en/developer/libftdi/index.php
> +
> +if BR2_PACKAGE_LIBFTDI1
> +
> +config BR2_PACKAGE_LIBTFDI1_LIBFTDIPP1
> + depends on BR2_INSTALL_LIBSTDCPP # boost
> + depends on BR2_LARGEFILE # boost
> + depends on BR2_TOOLCHAIN_HAS_THREADS # boost
> + select BR2_PACKAGE_BOOST
> + bool "libfdtipp1"
> + help
> + C++ bindings for libftdi
> +
> +comment "libfdtipp1 needs a toolchain w/ C++, largefile, threads"
> + depends on !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_TOOLCHAIN_HAS_THREADS
> +
> +config BR2_PACKAGE_LIBTFDI1_PYTHON_BINDINGS
> + depends on BR2_PACKAGE_PYTHON || BR2_PACKAGE_PYTHON3
> + bool "python bindings"
> + help
> + Python bindings for libftdi
I wonder if it's worthwhile to make this configurable. Do the bindings occupy
significant space or take a long time to build?
But basically I have no important comments, so
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Regards,
Arnout
> +
> +config BR2_PACKAGE_LIBTFDI1_FDTI_EEPROM
> + select BR2_PACKAGE_LIBCONFUSE
> + bool "ftdi_eeprom tool"
> +
> +endif # BR2_PACKAGE_LIBFTDI1
> +
> +comment "libftdi1 needs a toolchain w/ threads"
> + depends on !BR2_TOOLCHAIN_HAS_THREADS
[snip]
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Buildroot] [PATCH 1/8 v2] package/libftdi: fix libftdi.pc
2015-01-25 21:13 ` [Buildroot] [PATCH 1/8 v2] package/libftdi: fix libftdi.pc Samuel Martin
@ 2015-02-01 22:31 ` Thomas Petazzoni
0 siblings, 0 replies; 16+ messages in thread
From: Thomas Petazzoni @ 2015-02-01 22:31 UTC (permalink / raw)
To: buildroot
Dear Samuel Martin,
On Sun, 25 Jan 2015 22:13:48 +0100, Samuel Martin wrote:
> This patch fixes libftdi pkg-config module, so that packages linking
> against libftdi correctly have all needed CFLAGS and LIBS defined,
> especially when running a static build.
>
> Fixes:
> http://autobuild.buildroot.org/results/e90/e90b4d5ad79d99487f21c9d18581e8eba7034501/
>
> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
> Signed-off-by: Samuel Martin <s.martin49@gmail.com>
Applied, thanks!
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Buildroot] [PATCH 2/8] package/libiio: update cmake code for libxml2 detection
2015-01-25 21:13 ` [Buildroot] [PATCH 2/8] package/libiio: update cmake code for libxml2 detection Samuel Martin
2015-01-27 21:16 ` Arnout Vandecappelle
@ 2015-02-14 21:15 ` Thomas Petazzoni
2015-02-14 23:33 ` Samuel Martin
1 sibling, 1 reply; 16+ messages in thread
From: Thomas Petazzoni @ 2015-02-14 21:15 UTC (permalink / raw)
To: buildroot
Dear Samuel Martin,
On Sun, 25 Jan 2015 22:13:49 +0100, Samuel Martin wrote:
> Only check for libxml2 when it is needed.
>
> This prevents CMake from falling back on the libxml2-config.cmake
> installed on the host system (i.e. when libxml2 >=2.9.2 is part of the
> host system), but not enabled as a target package (i.e. not existing in
> the staging tree).
>
> Signed-off-by: Samuel Martin <s.martin49@gmail.com>
> ---
> ...l2-detection-try-first-the-CMake-module-f.patch | 40 +++++++++++++---------
> 1 file changed, 23 insertions(+), 17 deletions(-)
Is this fixing a bug happening in practice? I.e should it be applied to
master or next?
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Buildroot] [PATCH 2/8] package/libiio: update cmake code for libxml2 detection
2015-02-14 21:15 ` Thomas Petazzoni
@ 2015-02-14 23:33 ` Samuel Martin
0 siblings, 0 replies; 16+ messages in thread
From: Samuel Martin @ 2015-02-14 23:33 UTC (permalink / raw)
To: buildroot
Hi Thomas,
On Sat, Feb 14, 2015 at 10:15 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Dear Samuel Martin,
>
> On Sun, 25 Jan 2015 22:13:49 +0100, Samuel Martin wrote:
>> Only check for libxml2 when it is needed.
>>
>> This prevents CMake from falling back on the libxml2-config.cmake
>> installed on the host system (i.e. when libxml2 >=2.9.2 is part of the
>> host system), but not enabled as a target package (i.e. not existing in
>> the staging tree).
>>
>> Signed-off-by: Samuel Martin <s.martin49@gmail.com>
>> ---
>> ...l2-detection-try-first-the-CMake-module-f.patch | 40 +++++++++++++---------
>> 1 file changed, 23 insertions(+), 17 deletions(-)
>
> Is this fixing a bug happening in practice? I.e should it be applied to
> master or next?
This patch does fix a bug here (that's why i explain the case triggering it).
For the branch to apply it, I let you judge, but libxml2-2.9.2 will
become more and more common. Archlinux already has it, the next
release of Ubuntu-15.04 and Fedora-22 include it (but debian Jessy
does not yet includes it); so if there is currently a few people
triggering this bug, they may be more by the time we release the
buildroot-2015.05.
BTW, I still have to check WRT Arnout's comment (how to tell cmake to
never look at /usr/share/cmake when cross-compiling).
Regards,
--
Samuel
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Buildroot] [PATCH 2/8] package/libiio: update cmake code for libxml2 detection
2015-01-27 21:16 ` Arnout Vandecappelle
@ 2015-03-02 20:35 ` Samuel Martin
0 siblings, 0 replies; 16+ messages in thread
From: Samuel Martin @ 2015-03-02 20:35 UTC (permalink / raw)
To: buildroot
Hi Arnout, all,
On Tue, Jan 27, 2015 at 10:16 PM, Arnout Vandecappelle <arnout@mind.be> wrote:
> On 25/01/15 22:13, Samuel Martin wrote:
>> Only check for libxml2 when it is needed.
>>
>> This prevents CMake from falling back on the libxml2-config.cmake
>> installed on the host system (i.e. when libxml2 >=2.9.2 is part of the
>> host system), but not enabled as a target package (i.e. not existing in
>> the staging tree).
>
> This is worrisome... I would hope that our cmake could be convinced never to
> look in /usr/share/cmake when cross-compiling...
I finally found some time to check the cmake thing, and it turns out
that it is possible to control cmake to not searching outside of the
sysroot.
I'll cook a patch doing it and respin the series shortly, and reject this patch.
Regards,
--
Samuel
^ permalink raw reply [flat|nested] 16+ messages in thread
* [Buildroot] [PATCH 8/8] package/cmake: only build what is necessary
2015-01-25 21:13 ` [Buildroot] [PATCH 8/8] package/cmake: only build what is necessary Samuel Martin
@ 2015-03-04 23:30 ` Romain Naour
0 siblings, 0 replies; 16+ messages in thread
From: Romain Naour @ 2015-03-04 23:30 UTC (permalink / raw)
To: buildroot
Hi Samuel,
Le 25/01/2015 22:13, Samuel Martin a ?crit :
> Add a patch allowing to select the binaries to be built.
>
> After applying this change, the time to build host-cmake is roughly
> 25% shorter.
>
> Signed-off-by: Samuel Martin <s.martin49@gmail.com>
>
> ---
Here are my results without and with your patch:
without the patch BR2_JLEVEL=1:
real 4m59.761s user 3m46.531s sys 0m24.404s
without the patch BR2_JLEVEL=5:
real 3m25.126s user 4m2.761s sys 0m24.406s
With the patch BR2_JLEVEL=1:
real 3m37.735s user 2m45.789s sys 0m18.675s
With the patch BR2_JLEVEL=5:
real 2m31.274s user 2m58.932s sys 0m18.779s
Reviewed-by: Romain Naour <romain.naour@openwide.fr>
Tested-by: Romain Naour <romain.naour@openwide.fr>
> Here is the actual results of the build I run on my machine:
>
> 4x Intel(R) Core(TM) i7-4510U CPU @ 2.00GHz
> 8GB RAM
> SSD
>
> w/o the patch, automatic job-level (i.e. 5 in my case):
> 675.36user 29.59system 4:21.72elapsed 269%CPU
> 686.98user 31.07system 4:26.85elapsed 269%CPU
> 694.84user 31.11system 4:35.42elapsed 263%CPU
> 697.24user 31.19system 4:32.17elapsed 267%CPU
> 686.62user 30.89system 4:23.00elapsed 272%CPU
> 696.28user 31.33system 4:29.15elapsed 270%CPU
> 677.73user 30.18system 4:15.15elapsed 277%CPU
> 692.62user 31.45system 4:47.56elapsed 251%CPU
> 679.78user 31.53system 4:20.99elapsed 272%CPU
> 685.63user 32.10system 4:28.15elapsed 267%CPU
>
> w/o the patch, w/ BR2_JLEVEL=1:
> 340.58user 18.57system 6:19.26elapsed 94%CPU
> 337.48user 18.70system 6:16.41elapsed 94%CPU
> 335.39user 18.53system 6:13.74elapsed 94%CPU
> 335.93user 17.94system 6:13.84elapsed 94%CPU
> 335.49user 18.19system 6:13.67elapsed 94%CPU
>
> w/ the patch, automatic job-level (i.e. 5 in my case):
> 494.96user 23.91system 3:13.87elapsed 267%CPU
> 506.90user 24.37system 3:16.83elapsed 269%CPU
> 504.37user 24.42system 3:17.57elapsed 267%CPU
> 499.79user 24.19system 3:04.50elapsed 284%CPU
> 507.02user 23.67system 3:04.93elapsed 286%CPU
> 510.93user 24.43system 3:08.19elapsed 284%CPU
> 512.43user 24.16system 3:08.53elapsed 284%CPU
> 510.80user 24.65system 3:08.64elapsed 283%CPU
> 512.28user 24.38system 3:09.62elapsed 283%CPU
> 514.90user 24.46system 3:08.96elapsed 285%CPU
>
> w/ the patch, w/ BR2_JLEVEL=1:
> 244.56user 14.88system 4:36.88elapsed 93%CPU
> 247.02user 15.43system 4:39.89elapsed 93%CPU
> 247.14user 15.04system 4:39.76elapsed 93%CPU
> 246.32user 14.75system 4:38.93elapsed 93%CPU
> 247.53user 14.64system 4:40.27elapsed 93%CPU
> ---
> ...-allow-to-select-what-program-to-be-built.patch | 231 +++++++++++++++++++++
> package/cmake/cmake.mk | 4 +
> 2 files changed, 235 insertions(+)
> create mode 100644 package/cmake/0001-CMake-allow-to-select-what-program-to-be-built.patch
>
> diff --git a/package/cmake/0001-CMake-allow-to-select-what-program-to-be-built.patch b/package/cmake/0001-CMake-allow-to-select-what-program-to-be-built.patch
> new file mode 100644
> index 0000000..d6e53da
> --- /dev/null
> +++ b/package/cmake/0001-CMake-allow-to-select-what-program-to-be-built.patch
> @@ -0,0 +1,231 @@
> +From 9aeb3ea5f9c69bbc9a69672762d5fae939c3fd8c Mon Sep 17 00:00:00 2001
> +From: Samuel Martin <s.martin49@gmail.com>
> +Date: Sun, 25 Jan 2015 18:11:13 +0100
> +Subject: [PATCH] CMake: allow to select what program to be built
> +
> +Signed-off-by: Samuel Martin <s.martin49@gmail.com>
> +---
> + CMakeLists.txt | 24 ++++++++++++++++++++++++
> + Source/CMakeLists.txt | 33 ++++++++++++++++++++++++++++++++-
> + 2 files changed, 56 insertions(+), 1 deletion(-)
> +
> +diff --git a/CMakeLists.txt b/CMakeLists.txt
> +index 71850de..cb9375e 100644
> +--- a/CMakeLists.txt
> ++++ b/CMakeLists.txt
> +@@ -43,6 +43,16 @@ if(CMAKE_ENCODING_UTF8)
> + set(KWSYS_ENCODING_DEFAULT_CODEPAGE CP_UTF8)
> + endif()
> +
> ++# options to select what programs to be built
> ++option(BUILD_CMAKE "Build cmake program" ON)
> ++mark_as_advanced(BUILD_CMAKE)
> ++
> ++option(BUILD_CTEST "Build ctest program" ON)
> ++mark_as_advanced(BUILD_CTEST)
> ++
> ++option(BUILD_CPACK "Build cpack program" ON)
> ++mark_as_advanced(BUILD_CPACK)
> ++
> + #-----------------------------------------------------------------------
> + # a macro to deal with system libraries, implemented as a macro
> + # simply to improve readability of the main script
> +@@ -241,6 +251,7 @@ macro (CMAKE_BUILD_UTILITIES)
> +
> + #---------------------------------------------------------------------
> + # Build zlib library for Curl, CMake, and CTest.
> ++ if(BUILD_CMAKE OR BUILD_CTEST OR NOT CMAKE_USE_SYSTEM_CURL)
> + set(CMAKE_ZLIB_HEADER "cm_zlib.h")
> + if(CMAKE_USE_SYSTEM_ZLIB)
> + find_package(ZLIB)
> +@@ -256,9 +267,11 @@ macro (CMAKE_BUILD_UTILITIES)
> + add_subdirectory(Utilities/cmzlib)
> + CMAKE_SET_TARGET_FOLDER(cmzlib "Utilities/3rdParty")
> + endif()
> ++ endif()
> +
> + #---------------------------------------------------------------------
> + # Build Curl library for CTest.
> ++ if(BUILD_CMAKE OR BUILD_CTEST)
> + if(CMAKE_USE_SYSTEM_CURL)
> + find_package(CURL)
> + if(NOT CURL_FOUND)
> +@@ -284,9 +297,11 @@ macro (CMAKE_BUILD_UTILITIES)
> + CMAKE_SET_TARGET_FOLDER(cmcurl "Utilities/3rdParty")
> + CMAKE_SET_TARGET_FOLDER(LIBCURL "Utilities/3rdParty")
> + endif()
> ++ endif()
> +
> + #---------------------------------------------------------------------
> + # Build Compress library for CTest.
> ++ if(BUILD_CMAKE OR BUILD_CTEST)
> + set(CMAKE_COMPRESS_INCLUDES
> + "${CMAKE_CURRENT_BINARY_DIR}/Utilities/cmcompress")
> + set(CMAKE_COMPRESS_LIBRARIES "cmcompress")
> +@@ -301,6 +316,7 @@ macro (CMAKE_BUILD_UTILITIES)
> + add_subdirectory(Utilities/cmbzip2)
> + CMAKE_SET_TARGET_FOLDER(cmbzip2 "Utilities/3rdParty")
> + endif()
> ++ endif()
> +
> + #---------------------------------------------------------------------
> + # Build or use system liblzma for libarchive.
> +@@ -321,6 +337,7 @@ macro (CMAKE_BUILD_UTILITIES)
> +
> + #---------------------------------------------------------------------
> + # Build or use system libarchive for CMake and CTest.
> ++ if(BUILD_CMAKE OR BUILD_CTEST)
> + if(CMAKE_USE_SYSTEM_LIBARCHIVE)
> + find_package(LibArchive)
> + if(NOT LibArchive_FOUND)
> +@@ -347,9 +364,11 @@ macro (CMAKE_BUILD_UTILITIES)
> + CMAKE_SET_TARGET_FOLDER(cmlibarchive "Utilities/3rdParty")
> + set(CMAKE_TAR_LIBRARIES cmlibarchive ${BZIP2_LIBRARIES})
> + endif()
> ++ endif()
> +
> + #---------------------------------------------------------------------
> + # Build expat library for CMake and CTest.
> ++ if(BUILD_CMAKE OR BUILD_CTEST)
> + if(CMAKE_USE_SYSTEM_EXPAT)
> + find_package(EXPAT)
> + if(NOT EXPAT_FOUND)
> +@@ -364,9 +383,11 @@ macro (CMAKE_BUILD_UTILITIES)
> + add_subdirectory(Utilities/cmexpat)
> + CMAKE_SET_TARGET_FOLDER(cmexpat "Utilities/3rdParty")
> + endif()
> ++ endif()
> +
> + #---------------------------------------------------------------------
> + # Build XMLRPC library for CMake and CTest.
> ++ if(BUILD_CMAKE OR BUILD_CTEST)
> + if(CTEST_USE_XMLRPC)
> + find_package(XMLRPC QUIET REQUIRED libwww-client)
> + if(NOT XMLRPC_FOUND)
> +@@ -376,6 +397,7 @@ macro (CMAKE_BUILD_UTILITIES)
> + set(CMAKE_XMLRPC_INCLUDES ${XMLRPC_INCLUDE_DIRS})
> + set(CMAKE_XMLRPC_LIBRARIES ${XMLRPC_LIBRARIES})
> + endif()
> ++ endif()
> +
> + #---------------------------------------------------------------------
> + # Use curses?
> +@@ -583,7 +605,9 @@ if(NOT CMake_TEST_EXTERNAL_CMAKE)
> + add_subdirectory(Utilities)
> + endif()
> +
> ++if(BUILD_CTEST)
> + add_subdirectory(Tests)
> ++endif()
> +
> + if(NOT CMake_TEST_EXTERNAL_CMAKE)
> + if(BUILD_TESTING)
> +diff --git a/Source/CMakeLists.txt b/Source/CMakeLists.txt
> +index f9405b3..2e14def 100644
> +--- a/Source/CMakeLists.txt
> ++++ b/Source/CMakeLists.txt
> +@@ -481,6 +481,7 @@ if(WIN32 AND NOT CYGWIN AND NOT BORLAND)
> + endif()
> +
> + # create a library used by the command line and the GUI
> ++if(BUILD_CMAKE)
> + add_library(CMakeLib ${SRCS})
> + target_link_libraries(CMakeLib cmsys
> + ${CMAKE_EXPAT_LIBRARIES} ${CMAKE_ZLIB_LIBRARIES}
> +@@ -496,6 +497,7 @@ endif()
> + if(CMAKE_BUILD_ON_VISUAL_STUDIO OR MINGW)
> + target_link_libraries(CMakeLib rpcrt4)
> + endif()
> ++endif()
> +
> + #
> + # CTestLib
> +@@ -565,8 +567,10 @@ set(CTEST_SRCS cmCTest.cxx
> + )
> +
> + # Build CTestLib
> ++if(BUILD_CTEST)
> + add_library(CTestLib ${CTEST_SRCS})
> + target_link_libraries(CTestLib CMakeLib ${CMAKE_CURL_LIBRARIES} ${CMAKE_XMLRPC_LIBRARIES})
> ++endif()
> +
> + #
> + # Sources for CPack
> +@@ -628,9 +632,12 @@ if(APPLE)
> + endif()
> +
> + # Build CPackLib
> ++if(BUILD_CPACK)
> + add_library(CPackLib ${CPACK_SRCS})
> + target_link_libraries(CPackLib CMakeLib)
> ++endif()
> +
> ++if(BUILD_CMAKE)
> + if(APPLE)
> + add_executable(cmakexbuild cmakexbuild.cxx)
> + target_link_libraries(cmakexbuild CMakeLib)
> +@@ -639,36 +646,60 @@ if(APPLE)
> + target_link_libraries(OSXScriptLauncher cmsys)
> + target_link_libraries(OSXScriptLauncher "-framework CoreFoundation")
> + endif()
> ++endif()
> +
> + # Build CMake executable
> ++if(BUILD_CMAKE)
> + add_executable(cmake cmakemain.cxx cmcmd.cxx cmcmd.h)
> + target_link_libraries(cmake CMakeLib)
> ++endif()
> +
> + # Build CTest executable
> ++if(BUILD_CTEST)
> + add_executable(ctest ctest.cxx)
> + target_link_libraries(ctest CTestLib)
> ++endif()
> +
> + # Build CPack executable
> ++if(BUILD_CPACK)
> + add_executable(cpack CPack/cpack.cxx)
> + target_link_libraries(cpack CPackLib)
> ++endif()
> +
> + # Curses GUI
> ++if(BUILD_CMAKE)
> + if(BUILD_CursesDialog)
> + include(${CMake_SOURCE_DIR}/Source/CursesDialog/CMakeLists.txt)
> + endif()
> ++endif()
> +
> + # Qt GUI
> + option(BUILD_QtDialog "Build Qt dialog for CMake" FALSE)
> ++if(BUILD_CMAKE)
> + if(BUILD_QtDialog)
> + add_subdirectory(QtDialog)
> + endif()
> ++endif()
> +
> + include (${CMake_BINARY_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
> + include (${CMake_SOURCE_DIR}/Source/LocalUserOptions.cmake OPTIONAL)
> +
> +-install(TARGETS cmake ctest cpack DESTINATION bin)
> ++if(BUILD_CMAKE)
> ++install(TARGETS cmake DESTINATION bin)
> ++endif()
> ++
> ++if(BUILD_CTEST)
> ++install(TARGETS ctest DESTINATION bin)
> ++endif()
> ++
> ++if(BUILD_CPACK)
> ++install(TARGETS cpack DESTINATION bin)
> ++endif()
> ++
> ++if(BUILD_CMAKE)
> + if(APPLE)
> + install(TARGETS cmakexbuild DESTINATION bin)
> + endif()
> ++endif()
> +
> + install(FILES cmCPluginAPI.h DESTINATION ${CMAKE_DATA_DIR}/include)
> +--
> +2.2.2
> +
> diff --git a/package/cmake/cmake.mk b/package/cmake/cmake.mk
> index 14d5a4e..664885f 100644
> --- a/package/cmake/cmake.mk
> +++ b/package/cmake/cmake.mk
> @@ -22,6 +22,10 @@ define HOST_CMAKE_CONFIGURE_CMDS
> -DCMAKE_CXX_FLAGS="$(HOST_CXXFLAGS)" \
> -DCMAKE_EXE_LINKER_FLAGS="$(HOST_LDFLAGS)" \
> -DBUILD_CursesDialog=OFF \
> + -DBUILD_CMAKE=ON \
> + -DBUILD_CTEST=OFF \
> + -DBUILD_CPACK=OFF \
> + -DBUILD_TESTING=OFF \
> )
> endef
>
>
--
Romain Naour
OPEN WIDE Ing?nierie - Paris
23/25, rue Daviel| 75013 PARIS
http://ingenierie.openwide.fr
Le blog des technologies libres et embarqu?es :
http://www.linuxembedded.fr
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2015-03-04 23:30 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-25 21:13 [Buildroot] [PATCH 0/8] Misc. fixes around libftdi Samuel Martin
2015-01-25 21:13 ` [Buildroot] [PATCH 1/8 v2] package/libftdi: fix libftdi.pc Samuel Martin
2015-02-01 22:31 ` Thomas Petazzoni
2015-01-25 21:13 ` [Buildroot] [PATCH 2/8] package/libiio: update cmake code for libxml2 detection Samuel Martin
2015-01-27 21:16 ` Arnout Vandecappelle
2015-03-02 20:35 ` Samuel Martin
2015-02-14 21:15 ` Thomas Petazzoni
2015-02-14 23:33 ` Samuel Martin
2015-01-25 21:13 ` [Buildroot] [PATCH 3/8] package/libftdi: bump to version 0.20 Samuel Martin
2015-01-25 21:13 ` [Buildroot] [PATCH 4/8] package/libftdi1: new package Samuel Martin
2015-01-27 22:10 ` Arnout Vandecappelle
2015-01-25 21:13 ` [Buildroot] [PATCH 5/8] package/avrdude: depends on libftdi1 instead of libftdi Samuel Martin
2015-01-25 21:13 ` [Buildroot] [PATCH 6/8] package/openocd: " Samuel Martin
2015-01-25 21:13 ` [Buildroot] [PATCH 7/8] package/cmake: bump to version 3.1.1 Samuel Martin
2015-01-25 21:13 ` [Buildroot] [PATCH 8/8] package/cmake: only build what is necessary Samuel Martin
2015-03-04 23:30 ` Romain Naour
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.