Skip to content

Commit 4b30efb

Browse files
committed
Add macro definitions for rk3288, and revert some modifitions according to release 4.2.3 of smartdevicelink.
1 parent 014b120 commit 4b30efb

File tree

34 files changed

+160
-46
lines changed

34 files changed

+160
-46
lines changed

CMakeLists.txt

+34-8
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ set (HMI "web" CACHE STRING "HMI type")
3838
option(HMI2 "Use Qt HMI" OFF)
3939
option(EXTENDED_MEDIA_MODE "Turn on and off extended Madia Manager features relates to PulseAudio A2DP and GStreamer" OFF)
4040
option(BUILD_SHARED_LIBS "Build all libraries as shared (if ON) or static (if OFF)" OFF)
41-
option(BUILD_BT_SUPPORT "Bluetooth support" ON)
41+
option(BUILD_BT_SUPPORT "Bluetooth support" OFF)
4242
option(BUILD_USB_SUPPORT "libusb support" ON)
4343
option(BUILD_BACKTRACE_SUPPORT "backtrace support" OFF)
4444
option(BUILD_TESTS "Possibility to build and run tests" OFF)
@@ -49,6 +49,7 @@ option(ENABLE_SANITIZE "Sanitize tool" OFF)
4949
option(ENABLE_SECURITY "Security Ford protocol protection" OFF)
5050
option(ENABLE_HMI_PTU_DECRYPTION "Policy table update parsed by hmi" OFF)
5151
option(ENABLE_EXTENDED_POLICY "Turns extended flow which requires embedded system interaction" OFF)
52+
option(FIREFLY_RK3288 "Enable cross compile for embedded system of rk3288" ON)
5253

5354
set(OS_TYPE_OPTION "$ENV{OS_TYPE}")
5455
set(DEBUG_OPTION "$ENV{DEBUG}")
@@ -64,10 +65,14 @@ set(SECURITY_OPTION "$ENV{SECURITY_MODE}")
6465
set(COMPONENTS_DIR ${CMAKE_SOURCE_DIR}/src/components)
6566
set(SNAPSHOT_TAG "$ENV{SNAPSHOT_TAG}")
6667

67-
# Set the cross compiler
68+
if (FIREFLY_RK3288)
6869
set (CROSS_COMPILE_PREFIX "arm-linux-gnueabihf-")
6970
set (CMAKE_C_COMPILER ${CROSS_COMPILE_PREFIX}gcc)
7071
set (CMAKE_CXX_COMPILER ${CROSS_COMPILE_PREFIX}g++)
72+
else ()
73+
set(CMAKE_CXX_COMPILER $ENV{CMAKE_CXX_COMPILER})
74+
set(CMAKE_C_COMPILER $ENV{CMAKE_C_COMPILER})
75+
endif()
7176

7277
if (ARCH_TYPE_OPTION)
7378
if (NOT (${ARCH_TYPE_OPTION} STREQUAL "x86") AND NOT (${ARCH_TYPE_OPTION} STREQUAL "armv7"))
@@ -174,7 +179,12 @@ add_custom_target(genivi-tarball
174179
COMMAND tar -cz -C /tmp/GENIVI -f ${CMAKE_BINARY_DIR}/genivi.tar.gz .
175180
)
176181

177-
set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
182+
183+
project (${PROJECT})
184+
185+
#ADD_DEPENDENCIES(${PROJECT} Policy)
186+
187+
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
178188

179189
# Please do not change compiler/linker flags if You do not know how particular
180190
# flag is handled by CMake
@@ -195,6 +205,9 @@ set(CMAKE_CXX_FLAGS_DEBUG " -DDEBUG -g3 -ggdb3")
195205

196206
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
197207
add_definitions(-DOS_LINUX)
208+
if (FIREFLY_RK3288)
209+
add_definitions(-DFIREFLY_RK3288)
210+
endif()
198211
elseif(CMAKE_SYSTEM_NAME STREQUAL "QNX")
199212
add_definitions(-DOS_QNX)
200213
SET(BUILD_BT_SUPPORT OFF)
@@ -205,7 +218,9 @@ endif()
205218

