0001-fix-use-a-better-regex-for-cmake-system-processor.patch 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. From 9fd3aef2f9bb7a2b05b6823281bb5c988fa25149 Mon Sep 17 00:00:00 2001
  2. From: Romain Naour <romain.naour@openwide.fr>
  3. Date: Mon, 17 Nov 2014 23:27:05 +0100
  4. Subject: [PATCH 1/2] [FIX] use a better regex for CMAKE_SYSTEM_PROCESSOR
  5. According to CMake doc, CMAKE_SYSTEM_PROCESSOR is set to the
  6. output of the command "uname -p" (in fact it is the output of "uname
  7. -m"). This is only true for native compilation.
  8. In the case of cross-compilation, the CMake code does not set anything,
  9. it just expects the CMAKE_SYSTEM_* variables to be set in the
  10. toolchain file.
  11. Add a test matching the patern "^i.86$" and keep the old one "x86" for
  12. compatibility.
  13. By doing that, factorize this test using "^(i.86|x86(_64)?)$".
  14. Thanks to Samuel Martin [1]
  15. [1] http://lists.busybox.net/pipermail/buildroot/2014-November/112163.html
  16. Signed-off-by: Romain Naour <romain.naour@openwide.fr>
  17. ---
  18. Examples/X86/Linux/gnu/demo_kernel/CMakeLists.txt | 15 ++++-----------
  19. .../X86/Linux/gnu/powerlink_kernel_module/CMakeLists.txt | 15 ++++-----------
  20. 2 files changed, 8 insertions(+), 22 deletions(-)
  21. diff --git a/Examples/X86/Linux/gnu/demo_kernel/CMakeLists.txt b/Examples/X86/Linux/gnu/demo_kernel/CMakeLists.txt
  22. index 271ecdc..b49ef53 100644
  23. --- a/Examples/X86/Linux/gnu/demo_kernel/CMakeLists.txt
  24. +++ b/Examples/X86/Linux/gnu/demo_kernel/CMakeLists.txt
  25. @@ -154,21 +154,14 @@ SET(MODULE_SOURCE_FILES
  26. ${POWERLINK_SOURCE_DIR}/ObjDicts/${OBJDICT}/Objdict.c
  27. )
  28. -IF (CMAKE_SYSTEM_PROCESSOR STREQUAL x86)
  29. +IF (CMAKE_SYSTEM_PROCESSOR MATCHES "^(i.86|x86(_64)?)$")
  30. SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/EplStack/amix86.c)
  31. -
  32. -ELSEIF ( CMAKE_SYSTEM_PROCESSOR STREQUAL arm
  33. - OR CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l)
  34. +ELSEIF (CMAKE_SYSTEM_PROCESSOR STREQUAL "arm" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")
  35. SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/EplStack/amiarm.c)
  36. -
  37. -ELSEIF ( CMAKE_SYSTEM_PROCESSOR STREQUAL i686
  38. - OR CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64)
  39. - SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/EplStack/amix86.c)
  40. -
  41. -ELSE (CMAKE_SYSTEM_PROCESSOR STREQUAL x86)
  42. +ELSE (CMAKE_SYSTEM_PROCESSOR MATCHES "^(i.86|x86(_64)?)$")
  43. MESSAGE(FATAL_ERROR
  44. "ami: CMAKE_SYSTEM_PROCESSOR is set to ${CMAKE_SYSTEM_PROCESSOR}. Valid targets are (x86, x86_64, arm, armv7l, i686).")
  45. -ENDIF (CMAKE_SYSTEM_PROCESSOR STREQUAL x86)
  46. +ENDIF (CMAKE_SYSTEM_PROCESSOR MATCHES "^(i.86|x86(_64)?)$")
  47. SET(MODULE_FILE
  48. ${MODULE_NAME}.ko
  49. diff --git a/Examples/X86/Linux/gnu/powerlink_kernel_module/CMakeLists.txt b/Examples/X86/Linux/gnu/powerlink_kernel_module/CMakeLists.txt
  50. index 1b47c76..f534a4d 100644
  51. --- a/Examples/X86/Linux/gnu/powerlink_kernel_module/CMakeLists.txt
  52. +++ b/Examples/X86/Linux/gnu/powerlink_kernel_module/CMakeLists.txt
  53. @@ -171,21 +171,14 @@ ELSE(CFG_POWERLINK_EDRV STREQUAL "I210")
  54. SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/Target/X86/Linux/gnu/generic/TimerHighReskX86.c)
  55. ENDIF(CFG_POWERLINK_EDRV STREQUAL "I210")
  56. -IF (CMAKE_SYSTEM_PROCESSOR STREQUAL x86)
  57. +IF (CMAKE_SYSTEM_PROCESSOR MATCHES "^(i.86|x86(_64)?)$")
  58. SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/EplStack/amix86.c)
  59. -
  60. -ELSEIF ( CMAKE_SYSTEM_PROCESSOR STREQUAL arm
  61. - OR CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l)
  62. +ELSEIF (CMAKE_SYSTEM_PROCESSOR STREQUAL "arm" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")
  63. SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/EplStack/amiarm.c)
  64. -
  65. -ELSEIF ( CMAKE_SYSTEM_PROCESSOR STREQUAL i686
  66. - OR CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64)
  67. - SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/EplStack/amix86.c)
  68. -
  69. -ELSE (CMAKE_SYSTEM_PROCESSOR STREQUAL x86)
  70. +ELSE (CMAKE_SYSTEM_PROCESSOR MATCHES "^(i.86|x86(_64)?)$")
  71. MESSAGE(FATAL_ERROR
  72. "ami: CMAKE_SYSTEM_PROCESSOR is set to ${CMAKE_SYSTEM_PROCESSOR}. Valid targets are (x86, x86_64, arm, armv7l, i686).")
  73. -ENDIF (CMAKE_SYSTEM_PROCESSOR STREQUAL x86)
  74. +ENDIF (CMAKE_SYSTEM_PROCESSOR MATCHES "^(i.86|x86(_64)?)$")
  75. SET(MODULE_FILE
  76. ${MODULE_NAME}.ko
  77. --
  78. 1.9.3