update buildroot to 2017.02.11

This commit is contained in:
jbnadal
2018-05-22 15:35:47 +02:00
parent 4bf1f5e091
commit a3c10bd762
9257 changed files with 433426 additions and 1701 deletions

View File

@@ -0,0 +1,167 @@
From 4e8aa3a9e1696e5e02ff0a3ae5a72f034ee60c2f Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Wed, 25 May 2016 15:57:10 +0200
Subject: [PATCH] install the stack libraries to "lib" subdirectory
Using '.' to install the stack libraries is not correct since
it will install them to /usr/.
ls /usr/liboplkmnapp-kernelintf.so
Fix this by using 'lib' instead of '.'
The problem with the openpowerlink build system is that it expect
the stack directory to be a "local staging" directory which
contains headers and libraries. So the libraries build by the
stack project are installed in stack/lib by default.
This is wrong to do that because it becomes difficult to package
openpowerlink for normal Linux systems.
Buildroot like others build system expect from a packaged software
to install libraries and headers build/provided in a staging
directory.
It seems that CMAKE_INSTALL_PREFIX is misused by the default value
"${CMAKE_CURRENT_SOURCE_DIR}/lib/${SYSTEM_NAME_DIR}/${SYSTEM_PROCESSOR_DIR}"
since it already contains the lib directory and therefore the
entire build system is messed up.
It seems that the openpowerlink's build system doesn't allow/support
CMAKE_INSTALL_PREFIX to be set externally
(which is the standard approach).
The issue has been reported [1] upstream and a build system
refactoring is needed to fix this properly.
[1] http://sourceforge.net/p/openpowerlink/discussion/newbie/thread/3f13af65/#8f80/a50a/4649/f07c
[rebase on v2.5.0]
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
stack/proj/linux/liboplkcn-sim/CMakeLists.txt | 2 +-
stack/proj/linux/liboplkcn/CMakeLists.txt | 2 +-
stack/proj/linux/liboplkcnapp-kernelintf/CMakeLists.txt | 2 +-
stack/proj/linux/liboplkcnapp-userintf/CMakeLists.txt | 2 +-
stack/proj/linux/liboplkcndrv-pcap/CMakeLists.txt | 2 +-
stack/proj/linux/liboplkmn-sim/CMakeLists.txt | 2 +-
stack/proj/linux/liboplkmn/CMakeLists.txt | 2 +-
stack/proj/linux/liboplkmnapp-kernelintf/CMakeLists.txt | 2 +-
stack/proj/linux/liboplkmnapp-kernelpcp/CMakeLists.txt | 2 +-
stack/proj/linux/liboplkmnapp-userintf/CMakeLists.txt | 2 +-
stack/proj/linux/liboplkmndrv-pcap/CMakeLists.txt | 2 +-
11 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/stack/proj/linux/liboplkcn-sim/CMakeLists.txt b/stack/proj/linux/liboplkcn-sim/CMakeLists.txt
index 73b641d..b8b5c9d 100644
--- a/stack/proj/linux/liboplkcn-sim/CMakeLists.txt
+++ b/stack/proj/linux/liboplkcn-sim/CMakeLists.txt
@@ -96,4 +96,4 @@ ADD_LIBRARY(${LIB_NAME} ${LIB_TYPE} ${LIB_SOURCES})
TARGET_LINK_LIBRARIES(${LIB_NAME} ${ARCH_LIBRARIES})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY COMPILE_DEFINITIONS_DEBUG DEBUG;DEF_DEBUG_LVL=${CFG_DEBUG_LVL})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY DEBUG_POSTFIX "_d")
-INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION . LIBRARY DESTINATION .)
+INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
diff --git a/stack/proj/linux/liboplkcn/CMakeLists.txt b/stack/proj/linux/liboplkcn/CMakeLists.txt
index 323eafc..459124a 100644
--- a/stack/proj/linux/liboplkcn/CMakeLists.txt
+++ b/stack/proj/linux/liboplkcn/CMakeLists.txt
@@ -90,4 +90,4 @@ ADD_LIBRARY(${LIB_NAME} ${LIB_TYPE} ${LIB_SOURCES})
TARGET_LINK_LIBRARIES(${LIB_NAME} ${ARCH_LIBRARIES})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY COMPILE_DEFINITIONS_DEBUG DEBUG;DEF_DEBUG_LVL=${CFG_DEBUG_LVL})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY DEBUG_POSTFIX "_d")
-INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION . LIBRARY DESTINATION .)
+INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
diff --git a/stack/proj/linux/liboplkcnapp-kernelintf/CMakeLists.txt b/stack/proj/linux/liboplkcnapp-kernelintf/CMakeLists.txt
index f8b1850..c16194a 100644
--- a/stack/proj/linux/liboplkcnapp-kernelintf/CMakeLists.txt
+++ b/stack/proj/linux/liboplkcnapp-kernelintf/CMakeLists.txt
@@ -83,4 +83,4 @@ ADD_LIBRARY(${LIB_NAME} ${LIB_TYPE} ${LIB_SOURCES})
TARGET_LINK_LIBRARIES(${LIB_NAME} ${ARCH_LIBRARIES})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY COMPILE_DEFINITIONS_DEBUG DEBUG;DEF_DEBUG_LVL=${CFG_DEBUG_LVL})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY DEBUG_POSTFIX "_d")
-INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION . LIBRARY DESTINATION .)
+INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
diff --git a/stack/proj/linux/liboplkcnapp-userintf/CMakeLists.txt b/stack/proj/linux/liboplkcnapp-userintf/CMakeLists.txt
index 0f07e63..0074616 100644
--- a/stack/proj/linux/liboplkcnapp-userintf/CMakeLists.txt
+++ b/stack/proj/linux/liboplkcnapp-userintf/CMakeLists.txt
@@ -83,4 +83,4 @@ ADD_LIBRARY(${LIB_NAME} ${LIB_TYPE} ${LIB_SOURCES})
TARGET_LINK_LIBRARIES(${LIB_NAME} ${ARCH_LIBRARIES})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY COMPILE_DEFINITIONS_DEBUG DEBUG;DEF_DEBUG_LVL=${CFG_DEBUG_LVL})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY DEBUG_POSTFIX "_d")
-INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION . LIBRARY DESTINATION .)
+INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
diff --git a/stack/proj/linux/liboplkcndrv-pcap/CMakeLists.txt b/stack/proj/linux/liboplkcndrv-pcap/CMakeLists.txt
index d0dad78..ee0fdec 100644
--- a/stack/proj/linux/liboplkcndrv-pcap/CMakeLists.txt
+++ b/stack/proj/linux/liboplkcndrv-pcap/CMakeLists.txt
@@ -76,4 +76,4 @@ ADD_LIBRARY(${LIB_NAME} ${LIB_TYPE} ${LIB_SOURCES})
TARGET_LINK_LIBRARIES(${LIB_NAME} ${ARCH_LIBRARIES})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY COMPILE_DEFINITIONS_DEBUG DEBUG;DEF_DEBUG_LVL=${CFG_DEBUG_LVL})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY DEBUG_POSTFIX "_d")
-INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION . LIBRARY DESTINATION .)
+INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
diff --git a/stack/proj/linux/liboplkmn-sim/CMakeLists.txt b/stack/proj/linux/liboplkmn-sim/CMakeLists.txt
index eb6396a..5beaa07 100644
--- a/stack/proj/linux/liboplkmn-sim/CMakeLists.txt
+++ b/stack/proj/linux/liboplkmn-sim/CMakeLists.txt
@@ -91,4 +91,4 @@ ADD_LIBRARY(${LIB_NAME} ${LIB_TYPE} ${LIB_SOURCES})
TARGET_LINK_LIBRARIES(${LIB_NAME} ${ARCH_LIBRARIES})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY COMPILE_DEFINITIONS_DEBUG DEBUG;DEF_DEBUG_LVL=${CFG_DEBUG_LVL})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY DEBUG_POSTFIX "_d")
-INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION . LIBRARY DESTINATION .)
+INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
diff --git a/stack/proj/linux/liboplkmn/CMakeLists.txt b/stack/proj/linux/liboplkmn/CMakeLists.txt
index cf7927f..6b19557 100644
--- a/stack/proj/linux/liboplkmn/CMakeLists.txt
+++ b/stack/proj/linux/liboplkmn/CMakeLists.txt
@@ -89,4 +89,4 @@ ADD_LIBRARY(${LIB_NAME} ${LIB_TYPE} ${LIB_SOURCES})
TARGET_LINK_LIBRARIES(${LIB_NAME} ${ARCH_LIBRARIES})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY COMPILE_DEFINITIONS_DEBUG DEBUG;DEF_DEBUG_LVL=${CFG_DEBUG_LVL})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY DEBUG_POSTFIX "_d")
-INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION . LIBRARY DESTINATION .)
+INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
diff --git a/stack/proj/linux/liboplkmnapp-kernelintf/CMakeLists.txt b/stack/proj/linux/liboplkmnapp-kernelintf/CMakeLists.txt
index 9daa2df..bfccb25 100644
--- a/stack/proj/linux/liboplkmnapp-kernelintf/CMakeLists.txt
+++ b/stack/proj/linux/liboplkmnapp-kernelintf/CMakeLists.txt
@@ -82,4 +82,4 @@ ADD_LIBRARY(${LIB_NAME} ${LIB_TYPE} ${LIB_SOURCES})
TARGET_LINK_LIBRARIES(${LIB_NAME} ${ARCH_LIBRARIES})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY COMPILE_DEFINITIONS_DEBUG DEBUG;DEF_DEBUG_LVL=${CFG_DEBUG_LVL})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY DEBUG_POSTFIX "_d")
-INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION . LIBRARY DESTINATION .)
+INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
diff --git a/stack/proj/linux/liboplkmnapp-kernelpcp/CMakeLists.txt b/stack/proj/linux/liboplkmnapp-kernelpcp/CMakeLists.txt
index 0135f46..83128eb 100644
--- a/stack/proj/linux/liboplkmnapp-kernelpcp/CMakeLists.txt
+++ b/stack/proj/linux/liboplkmnapp-kernelpcp/CMakeLists.txt
@@ -91,4 +91,4 @@ ADD_LIBRARY(${LIB_NAME} ${LIB_TYPE} ${LIB_SOURCES})
TARGET_LINK_LIBRARIES(${LIB_NAME} ${ARCH_LIBRARIES})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY COMPILE_DEFINITIONS_DEBUG DEBUG;DEF_DEBUG_LVL=${CFG_DEBUG_LVL})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY DEBUG_POSTFIX "_d")
-INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION . LIBRARY DESTINATION .)
+INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
diff --git a/stack/proj/linux/liboplkmnapp-userintf/CMakeLists.txt b/stack/proj/linux/liboplkmnapp-userintf/CMakeLists.txt
index cd97882..aaaa526 100644
--- a/stack/proj/linux/liboplkmnapp-userintf/CMakeLists.txt
+++ b/stack/proj/linux/liboplkmnapp-userintf/CMakeLists.txt
@@ -82,4 +82,4 @@ ADD_LIBRARY(${LIB_NAME} ${LIB_TYPE} ${LIB_SOURCES})
TARGET_LINK_LIBRARIES(${LIB_NAME} ${ARCH_LIBRARIES})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY COMPILE_DEFINITIONS_DEBUG DEBUG;DEF_DEBUG_LVL=${CFG_DEBUG_LVL})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY DEBUG_POSTFIX "_d")
-INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION . LIBRARY DESTINATION .)
+INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
diff --git a/stack/proj/linux/liboplkmndrv-pcap/CMakeLists.txt b/stack/proj/linux/liboplkmndrv-pcap/CMakeLists.txt
index 7e1a820..82205c2 100644
--- a/stack/proj/linux/liboplkmndrv-pcap/CMakeLists.txt
+++ b/stack/proj/linux/liboplkmndrv-pcap/CMakeLists.txt
@@ -79,4 +79,4 @@ ADD_LIBRARY(${LIB_NAME} ${LIB_TYPE} ${LIB_SOURCES})
TARGET_LINK_LIBRARIES(${LIB_NAME} ${ARCH_LIBRARIES})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY COMPILE_DEFINITIONS_DEBUG DEBUG;DEF_DEBUG_LVL=${CFG_DEBUG_LVL})
SET_PROPERTY(TARGET ${LIB_NAME} PROPERTY DEBUG_POSTFIX "_d")
-INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION . LIBRARY DESTINATION .)
+INSTALL(TARGETS ${LIB_NAME} ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)
--
2.8.1

