Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] package/openpowerlink: do not override CMAKE_SYSTEM_PROCESSOR
@ 2014-11-22  0:01 Romain Naour
  2014-11-22  0:01 ` [Buildroot] [PATCH 2/2] package/openpowerlink: bump to version 1.8.5 Romain Naour
  2014-11-22  9:18 ` [Buildroot] [PATCH 1/2] package/openpowerlink: do not override CMAKE_SYSTEM_PROCESSOR Samuel Martin
  0 siblings, 2 replies; 4+ messages in thread
From: Romain Naour @ 2014-11-22  0:01 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Romain Naour <romain.naour@openwide.fr>

---

This commit must be applied after "pkg-cmake.mk: Set CMAKE_SYSTEM_PROCESSOR"
http://patchwork.ozlabs.org/patch/411789/
---
 ...a-better-regex-for-cmake-system-processor.patch | 89 ++++++++++++++++++++++
 package/openpowerlink/openpowerlink.mk             | 12 +--
 2 files changed, 90 insertions(+), 11 deletions(-)
 create mode 100644 package/openpowerlink/0001-fix-use-a-better-regex-for-cmake-system-processor.patch

diff --git a/package/openpowerlink/0001-fix-use-a-better-regex-for-cmake-system-processor.patch b/package/openpowerlink/0001-fix-use-a-better-regex-for-cmake-system-processor.patch
new file mode 100644
index 0000000..d32fa38
--- /dev/null
+++ b/package/openpowerlink/0001-fix-use-a-better-regex-for-cmake-system-processor.patch
@@ -0,0 +1,89 @@
+From 1c8eb7245abcc55d0a46181ec421a6c12df43333 Mon Sep 17 00:00:00 2001
+From: Romain Naour <romain.naour@openwide.fr>
+Date: Mon, 17 Nov 2014 23:27:05 +0100
+Subject: [PATCH 1/1] [FIX] use a better regex for CMAKE_SYSTEM_PROCESSOR
+
+According to CMake doc, CMAKE_SYSTEM_PROCESSOR is set to the
+output of the command "uname -p" (in fact it is the output of "uname
+-m"). This is only true for native compilation.
+
+In the case of cross-compilation, the CMake code does not set anything,
+it just expects the CMAKE_SYSTEM_* variables to be set in the
+toolchain file.
+
+Add a test matching the patern "^i.86$" and keep the old one "x86" for
+compatibility.
+
+Thanks to Samuel Martin [1]
+[1] http://lists.busybox.net/pipermail/buildroot/2014-November/112163.html
+
+Signed-off-by: Romain Naour <romain.naour@openwide.fr>
+
+---
+ Examples/X86/Linux/gnu/demo_kernel/CMakeLists.txt         | 15 ++++-----------
+ .../X86/Linux/gnu/powerlink_kernel_module/CMakeLists.txt  | 15 ++++-----------
+ 2 files changed, 8 insertions(+), 22 deletions(-)
+
+diff --git a/Examples/X86/Linux/gnu/demo_kernel/CMakeLists.txt b/Examples/X86/Linux/gnu/demo_kernel/CMakeLists.txt
+index 271ecdc..341d54e 100644
+--- a/Examples/X86/Linux/gnu/demo_kernel/CMakeLists.txt
++++ b/Examples/X86/Linux/gnu/demo_kernel/CMakeLists.txt
+@@ -154,21 +154,14 @@ SET(MODULE_SOURCE_FILES
+     ${POWERLINK_SOURCE_DIR}/ObjDicts/${OBJDICT}/Objdict.c
+ )
+ 
+-IF (CMAKE_SYSTEM_PROCESSOR STREQUAL x86)
++IF (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+     SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/EplStack/amix86.c)
+-
+-ELSEIF (   CMAKE_SYSTEM_PROCESSOR STREQUAL arm
+-        OR CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l)
++ELSEIF (CMAKE_SYSTEM_PROCESSOR STREQUAL "arm" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")
+     SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/EplStack/amiarm.c)
+-
+-ELSEIF (   CMAKE_SYSTEM_PROCESSOR STREQUAL i686
+-    OR CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64)
+-    SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/EplStack/amix86.c)
+-
+-ELSE (CMAKE_SYSTEM_PROCESSOR STREQUAL x86)
++ELSE (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+     MESSAGE(FATAL_ERROR
+             "ami: CMAKE_SYSTEM_PROCESSOR is set to ${CMAKE_SYSTEM_PROCESSOR}. Valid targets are (x86, x86_64, arm, armv7l, i686).")
+-ENDIF (CMAKE_SYSTEM_PROCESSOR STREQUAL x86)
++ENDIF (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+ 
+ SET(MODULE_FILE
+     ${MODULE_NAME}.ko
+diff --git a/Examples/X86/Linux/gnu/powerlink_kernel_module/CMakeLists.txt b/Examples/X86/Linux/gnu/powerlink_kernel_module/CMakeLists.txt
+index 1b47c76..d33ff3d 100644
+--- a/Examples/X86/Linux/gnu/powerlink_kernel_module/CMakeLists.txt
++++ b/Examples/X86/Linux/gnu/powerlink_kernel_module/CMakeLists.txt
+@@ -171,21 +171,14 @@ ELSE(CFG_POWERLINK_EDRV STREQUAL "I210")
+     SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/Target/X86/Linux/gnu/generic/TimerHighReskX86.c)
+ ENDIF(CFG_POWERLINK_EDRV STREQUAL "I210")
+ 
+-IF (CMAKE_SYSTEM_PROCESSOR STREQUAL x86)
++IF (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+     SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/EplStack/amix86.c)
+-
+-ELSEIF (   CMAKE_SYSTEM_PROCESSOR STREQUAL arm
+-        OR CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l)
++ELSEIF (CMAKE_SYSTEM_PROCESSOR STREQUAL "arm" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")
+     SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/EplStack/amiarm.c)
+-
+-ELSEIF (   CMAKE_SYSTEM_PROCESSOR STREQUAL i686
+-	OR CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64)
+-    SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/EplStack/amix86.c)
+-
+-ELSE (CMAKE_SYSTEM_PROCESSOR STREQUAL x86)
++ELSE (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+     MESSAGE(FATAL_ERROR
+             "ami: CMAKE_SYSTEM_PROCESSOR is set to ${CMAKE_SYSTEM_PROCESSOR}. Valid targets are (x86, x86_64, arm, armv7l, i686).")
+-ENDIF (CMAKE_SYSTEM_PROCESSOR STREQUAL x86)
++ENDIF (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
+ 
+ SET(MODULE_FILE
+     ${MODULE_NAME}.ko
+-- 
+1.9.3
+
diff --git a/package/openpowerlink/openpowerlink.mk b/package/openpowerlink/openpowerlink.mk
index 7ad3eca..e3d258d 100644
--- a/package/openpowerlink/openpowerlink.mk
+++ b/package/openpowerlink/openpowerlink.mk
@@ -11,19 +11,9 @@ OPENPOWERLINK_LICENSE = BSD-2c, GPLv2
 OPENPOWERLINK_LICENSE_FILES = license.txt
 OPENPOWERLINK_INSTALL_STAGING = YES
 
-ifeq ($(BR2_i386),y)
-OPENPOWERLINK_ARCH = x86
-endif
-
-ifeq ($(BR2_x86_64),y)
-OPENPOWERLINK_ARCH = x86_64
-endif
-
-OPENPOWERLINK_CONF_OPTS = -DCMAKE_SYSTEM_PROCESSOR=$(OPENPOWERLINK_ARCH)
-
 # There is no shared lib in openpowerlink,
 # so force static lib to build libpowerlink.a
-OPENPOWERLINK_CONF_OPTS += -DBUILD_SHARED_LIBS=OFF
+OPENPOWERLINK_CONF_OPTS = -DBUILD_SHARED_LIBS=OFF
 
 OPENPOWERLINK_CONF_OPTS += -DCFG_DEBUG_LVL=$(call qstrip,$(BR2_PACKAGE_OPENPOWERLINK_DEBUG_LEVEL))
 
-- 
1.9.3

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

* [Buildroot] [PATCH 2/2] package/openpowerlink: bump to version 1.8.5
  2014-11-22  0:01 [Buildroot] [PATCH 1/2] package/openpowerlink: do not override CMAKE_SYSTEM_PROCESSOR Romain Naour
@ 2014-11-22  0:01 ` Romain Naour
  2014-11-22  9:18 ` [Buildroot] [PATCH 1/2] package/openpowerlink: do not override CMAKE_SYSTEM_PROCESSOR Samuel Martin
  1 sibling, 0 replies; 4+ messages in thread
From: Romain Naour @ 2014-11-22  0:01 UTC (permalink / raw)
  To: buildroot

Remove upstream commit

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
---
 ...-Fix-Linux-Powerlink-user-lib-add-INSTALL.patch | 28 ----------------------
 package/openpowerlink/openpowerlink.mk             |  2 +-
 2 files changed, 1 insertion(+), 29 deletions(-)
 delete mode 100644 package/openpowerlink/openpowerlink-0001-Fix-Linux-Powerlink-user-lib-add-INSTALL.patch

diff --git a/package/openpowerlink/openpowerlink-0001-Fix-Linux-Powerlink-user-lib-add-INSTALL.patch b/package/openpowerlink/openpowerlink-0001-Fix-Linux-Powerlink-user-lib-add-INSTALL.patch
deleted file mode 100644
index bed878e..0000000
--- a/package/openpowerlink/openpowerlink-0001-Fix-Linux-Powerlink-user-lib-add-INSTALL.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From cb6c4ff053e72f7fe5954894aebe2c0d94120b2d Mon Sep 17 00:00:00 2001
-From: Romain Naour <romain.naour@openwide.fr>
-Date: Thu, 3 Oct 2013 23:22:17 +0200
-Subject: [PATCH 5/5] [FIX] Linux Powerlink user lib: add INSTALL
-
-Signed-off-by: Romain Naour <romain.naour@openwide.fr>
----
- Examples/X86/Generic/powerlink_user_lib/CMakeLists.txt | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/Examples/X86/Generic/powerlink_user_lib/CMakeLists.txt b/Examples/X86/Generic/powerlink_user_lib/CMakeLists.txt
-index e67d573..40b7756 100644
---- a/Examples/X86/Generic/powerlink_user_lib/CMakeLists.txt
-+++ b/Examples/X86/Generic/powerlink_user_lib/CMakeLists.txt
-@@ -329,7 +329,9 @@ ENDIF ()
- #
- # Installation
- #
--IF (WIN32)
-+IF (UNIX)
-+    INSTALL(TARGETS powerlink ARCHIVE DESTINATION lib)
-+ELSEIF (WIN32)
-     IF (CFG_X86_WINDOWS_DLL)
-         INSTALL(TARGETS openPOWERLINK RUNTIME DESTINATION bin)
-     ENDIF (CFG_X86_WINDOWS_DLL)
---
-1.8.4
-
diff --git a/package/openpowerlink/openpowerlink.mk b/package/openpowerlink/openpowerlink.mk
index e3d258d..a803977 100644
--- a/package/openpowerlink/openpowerlink.mk
+++ b/package/openpowerlink/openpowerlink.mk
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-OPENPOWERLINK_VERSION = V1.08.4
+OPENPOWERLINK_VERSION = V1.08.5
 OPENPOWERLINK_SITE = http://git.code.sf.net/p/openpowerlink/code
 OPENPOWERLINK_SITE_METHOD = git
 OPENPOWERLINK_LICENSE = BSD-2c, GPLv2
-- 
1.9.3

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

* [Buildroot] [PATCH 1/2] package/openpowerlink: do not override CMAKE_SYSTEM_PROCESSOR
  2014-11-22  0:01 [Buildroot] [PATCH 1/2] package/openpowerlink: do not override CMAKE_SYSTEM_PROCESSOR Romain Naour
  2014-11-22  0:01 ` [Buildroot] [PATCH 2/2] package/openpowerlink: bump to version 1.8.5 Romain Naour
@ 2014-11-22  9:18 ` Samuel Martin
  2014-11-22 16:13   ` Romain Naour
  1 sibling, 1 reply; 4+ messages in thread
From: Samuel Martin @ 2014-11-22  9:18 UTC (permalink / raw)
  To: buildroot

Hi Romain, all,

On Sat, Nov 22, 2014 at 1:01 AM, Romain Naour <romain.naour@openwide.fr> wrote:
> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
>
> ---
>
> This commit must be applied after "pkg-cmake.mk: Set CMAKE_SYSTEM_PROCESSOR"
> http://patchwork.ozlabs.org/patch/411789/
> ---
>  ...a-better-regex-for-cmake-system-processor.patch | 89 ++++++++++++++++++++++
>  package/openpowerlink/openpowerlink.mk             | 12 +--
>  2 files changed, 90 insertions(+), 11 deletions(-)
>  create mode 100644 package/openpowerlink/0001-fix-use-a-better-regex-for-cmake-system-processor.patch
>
> diff --git a/package/openpowerlink/0001-fix-use-a-better-regex-for-cmake-system-processor.patch b/package/openpowerlink/0001-fix-use-a-better-regex-for-cmake-system-processor.patch
> new file mode 100644
> index 0000000..d32fa38
> --- /dev/null
> +++ b/package/openpowerlink/0001-fix-use-a-better-regex-for-cmake-system-processor.patch
> @@ -0,0 +1,89 @@
> +From 1c8eb7245abcc55d0a46181ec421a6c12df43333 Mon Sep 17 00:00:00 2001
> +From: Romain Naour <romain.naour@openwide.fr>
> +Date: Mon, 17 Nov 2014 23:27:05 +0100
> +Subject: [PATCH 1/1] [FIX] use a better regex for CMAKE_SYSTEM_PROCESSOR
> +
> +According to CMake doc, CMAKE_SYSTEM_PROCESSOR is set to the
> +output of the command "uname -p" (in fact it is the output of "uname
> +-m"). This is only true for native compilation.
> +
> +In the case of cross-compilation, the CMake code does not set anything,
> +it just expects the CMAKE_SYSTEM_* variables to be set in the
> +toolchain file.
> +
> +Add a test matching the patern "^i.86$" and keep the old one "x86" for
> +compatibility.
> +

I would not have formulated this better! ;-)

> +Thanks to Samuel Martin [1]
> +[1] http://lists.busybox.net/pipermail/buildroot/2014-November/112163.html
> +
> +Signed-off-by: Romain Naour <romain.naour@openwide.fr>
> +
> +---
> + Examples/X86/Linux/gnu/demo_kernel/CMakeLists.txt         | 15 ++++-----------
> + .../X86/Linux/gnu/powerlink_kernel_module/CMakeLists.txt  | 15 ++++-----------
> + 2 files changed, 8 insertions(+), 22 deletions(-)
> +
> +diff --git a/Examples/X86/Linux/gnu/demo_kernel/CMakeLists.txt b/Examples/X86/Linux/gnu/demo_kernel/CMakeLists.txt
> +index 271ecdc..341d54e 100644
> +--- a/Examples/X86/Linux/gnu/demo_kernel/CMakeLists.txt
> ++++ b/Examples/X86/Linux/gnu/demo_kernel/CMakeLists.txt
> +@@ -154,21 +154,14 @@ SET(MODULE_SOURCE_FILES
> +     ${POWERLINK_SOURCE_DIR}/ObjDicts/${OBJDICT}/Objdict.c
> + )
> +
> +-IF (CMAKE_SYSTEM_PROCESSOR STREQUAL x86)
> ++IF (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")

You could condense this doing [1,2]:
--
IF (CMAKE_SYSTEM_PROCESSOR MATCHES "^(i.86|x86(_64)?)$"
--

> +     SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/EplStack/amix86.c)
> +-
> +-ELSEIF (   CMAKE_SYSTEM_PROCESSOR STREQUAL arm
> +-        OR CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l)
> ++ELSEIF (CMAKE_SYSTEM_PROCESSOR STREQUAL "arm" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")

I guess "arm" is a shortcut for "armv7l"...
Is openpowerlink little-endian only?
This change is only comestic, it could be strip away from this patch.

Anyway, openpowerlink is disabled for all arm architecture in its
Config.in file.

> +     SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/EplStack/amiarm.c)
> +-
> +-ELSEIF (   CMAKE_SYSTEM_PROCESSOR STREQUAL i686
> +-    OR CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64)
> +-    SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/EplStack/amix86.c)
> +-
> +-ELSE (CMAKE_SYSTEM_PROCESSOR STREQUAL x86)
> ++ELSE (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")

ditto (x86 regex)

> +     MESSAGE(FATAL_ERROR
> +             "ami: CMAKE_SYSTEM_PROCESSOR is set to ${CMAKE_SYSTEM_PROCESSOR}. Valid targets are (x86, x86_64, arm, armv7l, i686).")
> +-ENDIF (CMAKE_SYSTEM_PROCESSOR STREQUAL x86)
> ++ENDIF (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")

ditto (x86 regex)

> +
> + SET(MODULE_FILE
> +     ${MODULE_NAME}.ko
> +diff --git a/Examples/X86/Linux/gnu/powerlink_kernel_module/CMakeLists.txt b/Examples/X86/Linux/gnu/powerlink_kernel_module/CMakeLists.txt
> +index 1b47c76..d33ff3d 100644
> +--- a/Examples/X86/Linux/gnu/powerlink_kernel_module/CMakeLists.txt
> ++++ b/Examples/X86/Linux/gnu/powerlink_kernel_module/CMakeLists.txt
> +@@ -171,21 +171,14 @@ ELSE(CFG_POWERLINK_EDRV STREQUAL "I210")
> +     SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/Target/X86/Linux/gnu/generic/TimerHighReskX86.c)
> + ENDIF(CFG_POWERLINK_EDRV STREQUAL "I210")
> +
> +-IF (CMAKE_SYSTEM_PROCESSOR STREQUAL x86)
> ++IF (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")

ditto (x86 regex)

> +     SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/EplStack/amix86.c)
> +-
> +-ELSEIF (   CMAKE_SYSTEM_PROCESSOR STREQUAL arm
> +-        OR CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l)
> ++ELSEIF (CMAKE_SYSTEM_PROCESSOR STREQUAL "arm" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")

ditto (arm)

> +     SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/EplStack/amiarm.c)
> +-
> +-ELSEIF (   CMAKE_SYSTEM_PROCESSOR STREQUAL i686
> +-      OR CMAKE_SYSTEM_PROCESSOR STREQUAL x86_64)
> +-    SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/EplStack/amix86.c)
> +-
> +-ELSE (CMAKE_SYSTEM_PROCESSOR STREQUAL x86)
> ++ELSE (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")

ditto (x86 regex)

> +     MESSAGE(FATAL_ERROR
> +             "ami: CMAKE_SYSTEM_PROCESSOR is set to ${CMAKE_SYSTEM_PROCESSOR}. Valid targets are (x86, x86_64, arm, armv7l, i686).")
> +-ENDIF (CMAKE_SYSTEM_PROCESSOR STREQUAL x86)
> ++ENDIF (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")

ditto (x86 regex)

> +
> + SET(MODULE_FILE
> +     ${MODULE_NAME}.ko
> +--
> +1.9.3
> +
> diff --git a/package/openpowerlink/openpowerlink.mk b/package/openpowerlink/openpowerlink.mk
> index 7ad3eca..e3d258d 100644
> --- a/package/openpowerlink/openpowerlink.mk
> +++ b/package/openpowerlink/openpowerlink.mk
> @@ -11,19 +11,9 @@ OPENPOWERLINK_LICENSE = BSD-2c, GPLv2
>  OPENPOWERLINK_LICENSE_FILES = license.txt
>  OPENPOWERLINK_INSTALL_STAGING = YES
>
> -ifeq ($(BR2_i386),y)
> -OPENPOWERLINK_ARCH = x86
> -endif
> -
> -ifeq ($(BR2_x86_64),y)
> -OPENPOWERLINK_ARCH = x86_64
> -endif
> -
> -OPENPOWERLINK_CONF_OPTS = -DCMAKE_SYSTEM_PROCESSOR=$(OPENPOWERLINK_ARCH)
> -
>  # There is no shared lib in openpowerlink,
>  # so force static lib to build libpowerlink.a
> -OPENPOWERLINK_CONF_OPTS += -DBUILD_SHARED_LIBS=OFF
> +OPENPOWERLINK_CONF_OPTS = -DBUILD_SHARED_LIBS=OFF

Well, if openpowerlink can only build static library, it'd be better
if this could be handled directly in its CMake code, when creating
each library using the STATIC property (see [3]).
But that's another story... ;-)

>
>  OPENPOWERLINK_CONF_OPTS += -DCFG_DEBUG_LVL=$(call qstrip,$(BR2_PACKAGE_OPENPOWERLINK_DEBUG_LEVEL))
>
> --
> 1.9.3
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

[1] http://code.bulix.org/zbuo2e-87452
[2] http://code.bulix.org/9mkyb4-87453
[3] http://www.cmake.org/cmake/help/v3.1/command/add_library.html

Regards,

-- 
Samuel

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

* [Buildroot] [PATCH 1/2] package/openpowerlink: do not override CMAKE_SYSTEM_PROCESSOR
  2014-11-22  9:18 ` [Buildroot] [PATCH 1/2] package/openpowerlink: do not override CMAKE_SYSTEM_PROCESSOR Samuel Martin
@ 2014-11-22 16:13   ` Romain Naour
  0 siblings, 0 replies; 4+ messages in thread
From: Romain Naour @ 2014-11-22 16:13 UTC (permalink / raw)
  To: buildroot

Hi Samuel, all,

Le 22/11/2014 10:18, Samuel Martin a ?crit :
> Hi Romain, all,
> 
> On Sat, Nov 22, 2014 at 1:01 AM, Romain Naour <romain.naour@openwide.fr> wrote:
>> Signed-off-by: Romain Naour <romain.naour@openwide.fr>
>>
>> ---
>>
>> This commit must be applied after "pkg-cmake.mk: Set CMAKE_SYSTEM_PROCESSOR"
>> http://patchwork.ozlabs.org/patch/411789/
>> ---
>>  ...a-better-regex-for-cmake-system-processor.patch | 89 ++++++++++++++++++++++
>>  package/openpowerlink/openpowerlink.mk             | 12 +--
>>  2 files changed, 90 insertions(+), 11 deletions(-)
>>  create mode 100644 package/openpowerlink/0001-fix-use-a-better-regex-for-cmake-system-processor.patch
>>
>> diff --git a/package/openpowerlink/0001-fix-use-a-better-regex-for-cmake-system-processor.patch b/package/openpowerlink/0001-fix-use-a-better-regex-for-cmake-system-processor.patch
>> new file mode 100644
>> index 0000000..d32fa38
>> --- /dev/null
>> +++ b/package/openpowerlink/0001-fix-use-a-better-regex-for-cmake-system-processor.patch
>> @@ -0,0 +1,89 @@
>> +From 1c8eb7245abcc55d0a46181ec421a6c12df43333 Mon Sep 17 00:00:00 2001
>> +From: Romain Naour <romain.naour@openwide.fr>
>> +Date: Mon, 17 Nov 2014 23:27:05 +0100
>> +Subject: [PATCH 1/1] [FIX] use a better regex for CMAKE_SYSTEM_PROCESSOR
>> +
>> +According to CMake doc, CMAKE_SYSTEM_PROCESSOR is set to the
>> +output of the command "uname -p" (in fact it is the output of "uname
>> +-m"). This is only true for native compilation.
>> +
>> +In the case of cross-compilation, the CMake code does not set anything,
>> +it just expects the CMAKE_SYSTEM_* variables to be set in the
>> +toolchain file.
>> +
>> +Add a test matching the patern "^i.86$" and keep the old one "x86" for
>> +compatibility.
>> +
> 
> I would not have formulated this better! ;-)
> 
>> +Thanks to Samuel Martin [1]
>> +[1] http://lists.busybox.net/pipermail/buildroot/2014-November/112163.html
>> +
>> +Signed-off-by: Romain Naour <romain.naour@openwide.fr>
>> +
>> +---
>> + Examples/X86/Linux/gnu/demo_kernel/CMakeLists.txt         | 15 ++++-----------
>> + .../X86/Linux/gnu/powerlink_kernel_module/CMakeLists.txt  | 15 ++++-----------
>> + 2 files changed, 8 insertions(+), 22 deletions(-)
>> +
>> +diff --git a/Examples/X86/Linux/gnu/demo_kernel/CMakeLists.txt b/Examples/X86/Linux/gnu/demo_kernel/CMakeLists.txt
>> +index 271ecdc..341d54e 100644
>> +--- a/Examples/X86/Linux/gnu/demo_kernel/CMakeLists.txt
>> ++++ b/Examples/X86/Linux/gnu/demo_kernel/CMakeLists.txt
>> +@@ -154,21 +154,14 @@ SET(MODULE_SOURCE_FILES
>> +     ${POWERLINK_SOURCE_DIR}/ObjDicts/${OBJDICT}/Objdict.c
>> + )
>> +
>> +-IF (CMAKE_SYSTEM_PROCESSOR STREQUAL x86)
>> ++IF (CMAKE_SYSTEM_PROCESSOR MATCHES "^i.86$" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
> 
> You could condense this doing [1,2]:
> --
> IF (CMAKE_SYSTEM_PROCESSOR MATCHES "^(i.86|x86(_64)?)$"
> --

Yes indeed, thanks !

> 
>> +     SET(MODULE_SOURCE_FILES ${MODULE_SOURCE_FILES} ${POWERLINK_SOURCE_DIR}/EplStack/amix86.c)
>> +-
>> +-ELSEIF (   CMAKE_SYSTEM_PROCESSOR STREQUAL arm
>> +-        OR CMAKE_SYSTEM_PROCESSOR STREQUAL armv7l)
>> ++ELSEIF (CMAKE_SYSTEM_PROCESSOR STREQUAL "arm" OR CMAKE_SYSTEM_PROCESSOR STREQUAL "armv7l")
> 
> I guess "arm" is a shortcut for "armv7l"...
> Is openpowerlink little-endian only?
> This change is only comestic, it could be strip away from this patch.
> 
> Anyway, openpowerlink is disabled for all arm architecture in its
> Config.in file.

Well, when I added Openpowerlink package, I choose to disable it for other 
architecture than x86 ou x86_64 for several reasons:
    - Build issues with the kernel stack with specific ethernet chip driver.
    - The ARM support is not as active as for x86
    - I can't test on ARM
    - This version of Openpowerlink will be superseded by the new stack 2.0.x

Openpowerlink use it's own ethernet chip driver, and on ARM there are only
two available: Davicom DM9003 and Freescale FEC.
The DM9003 live outside the cmake infra and the FEC driver is just broken.

At least, you might use the libpcap library as network stack on ARM but it's
not as efficient compared to the kernel stack.

[snip]

>> -
>>  # There is no shared lib in openpowerlink,
>>  # so force static lib to build libpowerlink.a
>> -OPENPOWERLINK_CONF_OPTS += -DBUILD_SHARED_LIBS=OFF
>> +OPENPOWERLINK_CONF_OPTS = -DBUILD_SHARED_LIBS=OFF
> 
> Well, if openpowerlink can only build static library, it'd be better
> if this could be handled directly in its CMake code, when creating
> each library using the STATIC property (see [3]).
> But that's another story... ;-)
> 

I see, the STATIC key work is missing when the user space network stack
(with libpcap) is build.

Side note:
I had considered to package new Openpowerlink stack v2.0.1 but the new build
system need to link with debug and release libraries :-/
(And this is not the only problem)

see:
http://sourceforge.net/p/openpowerlink/discussion/newbie/thread/3f13af65/?limit=25#7a30/c7e5/c90b/0e13

Best regards, 
Romain

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

end of thread, other threads:[~2014-11-22 16:13 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-11-22  0:01 [Buildroot] [PATCH 1/2] package/openpowerlink: do not override CMAKE_SYSTEM_PROCESSOR Romain Naour
2014-11-22  0:01 ` [Buildroot] [PATCH 2/2] package/openpowerlink: bump to version 1.8.5 Romain Naour
2014-11-22  9:18 ` [Buildroot] [PATCH 1/2] package/openpowerlink: do not override CMAKE_SYSTEM_PROCESSOR Samuel Martin
2014-11-22 16:13   ` Romain Naour

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox