Procházet zdrojové kódy

#3 C10产品定制

Signed-off-by: wlxuz <myxuan475@126.com>
Change-Id: Ie3e25f9b9592e54ec10418a3cba9c041708c5ba8
wlxuz před 10 měsíci
rodič
revize
2671cf0a7e
3 změnil soubory, kde provedl 77 přidání a 22 odebrání
  1. 23 12
      C10/CMakeLists.txt
  2. 4 10
      C10/build.py
  3. 50 0
      C10/vendor.json

+ 23 - 12
C10/CMakeLists.txt

@@ -2,14 +2,15 @@
 #rights reserved
 cmake_minimum_required(VERSION 3.6)
 
+# set(CMAKE_TOOLCHAIN_FILE ${ROOT_DIR}/buildtools/cmake/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.cmake)
 include(${ROOT_DIR}/buildtools/cmake/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.cmake)
 #project name
 set(PROJECT_NAME "leo-das")
 
 message(INFO " SYSTEM_ARCH:${SYSTEM_ARCH}\n")
 set(CMAKE_BUILD_TYPE RELEASE)
-set(CMAKE_CXX_FLAGS "-fPIC -std=gnu++0x")
-set(CMAKE_C_FLAGS "-O3 -fPIC -Wunused-result")
+set(CMAKE_CXX_FLAGS "-fPIC -std=gnu++11 -Wno-error=implicit-function-declaration -Wno-error=int-conversion")
+set(CMAKE_C_FLAGS "-O3 -fPIC -Wunused-result -Wno-error=implicit-function-declaration -Wno-error=int-conversion")
 
 # 获取当前的分支
 set(GIT_BRANCH "")
@@ -28,22 +29,32 @@ add_definitions(-DUSE_HTNICE)
 add_definitions(-DHTNICE_K4)
 # add_definitions(-DLINUX)
 
-set(BUILD_SHARED_LIBS OFF)
+set(BUILD_SHARED_LIBS ON)
 set(EVENT_LIBRARY_TYPE STATIC)
 
 include_directories(${PRODUCT_ROOT_DIR})
-
-build_subdirectory(thirdparty/openssl link thirdparty/openssl/ssl)
-build_subdirectory(thirdparty/mbedtls)
-build_subdirectory(thirdparty/zlib)
+include_directories(${PRODUCT_ROOT_DIR}/thirdparty)
+include_directories(${PRODUCT_BUILD_DIR}/thirdparty)
+
+# set(OPENSSL_ROOT_DIR "${PRODUCT_BUILD_DIR}/thirdparty/openssl")
+# set(OPENSSL_CRYPTO_LIBRARY ${PRODUCT_BUILD_DIR}/thirdparty/openssl/crypto/libcrypto.so)
+# set(OPENSSL_SSL_LIBRARY ${PRODUCT_BUILD_DIR}/thirdparty/openssl/ssl/libssl.so)
+# set(OPENSSL_INCLUDE_DIR "${PRODUCT_BUILD_DIR}/thirdparty/openssl/include")
+# # set(CMAKE_EXE_LINKER_FLAGS "-L${PRODUCT_BUILD_DIR}/thirdparty/openssl/crypto -lcrypto -L${PRODUCT_BUILD_DIR}/thirdparty/openssl/ssl -lssl")
+# # INCLUDE thirdparty/openssl/include LINK thirdparty/openssl/ssl thirdparty/openssl/crypto
+# build_project(thirdparty/openssl)
+# build_subdirectory(thirdparty/mbedtls)
+# build_subdirectory(thirdparty/zlib)
 
 set(LIBXML2_WITH_PYTHON OFF)
-build_subdirectory(thirdparty/libxml2)
+# build_subdirectory(thirdparty/libxml2 INCLUDE thirdparty/libxml2)
+
+build_subdirectory(thirdparty/SQLiteCpp INCLUDE thirdparty/SQLiteCpp/sqlite3)
 
-build_subdirectory(thirdparty/SQLiteCpp include thirdparty/SQLiteCpp/sqlite3)
+# build_subdirectory(utils)
 
-build_subdirectory(utils)
+# build_subdirectory(foundation/gw_leo)
 
