From 972dcfcdbfe75dcfeb777150c136576cf1a71e99 Mon Sep 17 00:00:00 2001 From: Tudor Florea Date: Fri, 9 Oct 2015 22:59:03 +0200 Subject: initial commit for Enea Linux 5.0 arm Signed-off-by: Tudor Florea --- .../cmake/cmake/OEToolchainConfig.cmake | 18 +++++++ .../cmake/cmake/aarch64-cmake.patch | 37 ++++++++++++++ .../cmake/cmake/aarch64-kwsys.patch | 40 +++++++++++++++ .../cmake/cmake/cmake-2.8.11.2-FindFreetype.patch | 47 ++++++++++++++++++ .../cmake/cmake/cmlibarchive-disable-ext2fs.patch | 26 ++++++++++ .../cmake/cmake/dont-run-cross-binaries.patch | 23 +++++++++ .../cmake/cmake/environment.d-cmake.sh | 1 + .../cmake/cmake/qt4-fail-silent.patch | 55 ++++++++++++++++++++ .../cmake/cmake/support-oe-qt4-tools-names.patch | 58 ++++++++++++++++++++++ 9 files changed, 305 insertions(+) create mode 100644 meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake create mode 100644 meta/recipes-devtools/cmake/cmake/aarch64-cmake.patch create mode 100644 meta/recipes-devtools/cmake/cmake/aarch64-kwsys.patch create mode 100644 meta/recipes-devtools/cmake/cmake/cmake-2.8.11.2-FindFreetype.patch create mode 100644 meta/recipes-devtools/cmake/cmake/cmlibarchive-disable-ext2fs.patch create mode 100644 meta/recipes-devtools/cmake/cmake/dont-run-cross-binaries.patch create mode 100644 meta/recipes-devtools/cmake/cmake/environment.d-cmake.sh create mode 100644 meta/recipes-devtools/cmake/cmake/qt4-fail-silent.patch create mode 100644 meta/recipes-devtools/cmake/cmake/support-oe-qt4-tools-names.patch (limited to 'meta/recipes-devtools/cmake/cmake') diff --git a/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake b/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake new file mode 100644 index 0000000000..60014bbf2b --- /dev/null +++ b/meta/recipes-devtools/cmake/cmake/OEToolchainConfig.cmake @@ -0,0 +1,18 @@ +set( CMAKE_SYSTEM_NAME Linux ) +set( CMAKE_C_FLAGS $ENV{CFLAGS} CACHE STRING "" FORCE ) +set( CMAKE_CXX_FLAGS $ENV{CXXFLAGS} CACHE STRING "" FORCE ) +set( CMAKE ASM_FLAGS ${CMAKE_C_FLAGS} CACHE STRING "" FORCE ) +set( CMAKE_LDFLAGS_FLAGS ${CMAKE_CXX_FLAGS} CACHE STRING "" FORCE ) +set( CMAKE_FIND_ROOT_PATH $ENV{OECORE_TARGET_SYSROOT} $ENV{OECORE_NATIVE_SYSROOT} ) +set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER ) +set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY ) +set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY ) + +string(REGEX MATCH "sysroots/([a-zA-Z0-9]+)" CMAKE_SYSTEM_PROCESSOR $ENV{SDKTARGETSYSROOT}) +string(REGEX REPLACE "sysroots/" "" CMAKE_SYSTEM_PROCESSOR ${CMAKE_SYSTEM_PROCESSOR}) + +# Include the toolchain configuration subscripts +file( GLOB toolchain_config_files "${CMAKE_TOOLCHAIN_FILE}.d/*.cmake" ) +foreach(config ${toolchain_config_files}) + include(${config}) +endforeach() diff --git a/meta/recipes-devtools/cmake/cmake/aarch64-cmake.patch b/meta/recipes-devtools/cmake/cmake/aarch64-cmake.patch new file mode 100644 index 0000000000..3e26d58267 --- /dev/null +++ b/meta/recipes-devtools/cmake/cmake/aarch64-cmake.patch @@ -0,0 +1,37 @@ +From: Riku Voipio +Date: Fri, 21 Dec 2012 11:20:02 +0000 (+0200) +Subject: KWIML: Teach ABI.h about Aarch64 +X-Git-Url: http://cmake.org/gitweb?p=cmake.git;a=commitdiff_plain;h=34916522 + +KWIML: Teach ABI.h about Aarch64 + +The __aarch64__ defines Aarch64, while __AARCH64EB__ defines bigendian +and __AARCH64EL__ little endian. Only little endian tested, no big +endian toolchain exists yet. + +Signed-off-by: Riku Voipio + +Hand edited by: Marcin Juszkiewicz to get it applied in OE + +Upstream-Status: Backport +--- + +diff --git a/ABI.h.in b/ABI.h.in +index f93ddba..7f4772a 100644 +--- a/Utilities/KWIML/ABI.h.in ++++ b/Utilities/KWIML/ABI.h.in +@@ -418,6 +418,14 @@ suppression macro @KWIML@_ABI_NO_VERIFY was defined. + #elif defined(__vax__) + # define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG + ++/* Aarch64 */ ++#elif defined(__aarch64__) ++# if !defined(__AARCH64EB__) ++# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_LITTLE ++# else ++# define @KWIML@_ABI_ENDIAN_ID @KWIML@_ABI_ENDIAN_ID_BIG ++# endif ++ + /* Unknown CPU */ + #elif !defined(@KWIML@_ABI_NO_ERROR_ENDIAN) + # error "Byte order of target CPU unknown." diff --git a/meta/recipes-devtools/cmake/cmake/aarch64-kwsys.patch b/meta/recipes-devtools/cmake/cmake/aarch64-kwsys.patch new file mode 100644 index 0000000000..2b68eae6c2 --- /dev/null +++ b/meta/recipes-devtools/cmake/cmake/aarch64-kwsys.patch @@ -0,0 +1,40 @@ +From: KWSys Robot +Date: Fri, 21 Dec 2012 13:29:37 +0000 (-0500) +Subject: KWSys 2012-12-21 (8ce09af5) +X-Git-Url: http://cmake.org/gitweb?p=cmake.git;a=commitdiff_plain;h=567e7d94 + +KWSys 2012-12-21 (8ce09af5) + +Extract upstream KWSys using the following shell commands. + +$ git archive --prefix=upstream-kwsys/ 8ce09af5 | tar x +$ git shortlog --no-merges --abbrev=8 --format='%h %s' 933eb822..8ce09af5 +Riku Voipio (1): + 8ce09af5 CPU: Add Aarch64 support + +Change-Id: I4bd0a97abaa0f958e2679afe2d4ad4bcc37434a0 + +Hand edited by: Marcin Juszkiewicz to get it applied in OE + +Upstream-Status: Backport +--- + +diff --git a/CPU.h.in b/CPU.h.in +index ecd29d1..2e1a584 100644 +--- a/Source/kwsys/CPU.h.in ++++ b/Source/kwsys/CPU.h.in +@@ -98,6 +98,14 @@ + #elif defined(__SYSC_ZARCH__) + # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG + ++/* Aarch64 */ ++#elif defined(__aarch64__) ++# if !defined(__AARCH64EB__) ++# define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_LITTLE ++# else ++# define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID @KWSYS_NAMESPACE@_CPU_ENDIAN_ID_BIG ++# endif ++ + /* Unknown CPU */ + #else + # define @KWSYS_NAMESPACE@_CPU_ENDIAN_ID 0 diff --git a/meta/recipes-devtools/cmake/cmake/cmake-2.8.11.2-FindFreetype.patch b/meta/recipes-devtools/cmake/cmake/cmake-2.8.11.2-FindFreetype.patch new file mode 100644 index 0000000000..1b523c057b --- /dev/null +++ b/meta/recipes-devtools/cmake/cmake/cmake-2.8.11.2-FindFreetype.patch @@ -0,0 +1,47 @@ +From: Julian Ospald +Date: Sun Dec 8 13:38:06 UTC 2013 +Subject: fix check for freetype-2.5.1 + +Upstream-Status: Submitted http://www.cmake.org/Bug/view.php?id=14601 + +Signed-off-by: Martin Jansa + +--- old/Modules/FindFreetype.cmake ++++ new/Modules/FindFreetype.cmake +@@ -64,6 +64,19 @@ + PATH_SUFFIXES include/freetype2 include + ) + ++if(NOT FREETYPE_INCLUDE_DIR_freetype2) ++ find_path(FREETYPE_INCLUDE_DIR_freetype2 config/ftheader.h ++ HINTS ++ ENV FREETYPE_DIR ++ PATHS ++ /usr/X11R6 ++ /usr/local/X11R6 ++ /usr/local/X11 ++ /usr/freeware ++ PATH_SUFFIXES include/freetype2 include ++ ) ++endif() ++ + find_library(FREETYPE_LIBRARY + NAMES freetype libfreetype freetype219 + HINTS +@@ -82,8 +95,14 @@ + endif() + set(FREETYPE_LIBRARIES "${FREETYPE_LIBRARY}") + +-if(FREETYPE_INCLUDE_DIR_freetype2 AND EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h") +- file(STRINGS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h" freetype_version_str ++if(EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h") ++ set(FREETYPE_H "${FREETYPE_INCLUDE_DIR_freetype2}/freetype/freetype.h") ++elseif(EXISTS "${FREETYPE_INCLUDE_DIR_freetype2}/freetype.h") ++ set(FREETYPE_H "${FREETYPE_INCLUDE_DIR_freetype2}/freetype.h") ++endif() ++ ++if(FREETYPE_INCLUDE_DIR_freetype2 AND FREETYPE_H) ++ file(STRINGS "${FREETYPE_H}" freetype_version_str + REGEX "^#[\t ]*define[\t ]+FREETYPE_(MAJOR|MINOR|PATCH)[\t ]+[0-9]+$") + + unset(FREETYPE_VERSION_STRING) diff --git a/meta/recipes-devtools/cmake/cmake/cmlibarchive-disable-ext2fs.patch b/meta/recipes-devtools/cmake/cmake/cmlibarchive-disable-ext2fs.patch new file mode 100644 index 0000000000..bf3671259e --- /dev/null +++ b/meta/recipes-devtools/cmake/cmake/cmlibarchive-disable-ext2fs.patch @@ -0,0 +1,26 @@ +Disable use of ext2fs/ext2_fs.h by cmake's internal libarchive copy + +We don't want to add a dependency on e2fsprogs-native for cmake-native, +and we don't use CPack so just disable this functionality. + +Upstream-Status: Inappropriate [config] + +Signed-off-by: Paul Eggleton + +--- a/Utilities/cmlibarchive/CMakeLists.txt ++++ b/Utilities/cmlibarchive/CMakeLists.txt +@@ -237,12 +237,8 @@ LA_CHECK_INCLUDE_FILE("copyfile.h" HAVE_COPYFILE_H) + LA_CHECK_INCLUDE_FILE("direct.h" HAVE_DIRECT_H) + LA_CHECK_INCLUDE_FILE("dlfcn.h" HAVE_DLFCN_H) + LA_CHECK_INCLUDE_FILE("errno.h" HAVE_ERRNO_H) +-LA_CHECK_INCLUDE_FILE("ext2fs/ext2_fs.h" HAVE_EXT2FS_EXT2_FS_H) +- +-CHECK_C_SOURCE_COMPILES("#include +-#include +-int main(void) { return EXT2_IOC_GETFLAGS; }" HAVE_WORKING_EXT2_IOC_GETFLAGS) +- ++SET(HAVE_EXT2FS_EXT2_FS_H 0) ++SET(HAVE_WORKING_EXT2_IOC_GETFLAGS 0) + LA_CHECK_INCLUDE_FILE("fcntl.h" HAVE_FCNTL_H) + LA_CHECK_INCLUDE_FILE("grp.h" HAVE_GRP_H) + LA_CHECK_INCLUDE_FILE("inttypes.h" HAVE_INTTYPES_H) diff --git a/meta/recipes-devtools/cmake/cmake/dont-run-cross-binaries.patch b/meta/recipes-devtools/cmake/cmake/dont-run-cross-binaries.patch new file mode 100644 index 0000000000..0c059f12ed --- /dev/null +++ b/meta/recipes-devtools/cmake/cmake/dont-run-cross-binaries.patch @@ -0,0 +1,23 @@ +cmake: don't run cross-binaries on host machine + +When doing the cross build we obviously cannot run those binaries on +host since they can be binary incompatible. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Otavio Salvador + +Index: cmake-2.8.10.1/CMakeLists.txt +=================================================================== +--- cmake-2.8.10.1.orig/CMakeLists.txt ++++ cmake-2.8.10.1/CMakeLists.txt +@@ -588,7 +588,8 @@ mark_as_advanced(CMAKE_STRICT) + + # build the remaining subdirectories + add_subdirectory(Source) +-add_subdirectory(Utilities) ++# Come on! Running the cross-binaries on host is not a good idea. ++#add_subdirectory(Utilities) + add_subdirectory(Tests) + + if(BUILD_TESTING) diff --git a/meta/recipes-devtools/cmake/cmake/environment.d-cmake.sh b/meta/recipes-devtools/cmake/cmake/environment.d-cmake.sh new file mode 100644 index 0000000000..0eb56b66fa --- /dev/null +++ b/meta/recipes-devtools/cmake/cmake/environment.d-cmake.sh @@ -0,0 +1 @@ +alias cmake="cmake -DCMAKE_TOOLCHAIN_FILE=$OECORE_NATIVE_SYSROOT/usr/share/cmake/OEToolchainConfig.cmake" diff --git a/meta/recipes-devtools/cmake/cmake/qt4-fail-silent.patch b/meta/recipes-devtools/cmake/cmake/qt4-fail-silent.patch new file mode 100644 index 0000000000..fd39f3f9e7 --- /dev/null +++ b/meta/recipes-devtools/cmake/cmake/qt4-fail-silent.patch @@ -0,0 +1,55 @@ +Fail silently if system Qt installation is broken + +Fixes a regression in behaviour from 2.8.10 to 2.8.11 resulting in the +following error if the system Qt installation is broken: + +CMake Error at Modules/FindQt4.cmake:1028 (set_property): + set_property could not find TARGET Qt4::QtCore. Perhaps it has not yet + been created. +Call Stack (most recent call first): + Tests/RunCMake/CMakeLists.txt:79 (find_package) + +Upstream-Status: Pending + +Signed-off-by: Paul Eggleton + +--- cmake-2.8.11/Modules/FindQt4.cmake 2013-07-04 10:20:42.092848274 +0100 ++++ cmake-2.8.11/Modules/FindQt4.cmake 2013-07-04 10:52:15.693380555 +0100 +@@ -1025,21 +1025,22 @@ + set(_configs) + endmacro() + +- +- # Set QT_xyz_LIBRARY variable and add +- # library include path to QT_INCLUDES +- _QT4_ADJUST_LIB_VARS(QtCore) +- set_property(TARGET Qt4::QtCore APPEND PROPERTY +- INTERFACE_INCLUDE_DIRECTORIES +- "${QT_MKSPECS_DIR}/default" +- ${QT_INCLUDE_DIR} +- ) +- set_property(TARGET Qt4::QtCore PROPERTY +- INTERFACE_QT_MAJOR_VERSION 4 +- ) +- set_property(TARGET Qt4::QtCore APPEND PROPERTY +- COMPATIBLE_INTERFACE_STRING QT_MAJOR_VERSION +- ) ++ if(QT_QTCORE_FOUND) ++ # Set QT_xyz_LIBRARY variable and add ++ # library include path to QT_INCLUDES ++ _QT4_ADJUST_LIB_VARS(QtCore) ++ set_property(TARGET Qt4::QtCore APPEND PROPERTY ++ INTERFACE_INCLUDE_DIRECTORIES ++ "${QT_MKSPECS_DIR}/default" ++ ${QT_INCLUDE_DIR} ++ ) ++ set_property(TARGET Qt4::QtCore PROPERTY ++ INTERFACE_QT_MAJOR_VERSION 4 ++ ) ++ set_property(TARGET Qt4::QtCore APPEND PROPERTY ++ COMPATIBLE_INTERFACE_STRING QT_MAJOR_VERSION ++ ) ++ endif() + + foreach(QT_MODULE ${QT_MODULES}) + _QT4_ADJUST_LIB_VARS(${QT_MODULE}) diff --git a/meta/recipes-devtools/cmake/cmake/support-oe-qt4-tools-names.patch b/meta/recipes-devtools/cmake/cmake/support-oe-qt4-tools-names.patch new file mode 100644 index 0000000000..0e311f70e3 --- /dev/null +++ b/meta/recipes-devtools/cmake/cmake/support-oe-qt4-tools-names.patch @@ -0,0 +1,58 @@ +cmake: support OpenEmbedded Qt4 tool binary names + +The FindQt4 module looks for Qt4 binaries to be able to gather the +paths used for compilation and also to be using during other processes +(translation update, translation binary generating and like) however +OpenEmbedded has renamed those to allow old QMake to be used in +parallel with the current one. This patch adds support for the +OpenEmbedded specific binary names. + +Upstream-Status: Inappropriate [embedded specific] + +Signed-off-by: Otavio Salvador + +Index: cmake-2.8.11/Modules/FindQt4.cmake +=================================================================== +--- cmake-2.8.11.orig/Modules/FindQt4.cmake ++++ cmake-2.8.11/Modules/FindQt4.cmake +@@ -569,7 +569,7 @@ endfunction() + + set(QT4_INSTALLED_VERSION_TOO_OLD FALSE) + +-set(_QT4_QMAKE_NAMES qmake qmake4 qmake-qt4 qmake-mac) ++set(_QT4_QMAKE_NAMES qmake qmake2 qmake4 qmake-qt4 qmake-mac) + _qt4_find_qmake("${_QT4_QMAKE_NAMES}" QT_QMAKE_EXECUTABLE QTVERSION) + + if (QT_QMAKE_EXECUTABLE AND QTVERSION) +@@ -1157,19 +1157,19 @@ if (QT_QMAKE_EXECUTABLE AND QTVERSION) + ) + + find_program(QT_RCC_EXECUTABLE +- NAMES rcc ++ NAMES rcc4 rcc + PATHS ${QT_BINARY_DIR} + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH + ) + + find_program(QT_DBUSCPP2XML_EXECUTABLE +- NAMES qdbuscpp2xml ++ NAMES qdbuscpp2xml4 qdbuscpp2xml + PATHS ${QT_BINARY_DIR} + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH + ) + + find_program(QT_DBUSXML2CPP_EXECUTABLE +- NAMES qdbusxml2cpp ++ NAMES qdbusxml2cp4 qdbusxml2cpp + PATHS ${QT_BINARY_DIR} + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH + ) +@@ -1187,7 +1187,7 @@ if (QT_QMAKE_EXECUTABLE AND QTVERSION) + ) + + find_program(QT_QCOLLECTIONGENERATOR_EXECUTABLE +- NAMES qcollectiongenerator-qt4 qcollectiongenerator ++ NAMES qcollectiongenerator-qt4 qcollectiongenerator qcollectiongenerator4 + PATHS ${QT_BINARY_DIR} + NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH + ) -- cgit v1.2.3-54-g00ecf