initial buildroot for linux 5.15

This commit is contained in:
Huan.Feng
2021-12-06 14:12:13 +08:00
parent d7767d594e
commit 7b6fc358fa
12736 changed files with 508822 additions and 0 deletions
@@ -0,0 +1,167 @@
From 16230b7f51bff2bdf061fa80e9a49c807596bb92 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 2b3da16..ddb3e92 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 3be6c52..cf1b1dd 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 904de6c..d8713a8 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 e2514cf..a4e2b75 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 98f068c..bb20006 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 0c29087..1783134 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.9.4
@@ -0,0 +1,32 @@
From f7679a4083de3a9dba80cd719ad4904fbade349b 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 69454f2..45f131d 100644
--- a/stack/CMakeLists.txt
+++ b/stack/CMakeLists.txt
@@ -110,3 +110,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.9.4
@@ -0,0 +1,201 @@
From cd0945a323cecb638ce56f2e3d7fb4e8c004b98b 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 2b4a2c1..ecceb4c 100644
--- a/drivers/linux/drv_daemon_pcap/CMakeLists.txt
+++ b/drivers/linux/drv_daemon_pcap/CMakeLists.txt
@@ -109,9 +109,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.9.4
+127
View File
@@ -0,0 +1,127 @@
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
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
bool "PCIe Powerlink Driver"
depends on BR2_PACKAGE_OPENPOWERLINK_STACK_KERNEL_PCIE_STACK_LIB
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
+6
View File
@@ -0,0 +1,6 @@
# From https://sourceforge.net/projects/openpowerlink/files/openPOWERLINK/V2.7.1/
md5 04524d1b1f9946176dce0ccb0eecf537 openPOWERLINK_V2.7.1.tar.gz
sha1 4ee9c6e26bbc729fdbbb272155b093ffa0d9cefd openPOWERLINK_V2.7.1.tar.gz
# sha256 locally computed
sha256 d0d65f4fb8f2ad209cf9575714f88f33168a1cf71e8f1801e1e1ac4df6a37ffd openPOWERLINK_V2.7.1.tar.gz
sha256 348e31e9e5094104463d58d33abd31049fdf209afbc12ea7abb7fd4b4a147429 license.md
+153
View File
@@ -0,0 +1,153 @@
################################################################################
#
# openpowerlink
#
################################################################################
OPENPOWERLINK_VERSION = 2.7.1
OPENPOWERLINK_SITE = https://downloads.sourceforge.net/project/openpowerlink/openPOWERLINK/V$(OPENPOWERLINK_VERSION)
OPENPOWERLINK_SOURCE = openPOWERLINK_V$(OPENPOWERLINK_VERSION).tar.gz
OPENPOWERLINK_LICENSE = BSD-2-Clause, GPL-2.0
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 \
-DPCAP_CONFIG="$(STAGING_DIR)/usr/bin/pcap-config"
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) \
-DPCAP_CONFIG="$(STAGING_DIR)/usr/bin/pcap-config"
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))