View File

@@ -0,0 +1,32 @@
From 8cb39257e12d6b82190aec8ab9ad89a9ee13af71 Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Wed, 25 May 2016 15:57:29 +0200
Subject: [PATCH] cmake: install oplk headers files
In order to be able to link a third party application
with openpowerlink libraries, we need to install the
oplk headers files related to openpowerlink stack.
Install all headers file from STACK_INCLUDE_DIR/oplk.
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
stack/CMakeLists.txt | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/stack/CMakeLists.txt b/stack/CMakeLists.txt
index 3b11c54..4eadf44 100644
--- a/stack/CMakeLists.txt
+++ b/stack/CMakeLists.txt
@@ -105,3 +105,8 @@ ELSEIF((CMAKE_SYSTEM_NAME STREQUAL "Generic") AND (CMAKE_SYSTEM_PROCESSOR STREQU
ELSE()
MESSAGE(FATAL_ERROR "Unknown Platform and processor combination ${CMAKE_SYSTEM_NAME} and ${CMAKE_SYSTEM_PROCESSOR}!!")
ENDIF()
+
+################################################################################
+# Install oplk headers files
+################################################################################
+INSTALL(DIRECTORY ${STACK_INCLUDE_DIR}/oplk DESTINATION "include")
--
2.8.1

View File

@@ -0,0 +1,201 @@
From 7f81c74726aec4aef6bd93ee644200ab34375437 Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Wed, 25 May 2016 15:59:20 +0200
Subject: [PATCH] Add top level CMakeLists.txt
This CMakeLists.txt can be used to build openpowerlink
using a automated build system.
Don't use FIND_LIBRARY when the stack is built from a top
level build (ie CFG_OPLK_LIB is ON).
For a top level build, CMake will automatically add a build
dependency on oplk libraries for building demos applications.
Also replace OPLKLIB_DEBUG by OPLKLIB in OPLK_LINK_LIBRARIES macro
if CMAKE_BUILD_TYPE is "Debug", otherwise TARGET_LINK_LIBRARIES can't
find the openpowerlink library.
This issue may be related to:
https://github.com/OpenAutomationTechnologies/openPOWERLINK_V2/issues/109
Fixes:
http://autobuild.buildroot.net/results/da4/da445b65cb136d71577f04e3a17fdb2ef6302a9b
This patch has not been accepted by upstream:
https://github.com/openPOWERLINK/openPOWERLINK_V2/pull/57
Add PCIe support (v2.3.2)
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
CMakeLists.txt | 42 +++++++++++++++++
apps/common/cmake/findoplklib.cmake | 68 +++++++++++++++-------------
apps/common/cmake/linkoplklib.cmake | 2 +-
drivers/linux/drv_daemon_pcap/CMakeLists.txt | 12 +++--
4 files changed, 89 insertions(+), 35 deletions(-)
create mode 100644 CMakeLists.txt
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000..28d4e7a
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,42 @@
+
+CMAKE_MINIMUM_REQUIRED (VERSION 2.8.7)
+
+#### LIB ####
+
+IF (CFG_OPLK_LIB)
+ ADD_SUBDIRECTORY("stack")
+ENDIF (CFG_OPLK_LIB)
+
+#### Linux kernel Ethernet module ####
+
+IF (CFG_KERNEL_DRIVERS)
+ ADD_SUBDIRECTORY("drivers/linux/drv_kernelmod_edrv")
+ENDIF (CFG_KERNEL_DRIVERS)
+
+#### Linux kernel PCIe module ####
+
+IF (CFG_KERNEL_PCIE_DRIVERS)
+ ADD_SUBDIRECTORY("drivers/linux/drv_kernelmod_pcie")
+ENDIF (CFG_KERNEL_PCIE_DRIVERS)
+
+#### Pcap userspace driver ####
+
+IF (CFG_PCAP_DAEMON)
+ ADD_SUBDIRECTORY("drivers/linux/drv_daemon_pcap")
+ENDIF (CFG_PCAP_DAEMON)
+
+#### OpenPowerLink Demos ####
+
+# Add subdirectory of CN console demo application
+IF (CFG_DEMO_CN_CONSOLE)
+ ADD_SUBDIRECTORY("apps/demo_cn_console")
+ENDIF (CFG_DEMO_CN_CONSOLE)
+
+# Add subdirectory of MN console demo application
+IF (CFG_DEMO_MN_CONSOLE)
+ ADD_SUBDIRECTORY("apps/demo_mn_console")
+ENDIF (CFG_DEMO_MN_CONSOLE)
+
+IF (CFG_DEMO_MN_QT)
+ ADD_SUBDIRECTORY("apps/demo_mn_qt")
+ENDIF (CFG_DEMO_MN_QT)
diff --git a/apps/common/cmake/findoplklib.cmake b/apps/common/cmake/findoplklib.cmake
index f7e710f..b8b04c5 100644
--- a/apps/common/cmake/findoplklib.cmake
+++ b/apps/common/cmake/findoplklib.cmake
@@ -85,36 +85,42 @@ MACRO(FIND_OPLK_LIBRARY OPLK_NODE_TYPE)
# Set oplk library directory
SET(OPLKLIB_DIR ${OPLK_BASE_DIR}/stack/lib/${SYSTEM_NAME_DIR}/${SYSTEM_PROCESSOR_DIR})
- IF((CMAKE_GENERATOR MATCHES "Visual Studio") OR (CMAKE_BUILD_TYPE STREQUAL "Release"))
- # Search for release library
- UNSET(OPLKLIB CACHE)
- MESSAGE(STATUS "Searching for LIBRARY ${OPLKLIB_NAME} in ${OPLKLIB_DIR}")
- FIND_LIBRARY(OPLKLIB NAME ${OPLKLIB_NAME}
- HINTS ${OPLKLIB_DIR} ${OPLKLIB_DIR}/${CFG_DEMO_BOARD_NAME}/${CFG_DEMO_NAME})
-
- IF(CMAKE_SYSTEM_NAME STREQUAL "Windows")
-
- UNSET(OPLKDLL CACHE)
- FIND_PROGRAM(OPLKDLL NAME ${OPLKLIB_NAME}.dll
- HINTS ${OPLKLIB_DIR})
-
- ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Windows")
- ENDIF()
-
- IF((CMAKE_GENERATOR MATCHES "Visual Studio") OR (CMAKE_BUILD_TYPE STREQUAL "Debug"))
- # Search for debug library
- UNSET(OPLKLIB_DEBUG CACHE)
- MESSAGE(STATUS "Searching for LIBRARY ${OPLKLIB_DEBUG_NAME} in ${OPLKLIB_DIR}")
- FIND_LIBRARY(OPLKLIB_DEBUG NAME ${OPLKLIB_DEBUG_NAME}
- HINTS ${OPLKLIB_DIR} ${OPLKLIB_DIR}/${CFG_DEMO_BOARD_NAME}/${CFG_DEMO_NAME})
-
- IF(CMAKE_SYSTEM_NAME STREQUAL "Windows")
-
- UNSET(OPLKDLL_DEBUG CACHE)
- FIND_PROGRAM(OPLKDLL_DEBUG NAME ${OPLKLIB_DEBUG_NAME}.dll
- HINTS ${OPLKLIB_DIR})
-
- ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Windows")
- ENDIF()
+ # Don't look for oplk libraries for a top level build
+ IF(CFG_OPLK_LIB)
+ SET(OPLKLIB ${OPLKLIB_NAME})
+ SET(OPLKLIB_DEBUG ${OPLKLIB_DEBUG_NAME})
+ ELSE(CFG_OPLK_LIB)
+ IF((CMAKE_GENERATOR MATCHES "Visual Studio") OR (CMAKE_BUILD_TYPE STREQUAL "Release"))
+ # Search for release library
+ UNSET(OPLKLIB CACHE)
+ MESSAGE(STATUS "Searching for LIBRARY ${OPLKLIB_NAME} in ${OPLKLIB_DIR}")
+ FIND_LIBRARY(OPLKLIB NAME ${OPLKLIB_NAME}
+ HINTS ${OPLKLIB_DIR} ${OPLKLIB_DIR}/${CFG_DEMO_BOARD_NAME}/${CFG_DEMO_NAME})
+
+ IF(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+
+ UNSET(OPLKDLL CACHE)
+ FIND_PROGRAM(OPLKDLL NAME ${OPLKLIB_NAME}.dll
+ HINTS ${OPLKLIB_DIR})
+
+ ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+ ENDIF()
+
+ IF((CMAKE_GENERATOR MATCHES "Visual Studio") OR (CMAKE_BUILD_TYPE STREQUAL "Debug"))
+ # Search for debug library
+ UNSET(OPLKLIB_DEBUG CACHE)
+ MESSAGE(STATUS "Searching for LIBRARY ${OPLKLIB_DEBUG_NAME} in ${OPLKLIB_DIR}")
+ FIND_LIBRARY(OPLKLIB_DEBUG NAME ${OPLKLIB_DEBUG_NAME}
+ HINTS ${OPLKLIB_DIR} ${OPLKLIB_DIR}/${CFG_DEMO_BOARD_NAME}/${CFG_DEMO_NAME})
+
+ IF(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+
+ UNSET(OPLKDLL_DEBUG CACHE)
+ FIND_PROGRAM(OPLKDLL_DEBUG NAME ${OPLKLIB_DEBUG_NAME}.dll
+ HINTS ${OPLKLIB_DIR})
+
+ ENDIF(CMAKE_SYSTEM_NAME STREQUAL "Windows")
+ ENDIF()
+ ENDIF(CFG_OPLK_LIB)
ENDMACRO(FIND_OPLK_LIBRARY)
diff --git a/apps/common/cmake/linkoplklib.cmake b/apps/common/cmake/linkoplklib.cmake
index 49aab66..d9fd418 100644
--- a/apps/common/cmake/linkoplklib.cmake
+++ b/apps/common/cmake/linkoplklib.cmake
@@ -33,7 +33,7 @@ MACRO(OPLK_LINK_LIBRARIES EXECUTABLE_NAME)
TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} optimized ${OPLKLIB} debug ${OPLKLIB_DEBUG})
ELSE()
IF(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
- TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} debug ${OPLKLIB_DEBUG})
+ TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} debug ${OPLKLIB})
ELSE ()
TARGET_LINK_LIBRARIES(${EXECUTABLE_NAME} optimized ${OPLKLIB})
ENDIF()
diff --git a/drivers/linux/drv_daemon_pcap/CMakeLists.txt b/drivers/linux/drv_daemon_pcap/CMakeLists.txt
index 1ef9353..e720834 100644
--- a/drivers/linux/drv_daemon_pcap/CMakeLists.txt
+++ b/drivers/linux/drv_daemon_pcap/CMakeLists.txt
@@ -104,9 +104,15 @@ ENDIF()
SET(OPLKLIB_DIR ${OPLK_BASE_DIR}/stack/lib/${SYSTEM_NAME_DIR}/${SYSTEM_PROCESSOR_DIR})
SET(OPLKLIB_INCDIR ${OPLK_BASE_DIR}/stack/proj/${SYSTEM_NAME_DIR}/lib${LIB_NAME})
-UNSET(OPLKLIB CACHE)
-FIND_LIBRARY(OPLKLIB NAME ${LIB_NAME}${BUILD_TYPE_EXT}
- HINTS ${OPLKLIB_DIR})
+# Don't look for oplk libraries for a top level build
+IF(CFG_OPLK_LIB)
+ SET(OPLKLIB ${LIB_NAME}${BUILD_TYPE_EXT})
+ELSE(CFG_OPLK_LIB)
+ UNSET(OPLKLIB CACHE)
+ FIND_LIBRARY(OPLKLIB NAME ${LIB_NAME}${BUILD_TYPE_EXT}
+ HINTS ${OPLKLIB_DIR})
+ENDIF(CFG_OPLK_LIB)
+
INCLUDE_DIRECTORIES(${OPLKLIB_INCDIR})
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wextra -pedantic -std=c99 -pthread -fno-strict-aliasing")
--
2.8.1