206219
if (BUILD_USB_SUPPORT)
207220
add_definitions(-DUSB_SUPPORT)
208-
#find_package(UDev REQUIRED)
221+
if (NOT FIREFLY_RK3288)
222+
find_package(UDev REQUIRED)
223+
endif()
209224
message(STATUS "USB support is enabled")
210225
endif()
211226

@@ -375,6 +390,15 @@ if (HMIADAPTER STREQUAL "mqueue")
375390
add_definitions(-DHMI_JSON_API)
376391
endif()
377392

393+
# --- Directory with SDL interfaces, global types and ProtocolLib component
394+
include_directories(
395+
${COMPONENTS_DIR}/include
396+
${COMPONENTS_DIR}/protocol/include
397+
if (BUILD_TESTS)
398+
${COMPONENTS_DIR}/include/test
399+
endif ()
400+
)
401+
378402
# --- 3rd party libs
379403
INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/src/3rd_party/set_3rd_party_paths.cmake)
380404

@@ -642,17 +666,19 @@ endif()
642666
add_subdirectory(./src/3rd_party-static)
643667

644668
# --- Tools
645-
#add_subdirectory(./tools)
646-
669+
if (NOT FIREFLY_RK3288)
670+
add_subdirectory(./tools)
671+
endif()
647672
# --- Components
648673
add_subdirectory(./src/components)
649674

650675
# --- Main application
651676
add_subdirectory(./src/appMain)
652677

653678
# --- Plugins
654-
#add_subdirectory(./src/plugins)
655-
679+
if (NOT FIREFLY_RK3288)
680+
add_subdirectory(./src/plugins)
681+
endif()
656682

657683
# Building tests
658684
if(BUILD_TESTS)

src/3rd_party-static/CMakeLists.txt

+2
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ set(JSONCPP_INCLUDE_DIRECTORY ${JSONCPP_INCLUDE_DIRECTORY} PARENT_SCOPE)
3636
add_subdirectory(./MessageBroker)
3737
set(MESSAGE_BROKER_INCLUDE_DIRECTORY ${MESSAGE_BROKER_INCLUDE_DIRECTORY} PARENT_SCOPE)
3838

39+
if (FIREFLY_RK3288)
3940
# --- sqlite3-3.18
4041
add_subdirectory(./sqlite3-3.18)
4142
set(SQLITE3_INCLUDE_DIRECTORY ${SQLITE3_INCLUDE_DIRECTORY} PARENT_SCOPE)
@@ -44,6 +45,7 @@ set(SQLITE3_INCLUDE_DIRECTORY ${SQLITE3_INCLUDE_DIRECTORY} PARENT_SCOPE)
4445
add_subdirectory(./openssl-fips-2.0.9)
4546
set(OPENSSL_INCLUDE_DIRECTORY ${OPENSSL_INCLUDE_DIRECTORY} PARENT_SCOPE)
4647
set(OPENSSL_LIB_DIRECTORY ${OPENSSL_LIB_DIRECTORY} PARENT_SCOPE)
48+
endif()
4749

4850
# --- encryption
4951
add_subdirectory(./encryption)

src/3rd_party-static/MessageBroker/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ include_directories (
55
./include/
66
../jsoncpp/include
77
../../components/utils/include
8-
../../components/include
8+
99
)
1010