-build_subdirectory(foundation/gw_leo)
+# build_subdirectory(foundation/webconfig)
 
-build_subdirectory(foundation/webconfig)
+# build_subdirectory(Lora/sx1302_hal)

+ 4 - 10
C10/build.py

@@ -6,15 +6,12 @@ import re
 import getpass
 import glob
 
-def build(build_utils, job_n):
+def build(build_utils, root_dir, bin_dir, job_n):
     # 设置环境变量
 
-    root_dir = os.environ['TOP_DIR']
-    bin_dir = os.environ['OUT_DIR']
-
     os.environ['ARCH'] = 'arm'
     os.environ['CROSS_COMPILE'] = f'{root_dir}/buildtools/toolchains/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-'
-    os.environ["DESTDIR"] = f'{bin_dir}/Lora/sx1302_hal'
+    # os.environ["DESTDIR"] = f'{bin_dir}/Lora/sx1302_hal'
     os.environ["OBJDIR"] = f'{bin_dir}/Lora/sx1302_hal'
     # 调用make命令,指定工作目录
     # 注意:subprocess.run在Python 3.5及以上版本中可用
@@ -24,13 +21,10 @@ def build(build_utils, job_n):
     build_utils.replace_value_in_file(f'{root_dir}/Lora/sx1302_hal/target.cfg', "TARGET_USR", getpass.getuser())
 
     subprocess.check_call(['make', f'--directory={root_dir}/Lora/sx1302_hal', f'--jobs={job_n}'])
+    subprocess.check_call(['make', f'--directory={root_dir}/system/quectel-cm', f'--jobs={job_n}'])
 
 
-def build_install(build_utils):
-    root_dir = os.environ['TOP_DIR']
-    bin_dir = os.environ['OUT_DIR']
-    install_dir = os.environ['INSTALL_DIR']
-    job_n = os.environ["JOBS_N"]
+def build_install(build_utils, root_dir, install_dir, job_n):
     # install test_loragw_*
     build_utils.move_matching_files(f'{root_dir}/Lora/sx1302_hal/libloragw/test_loragw_*', f'{install_dir}/Lora/sx1302_hal/')
     build_utils.move_matching_files(f'{root_dir}/Lora/sx1302_hal/tools/reset_lgw.sh', f'{install_dir}/Lora/sx1302_hal/', True)

+ 50 - 0
C10/vendor.json

@@ -0,0 +1,50 @@
+{
+    "product-name": "C10",
+    "version": "1.0.0",
+    "toolchain":"$PRODUCT_ROOT_DIR/buildtools/cmake/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.cmake",
+    "build-mode": "Debug",
+    "modules":[
+        {
+            "name": "jsoncpp",
+            "options": [],
+            "include":"$PRODUCT_ROOT_DIR/thirdparty/jsoncpp/include"
+        },
+        {
+            "name": "openssl",
+            "exports" : ["OPENSSL_ROOT_DIR=$PRODUCT_BUILD_DIR/thirdparty/openssl"]
+        },
+        {
+            "name": "mbedtls"
+        },
+        {
+            "name": "zlib"
+        },
+        {
+            "name": "SQLiteCpp"
+        },
+        {
+            "name": "tinyxml2"
+        },
+        {
+            "name" : "goahead",
+            "include":"$PRODUCT_BUILD_DIR/thirdparty/goahead/build/linux-x64-default/inc",
+            "link": "$PRODUCT_BUILD_DIR/thirdparty/goahead/build/linux-x64-default/bin",
+            "install":[
+                {
+                    "files" : ["$PRODUCT_BUILD_DIR/thirdparty/goahead/build/linux-x64-default/*"],
+                    "dstdir": "linux-x64-default"
+                }
+            ],
+            "exports":[
+            ]
+        },
+        {
+            "name": "libevent",
+            "options":["-DEVENT__DISABLE_TESTS=ON", "-DEVENT__HAVE_EPOLL_PWAIT2=0"]
+        },
+        {
+            "name": "xfrpc",
+            "options":["-DTHIRDPARTY_STATIC_BUILD=ON"]
+        }
+    ]
+}