View File

@@ -0,0 +1,35 @@
From 041799c4990d56b9822ee3ae3ffbb181e5c16c81 Mon Sep 17 00:00:00 2001
From: Romain Naour <romain.naour@gmail.com>
Date: Thu, 3 Nov 2016 21:09:57 +0100
Subject: [PATCH] [FIX] Veth: Fix compilation on Linux kernels >= 4.7
dev->trans_start was replaced by netif_trans_update helper in kernel
4.7 by commit 860e9538a9482bb84589f7d0718a7e6d0a944d58.
Upstream status: Pending
https://github.com/OpenAutomationTechnologies/openPOWERLINK_V2/pull/177
Signed-off-by: Romain Naour <romain.naour@gmail.com>
---
stack/src/kernel/veth/veth-linuxkernel.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/stack/src/kernel/veth/veth-linuxkernel.c b/stack/src/kernel/veth/veth-linuxkernel.c
index 8c68c47..ecdc000 100644
--- a/stack/src/kernel/veth/veth-linuxkernel.c
+++ b/stack/src/kernel/veth/veth-linuxkernel.c
@@ -287,7 +287,11 @@ static int vethStartXmit(struct sk_buff* pSkb_p, struct net_device* pNetDevice_p
struct net_device_stats* pStats = netdev_priv(pNetDevice_p);
//save time stamp
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(4, 7, 0))
pNetDevice_p->trans_start = jiffies;
+#else
+ netif_trans_update(pNetDevice_p);
+#endif
frameInfo.frame.pBuffer = (tPlkFrame*)pSkb_p->data;
frameInfo.frameSize = pSkb_p->len;
--
2.5.5