1111
set (MESSAGE_BROKER_SOURCES

src/3rd_party-static/encryption/CMakeLists.txt

+7
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,20 @@ set(ENCRYPTION_INCLUDE_DIRECTORY ${ENCRYPTION_INCLUDE_DIRECTORY} PARENT_SCOPE)
33

44
include_directories (
55
./include
6+
)
7+
8+
if (FIREFLY_RK3288)
9+
include_directories (
610
${OPENSSL_INCLUDE_DIRECTORY}
711
)
12+
endif()
813

914
set (SOURCES
1015
./src/Base64.cpp
1116
./src/hashing.cc
1217
)
1318

19+
if (FIREFLY_RK3288)
1420
link_directories(
1521
${OPENSSL_LIB_DIRECTORY}
1622
)
@@ -19,6 +25,7 @@ set (LIBRARIES
1925
crypto
2026
ssl
2127
)
28+
endif()
2229

2330
add_library("encryption" ${SOURCES})
2431
target_link_libraries("encryption" "${LIBRARIES}")

src/3rd_party-static/libusbx-1.0.16/CMakeLists.txt

+19-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ include_directories (
1010
./
1111
)
1212

13+
if (FIREFLY_RK3288)
1314
set (LIBUSB_SOURCES
1415
./libusb/core.c
1516
./libusb/descriptor.c
@@ -23,8 +24,25 @@ set (LIBUSB_SOURCES
2324
./libusb/os/poll_posix.c
2425
./libusb/os/threads_posix.c
2526
)
27+
else()
28+
set (LIBUSB_SOURCES
29+
./libusb/core.c
30+
./libusb/descriptor.c
31+
./libusb/hotplug.c
32+
./libusb/io.c
33+
./libusb/strerror.c
34+
./libusb/sync.c
35+
./libusb/os/linux_udev.c
36+
./libusb/os/linux_netlink.c
37+
./libusb/os/linux_usbfs.c
38+
./libusb/os/poll_posix.c
39+
./libusb/os/threads_posix.c
40+
)
41+
endif()
2642

2743
add_library("Libusb-1.0.16" ${LIBUSB_SOURCES})
2844

2945

30-
#target_link_libraries("Libusb-1.0.16" udev)
46+
if (NOT FIREFLY_RK3288)
47+
target_link_libraries("Libusb-1.0.16" udev)
48+
endif()

src/3rd_party-static/libusbx-1.0.16/config.h

+3-1
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,9 @@
120120
#define USBI_TIMERFD_AVAILABLE 1
121121

122122
/* Use udev for device enumeration/hotplug */
123-
//#define USE_UDEV 1
123+
#ifndef FIREFLY_RK3288
124+
#define USE_UDEV 1
125+
#endif
124126

125127
/* Version number of package */
126128
#define VERSION "1.0.16"

src/3rd_party/apache-log4cxx-cmake/CMakeLists.txt

+28-3
Original file line numberDiff line numberDiff line change
@@ -40,12 +40,20 @@ file(MAKE_DIRECTORY
4040
${LOG4CXX_BUILD_DIRECTORY}
4141
)
4242

43+
if (FIREFLY_RK3288)
4344
set(COMMON_CONFIGURE_FLAGS
4445
"--host=arm-linux-gnueabihf"
4546
"--with-apr=../apr-build"
4647
"--with-apr-util=../apr-util-build"
4748
"LDFLAGS=-L${EXPAT_LIBS_DIRECTORY}"
4849
)
50+
else()
51+
set(COMMON_CONFIGURE_FLAGS
52+
"--with-apr=../apr-build"
53+
"--with-apr-util=../apr-util-build"
54+
"LDFLAGS=-L${EXPAT_LIBS_DIRECTORY}"
55+
)
56+
endif()
4957

5058
if(CMAKE_SYSTEM_NAME STREQUAL "QNX")
5159
if (CMAKE_SYSTEM_PROCESSOR MATCHES arm*)
@@ -55,9 +63,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "QNX")
5563
endif ()
5664
set(CONFIGURE_FLAGS "--host=${ARCHITECTURE}-nto-qnx" ${COMMON_CONFIGURE_FLAGS})
5765
else()
58-
set(CONFIGURE_FLAGS
59-
${COMMON_CONFIGURE_FLAGS}
60-
)
66+
set(CONFIGURE_FLAGS ${COMMON_CONFIGURE_FLAGS})
6167
endif()
6268

6369
add_custom_command(OUTPUT ${LOG4CXX_BUILD_DIRECTORY}/Makefile
@@ -67,10 +73,29 @@ add_custom_command(OUTPUT ${LOG4CXX_BUILD_DIRECTORY}/Makefile
6773
WORKING_DIRECTORY ${LOG4CXX_BUILD_DIRECTORY}
6874
)
6975

76+
if (FIREFLY_RK3288)
7077
add_custom_target(liblog4cxx ALL make
7178
DEPENDS ${LOG4CXX_BUILD_DIRECTORY}/Makefile
7279
WORKING_DIRECTORY ${LOG4CXX_BUILD_DIRECTORY}
7380
)
81+
else()
82+
add_custom_target(liblog4cxx ALL make
83+
COMMAND /bin/bash -c \"
84+
cd ${CMAKE_CURRENT_SOURCE_DIR}\;
85+
git log . 1>/dev/null 2>&1\;
86+
if [ \\$$? == 0 ]; then
87+
grep \\".commit_hash\\" ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so 1>/dev/null 2>&1\;
88+
if [ ! \\\$$? == 0 ]\; then
89+
cd ${CMAKE_CURRENT_SOURCE_DIR} &&
90+
git log --pretty=\\"format:%H\\" -1 ${LOG4CXX_SOURCE_DIRECTORY} > /tmp/commit_hash 2>/dev/null &&
91+
echo \\"Adding .commit_hash section\\" &&
92+
${objcopy} --add-section .commit_hash=/tmp/commit_hash ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so ${LOG4CXX_LIBS_DIRECTORY}/liblog4cxx.so 1>/dev/null 2>&1\;
93+
fi;
94+
fi\"
95+
DEPENDS ${LOG4CXX_BUILD_DIRECTORY}/Makefile
96+
WORKING_DIRECTORY ${LOG4CXX_BUILD_DIRECTORY}
97+
)
98+
endif()
7499

75100
install(
76101
DIRECTORY ${LOG4CXX_LIBS_DIRECTORY}/

src/3rd_party/apr-1.5.0/threadproc/unix/thread.c

+1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
* See the License for the specific language governing permissions and
1414
* limitations under the License.
1515
*/
16+
1617
#include "apr.h"
1718
#include "apr_portable.h"
1819
#include "apr_arch_threadproc.h"

src/3rd_party/apr-cmake/CMakeLists.txt

+4
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@ if(CMAKE_SYSTEM_NAME STREQUAL "QNX")
5656
"ac_cv_sizeof_struct_iovec=8"
5757
)
5858
else()
59+
if (FIREFLY_RK3288)
5960
set(CONFIGURE_FLAGS
6061
"--host=arm-linux-gnueabihf"
6162
"ac_cv_file__dev_zero=yes"
@@ -67,6 +68,9 @@ else()
6768
"apr_cv_mutex_robust_shared=no"
6869
"LDFLAGS=-lpthread"
6970
)
71+
else()
72+
set(CONFIGURE_FLAGS "")
73+
endif()
7074
endif()
7175

7276
add_custom_command(OUTPUT ${APR_BUILD_DIRECTORY}/Makefile

src/3rd_party/apr-util-cmake/CMakeLists.txt

+9-3
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,25 @@ file(MAKE_DIRECTORY
4040
set(EXPAT_SOURCE_DIRECTORY ${APR_UTIL_SOURCE_DIRECTORY}/../expat-2.1.0)
4141
set(EXPAT_BUILD_DIRECTORY ${APR_UTIL_BUILD_DIRECTORY}/../expat-2.1.0)
4242

43+
if (FIREFLY_RK3288)
4344
set(COMMON_CONFIGURE_FLAGS
4445
"--host=arm-linux-gnueabihf"
4546
"--with-apr=../apr-build"
4647
"--with-expat-source=${EXPAT_SOURCE_DIRECTORY}"
4748
"--with-expat-build=${EXPAT_BUILD_DIRECTORY}"
4849
)
50+
else()
51+
set(COMMON_CONFIGURE_FLAGS
52+
"--with-apr=../apr-build"
53+
"--with-expat-source=${EXPAT_SOURCE_DIRECTORY}"
54+
"--with-expat-build=${EXPAT_BUILD_DIRECTORY}"
55+
)
56+
endif()
4957

5058
if(CMAKE_SYSTEM_NAME STREQUAL "QNX")
5159
set(CONFIGURE_FLAGS "--host=${CMAKE_SYSTEM_PROCESSOR}-nto-qnx" ${COMMON_CONFIGURE_FLAGS})
5260
else()
53-
set(CONFIGURE_FLAGS
54-
${COMMON_CONFIGURE_FLAGS}
55-
)
61+
set(CONFIGURE_FLAGS ${COMMON_CONFIGURE_FLAGS})
5662
endif()
5763

5864

src/3rd_party/expat-2.1.0/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# This file is copyrighted under the BSD-license for buildsystem files of KDE
22
# copyright 2010, Patrick Spendrin <ps_ml@gmx.de>
33

4-
set(TARGET expat)
4+
project(expat)
55

66
cmake_minimum_required(VERSION 2.6)
77
set(PACKAGE_BUGREPORT "expat-bugs@libexpat.org")

src/3rd_party/set_3rd_party_paths.cmake

+4
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,11 @@
2828
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2929
# POSSIBILITY OF SUCH DAMAGE.
3030

31+
if(FIREFLY_RK3288)
32+
set(3RD_PARTY_INSTALL_PREFIX ${CMAKE_CURRENT_BINARY_DIR})
33+
else()
3134
set(3RD_PARTY_INSTALL_PREFIX "$ENV{THIRD_PARTY_INSTALL_PREFIX}")
35+
endif()
3236
set(USE_DEFAULT_3RD_PARTY_PATH "true")
3337
if(3RD_PARTY_INSTALL_PREFIX)
3438
set(USE_DEFAULT_3RD_PARTY_PATH "false")

src/appMain/CMakeLists.txt

+2-1
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,12 @@ if (TELEMETRY_MONITOR)
5959
TelemetryMonitor)
6060
endif()
6161

62+
if (FIREFLY_RK3288)
6263
link_directories(
6364
${OPENSSL_LIB_DIRECTORY}
6465
${BLUETOOTHLIBPATH}
6566
)
67+
endif()
6668

6769
set(LIBRARIES
6870
MediaManager
@@ -120,7 +122,6 @@ include_directories (
120122
${SecurityManagerIncludeDir}
121123
${COMPONENTS_DIR}/security_manager/include
122124
${COMPONENTS_DIR}/config_profile/include
123-
${COMPONENTS_DIR}/include/
124125
${COMPONENTS_DIR}/utils/include/
125126
${COMPONENTS_DIR}/connection_handler/include/
126127
${COMPONENTS_DIR}/hmi_message_handler/include

src/appMain/log4cxx.properties

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ log4j.appender.TelnetLogging.layout=org.apache.log4j.PatternLayout
1717
log4j.appender.TelnetLogging.layout.ConversionPattern=%-5p [%d{dd MMM yyyy HH:mm:ss,SSS}][%t][%c] %F:%L %M: %m%n
1818

1919
# Log file for all SmartDeviceLinkCore messages
20-
log4j.appender.SmartDeviceLinkCoreLogFile=org.apache.log4j.FileAppender
20+
log4j.appender.SmartDeviceLinkCoreLogFile=SafeFileAppender
2121
log4j.appender.SmartDeviceLinkCoreLogFile.File=SmartDeviceLinkCore.log
2222
log4j.appender.SmartDeviceLinkCoreLogFile.append=true
2323
log4j.appender.SmartDeviceLinkCoreLogFile.DatePattern='.' yyyy-MM-dd HH-mm

src/appMain/main.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@
4141
#include <fstream> // cpplint: Streams are highly discouraged.
4242

4343
// ----------------------------------------------------------------------------
44-
44+
// If disable log4cxx, those tow header files should not be included.
4545
#ifdef ENABLE_LOG
4646
#include "utils/log_message_loop_thread.h"
4747
#include "utils/logger.h"
4848
#endif
4949

50-
#include "life_cycle.h"
50+
#include "./life_cycle.h"
5151
#include "signal_handlers.h"
5252

5353
#include "utils/signals.h"

src/components/CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
# POSSIBILITY OF SUCH DAMAGE.
3030

3131
set(COMPONENTS_DIR ${CMAKE_SOURCE_DIR}/src/components)
32-
set(COMPONENTS_DIR ${COMPONENTS_DIR} PARENT_SCOPE)
3332

3433
# --- HMI_API interfaces
3534
add_subdirectory(./interfaces)

0 commit comments

Comments
 (0)