View File

@@ -0,0 +1,128 @@
comment "openpowerlink needs a toolchain w/ C++, threads"
depends on BR2_i386 || BR2_x86_64
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS
config BR2_PACKAGE_OPENPOWERLINK
bool "openpowerlink"
depends on BR2_INSTALL_LIBSTDCPP
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_i386 || BR2_x86_64
help
openPOWERLINK is an Open Source Industrial Ethernet stack
implementing the POWERLINK protocol for Managing Node (MN,
POWERLINK Master) and Controlled Node (CN, POWERLINK Slave).
It is provided by
SYSTEC electronic (http://www.systec-electronic.com),
B&R (http://www.br-automation.com) and
Kalycito (http://www.kalycito.com).
http://openpowerlink.sourceforge.net/web/
if BR2_PACKAGE_OPENPOWERLINK
choice
prompt "MN/CN mode"
config BR2_PACKAGE_OPENPOWERLINK_MN
bool "Managing Node"
help
Enable Managing Node (master) mode
config BR2_PACKAGE_OPENPOWERLINK_CN
bool "Controlled Node"
help
Enable Controlled Node (slave) mode
endchoice
choice
prompt "stack type"
config BR2_PACKAGE_OPENPOWERLINK_STACK_MONOLITHIC_USER_STACK_LIB
bool "linked into application"
select BR2_PACKAGE_LIBPCAP
help
Compile a monolithic openPOWERLINK library. The library
contains an Ethernet driver which is using the PCAP library
for accessing the network. No kernel-side driver is needed.
config BR2_PACKAGE_OPENPOWERLINK_STACK_USERSPACE_DAEMON_LIB
bool "user-space pcap daemon"
select BR2_PACKAGE_LIBPCAP
select BR2_PACKAGE_OPENPOWERLINK_PCAP_DAEMON
help
Compile openPOWERLINK application library which contains the
interface to a Linux user space driver, and the Linux user
space driver. It is used for implementing a multi-process
solution where the openPOWERLINK layer is running as a
separate Linux user space daemon (i.e. a PCAP based user
space daemon). No kernel-side stack is needed.
config BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_STACK_LIB
bool "kernel-space driver"
depends on BR2_LINUX_KERNEL
help
Compile openPOWERLINK application library which contains the
interface to a Linux kernel space driver. This will also
build and install a Linux kernel module openPOWERLINK
driver.
config BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_PCIE_STACK_LIB
bool "kernel-space PCIe driver"
depends on BR2_LINUX_KERNEL
depends on BR2_PACKAGE_OPENPOWERLINK_MN # MN support only
help
Compile openPOWERLINK application library which contains the
interface to a Linux kernel PCIe interface driver. The kernel
part of the openPOWERLINK stack is located on an external PCIe
device. The status/control and data exchange between the
application and kernel stack is handled by the PCIe interface
driver.
comment "openpowerlink kernel stack needs a Linux kernel to be built"
depends on !BR2_LINUX_KERNEL
endchoice
if BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_STACK_LIB
menu "Ethernet drivers"
config BR2_PACKAGE_OPENPOWERLINK_KERNEL_DRIVER_82573
bool "Intel 82573"
default y
config BR2_PACKAGE_OPENPOWERLINK_KERNEL_DRIVER_8255x
bool "Intel 8255x"
config BR2_PACKAGE_OPENPOWERLINK_KERNEL_DRIVER_I210
bool "Intel I210"
config BR2_PACKAGE_OPENPOWERLINK_KERNEL_DRIVER_RTL8111
bool "Realtek RTL-8111/8168"
config BR2_PACKAGE_OPENPOWERLINK_KERNEL_DRIVER_RTL8139
bool "Realtek RTL-8139"
endmenu
endif # BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_STACK_LIB
config BR2_PACKAGE_OPENPOWERLINK_KERNEL_PCIE_DRIVER
depends on BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_PCIE_STACK_LIB
bool "PCIe Powerlink Driver"
menu "demos"
config BR2_PACKAGE_OPENPOWERLINK_DEMO_MN_CONSOLE
bool "console MN demo"
depends on BR2_PACKAGE_OPENPOWERLINK_MN
config BR2_PACKAGE_OPENPOWERLINK_DEMO_CN_CONSOLE
bool "console CN demo"
depends on BR2_PACKAGE_OPENPOWERLINK_CN
endmenu
endif # BR2_PACKAGE_OPENPOWERLINK

View File

@@ -0,0 +1,5 @@
# From http://sourceforge.net/projects/openpowerlink/files/openPOWERLINK/V2.5.0/
md5 929b778a6a4d448d502da5a428322949 openPOWERLINK_V2.5.0.tar.gz
sha1 28e2e5621550421e74ba94738f6c12eb8c279fce openPOWERLINK_V2.5.0.tar.gz
# sha256 locally computed
sha256 1cb8c44626dbb7f224520667e437b4b430a32699560914f379679b6c58c1309c openPOWERLINK_V2.5.0.tar.gz

View File

@@ -0,0 +1,151 @@
################################################################################
#
# openpowerlink
#
################################################################################
OPENPOWERLINK_VERSION = V2.5.0
OPENPOWERLINK_SITE = http://downloads.sourceforge.net/project/openpowerlink/openPOWERLINK/$(OPENPOWERLINK_VERSION)
OPENPOWERLINK_SOURCE = openPOWERLINK_$(OPENPOWERLINK_VERSION).tar.gz
OPENPOWERLINK_LICENSE = BSD-2c, GPLv2
OPENPOWERLINK_LICENSE_FILES = license.md
OPENPOWERLINK_INSTALL_STAGING = YES
# The archive has no leading component.
OPENPOWERLINK_STRIP_COMPONENTS = 0
OPENPOWERLINK_MN_ONOFF = $(if $(BR2_PACKAGE_OPENPOWERLINK_MN),ON,OFF)
OPENPOWERLINK_CN_ONOFF = $(if $(BR2_PACKAGE_OPENPOWERLINK_CN),ON,OFF)
#### OPLK LIBRARY ####
# Always build a oplk stack
# Disable library with simulation interface
# Disable zynq/FPGA (PCIe) interface
OPENPOWERLINK_CONF_OPTS += -DCFG_OPLK_LIB=ON \
-DCFG_COMPILE_LIB_MN_SIM=OFF \
-DCFG_COMPILE_LIB_CN_SIM=OFF \
-DCFG_COMPILE_LIB_MNAPP_ZYNQINTF=OFF
# All option are ON by default
ifeq ($(BR2_PACKAGE_OPENPOWERLINK_STACK_MONOLITHIC_USER_STACK_LIB),y)
OPENPOWERLINK_DEPENDENCIES += libpcap
OPENPOWERLINK_CONF_OPTS += \
-DCFG_COMPILE_LIB_MN=$(OPENPOWERLINK_MN_ONOFF) \
-DCFG_COMPILE_LIB_MNAPP_USERINTF=OFF \
-DCFG_COMPILE_LIB_MNAPP_KERNELINTF=OFF \
-DCFG_COMPILE_LIB_MNAPP_PCIEINTF=OFF \
-DCFG_COMPILE_LIB_MNDRV_PCAP=OFF \
-DCFG_COMPILE_LIB_CN=$(OPENPOWERLINK_CN_ONOFF) \
-DCFG_COMPILE_LIB_CNAPP_USERINTF=OFF \
-DCFG_COMPILE_LIB_CNAPP_KERNELINTF=OFF \
-DCFG_COMPILE_LIB_CNDRV_PCAP=OFF
else ifeq ($(BR2_PACKAGE_OPENPOWERLINK_STACK_USERSPACE_DAEMON_LIB),y)
OPENPOWERLINK_DEPENDENCIES += libpcap
OPENPOWERLINK_CONF_OPTS += \
-DCFG_COMPILE_LIB_MN=OFF \
-DCFG_COMPILE_LIB_MNAPP_USERINTF=$(OPENPOWERLINK_MN_ONOFF) \
-DCFG_COMPILE_LIB_MNAPP_KERNELINTF=OFF \
-DCFG_COMPILE_LIB_MNAPP_PCIEINTF=OFF \
-DCFG_COMPILE_LIB_MNDRV_PCAP=$(OPENPOWERLINK_MN_ONOFF) \
-DCFG_COMPILE_LIB_CN=OFF \
-DCFG_COMPILE_LIB_CNAPP_USERINTF=$(OPENPOWERLINK_CN_ONOFF) \
-DCFG_COMPILE_LIB_CNAPP_KERNELINTF=OFF \
-DCFG_COMPILE_LIB_CNDRV_PCAP=$(OPENPOWERLINK_CN_ONOFF)
else ifeq ($(BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_STACK_LIB),y)
OPENPOWERLINK_CONF_OPTS += \
-DCFG_COMPILE_LIB_MN=OFF \
-DCFG_COMPILE_LIB_MNAPP_USERINTF=OFF \
-DCFG_COMPILE_LIB_MNAPP_KERNELINTF=$(OPENPOWERLINK_MN_ONOFF) \
-DCFG_COMPILE_LIB_MNAPP_PCIEINTF=OFF \
-DCFG_COMPILE_LIB_MNDRV_PCAP=OFF \
-DCFG_COMPILE_LIB_CN=OFF \
-DCFG_COMPILE_LIB_CNAPP_USERINTF=OFF \
-DCFG_COMPILE_LIB_CNAPP_KERNELINTF=$(OPENPOWERLINK_CN_ONOFF) \
-DCFG_COMPILE_LIB_CNDRV_PCAP=OFF
else ifeq ($(BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_PCIE_STACK_LIB),y)
OPENPOWERLINK_CONF_OPTS += \
-DCFG_COMPILE_LIB_MN=OFF \
-DCFG_COMPILE_LIB_MNAPP_USERINTF=OFF \
-DCFG_COMPILE_LIB_MNAPP_KERNELINTF=OFF \
-DCFG_COMPILE_LIB_MNAPP_PCIEINTF=$(OPENPOWERLINK_MN_ONOFF) \
-DCFG_COMPILE_LIB_MNDRV_PCAP=OFF \
-DCFG_COMPILE_LIB_CN=OFF \
-DCFG_COMPILE_LIB_CNAPP_USERINTF=OFF \
-DCFG_COMPILE_LIB_CNAPP_KERNELINTF=OFF \
-DCFG_COMPILE_LIB_CNDRV_PCAP=OFF
endif
OPENPOWERLINK_CONF_OPTS += \
-DCFG_COMPILE_SHARED_LIBRARY=$(if $(BR2_STATIC_LIBS),OFF,ON)
#### OPLK KERNEL DRIVERS ####
ifeq ($(BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_STACK_LIB)$(BR2_PACKAGE_OPENPOWERLINK_KERNEL_PCIE_DRIVER),y)
OPENPOWERLINK_DEPENDENCIES += linux
OPENPOWERLINK_CONF_OPTS += \
-DCFG_KERNEL_DIR="$(LINUX_DIR)" \
-DCMAKE_SYSTEM_VERSION="$(LINUX_VERSION)" \
-DCFG_OPLK_MN="$(OPENPOWERLINK_MN_ONOFF)" \
-DMAKE_KERNEL_ARCH="$(KERNEL_ARCH)" \
-DMAKE_KERNEL_CROSS_COMPILE="$(CCACHE) $(TARGET_CROSS)"
endif
ifeq ($(BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_STACK_LIB),y)
OPENPOWERLINK_CONF_OPTS += -DCFG_KERNEL_DRIVERS=ON \
-DCFG_POWERLINK_EDRV_82573=$(if $(BR2_PACKAGE_OPENPOWERLINK_KERNEL_DRIVER_82573),ON,OFF) \
-DCFG_POWERLINK_EDRV_8255X=$(if $(BR2_PACKAGE_OPENPOWERLINK_KERNEL_DRIVER_8255x),ON,OFF) \
-DCFG_POWERLINK_EDRV_I210=$(if $(BR2_PACKAGE_OPENPOWERLINK_KERNEL_DRIVER_I210),ON,OFF) \
-DCFG_POWERLINK_EDRV_8111=$(if $(BR2_PACKAGE_OPENPOWERLINK_KERNEL_DRIVER_RTL8111),ON,OFF) \
-DCFG_POWERLINK_EDRV_8139=$(if $(BR2_PACKAGE_OPENPOWERLINK_KERNEL_DRIVER_RTL8139),ON,OFF)
else
OPENPOWERLINK_CONF_OPTS += -DCFG_KERNEL_DRIVERS=OFF
endif
ifeq ($(BR2_PACKAGE_OPENPOWERLINK_KERNEL_PCIE_DRIVER),y)
OPENPOWERLINK_CONF_OPTS += -DCFG_KERNEL_PCIE_DRIVERS=ON
else
OPENPOWERLINK_CONF_OPTS += -DCFG_KERNEL_PCIE_DRIVERS=OFF
endif
#### OPLK PCAP DAEMON ####
ifeq ($(BR2_PACKAGE_OPENPOWERLINK_STACK_USERSPACE_DAEMON_LIB),y)
OPENPOWERLINK_CONF_OPTS += \
-DCFG_PCAP_DAEMON=ON \
-DCFG_OPLK_MN=$(OPENPOWERLINK_MN_ONOFF)
endif
#### OPLK DEMO APPS ####
# See apps/common/cmake/configure-linux.cmake for available options list.
ifeq ($(BR2_PACKAGE_OPENPOWERLINK_STACK_MONOLITHIC_USER_STACK_LIB),y)
OPENPOWERLINK_CONF_OPTS += \
-DCFG_BUILD_KERNEL_STACK="Link to Application"
else ifeq ($(BR2_PACKAGE_OPENPOWERLINK_STACK_USERSPACE_DAEMON_LIB),y)
OPENPOWERLINK_CONF_OPTS += \
-DCFG_BUILD_KERNEL_STACK="Linux Userspace Daemon"
else ifeq ($(BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_STACK_LIB),y)
OPENPOWERLINK_CONF_OPTS += \
-DCFG_BUILD_KERNEL_STACK="Linux Kernel Module"
else ifeq ($(BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_PCIE_STACK_LIB),y)
OPENPOWERLINK_CONF_OPTS += \
-DCFG_BUILD_KERNEL_STACK="Kernel stack on PCIe card"
endif
ifeq ($(BR2_PACKAGE_OPENPOWERLINK_DEMO_MN_CONSOLE),y)
OPENPOWERLINK_CONF_OPTS += -DCFG_DEMO_MN_CONSOLE=ON \
-DCFG_DEMO_MN_CONSOLE_USE_SYNCTHREAD=ON
else
OPENPOWERLINK_CONF_OPTS += -DCFG_DEMO_MN_CONSOLE=OFF
endif
ifeq ($(BR2_PACKAGE_OPENPOWERLINK_DEMO_CN_CONSOLE),y)
OPENPOWERLINK_CONF_OPTS += -DCFG_DEMO_CN_CONSOLE=ON
else
OPENPOWERLINK_CONF_OPTS += -DCFG_DEMO_CN_CONSOLE=OFF
endif
$(eval $(cmake-package))