From b6fe48ba79328c7f9563d4e2cfc8573222953bde Mon Sep 17 00:00:00 2001 From: xb <18656218039@163.com> Date: Mon, 5 Jan 2026 17:32:54 +0800 Subject: [PATCH] Initial commit from DCSP - 2026/1/5 17:32:54 --- CMakeLists.txt | 46 + build/CMakeCache.txt | 369 ++++++++ build/CMakeFiles/3.22.1/CMakeCCompiler.cmake | 72 ++ .../CMakeFiles/3.22.1/CMakeCXXCompiler.cmake | 83 ++ .../3.22.1/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 15968 bytes .../3.22.1/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 15992 bytes build/CMakeFiles/3.22.1/CMakeSystem.cmake | 15 + .../3.22.1/CompilerIdC/CMakeCCompilerId.c | 803 ++++++++++++++++++ build/CMakeFiles/3.22.1/CompilerIdC/a.out | Bin 0 -> 16088 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 791 +++++++++++++++++ build/CMakeFiles/3.22.1/CompilerIdCXX/a.out | Bin 0 -> 16096 bytes .../CMakeDirectoryInformation.cmake | 16 + build/CMakeFiles/CMakeOutput.log | 449 ++++++++++ build/CMakeFiles/Com_kk.dir/DependInfo.cmake | 19 + build/CMakeFiles/Com_kk.dir/build.make | 110 +++ build/CMakeFiles/Com_kk.dir/cmake_clean.cmake | 11 + .../Com_kk.dir/compiler_depend.make | 2 + .../CMakeFiles/Com_kk.dir/compiler_depend.ts | 2 + build/CMakeFiles/Com_kk.dir/depend.make | 2 + build/CMakeFiles/Com_kk.dir/flags.make | 10 + .../CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.o | Bin 0 -> 219440 bytes .../Com_kk.dir/hook-rs422_kk.cpp.o.d | 423 +++++++++ build/CMakeFiles/Com_kk.dir/link.txt | 1 + build/CMakeFiles/Com_kk.dir/progress.make | 3 + build/CMakeFiles/Makefile.cmake | 122 +++ build/CMakeFiles/Makefile2 | 112 +++ build/CMakeFiles/TargetDirectories.txt | 3 + build/CMakeFiles/cmake.check_cache | 1 + build/CMakeFiles/progress.marks | 1 + build/Makefile | 181 ++++ build/bin/Com_kk | Bin 0 -> 129440 bytes build/cmake_install.cmake | 54 ++ hook-rs422_kk.cpp | 737 ++++++++++++++++ hook-rs422_kk.h | 115 +++ 34 files changed, 4553 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 build/CMakeCache.txt create mode 100644 build/CMakeFiles/3.22.1/CMakeCCompiler.cmake create mode 100644 build/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake create mode 100755 build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_C.bin create mode 100755 build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_CXX.bin create mode 100644 build/CMakeFiles/3.22.1/CMakeSystem.cmake create mode 100644 build/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c create mode 100755 build/CMakeFiles/3.22.1/CompilerIdC/a.out create mode 100644 build/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100755 build/CMakeFiles/3.22.1/CompilerIdCXX/a.out create mode 100644 build/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 build/CMakeFiles/CMakeOutput.log create mode 100644 build/CMakeFiles/Com_kk.dir/DependInfo.cmake create mode 100644 build/CMakeFiles/Com_kk.dir/build.make create mode 100644 build/CMakeFiles/Com_kk.dir/cmake_clean.cmake create mode 100644 build/CMakeFiles/Com_kk.dir/compiler_depend.make create mode 100644 build/CMakeFiles/Com_kk.dir/compiler_depend.ts create mode 100644 build/CMakeFiles/Com_kk.dir/depend.make create mode 100644 build/CMakeFiles/Com_kk.dir/flags.make create mode 100644 build/CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.o create mode 100644 build/CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.o.d create mode 100644 build/CMakeFiles/Com_kk.dir/link.txt create mode 100644 build/CMakeFiles/Com_kk.dir/progress.make create mode 100644 build/CMakeFiles/Makefile.cmake create mode 100644 build/CMakeFiles/Makefile2 create mode 100644 build/CMakeFiles/TargetDirectories.txt create mode 100644 build/CMakeFiles/cmake.check_cache create mode 100644 build/CMakeFiles/progress.marks create mode 100644 build/Makefile create mode 100755 build/bin/Com_kk create mode 100644 build/cmake_install.cmake create mode 100644 hook-rs422_kk.cpp create mode 100644 hook-rs422_kk.h diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..686017b --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,46 @@ +cmake_minimum_required(VERSION 3.10) +project(Com_kk) + +# 设置C++标准 +set(CMAKE_CXX_STANDARD 14) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +# 设置编译选项 +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -pthread") + +# 包含头文件路径 +include_directories( + ${CMAKE_CURRENT_SOURCE_DIR} # 当前目录 + /usr/local/include/simmsg # simmsg头文件目录 + /usr/local/include # 系统本地include + /usr/include # 系统include +) + +# 链接库路径 +link_directories( + /usr/local/lib # 系统本地lib + /usr/lib # 系统lib + /usr/lib/x86_64-linux-gnu # 系统64位库 +) + +# 添加可执行文件 +add_executable(Com_kk + hook-rs422_kk.cpp + +) + +# 链接库 +target_link_libraries(Com_kk + pthread + m + rt + simmsg + fastrtps + fastcdr + foonathan_memory +) + +# 设置输出目录 +set_target_properties(Com_kk PROPERTIES + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin +) diff --git a/build/CMakeCache.txt b/build/CMakeCache.txt new file mode 100644 index 0000000..bcfc04a --- /dev/null +++ b/build/CMakeCache.txt @@ -0,0 +1,369 @@ +# This is the CMakeCache file. +# For build in directory: /home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build +# It was generated by CMake: /usr/bin/cmake +# You can edit this file to change values found and used by cmake. +# If you do not want to change any of the values, simply exit the editor. +# If you do want to change a value, simply edit, save, and exit the editor. +# The syntax for the file is as follows: +# KEY:TYPE=VALUE +# KEY is the name of a variable in the cache. +# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!. +# VALUE is the current value for the KEY. + +######################## +# EXTERNAL cache entries +######################## + +//Path to a program. +CMAKE_ADDR2LINE:FILEPATH=/usr/bin/addr2line + +//Path to a program. +CMAKE_AR:FILEPATH=/usr/bin/ar + +//Choose the type of build, options are: None Debug Release RelWithDebInfo +// MinSizeRel ... +CMAKE_BUILD_TYPE:STRING= + +//Enable/Disable color output during build. +CMAKE_COLOR_MAKEFILE:BOOL=ON + +//CXX compiler +CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/c++ + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11 + +//Flags used by the CXX compiler during all build types. +CMAKE_CXX_FLAGS:STRING= + +//Flags used by the CXX compiler during DEBUG builds. +CMAKE_CXX_FLAGS_DEBUG:STRING=-g + +//Flags used by the CXX compiler during MINSIZEREL builds. +CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the CXX compiler during RELEASE builds. +CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the CXX compiler during RELWITHDEBINFO builds. +CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//C compiler +CMAKE_C_COMPILER:FILEPATH=/usr/bin/cc + +//A wrapper around 'ar' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_AR:FILEPATH=/usr/bin/gcc-ar-11 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib-11 + +//Flags used by the C compiler during all build types. +CMAKE_C_FLAGS:STRING= + +//Flags used by the C compiler during DEBUG builds. +CMAKE_C_FLAGS_DEBUG:STRING=-g + +//Flags used by the C compiler during MINSIZEREL builds. +CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG + +//Flags used by the C compiler during RELEASE builds. +CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG + +//Flags used by the C compiler during RELWITHDEBINFO builds. +CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG + +//Path to a program. +CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND + +//Flags used by the linker during all build types. +CMAKE_EXE_LINKER_FLAGS:STRING= + +//Flags used by the linker during DEBUG builds. +CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during MINSIZEREL builds. +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during RELEASE builds. +CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during RELWITHDEBINFO builds. +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Enable/Disable output of compile commands during generation. +CMAKE_EXPORT_COMPILE_COMMANDS:BOOL= + +//Install path prefix, prepended onto install directories. +CMAKE_INSTALL_PREFIX:PATH=/usr/local + +//Path to a program. +CMAKE_LINKER:FILEPATH=/usr/bin/ld + +//Path to a program. +CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/gmake + +//Flags used by the linker during the creation of modules during +// all build types. +CMAKE_MODULE_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of modules during +// DEBUG builds. +CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of modules during +// MINSIZEREL builds. +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of modules during +// RELEASE builds. +CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of modules during +// RELWITHDEBINFO builds. +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_NM:FILEPATH=/usr/bin/nm + +//Path to a program. +CMAKE_OBJCOPY:FILEPATH=/usr/bin/objcopy + +//Path to a program. +CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump + +//Value Computed by CMake +CMAKE_PROJECT_DESCRIPTION:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_HOMEPAGE_URL:STATIC= + +//Value Computed by CMake +CMAKE_PROJECT_NAME:STATIC=Com_kk + +//Path to a program. +CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib + +//Path to a program. +CMAKE_READELF:FILEPATH=/usr/bin/readelf + +//Flags used by the linker during the creation of shared libraries +// during all build types. +CMAKE_SHARED_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of shared libraries +// during DEBUG builds. +CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of shared libraries +// during MINSIZEREL builds. +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELEASE builds. +CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of shared libraries +// during RELWITHDEBINFO builds. +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//If set, runtime paths are not added when installing shared libraries, +// but are added when building. +CMAKE_SKIP_INSTALL_RPATH:BOOL=NO + +//If set, runtime paths are not added when using shared libraries. +CMAKE_SKIP_RPATH:BOOL=NO + +//Flags used by the linker during the creation of static libraries +// during all build types. +CMAKE_STATIC_LINKER_FLAGS:STRING= + +//Flags used by the linker during the creation of static libraries +// during DEBUG builds. +CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING= + +//Flags used by the linker during the creation of static libraries +// during MINSIZEREL builds. +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELEASE builds. +CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING= + +//Flags used by the linker during the creation of static libraries +// during RELWITHDEBINFO builds. +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING= + +//Path to a program. +CMAKE_STRIP:FILEPATH=/usr/bin/strip + +//If this value is on, makefiles will be generated without the +// .SILENT directive, and all commands will be echoed to the console +// during the make. This is useful for debugging only. With Visual +// Studio IDE projects all commands are done without /nologo. +CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE + +//Value Computed by CMake +Com_kk_BINARY_DIR:STATIC=/home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build + +//Value Computed by CMake +Com_kk_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +Com_kk_SOURCE_DIR:STATIC=/home/xb/satellite/aircraft-1/container-3/通信机-kk仿真 + + +######################## +# INTERNAL cache entries +######################## + +//ADVANCED property for variable: CMAKE_ADDR2LINE +CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_AR +CMAKE_AR-ADVANCED:INTERNAL=1 +//This is the directory where this CMakeCache.txt was created +CMAKE_CACHEFILE_DIR:INTERNAL=/home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build +//Major version of cmake used to create the current loaded cache +CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3 +//Minor version of cmake used to create the current loaded cache +CMAKE_CACHE_MINOR_VERSION:INTERNAL=22 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=1 +//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE +CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1 +//Path to CMake executable. +CMAKE_COMMAND:INTERNAL=/usr/bin/cmake +//Path to cpack program executable. +CMAKE_CPACK_COMMAND:INTERNAL=/usr/bin/cpack +//Path to ctest program executable. +CMAKE_CTEST_COMMAND:INTERNAL=/usr/bin/ctest +//ADVANCED property for variable: CMAKE_CXX_COMPILER +CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_AR +CMAKE_CXX_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_COMPILER_RANLIB +CMAKE_CXX_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS +CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG +CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL +CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE +CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO +CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER +CMAKE_C_COMPILER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_AR +CMAKE_C_COMPILER_AR-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_COMPILER_RANLIB +CMAKE_C_COMPILER_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS +CMAKE_C_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG +CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL +CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE +CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO +CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_DLLTOOL +CMAKE_DLLTOOL-ADVANCED:INTERNAL=1 +//Executable file format +CMAKE_EXECUTABLE_FORMAT:INTERNAL=ELF +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS +CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG +CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL +CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE +CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS +CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1 +//Name of external makefile project generator. +CMAKE_EXTRA_GENERATOR:INTERNAL= +//Name of generator. +CMAKE_GENERATOR:INTERNAL=Unix Makefiles +//Generator instance identifier. +CMAKE_GENERATOR_INSTANCE:INTERNAL= +//Name of generator platform. +CMAKE_GENERATOR_PLATFORM:INTERNAL= +//Name of generator toolset. +CMAKE_GENERATOR_TOOLSET:INTERNAL= +//Source directory with the top level CMakeLists.txt file for this +// project +CMAKE_HOME_DIRECTORY:INTERNAL=/home/xb/satellite/aircraft-1/container-3/通信机-kk仿真 +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=1 +//ADVANCED property for variable: CMAKE_LINKER +CMAKE_LINKER-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MAKE_PROGRAM +CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS +CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG +CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL +CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE +CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_NM +CMAKE_NM-ADVANCED:INTERNAL=1 +//number of local generators +CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJCOPY +CMAKE_OBJCOPY-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_OBJDUMP +CMAKE_OBJDUMP-ADVANCED:INTERNAL=1 +//Platform information initialized +CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_RANLIB +CMAKE_RANLIB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_READELF +CMAKE_READELF-ADVANCED:INTERNAL=1 +//Path to CMake installation. +CMAKE_ROOT:INTERNAL=/usr/share/cmake-3.22 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS +CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG +CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL +CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE +CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH +CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_SKIP_RPATH +CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS +CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG +CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL +CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE +CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO +CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CMAKE_STRIP +CMAKE_STRIP-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 + diff --git a/build/CMakeFiles/3.22.1/CMakeCCompiler.cmake b/build/CMakeFiles/3.22.1/CMakeCCompiler.cmake new file mode 100644 index 0000000..488ad37 --- /dev/null +++ b/build/CMakeFiles/3.22.1/CMakeCCompiler.cmake @@ -0,0 +1,72 @@ +set(CMAKE_C_COMPILER "/usr/bin/cc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "11.4.0") +set(CMAKE_C_COMPILER_VERSION_INTERNAL "") +set(CMAKE_C_COMPILER_WRAPPER "") +set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23") +set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes") +set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros") +set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert") +set(CMAKE_C17_COMPILE_FEATURES "c_std_17") +set(CMAKE_C23_COMPILE_FEATURES "c_std_23") + +set(CMAKE_C_PLATFORM_ID "Linux") +set(CMAKE_C_SIMULATE_ID "") +set(CMAKE_C_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar-11") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib-11") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCC 1) +set(CMAKE_C_COMPILER_LOADED 1) +set(CMAKE_C_COMPILER_WORKS TRUE) +set(CMAKE_C_ABI_COMPILED TRUE) + +set(CMAKE_C_COMPILER_ENV_VAR "CC") + +set(CMAKE_C_COMPILER_ID_RUN 1) +set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m) +set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC) +set(CMAKE_C_LINKER_PREFERENCE 10) + +# Save compiler ABI information. +set(CMAKE_C_SIZEOF_DATA_PTR "8") +set(CMAKE_C_COMPILER_ABI "ELF") +set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_C_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +if(CMAKE_C_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_C_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}") +endif() + +if(CMAKE_C_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +endif() + +set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_C_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/11/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") +set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "gcc;gcc_s;c;gcc;gcc_s") +set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/11;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/build/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake b/build/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..345e930 --- /dev/null +++ b/build/CMakeFiles/3.22.1/CMakeCXXCompiler.cmake @@ -0,0 +1,83 @@ +set(CMAKE_CXX_COMPILER "/usr/bin/c++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "GNU") +set(CMAKE_CXX_COMPILER_VERSION "11.4.0") +set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "") +set(CMAKE_CXX_COMPILER_WRAPPER "") +set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "17") +set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON") +set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23") +set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters") +set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates") +set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates") +set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17") +set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20") +set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar-11") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib-11") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_MT "") +set(CMAKE_COMPILER_IS_GNUCXX 1) +set(CMAKE_CXX_COMPILER_LOADED 1) +set(CMAKE_CXX_COMPILER_WORKS TRUE) +set(CMAKE_CXX_ABI_COMPILED TRUE) + +set(CMAKE_CXX_COMPILER_ENV_VAR "CXX") + +set(CMAKE_CXX_COMPILER_ID_RUN 1) +set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang C OBJC OBJCXX) + if (CMAKE_${lang}_COMPILER_ID_RUN) + foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS) + list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension}) + endforeach() + endif() +endforeach() + +set(CMAKE_CXX_LINKER_PREFERENCE 30) +set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1) + +# Save compiler ABI information. +set(CMAKE_CXX_SIZEOF_DATA_PTR "8") +set(CMAKE_CXX_COMPILER_ABI "ELF") +set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN") +set(CMAKE_CXX_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") + +if(CMAKE_CXX_SIZEOF_DATA_PTR) + set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}") +endif() + +if(CMAKE_CXX_COMPILER_ABI) + set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}") +endif() + +if(CMAKE_CXX_LIBRARY_ARCHITECTURE) + set(CMAKE_LIBRARY_ARCHITECTURE "x86_64-linux-gnu") +endif() + +set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "") +if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX) + set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}") +endif() + + + + + +set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/usr/include/c++/11;/usr/include/x86_64-linux-gnu/c++/11;/usr/include/c++/11/backward;/usr/lib/gcc/x86_64-linux-gnu/11/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include") +set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "stdc++;m;gcc_s;gcc;c;gcc_s;gcc") +set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "/usr/lib/gcc/x86_64-linux-gnu/11;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_C.bin b/build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000000000000000000000000000000000000..06dd536772c02e825fd19762b11056db14996a8c GIT binary patch literal 15968 zcmeHOYit}>6~4Q15|=!@Nn>J?(k!HfgyMq0>$q*>0HIp1bH ztXow0fy7+P``z=M$Gvmr&hDL=dq0{U9Eita3T2skhhiy}@R^h-l5dj=K}zjWYv}X! z>K3(vz7OM#n>$TGD7xi<4Oa(#iywSzo3VV?6*{zU+!ywN{)m5JeA1c zfsaW8K=AeUlG0)bN5l^p^yA#jxBGtcJ&Q3ZdD$iiKNi_fX}&$34!;Oir9B|>$vNTw zJ(ABbc1Rdt*l$Ao!q_ih+!7%E*iyG;)?>joW3{az+mJlyHV`+R%_Q81w%8GZiD5`-|~X*<|0uS?BS`+_ygcFr_(8-*|q(b&TsL zxz6Vo*7k1@tR^8ud656VJ-m#;*qB8)N+ zWgyBxlz}J%Q3j$6L>c%$&cI(aK%F9?#o?b+|jGHk!D&&=yjKDSSQ za$%VsdrH4}-Q7R|ZkGVfwYjmDEz~dgbAM0vuv%5_II5rOiE~w-dDdO6pYB;f!sYF? zTJ3U+k**!TP(MfYv%*bBCCWgQfhYq}2BHi^ z8Hh3vWgyBxlz}J%Q3j$6{QDW;_g^npGD8Eyd&~63t~6%kCSB)P$DZRs`=QM6Kz6S? zZCFmp${lku`;7xb=}iAnuk!3X|LnAD86}6_-5ndujEoGXjr34|rgw-eJiVE3%^t461(@XicKYAn^&)Fo~0LR z%=6lT6Xf$IHt1jJy^*_(s@?Rzjd+h(n;2Nz_Rf}7_cWhW`!?-;%g)=p*O%=7KKf6< zj_O=Erc3`X5dR@2(rXi+i1)2o5qGF%CZZB$Aj&|LfhYq}2BHi^8Hh3vWgyBxl!5<^ z3}C$?)+b`^p?A|mU0jWB%KF7MB7a%dIlfM0tb^PvGH!h~iH!A-e80p6`oCVUl~_I} zix{ysae{C7sQ7DImAWMQ*Z8!0KyZ~{n_#OT0Ba+wvi@~E%x*Z;@v7T z?EX>n`%8K9sOuv8i^=H)_YJ-0Nw=on@y*Ne{9R=9OTz#60PDm5!-!aydZ4dwZ*tqw zY^CT{lAWDex7N|#S@Fcq`?|Wcj&7}MyC`0+Ngh{C>V;a^hVvaG&8H+GNin#Yu#r8V zkGNW^CS^Q|xk?IuHpK4~9^)JK8LGron@Xg72IHPrS;y#U0miGZRqDf3;dXJofah@- zQ#UJ&fAC+UN~8XN$FonURMNM^`1*zLCxjPJFA9HB2wDx`m8J6Y5@}T%^7j&-gi!z=_V|rTr2-^X?nY_3#|=>*5;~#yymeGfyqU zNiJjcH1P=o;P*UA|AfXGo-chIsBz*#0@< zlW-1TbG-37`>n*UkJGng=({iCcv{7|qRlVUBj8R@! zUna|3$r#U1e6Zfy2EAy{C=_Z4T&v&rt8dOdrv-%fd+OqSgBkE91c6@c!OGV|ZZTNP5H=>D^Bc zE6FglSs{fj3a_v&!Rvb9>8UcToavg%%MpcT!QZq%!r~naMy^~kCd^`vcQ<5)$tq_T zjY`?dQIH~i7};`Je7*e>hCw?b_`xb4B5##wxc_1CHjMgl@Ky`&Y|zG|@^ry9vxKhW z;{*@Ep5D5(I%bJq~*BN0V-RuY153I6N*k@I}bL`e8MbGC@nW#q$YfH z9ba>|<&^DGagkt<&av_)J1C8ZiqahvfVF zL(TUBDvic?frf72a(mTPo*&UATz|?Q-tUI_5gK6IVA)Cn&td4Y z_R3QGxe0oz#sEWApf2ROE~`@Bqh)B;E#D75c6g9 zA9ld|$e-tokTGurc1Yvl{-aN4sKPmgKjyK(su-gE@bQ0^^n6Uv*MAq}_W|>F3FEbe zI^!4UKj@znKcI+p7s$XzL;fA20KyIdAOpV<@=u8ZmHsLAI{@f ziDMJ^V;)-F!PZKpyw4jS@CPoCD(GK#=@^V}Kz!S^5EZ=vs0t(VJuqeNwUC^*{nwLBMY Q?7xnGSg5QHIfO*@PyNmlj{pDw literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_CXX.bin b/build/CMakeFiles/3.22.1/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 0000000000000000000000000000000000000000..8d4b8ab1e6ea857840da1aa325eb4ebef300bbce GIT binary patch literal 15992 zcmeHOYit}>6~4Q9xipD4Zqk^f#7jv~0(fFOj&TDa>)7k;BF7Gi1BDPKyWX+AVjpIA zmf8hM+5oB*f&xN7e}JO$lnPQSA;KSEt5m5#0uhObApQhOr65Ah#!#K;Bw?yH}mhbcS!usMs*nF$F~_;0ny%j$WP}*^sfat&4;DE zrOrb{@(+~ss-3xPx~F?*F4LaN7An*2)4e_IJ>6EhXm#nPxnEKG@R&LPqb84T$^bEZNhbAK^jDx0#man^bKG57t?e~Ho@re8c$a2@0NiLNvJ zyj|4Ajm+Ffgl6_#~Ju*^OnCQPF-(GoL=#pok}G>U3J5?UnWjH)pS8;rMCM~qW@Cc z_H}~hHpTWN{YXm#O3R&pPR?HXP-6D?iBo@=J2V>atako1ac1w&C_rsPnJix%x0>5N zrQ;F*2r-E>E55*R&%C>Vntm_Wsp;ElSDV{Tvf%|mvd?P!-D!p$w-U2+i6@`imw0l1 zSt4{Xap{)3o&s!>08O>4m%HvGvK>E`hZ^>b7|E8KKYf(!&12r>|4Ajm+F zfgl4x27(L(83-~EWFW}EKc4}9|MhAmIXpPBr%Z3`isN=>$}Ju1=soVWA5M-8ruVor zwo@uPnPa8oe*3_1JUKAjr?j2+PtUlHT`bYNyJJJi(b1u}9UmS@_6?JT)~C|hW3&!| z9YULzy@TJq@w=?E&(~@v2+t8dO!zoqg7A^KTJ0Pm7k;P8C3OE`6`GEOHm_dQbe3MI zG0$rUPLR)=*VCWUmN*MxPQ&caEV%GA}B!yf(!&12r>|4Ajm+Ffgl4x27(L(8TjAG z0M;vFeInK#>YEWzjUisWchJf z#E7+tlYGNR#jI&n>Wb)JXK3}X;O&B~f*S+@SQ}ZD^^dDW(IE|?A64OLv8OJGw?$;w zy;3v%r95fsmdIu?IlbUs&}&b+HPy#AC&zO`Wb{kI|Mvjv!~esGSeJUBzkg43`_Xiz z;8voYomRKi(cW3nV&?;0T~=6gjB1F#0-OR&#SCM^t1ru)o7LaI90e^Trc2x9EQ{# z3gaLAx2e*o|3A_85fzOZON`gc!pDTixO++X6T%CqR_bs_Mbt?lXqA92OXY2wwr^2~ z-YAA1Xw=VL+Masn8&B^fUa58Ub@~W1qV4ZgxX!>k#5Y=B{t)p|7KWoA zG=5rRur$c~MOtW_#AF=mXHBHKCiWO_@On|~cgXLleuhNK8^m*e{Prut^{ya<#x~;b zUc?w-5AiKw`jzxu7wX7Z$?dd?v{Ig)w%KlKLJ?7RE92wVm|9p>Z@YPWjMvqd$ud*4 zCvwGfDraZhVySGWD${DLn4iiyu9LAk8e8xh|E!%Vl~VLju;7+v)OabCckE0hpPwNY zk7SdjyU4WvVCut8|GoG2Q!Ck=Q|jBFw8o~Ul>LFB&Yo;xyl8u#MKarE*o7yIb~-yj z?Pjv6g4W-oy*&C{)^&4^$D~(VP*$jOgNOSL>Zg-7Z6X+W|8U>IWIxfg8^ew#M4K2m ztn33rBm4V??2*C2Bk@stv~NE>)FeaSriK`{GQ8II1t*hoQ%a|fqOf50GLW!%V}qS3 z7wySZA;X&(5$9w{a`ySZ)$M1RZNB&h*ECoL&B0y+}%FGKF&fi%v0P;I9Z}GSPb5imlqWx;r zSOdRk#QHbRKZsvbh3AmCFTs2k`y~DLkb%#TZ?nfA^XK_?BB{X6NDDIf=Sjh15AE0I zotE*a^1)Hz@y`W*IFH{Vj!oc?d1!SfTPqdQ-wR*x2hNkq>tA>1Fg|Dp5#R^;7FC!- z`Oe4_dXqJSM2 literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/3.22.1/CMakeSystem.cmake b/build/CMakeFiles/3.22.1/CMakeSystem.cmake new file mode 100644 index 0000000..f4af1d2 --- /dev/null +++ b/build/CMakeFiles/3.22.1/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-6.8.0-90-generic") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "6.8.0-90-generic") +set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") + + + +set(CMAKE_SYSTEM "Linux-6.8.0-90-generic") +set(CMAKE_SYSTEM_NAME "Linux") +set(CMAKE_SYSTEM_VERSION "6.8.0-90-generic") +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/build/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c b/build/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..41b99d7 --- /dev/null +++ b/build/CMakeFiles/3.22.1/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,803 @@ +#ifdef __cplusplus +# error "A C++ compiler has been selected for C." +#endif + +#if defined(__18CXX) +# define ID_VOID_MAIN +#endif +#if defined(__CLASSIC_C__) +/* cv-qualifiers did not exist in K&R C */ +# define const +# define volatile +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_C) +# define COMPILER_ID "SunPro" +# if __SUNPRO_C >= 0x5100 + /* __SUNPRO_C = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_C>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_C>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_C & 0xF) +# endif + +#elif defined(__HP_cc) +# define COMPILER_ID "HP" + /* __HP_cc = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_cc/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_cc/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_cc % 100) + +#elif defined(__DECC) +# define COMPILER_ID "Compaq" + /* __DECC_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECC_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECC_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECC_VER % 10000) + +#elif defined(__IBMC__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ >= 800 +# define COMPILER_ID "XL" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__IBMC__) && !defined(__COMPILER_VER__) && __IBMC__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMC__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMC__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMC__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMC__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__TINYC__) +# define COMPILER_ID "TinyCC" + +#elif defined(__BCC__) +# define COMPILER_ID "Bruce" + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) +# define COMPILER_ID "GNU" +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + +#elif defined(__SDCC_VERSION_MAJOR) || defined(SDCC) +# define COMPILER_ID "SDCC" +# if defined(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MAJOR DEC(__SDCC_VERSION_MAJOR) +# define COMPILER_VERSION_MINOR DEC(__SDCC_VERSION_MINOR) +# define COMPILER_VERSION_PATCH DEC(__SDCC_VERSION_PATCH) +# else + /* SDCC = VRP */ +# define COMPILER_VERSION_MAJOR DEC(SDCC/100) +# define COMPILER_VERSION_MINOR DEC(SDCC/10 % 10) +# define COMPILER_VERSION_PATCH DEC(SDCC % 10) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif __STDC_VERSION__ > 201710L +# define C_VERSION "23" +#elif __STDC_VERSION__ >= 201710L +# define C_VERSION "17" +#elif __STDC_VERSION__ >= 201000L +# define C_VERSION "11" +#elif __STDC_VERSION__ >= 199901L +# define C_VERSION "99" +#else +# define C_VERSION "90" +#endif +const char* info_language_standard_default = + "INFO" ":" "standard_default[" C_VERSION "]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +#ifdef ID_VOID_MAIN +void main() {} +#else +# if defined(__CLASSIC_C__) +int main(argc, argv) int argc; char *argv[]; +# else +int main(int argc, char* argv[]) +# endif +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; + require += info_arch[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} +#endif diff --git a/build/CMakeFiles/3.22.1/CompilerIdC/a.out b/build/CMakeFiles/3.22.1/CompilerIdC/a.out new file mode 100755 index 0000000000000000000000000000000000000000..8b8c27e76b2d5951bf9014e281b5e321a68c6ff6 GIT binary patch literal 16088 zcmeHOeQX>@6`#9&IW&nKx4|YU%~Dd7(0XG#A2mT~&aux~BRdI+Lxs|Gwf3#;6ZhfX z?NPfbB`BrDq>)-c&_6(`ibTanC6G`NkpPFHKubXlAT|6&fEEQQwC1ZaA^D1pm}VVrH`}ldC-#RS z!ZPQ%PS!E;_ypx-Y!jaMf1cOGA_w;0T&JvuII9ltF2WZU;kjM6*72iUcVyCYN3#Vl zmwmt|kpev8mIJR8xOp#IP%LwNcdC5@{d;@dPP^0I5$3mTS8o5%pquea{#dpg_@$x2 zo?Nlu4|&5mb~lzU7Q~%vRO>2o1QYtt^i+amZZF15Wqo!fN1ewXbKida^AzSJ-SJGq zb&TuBT5I?@xxT?)6o(BdQw|<-Q-rrHqt_bYOTt?b{!_wlj_{uqzCFS}Bm9LuN+%vW z+*e2!Yj_@GNSA7OjBPHPt>JmxBF)wC`hJUo7~=@U5r`uYM<9+s9Dz6jaRmM+BJkJ7 zTdp`KE;l%*mi>CGQqCu5f@Jk2=fsa1p408C?s$smzf^DgGC|`;#rh8} zpFV%DGyOZ~#4EE0hteH09nU+bcfUXms_V+6`L|KKapS|#Nc zAuWV^urkM~m{ zJ32yk(;vI+Ojj=cIDM6y>6}{k0zIjpN?&%Ka1t*yKC2qPKa)sbCH~AJ{MYL7#=+@z z&#a*+KfAOk^zv{$ZSo$}<4>ip9;0px`!wuDZfcz32*eSHBM?U*jzAoNI0A75;t0eM zh$9e3;Qu)S{Qc{Csegapfn6iT{6seAmyXg`$zuz(7nHjn^-JY!v2e6qr;ZNWWZJhQ z(|$~8i;0{Uj227zqXYbPRY3D#JEg>*4EzGuQVz=w z?ANVIY*_OC&D1>p9yRoOwR#U>hLGPp1cdZjKpmT{R=-Hd-(oo>9yp{DlTC>Yt5!5T zMjynO=QRhLN&h{p(7Qr^$=gKP?estUTD7W)HBEhMT0hWu!~G4%)t>dc-n(rRe@4{y zT<-o_vyOW+F~;1mXz95r`uYM<9+s9Dz6jaRlNB z#1VLFBY^daSf7YBfcoKus#=BWWc}i5k$)xY9N!@_)J>j=?RJ7RfP-mx2kNllmq~Ll@<8D~0{#=df zaK9v|rQa1%;Wxxjljy_$8S#U01wZG+&lb7A>UTp__*3>n=M~j|S^RH~ z_`_uWh-pPwR=8p$QiV1a7Sp!X5Kr$^pn_GhSVuG@F0 zdob;$_xHNAW1#oL`@0AGdx)l&oNn5YQm6Nja`z1!*xNne9_Z^koE~zAy7vyG$s)Rg zA%%Sl|7ov+pYZ}u>GL5kESQZ8BrM#;;AYB2cbr~?@(zdo1EiJ77TikN&!}u+wCLh3 zs*!SDVXWef`R>2JAypJHvBA4ss%*GimWuTT4A-SC6%r2ZK6Ds;8GD`m6$`g{gdyRr z9J*IbQ{_Fe5%{&QQg(SNA9%xrLCN4aa@hiH_n1(2p&0n~SfOH1l!_C6DVVCEhAUax ztCP(L)xEdBjmM%^ANR`R%Fav`s0xEY$&{cST1^C(%1VCDV*_RLNK*Dh&K&HqB4q*! zu(EkLl4enNrtOc*036SdJtSjqMxwDmo}7F6>aGjQJ|CT`G^ZA8k5K8ICFJF@FYP{*3yg z=l=z=<#R%L_&X!NH+XI!6`i8}_a$O$?JcnbiYV6eKV#sZirBYH0T6m{02%o8h5 zfS-wU80_HhTM>KAbAWiRf`0V;za#dDzp_MA@OcpdLPJzPpd2?5_AiP8@QzT^WTN%| zjObeXIk5+RE@F@V2mLZ-Xf12F9}@Fm?8A)eLk9kyY#VFrG4GyhBa#yIj5IHUf1L_= z?8)Q9{Ct?!&2pNN{^Rk_33lkmuMo#7u*dV{%vRP`Dy5I}2iODWsHoOHG-x+AUGt_o z2RqQ$D8n4;$2_o0?4$Z}IxtsDh+t0CLmu`L#*l}7En@71N|YHFhqw>&bQvllX+HP literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.cpp b/build/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..25c62a8 --- /dev/null +++ b/build/CMakeFiles/3.22.1/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,791 @@ +/* This source file must have a .cpp extension so that all C++ compilers + recognize the extension without flags. Borland does not know .cxx for + example. */ +#ifndef __cplusplus +# error "A C compiler has been selected for C++." +#endif + +#if !defined(__has_include) +/* If the compiler does not have __has_include, pretend the answer is + always no. */ +# define __has_include(x) 0 +#endif + + +/* Version number components: V=Version, R=Revision, P=Patch + Version date components: YYYY=Year, MM=Month, DD=Day */ + +#if defined(__COMO__) +# define COMPILER_ID "Comeau" + /* __COMO_VERSION__ = VRR */ +# define COMPILER_VERSION_MAJOR DEC(__COMO_VERSION__ / 100) +# define COMPILER_VERSION_MINOR DEC(__COMO_VERSION__ % 100) + +#elif defined(__INTEL_COMPILER) || defined(__ICC) +# define COMPILER_ID "Intel" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# if defined(__GNUC__) +# define SIMULATE_ID "GNU" +# endif + /* __INTEL_COMPILER = VRP prior to 2021, and then VVVV for 2021 and later, + except that a few beta releases use the old format with V=2021. */ +# if __INTEL_COMPILER < 2021 || __INTEL_COMPILER == 202110 || __INTEL_COMPILER == 202111 +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER/10 % 10) +# if defined(__INTEL_COMPILER_UPDATE) +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER_UPDATE) +# else +# define COMPILER_VERSION_PATCH DEC(__INTEL_COMPILER % 10) +# endif +# else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_COMPILER) +# define COMPILER_VERSION_MINOR DEC(__INTEL_COMPILER_UPDATE) + /* The third version component from --version is an update index, + but no macro is provided for it. */ +# define COMPILER_VERSION_PATCH DEC(0) +# endif +# if defined(__INTEL_COMPILER_BUILD_DATE) + /* __INTEL_COMPILER_BUILD_DATE = YYYYMMDD */ +# define COMPILER_VERSION_TWEAK DEC(__INTEL_COMPILER_BUILD_DATE) +# endif +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif (defined(__clang__) && defined(__INTEL_CLANG_COMPILER)) || defined(__INTEL_LLVM_COMPILER) +# define COMPILER_ID "IntelLLVM" +#if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +#endif +#if defined(__GNUC__) +# define SIMULATE_ID "GNU" +#endif +/* __INTEL_LLVM_COMPILER = VVVVRP prior to 2021.2.0, VVVVRRPP for 2021.2.0 and + * later. Look for 6 digit vs. 8 digit version number to decide encoding. + * VVVV is no smaller than the current year when a version is released. + */ +#if __INTEL_LLVM_COMPILER < 1000000L +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/100) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 10) +#else +# define COMPILER_VERSION_MAJOR DEC(__INTEL_LLVM_COMPILER/10000) +# define COMPILER_VERSION_MINOR DEC(__INTEL_LLVM_COMPILER/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__INTEL_LLVM_COMPILER % 100) +#endif +#if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +#endif +#if defined(__GNUC__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +#elif defined(__GNUG__) +# define SIMULATE_VERSION_MAJOR DEC(__GNUG__) +#endif +#if defined(__GNUC_MINOR__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +#endif +#if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +#endif + +#elif defined(__PATHCC__) +# define COMPILER_ID "PathScale" +# define COMPILER_VERSION_MAJOR DEC(__PATHCC__) +# define COMPILER_VERSION_MINOR DEC(__PATHCC_MINOR__) +# if defined(__PATHCC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PATHCC_PATCHLEVEL__) +# endif + +#elif defined(__BORLANDC__) && defined(__CODEGEARC_VERSION__) +# define COMPILER_ID "Embarcadero" +# define COMPILER_VERSION_MAJOR HEX(__CODEGEARC_VERSION__>>24 & 0x00FF) +# define COMPILER_VERSION_MINOR HEX(__CODEGEARC_VERSION__>>16 & 0x00FF) +# define COMPILER_VERSION_PATCH DEC(__CODEGEARC_VERSION__ & 0xFFFF) + +#elif defined(__BORLANDC__) +# define COMPILER_ID "Borland" + /* __BORLANDC__ = 0xVRR */ +# define COMPILER_VERSION_MAJOR HEX(__BORLANDC__>>8) +# define COMPILER_VERSION_MINOR HEX(__BORLANDC__ & 0xFF) + +#elif defined(__WATCOMC__) && __WATCOMC__ < 1200 +# define COMPILER_ID "Watcom" + /* __WATCOMC__ = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(__WATCOMC__ / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__WATCOMC__) +# define COMPILER_ID "OpenWatcom" + /* __WATCOMC__ = VVRP + 1100 */ +# define COMPILER_VERSION_MAJOR DEC((__WATCOMC__ - 1100) / 100) +# define COMPILER_VERSION_MINOR DEC((__WATCOMC__ / 10) % 10) +# if (__WATCOMC__ % 10) > 0 +# define COMPILER_VERSION_PATCH DEC(__WATCOMC__ % 10) +# endif + +#elif defined(__SUNPRO_CC) +# define COMPILER_ID "SunPro" +# if __SUNPRO_CC >= 0x5100 + /* __SUNPRO_CC = 0xVRRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>12) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# else + /* __SUNPRO_CC = 0xVRP */ +# define COMPILER_VERSION_MAJOR HEX(__SUNPRO_CC>>8) +# define COMPILER_VERSION_MINOR HEX(__SUNPRO_CC>>4 & 0xF) +# define COMPILER_VERSION_PATCH HEX(__SUNPRO_CC & 0xF) +# endif + +#elif defined(__HP_aCC) +# define COMPILER_ID "HP" + /* __HP_aCC = VVRRPP */ +# define COMPILER_VERSION_MAJOR DEC(__HP_aCC/10000) +# define COMPILER_VERSION_MINOR DEC(__HP_aCC/100 % 100) +# define COMPILER_VERSION_PATCH DEC(__HP_aCC % 100) + +#elif defined(__DECCXX) +# define COMPILER_ID "Compaq" + /* __DECCXX_VER = VVRRTPPPP */ +# define COMPILER_VERSION_MAJOR DEC(__DECCXX_VER/10000000) +# define COMPILER_VERSION_MINOR DEC(__DECCXX_VER/100000 % 100) +# define COMPILER_VERSION_PATCH DEC(__DECCXX_VER % 10000) + +#elif defined(__IBMCPP__) && defined(__COMPILER_VER__) +# define COMPILER_ID "zOS" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__ibmxl__) && defined(__clang__) +# define COMPILER_ID "XLClang" +# define COMPILER_VERSION_MAJOR DEC(__ibmxl_version__) +# define COMPILER_VERSION_MINOR DEC(__ibmxl_release__) +# define COMPILER_VERSION_PATCH DEC(__ibmxl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__ibmxl_ptf_fix_level__) + + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ >= 800 +# define COMPILER_ID "XL" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__IBMCPP__) && !defined(__COMPILER_VER__) && __IBMCPP__ < 800 +# define COMPILER_ID "VisualAge" + /* __IBMCPP__ = VRP */ +# define COMPILER_VERSION_MAJOR DEC(__IBMCPP__/100) +# define COMPILER_VERSION_MINOR DEC(__IBMCPP__/10 % 10) +# define COMPILER_VERSION_PATCH DEC(__IBMCPP__ % 10) + +#elif defined(__NVCOMPILER) +# define COMPILER_ID "NVHPC" +# define COMPILER_VERSION_MAJOR DEC(__NVCOMPILER_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__NVCOMPILER_MINOR__) +# if defined(__NVCOMPILER_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__NVCOMPILER_PATCHLEVEL__) +# endif + +#elif defined(__PGI) +# define COMPILER_ID "PGI" +# define COMPILER_VERSION_MAJOR DEC(__PGIC__) +# define COMPILER_VERSION_MINOR DEC(__PGIC_MINOR__) +# if defined(__PGIC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__PGIC_PATCHLEVEL__) +# endif + +#elif defined(_CRAYC) +# define COMPILER_ID "Cray" +# define COMPILER_VERSION_MAJOR DEC(_RELEASE_MAJOR) +# define COMPILER_VERSION_MINOR DEC(_RELEASE_MINOR) + +#elif defined(__TI_COMPILER_VERSION__) +# define COMPILER_ID "TI" + /* __TI_COMPILER_VERSION__ = VVVRRRPPP */ +# define COMPILER_VERSION_MAJOR DEC(__TI_COMPILER_VERSION__/1000000) +# define COMPILER_VERSION_MINOR DEC(__TI_COMPILER_VERSION__/1000 % 1000) +# define COMPILER_VERSION_PATCH DEC(__TI_COMPILER_VERSION__ % 1000) + +#elif defined(__CLANG_FUJITSU) +# define COMPILER_ID "FujitsuClang" +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#elif defined(__FUJITSU) +# define COMPILER_ID "Fujitsu" +# if defined(__FCC_version__) +# define COMPILER_VERSION __FCC_version__ +# elif defined(__FCC_major__) +# define COMPILER_VERSION_MAJOR DEC(__FCC_major__) +# define COMPILER_VERSION_MINOR DEC(__FCC_minor__) +# define COMPILER_VERSION_PATCH DEC(__FCC_patchlevel__) +# endif +# if defined(__fcc_version) +# define COMPILER_VERSION_INTERNAL DEC(__fcc_version) +# elif defined(__FCC_VERSION) +# define COMPILER_VERSION_INTERNAL DEC(__FCC_VERSION) +# endif + + +#elif defined(__ghs__) +# define COMPILER_ID "GHS" +/* __GHS_VERSION_NUMBER = VVVVRP */ +# ifdef __GHS_VERSION_NUMBER +# define COMPILER_VERSION_MAJOR DEC(__GHS_VERSION_NUMBER / 100) +# define COMPILER_VERSION_MINOR DEC(__GHS_VERSION_NUMBER / 10 % 10) +# define COMPILER_VERSION_PATCH DEC(__GHS_VERSION_NUMBER % 10) +# endif + +#elif defined(__SCO_VERSION__) +# define COMPILER_ID "SCO" + +#elif defined(__ARMCC_VERSION) && !defined(__clang__) +# define COMPILER_ID "ARMCC" +#if __ARMCC_VERSION >= 1000000 + /* __ARMCC_VERSION = VRRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#else + /* __ARMCC_VERSION = VRPPPP */ + # define COMPILER_VERSION_MAJOR DEC(__ARMCC_VERSION/100000) + # define COMPILER_VERSION_MINOR DEC(__ARMCC_VERSION/10000 % 10) + # define COMPILER_VERSION_PATCH DEC(__ARMCC_VERSION % 10000) +#endif + + +#elif defined(__clang__) && defined(__apple_build_version__) +# define COMPILER_ID "AppleClang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif +# define COMPILER_VERSION_TWEAK DEC(__apple_build_version__) + +#elif defined(__clang__) && defined(__ARMCOMPILER_VERSION) +# define COMPILER_ID "ARMClang" + # define COMPILER_VERSION_MAJOR DEC(__ARMCOMPILER_VERSION/1000000) + # define COMPILER_VERSION_MINOR DEC(__ARMCOMPILER_VERSION/10000 % 100) + # define COMPILER_VERSION_PATCH DEC(__ARMCOMPILER_VERSION % 10000) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) +# define COMPILER_ID "Clang" +# if defined(_MSC_VER) +# define SIMULATE_ID "MSVC" +# endif +# define COMPILER_VERSION_MAJOR DEC(__clang_major__) +# define COMPILER_VERSION_MINOR DEC(__clang_minor__) +# define COMPILER_VERSION_PATCH DEC(__clang_patchlevel__) +# if defined(_MSC_VER) + /* _MSC_VER = VVRR */ +# define SIMULATE_VERSION_MAJOR DEC(_MSC_VER / 100) +# define SIMULATE_VERSION_MINOR DEC(_MSC_VER % 100) +# endif + +#elif defined(__GNUC__) || defined(__GNUG__) +# define COMPILER_ID "GNU" +# if defined(__GNUC__) +# define COMPILER_VERSION_MAJOR DEC(__GNUC__) +# else +# define COMPILER_VERSION_MAJOR DEC(__GNUG__) +# endif +# if defined(__GNUC_MINOR__) +# define COMPILER_VERSION_MINOR DEC(__GNUC_MINOR__) +# endif +# if defined(__GNUC_PATCHLEVEL__) +# define COMPILER_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif + +#elif defined(_MSC_VER) +# define COMPILER_ID "MSVC" + /* _MSC_VER = VVRR */ +# define COMPILER_VERSION_MAJOR DEC(_MSC_VER / 100) +# define COMPILER_VERSION_MINOR DEC(_MSC_VER % 100) +# if defined(_MSC_FULL_VER) +# if _MSC_VER >= 1400 + /* _MSC_FULL_VER = VVRRPPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 100000) +# else + /* _MSC_FULL_VER = VVRRPPPP */ +# define COMPILER_VERSION_PATCH DEC(_MSC_FULL_VER % 10000) +# endif +# endif +# if defined(_MSC_BUILD) +# define COMPILER_VERSION_TWEAK DEC(_MSC_BUILD) +# endif + +#elif defined(__VISUALDSPVERSION__) || defined(__ADSPBLACKFIN__) || defined(__ADSPTS__) || defined(__ADSP21000__) +# define COMPILER_ID "ADSP" +#if defined(__VISUALDSPVERSION__) + /* __VISUALDSPVERSION__ = 0xVVRRPP00 */ +# define COMPILER_VERSION_MAJOR HEX(__VISUALDSPVERSION__>>24) +# define COMPILER_VERSION_MINOR HEX(__VISUALDSPVERSION__>>16 & 0xFF) +# define COMPILER_VERSION_PATCH HEX(__VISUALDSPVERSION__>>8 & 0xFF) +#endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# define COMPILER_ID "IAR" +# if defined(__VER__) && defined(__ICCARM__) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 1000000) +# define COMPILER_VERSION_MINOR DEC(((__VER__) / 1000) % 1000) +# define COMPILER_VERSION_PATCH DEC((__VER__) % 1000) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# elif defined(__VER__) && (defined(__ICCAVR__) || defined(__ICCRX__) || defined(__ICCRH850__) || defined(__ICCRL78__) || defined(__ICC430__) || defined(__ICCRISCV__) || defined(__ICCV850__) || defined(__ICC8051__) || defined(__ICCSTM8__)) +# define COMPILER_VERSION_MAJOR DEC((__VER__) / 100) +# define COMPILER_VERSION_MINOR DEC((__VER__) - (((__VER__) / 100)*100)) +# define COMPILER_VERSION_PATCH DEC(__SUBVERSION__) +# define COMPILER_VERSION_INTERNAL DEC(__IAR_SYSTEMS_ICC__) +# endif + + +/* These compilers are either not known or too old to define an + identification macro. Try to identify the platform and guess that + it is the native compiler. */ +#elif defined(__hpux) || defined(__hpua) +# define COMPILER_ID "HP" + +#else /* unknown compiler */ +# define COMPILER_ID "" +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_compiler = "INFO" ":" "compiler[" COMPILER_ID "]"; +#ifdef SIMULATE_ID +char const* info_simulate = "INFO" ":" "simulate[" SIMULATE_ID "]"; +#endif + +#ifdef __QNXNTO__ +char const* qnxnto = "INFO" ":" "qnxnto[]"; +#endif + +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) +char const *info_cray = "INFO" ":" "compiler_wrapper[CrayPrgEnv]"; +#endif + +#define STRINGIFY_HELPER(X) #X +#define STRINGIFY(X) STRINGIFY_HELPER(X) + +/* Identify known platforms by name. */ +#if defined(__linux) || defined(__linux__) || defined(linux) +# define PLATFORM_ID "Linux" + +#elif defined(__MSYS__) +# define PLATFORM_ID "MSYS" + +#elif defined(__CYGWIN__) +# define PLATFORM_ID "Cygwin" + +#elif defined(__MINGW32__) +# define PLATFORM_ID "MinGW" + +#elif defined(__APPLE__) +# define PLATFORM_ID "Darwin" + +#elif defined(_WIN32) || defined(__WIN32__) || defined(WIN32) +# define PLATFORM_ID "Windows" + +#elif defined(__FreeBSD__) || defined(__FreeBSD) +# define PLATFORM_ID "FreeBSD" + +#elif defined(__NetBSD__) || defined(__NetBSD) +# define PLATFORM_ID "NetBSD" + +#elif defined(__OpenBSD__) || defined(__OPENBSD) +# define PLATFORM_ID "OpenBSD" + +#elif defined(__sun) || defined(sun) +# define PLATFORM_ID "SunOS" + +#elif defined(_AIX) || defined(__AIX) || defined(__AIX__) || defined(__aix) || defined(__aix__) +# define PLATFORM_ID "AIX" + +#elif defined(__hpux) || defined(__hpux__) +# define PLATFORM_ID "HP-UX" + +#elif defined(__HAIKU__) +# define PLATFORM_ID "Haiku" + +#elif defined(__BeOS) || defined(__BEOS__) || defined(_BEOS) +# define PLATFORM_ID "BeOS" + +#elif defined(__QNX__) || defined(__QNXNTO__) +# define PLATFORM_ID "QNX" + +#elif defined(__tru64) || defined(_tru64) || defined(__TRU64__) +# define PLATFORM_ID "Tru64" + +#elif defined(__riscos) || defined(__riscos__) +# define PLATFORM_ID "RISCos" + +#elif defined(__sinix) || defined(__sinix__) || defined(__SINIX__) +# define PLATFORM_ID "SINIX" + +#elif defined(__UNIX_SV__) +# define PLATFORM_ID "UNIX_SV" + +#elif defined(__bsdos__) +# define PLATFORM_ID "BSDOS" + +#elif defined(_MPRAS) || defined(MPRAS) +# define PLATFORM_ID "MP-RAS" + +#elif defined(__osf) || defined(__osf__) +# define PLATFORM_ID "OSF1" + +#elif defined(_SCO_SV) || defined(SCO_SV) || defined(sco_sv) +# define PLATFORM_ID "SCO_SV" + +#elif defined(__ultrix) || defined(__ultrix__) || defined(_ULTRIX) +# define PLATFORM_ID "ULTRIX" + +#elif defined(__XENIX__) || defined(_XENIX) || defined(XENIX) +# define PLATFORM_ID "Xenix" + +#elif defined(__WATCOMC__) +# if defined(__LINUX__) +# define PLATFORM_ID "Linux" + +# elif defined(__DOS__) +# define PLATFORM_ID "DOS" + +# elif defined(__OS2__) +# define PLATFORM_ID "OS2" + +# elif defined(__WINDOWS__) +# define PLATFORM_ID "Windows3x" + +# elif defined(__VXWORKS__) +# define PLATFORM_ID "VxWorks" + +# else /* unknown platform */ +# define PLATFORM_ID +# endif + +#elif defined(__INTEGRITY) +# if defined(INT_178B) +# define PLATFORM_ID "Integrity178" + +# else /* regular Integrity */ +# define PLATFORM_ID "Integrity" +# endif + +#else /* unknown platform */ +# define PLATFORM_ID + +#endif + +/* For windows compilers MSVC and Intel we can determine + the architecture of the compiler being used. This is because + the compilers do not have flags that can change the architecture, + but rather depend on which compiler is being used +*/ +#if defined(_WIN32) && defined(_MSC_VER) +# if defined(_M_IA64) +# define ARCHITECTURE_ID "IA64" + +# elif defined(_M_ARM64EC) +# define ARCHITECTURE_ID "ARM64EC" + +# elif defined(_M_X64) || defined(_M_AMD64) +# define ARCHITECTURE_ID "x64" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# elif defined(_M_ARM64) +# define ARCHITECTURE_ID "ARM64" + +# elif defined(_M_ARM) +# if _M_ARM == 4 +# define ARCHITECTURE_ID "ARMV4I" +# elif _M_ARM == 5 +# define ARCHITECTURE_ID "ARMV5I" +# else +# define ARCHITECTURE_ID "ARMV" STRINGIFY(_M_ARM) +# endif + +# elif defined(_M_MIPS) +# define ARCHITECTURE_ID "MIPS" + +# elif defined(_M_SH) +# define ARCHITECTURE_ID "SHx" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__WATCOMC__) +# if defined(_M_I86) +# define ARCHITECTURE_ID "I86" + +# elif defined(_M_IX86) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__IAR_SYSTEMS_ICC__) || defined(__IAR_SYSTEMS_ICC) +# if defined(__ICCARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__ICCRX__) +# define ARCHITECTURE_ID "RX" + +# elif defined(__ICCRH850__) +# define ARCHITECTURE_ID "RH850" + +# elif defined(__ICCRL78__) +# define ARCHITECTURE_ID "RL78" + +# elif defined(__ICCRISCV__) +# define ARCHITECTURE_ID "RISCV" + +# elif defined(__ICCAVR__) +# define ARCHITECTURE_ID "AVR" + +# elif defined(__ICC430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__ICCV850__) +# define ARCHITECTURE_ID "V850" + +# elif defined(__ICC8051__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__ICCSTM8__) +# define ARCHITECTURE_ID "STM8" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__ghs__) +# if defined(__PPC64__) +# define ARCHITECTURE_ID "PPC64" + +# elif defined(__ppc__) +# define ARCHITECTURE_ID "PPC" + +# elif defined(__ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__x86_64__) +# define ARCHITECTURE_ID "x64" + +# elif defined(__i386__) +# define ARCHITECTURE_ID "X86" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#elif defined(__TI_COMPILER_VERSION__) +# if defined(__TI_ARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__MSP430__) +# define ARCHITECTURE_ID "MSP430" + +# elif defined(__TMS320C28XX__) +# define ARCHITECTURE_ID "TMS320C28x" + +# elif defined(__TMS320C6X__) || defined(_TMS320C6X) +# define ARCHITECTURE_ID "TMS320C6x" + +# else /* unknown architecture */ +# define ARCHITECTURE_ID "" +# endif + +#else +# define ARCHITECTURE_ID +#endif + +/* Convert integer to decimal digit literals. */ +#define DEC(n) \ + ('0' + (((n) / 10000000)%10)), \ + ('0' + (((n) / 1000000)%10)), \ + ('0' + (((n) / 100000)%10)), \ + ('0' + (((n) / 10000)%10)), \ + ('0' + (((n) / 1000)%10)), \ + ('0' + (((n) / 100)%10)), \ + ('0' + (((n) / 10)%10)), \ + ('0' + ((n) % 10)) + +/* Convert integer to hex digit literals. */ +#define HEX(n) \ + ('0' + ((n)>>28 & 0xF)), \ + ('0' + ((n)>>24 & 0xF)), \ + ('0' + ((n)>>20 & 0xF)), \ + ('0' + ((n)>>16 & 0xF)), \ + ('0' + ((n)>>12 & 0xF)), \ + ('0' + ((n)>>8 & 0xF)), \ + ('0' + ((n)>>4 & 0xF)), \ + ('0' + ((n) & 0xF)) + +/* Construct a string literal encoding the version number. */ +#ifdef COMPILER_VERSION +char const* info_version = "INFO" ":" "compiler_version[" COMPILER_VERSION "]"; + +/* Construct a string literal encoding the version number components. */ +#elif defined(COMPILER_VERSION_MAJOR) +char const info_version[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','[', + COMPILER_VERSION_MAJOR, +# ifdef COMPILER_VERSION_MINOR + '.', COMPILER_VERSION_MINOR, +# ifdef COMPILER_VERSION_PATCH + '.', COMPILER_VERSION_PATCH, +# ifdef COMPILER_VERSION_TWEAK + '.', COMPILER_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct a string literal encoding the internal version number. */ +#ifdef COMPILER_VERSION_INTERNAL +char const info_version_internal[] = { + 'I', 'N', 'F', 'O', ':', + 'c','o','m','p','i','l','e','r','_','v','e','r','s','i','o','n','_', + 'i','n','t','e','r','n','a','l','[', + COMPILER_VERSION_INTERNAL,']','\0'}; +#elif defined(COMPILER_VERSION_INTERNAL_STR) +char const* info_version_internal = "INFO" ":" "compiler_version_internal[" COMPILER_VERSION_INTERNAL_STR "]"; +#endif + +/* Construct a string literal encoding the version number components. */ +#ifdef SIMULATE_VERSION_MAJOR +char const info_simulate_version[] = { + 'I', 'N', 'F', 'O', ':', + 's','i','m','u','l','a','t','e','_','v','e','r','s','i','o','n','[', + SIMULATE_VERSION_MAJOR, +# ifdef SIMULATE_VERSION_MINOR + '.', SIMULATE_VERSION_MINOR, +# ifdef SIMULATE_VERSION_PATCH + '.', SIMULATE_VERSION_PATCH, +# ifdef SIMULATE_VERSION_TWEAK + '.', SIMULATE_VERSION_TWEAK, +# endif +# endif +# endif + ']','\0'}; +#endif + +/* Construct the string literal in pieces to prevent the source from + getting matched. Store it in a pointer rather than an array + because some compilers will just produce instructions to fill the + array rather than assigning a pointer to a static array. */ +char const* info_platform = "INFO" ":" "platform[" PLATFORM_ID "]"; +char const* info_arch = "INFO" ":" "arch[" ARCHITECTURE_ID "]"; + + + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) && _MSVC_LANG < 201403L +# if defined(__INTEL_CXX11_MODE__) +# if defined(__cpp_aggregate_nsdmi) +# define CXX_STD 201402L +# else +# define CXX_STD 201103L +# endif +# else +# define CXX_STD 199711L +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# define CXX_STD _MSVC_LANG +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > 202002L + "23" +#elif CXX_STD > 201703L + "20" +#elif CXX_STD >= 201703L + "17" +#elif CXX_STD >= 201402L + "14" +#elif CXX_STD >= 201103L + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +/* !defined(_MSC_VER) to exclude Clang's MSVC compatibility mode. */ +#if (defined(__clang__) || defined(__GNUC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) && !defined(_MSC_VER) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + int require = 0; + require += info_compiler[argc]; + require += info_platform[argc]; +#ifdef COMPILER_VERSION_MAJOR + require += info_version[argc]; +#endif +#ifdef COMPILER_VERSION_INTERNAL + require += info_version_internal[argc]; +#endif +#ifdef SIMULATE_ID + require += info_simulate[argc]; +#endif +#ifdef SIMULATE_VERSION_MAJOR + require += info_simulate_version[argc]; +#endif +#if defined(__CRAYXT_COMPUTE_LINUX_TARGET) + require += info_cray[argc]; +#endif + require += info_language_standard_default[argc]; + require += info_language_extensions_default[argc]; + (void)argv; + return require; +} diff --git a/build/CMakeFiles/3.22.1/CompilerIdCXX/a.out b/build/CMakeFiles/3.22.1/CompilerIdCXX/a.out new file mode 100755 index 0000000000000000000000000000000000000000..64ddf3c7775cb583718a68fa037d7d0b28c160be GIT binary patch literal 16096 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 literal 0 HcmV?d00001 diff --git a/build/CMakeFiles/CMakeDirectoryInformation.cmake b/build/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..b71251e --- /dev/null +++ b/build/CMakeFiles/CMakeDirectoryInformation.cmake @@ -0,0 +1,16 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/xb/satellite/aircraft-1/container-3/通信机-kk仿真") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build") + +# Force unix paths in dependencies. +set(CMAKE_FORCE_UNIX_PATHS 1) + + +# The C and CXX include file regular expressions for this directory. +set(CMAKE_C_INCLUDE_REGEX_SCAN "^.*$") +set(CMAKE_C_INCLUDE_REGEX_COMPLAIN "^$") +set(CMAKE_CXX_INCLUDE_REGEX_SCAN ${CMAKE_C_INCLUDE_REGEX_SCAN}) +set(CMAKE_CXX_INCLUDE_REGEX_COMPLAIN ${CMAKE_C_INCLUDE_REGEX_COMPLAIN}) diff --git a/build/CMakeFiles/CMakeOutput.log b/build/CMakeFiles/CMakeOutput.log new file mode 100644 index 0000000..72bda9f --- /dev/null +++ b/build/CMakeFiles/CMakeOutput.log @@ -0,0 +1,449 @@ +The system is: Linux - 6.8.0-90-generic - x86_64 +Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded. +Compiler: /usr/bin/cc +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out" + +The C compiler identification is GNU, found in "/home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build/CMakeFiles/3.22.1/CompilerIdC/a.out" + +Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded. +Compiler: /usr/bin/c++ +Build flags: +Id flags: + +The output was: +0 + + +Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out" + +The CXX compiler identification is GNU, found in "/home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build/CMakeFiles/3.22.1/CompilerIdCXX/a.out" + +Detecting C compiler ABI info compiled with the following output: +Change Dir: /home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_6f5b2/fast && /usr/bin/gmake -f CMakeFiles/cmTC_6f5b2.dir/build.make CMakeFiles/cmTC_6f5b2.dir/build +gmake[1]: Entering directory '/home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_6f5b2.dir/CMakeCCompilerABI.c.o +/usr/bin/cc -v -o CMakeFiles/cmTC_6f5b2.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04.2' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04.2) +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_6f5b2.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_6f5b2.dir/' + /usr/lib/gcc/x86_64-linux-gnu/11/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_6f5b2.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc4ttbXo.s +GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04.2) version 11.4.0 (x86_64-linux-gnu) + compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/lib/gcc/x86_64-linux-gnu/11/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04.2) version 11.4.0 (x86_64-linux-gnu) + compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 4011c2103cba78949d7e02d0f0047a3d +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_6f5b2.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_6f5b2.dir/' + as -v --64 -o CMakeFiles/cmTC_6f5b2.dir/CMakeCCompilerABI.c.o /tmp/cc4ttbXo.s +GNU assembler version 2.38 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38 +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_6f5b2.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_6f5b2.dir/CMakeCCompilerABI.c.' +Linking C executable cmTC_6f5b2 +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6f5b2.dir/link.txt --verbose=1 +/usr/bin/cc -v CMakeFiles/cmTC_6f5b2.dir/CMakeCCompilerABI.c.o -o cmTC_6f5b2 +Using built-in specs. +COLLECT_GCC=/usr/bin/cc +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04.2' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04.2) +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_6f5b2' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_6f5b2.' + /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/cc5oYDs7.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_6f5b2 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_6f5b2.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_6f5b2' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_6f5b2.' +gmake[1]: Leaving directory '/home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build/CMakeFiles/CMakeTmp' + + + +Parsed C implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/x86_64-linux-gnu/11/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/11/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/11/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/lib/gcc/x86_64-linux-gnu/11/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + +Parsed C implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_6f5b2/fast && /usr/bin/gmake -f CMakeFiles/cmTC_6f5b2.dir/build.make CMakeFiles/cmTC_6f5b2.dir/build] + ignore line: [gmake[1]: Entering directory '/home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build/CMakeFiles/CMakeTmp'] + ignore line: [Building C object CMakeFiles/cmTC_6f5b2.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_6f5b2.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04.2' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04.2) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_6f5b2.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_6f5b2.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/cc1 -quiet -v -imultiarch x86_64-linux-gnu /usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_6f5b2.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/cc4ttbXo.s] + ignore line: [GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04.2) version 11.4.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C17 (Ubuntu 11.4.0-1ubuntu1~22.04.2) version 11.4.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 4011c2103cba78949d7e02d0f0047a3d] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_6f5b2.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_6f5b2.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_6f5b2.dir/CMakeCCompilerABI.c.o /tmp/cc4ttbXo.s] + ignore line: [GNU assembler version 2.38 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_6f5b2.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_6f5b2.dir/CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_6f5b2] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_6f5b2.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_6f5b2.dir/CMakeCCompilerABI.c.o -o cmTC_6f5b2 ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04.2' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04.2) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_6f5b2' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_6f5b2.'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/cc5oYDs7.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_6f5b2 /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_6f5b2.dir/CMakeCCompilerABI.c.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/cc5oYDs7.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_6f5b2] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../..] + arg [CMakeFiles/cmTC_6f5b2.dir/CMakeCCompilerABI.c.o] ==> ignore + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [-lc] ==> lib [c] + arg [-lgcc] ==> lib [gcc] + arg [--push-state] ==> ignore + arg [--as-needed] ==> ignore + arg [-lgcc_s] ==> lib [gcc_s] + arg [--pop-state] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11] ==> [/usr/lib/gcc/x86_64-linux-gnu/11] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../..] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/11;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + +Detecting CXX compiler ABI info compiled with the following output: +Change Dir: /home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_f4e8a/fast && /usr/bin/gmake -f CMakeFiles/cmTC_f4e8a.dir/build.make CMakeFiles/cmTC_f4e8a.dir/build +gmake[1]: Entering directory '/home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_f4e8a.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -v -o CMakeFiles/cmTC_f4e8a.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04.2' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04.2) +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f4e8a.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f4e8a.dir/' + /usr/lib/gcc/x86_64-linux-gnu/11/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_f4e8a.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccO3h6Qv.s +GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04.2) version 11.4.0 (x86_64-linux-gnu) + compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/11" +ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/include-fixed" +ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include" +#include "..." search starts here: +#include <...> search starts here: + /usr/include/c++/11 + /usr/include/x86_64-linux-gnu/c++/11 + /usr/include/c++/11/backward + /usr/lib/gcc/x86_64-linux-gnu/11/include + /usr/local/include + /usr/include/x86_64-linux-gnu + /usr/include +End of search list. +GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04.2) version 11.4.0 (x86_64-linux-gnu) + compiled by GNU C version 11.4.0, GMP version 6.2.1, MPFR version 4.1.0, MPC version 1.2.1, isl version isl-0.24-GMP + +GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 +Compiler executable checksum: 6c87588fc345655b93b8c25f48f88886 +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f4e8a.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f4e8a.dir/' + as -v --64 -o CMakeFiles/cmTC_f4e8a.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccO3h6Qv.s +GNU assembler version 2.38 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38 +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f4e8a.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f4e8a.dir/CMakeCXXCompilerABI.cpp.' +Linking CXX executable cmTC_f4e8a +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f4e8a.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTC_f4e8a.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_f4e8a +Using built-in specs. +COLLECT_GCC=/usr/bin/c++ +COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper +OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa +OFFLOAD_TARGET_DEFAULT=1 +Target: x86_64-linux-gnu +Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04.2' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2 +Thread model: posix +Supported LTO compression algorithms: zlib zstd +gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04.2) +COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/ +LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/ +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f4e8a' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_f4e8a.' + /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccQCqZVy.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_f4e8a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_f4e8a.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o +COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f4e8a' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_f4e8a.' +gmake[1]: Leaving directory '/home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build/CMakeFiles/CMakeTmp' + + + +Parsed CXX implicit include dir info from above output: rv=done + found start of include info + found start of implicit include info + add: [/usr/include/c++/11] + add: [/usr/include/x86_64-linux-gnu/c++/11] + add: [/usr/include/c++/11/backward] + add: [/usr/lib/gcc/x86_64-linux-gnu/11/include] + add: [/usr/local/include] + add: [/usr/include/x86_64-linux-gnu] + add: [/usr/include] + end of search list found + collapse include dir [/usr/include/c++/11] ==> [/usr/include/c++/11] + collapse include dir [/usr/include/x86_64-linux-gnu/c++/11] ==> [/usr/include/x86_64-linux-gnu/c++/11] + collapse include dir [/usr/include/c++/11/backward] ==> [/usr/include/c++/11/backward] + collapse include dir [/usr/lib/gcc/x86_64-linux-gnu/11/include] ==> [/usr/lib/gcc/x86_64-linux-gnu/11/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/include/x86_64-linux-gnu] ==> [/usr/include/x86_64-linux-gnu] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/include/c++/11;/usr/include/x86_64-linux-gnu/c++/11;/usr/include/c++/11/backward;/usr/lib/gcc/x86_64-linux-gnu/11/include;/usr/local/include;/usr/include/x86_64-linux-gnu;/usr/include] + + +Parsed CXX implicit link information from above output: + link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)] + ignore line: [Change Dir: /home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_f4e8a/fast && /usr/bin/gmake -f CMakeFiles/cmTC_f4e8a.dir/build.make CMakeFiles/cmTC_f4e8a.dir/build] + ignore line: [gmake[1]: Entering directory '/home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build/CMakeFiles/CMakeTmp'] + ignore line: [Building CXX object CMakeFiles/cmTC_f4e8a.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_f4e8a.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04.2' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04.2) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f4e8a.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f4e8a.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/cc1plus -quiet -v -imultiarch x86_64-linux-gnu -D_GNU_SOURCE /usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_f4e8a.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -fasynchronous-unwind-tables -fstack-protector-strong -Wformat -Wformat-security -fstack-clash-protection -fcf-protection -o /tmp/ccO3h6Qv.s] + ignore line: [GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04.2) version 11.4.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring duplicate directory "/usr/include/x86_64-linux-gnu/c++/11"] + ignore line: [ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/include-fixed"] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/11/../../../../x86_64-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/include/c++/11] + ignore line: [ /usr/include/x86_64-linux-gnu/c++/11] + ignore line: [ /usr/include/c++/11/backward] + ignore line: [ /usr/lib/gcc/x86_64-linux-gnu/11/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/include/x86_64-linux-gnu] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [GNU C++17 (Ubuntu 11.4.0-1ubuntu1~22.04.2) version 11.4.0 (x86_64-linux-gnu)] + ignore line: [ compiled by GNU C version 11.4.0 GMP version 6.2.1 MPFR version 4.1.0 MPC version 1.2.1 isl version isl-0.24-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [Compiler executable checksum: 6c87588fc345655b93b8c25f48f88886] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f4e8a.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f4e8a.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_f4e8a.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccO3h6Qv.s] + ignore line: [GNU assembler version 2.38 (x86_64-linux-gnu) using BFD version (GNU Binutils for Ubuntu) 2.38] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_f4e8a.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_f4e8a.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [Linking CXX executable cmTC_f4e8a] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_f4e8a.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_f4e8a.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_f4e8a ] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper] + ignore line: [OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa] + ignore line: [OFFLOAD_TARGET_DEFAULT=1] + ignore line: [Target: x86_64-linux-gnu] + ignore line: [Configured with: ../src/configure -v --with-pkgversion='Ubuntu 11.4.0-1ubuntu1~22.04.2' --with-bugurl=file:///usr/share/doc/gcc-11/README.Bugs --enable-languages=c ada c++ go brig d fortran objc obj-c++ m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-11 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32 m64 mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-nvptx/usr amdgcn-amdhsa=/build/gcc-11-2Y5pKs/gcc-11-11.4.0/debian/tmp-gcn/usr --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 11.4.0 (Ubuntu 11.4.0-1ubuntu1~22.04.2) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-linux-gnu/11/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib/:/lib/x86_64-linux-gnu/:/lib/../lib/:/usr/lib/x86_64-linux-gnu/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-linux-gnu/11/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_f4e8a' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_f4e8a.'] + link line: [ /usr/lib/gcc/x86_64-linux-gnu/11/collect2 -plugin /usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper -plugin-opt=-fresolution=/tmp/ccQCqZVy.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id --eh-frame-hdr -m elf_x86_64 --hash-style=gnu --as-needed -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -z now -z relro -o cmTC_f4e8a /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o /usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/11 -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu -L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib -L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/11/../../.. CMakeFiles/cmTC_f4e8a.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o /usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/11/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccQCqZVy.res] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [-plugin-opt=-pass-through=-lc] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc_s] ==> ignore + arg [-plugin-opt=-pass-through=-lgcc] ==> ignore + arg [--build-id] ==> ignore + arg [--eh-frame-hdr] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [--hash-style=gnu] ==> ignore + arg [--as-needed] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-znow] ==> ignore + arg [-zrelro] ==> ignore + arg [-o] ==> ignore + arg [cmTC_f4e8a] ==> ignore + arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] + arg [-L/lib/x86_64-linux-gnu] ==> dir [/lib/x86_64-linux-gnu] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/x86_64-linux-gnu] ==> dir [/usr/lib/x86_64-linux-gnu] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-linux-gnu/11/../../..] ==> dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../..] + arg [CMakeFiles/cmTC_f4e8a.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore + arg [-lstdc++] ==> lib [stdc++] + arg [-lm] ==> lib [m] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [-lc] ==> lib [c] + arg [-lgcc_s] ==> lib [gcc_s] + arg [-lgcc] ==> lib [gcc] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o] + arg [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] ==> obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/Scrt1.o] ==> [/usr/lib/x86_64-linux-gnu/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crti.o] ==> [/usr/lib/x86_64-linux-gnu/crti.o] + collapse obj [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu/crtn.o] ==> [/usr/lib/x86_64-linux-gnu/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11] ==> [/usr/lib/gcc/x86_64-linux-gnu/11] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/x86_64-linux-gnu] ==> [/lib/x86_64-linux-gnu] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/x86_64-linux-gnu] ==> [/usr/lib/x86_64-linux-gnu] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-linux-gnu/11/../../..] ==> [/usr/lib] + implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] + implicit objs: [/usr/lib/x86_64-linux-gnu/Scrt1.o;/usr/lib/x86_64-linux-gnu/crti.o;/usr/lib/gcc/x86_64-linux-gnu/11/crtbeginS.o;/usr/lib/gcc/x86_64-linux-gnu/11/crtendS.o;/usr/lib/x86_64-linux-gnu/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-linux-gnu/11;/usr/lib/x86_64-linux-gnu;/usr/lib;/lib/x86_64-linux-gnu;/lib] + implicit fwks: [] + + diff --git a/build/CMakeFiles/Com_kk.dir/DependInfo.cmake b/build/CMakeFiles/Com_kk.dir/DependInfo.cmake new file mode 100644 index 0000000..f8005c1 --- /dev/null +++ b/build/CMakeFiles/Com_kk.dir/DependInfo.cmake @@ -0,0 +1,19 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/hook-rs422_kk.cpp" "CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.o" "gcc" "CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.o.d" + ) + +# Targets to which this target links. +set(CMAKE_TARGET_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/build/CMakeFiles/Com_kk.dir/build.make b/build/CMakeFiles/Com_kk.dir/build.make new file mode 100644 index 0000000..350e240 --- /dev/null +++ b/build/CMakeFiles/Com_kk.dir/build.make @@ -0,0 +1,110 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/xb/satellite/aircraft-1/container-3/通信机-kk仿真 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build + +# Include any dependencies generated for this target. +include CMakeFiles/Com_kk.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include CMakeFiles/Com_kk.dir/compiler_depend.make + +# Include the progress variables for this target. +include CMakeFiles/Com_kk.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/Com_kk.dir/flags.make + +CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.o: CMakeFiles/Com_kk.dir/flags.make +CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.o: ../hook-rs422_kk.cpp +CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.o: CMakeFiles/Com_kk.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building CXX object CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.o -MF CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.o.d -o CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.o -c /home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/hook-rs422_kk.cpp + +CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/hook-rs422_kk.cpp > CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.i + +CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/hook-rs422_kk.cpp -o CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.s + +# Object files for target Com_kk +Com_kk_OBJECTS = \ +"CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.o" + +# External object files for target Com_kk +Com_kk_EXTERNAL_OBJECTS = + +bin/Com_kk: CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.o +bin/Com_kk: CMakeFiles/Com_kk.dir/build.make +bin/Com_kk: CMakeFiles/Com_kk.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Linking CXX executable bin/Com_kk" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/Com_kk.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/Com_kk.dir/build: bin/Com_kk +.PHONY : CMakeFiles/Com_kk.dir/build + +CMakeFiles/Com_kk.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/Com_kk.dir/cmake_clean.cmake +.PHONY : CMakeFiles/Com_kk.dir/clean + +CMakeFiles/Com_kk.dir/depend: + cd /home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/xb/satellite/aircraft-1/container-3/通信机-kk仿真 /home/xb/satellite/aircraft-1/container-3/通信机-kk仿真 /home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build /home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build /home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build/CMakeFiles/Com_kk.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/Com_kk.dir/depend + diff --git a/build/CMakeFiles/Com_kk.dir/cmake_clean.cmake b/build/CMakeFiles/Com_kk.dir/cmake_clean.cmake new file mode 100644 index 0000000..5a4e13e --- /dev/null +++ b/build/CMakeFiles/Com_kk.dir/cmake_clean.cmake @@ -0,0 +1,11 @@ +file(REMOVE_RECURSE + "CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.o" + "CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.o.d" + "bin/Com_kk" + "bin/Com_kk.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/Com_kk.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/CMakeFiles/Com_kk.dir/compiler_depend.make b/build/CMakeFiles/Com_kk.dir/compiler_depend.make new file mode 100644 index 0000000..0c53d88 --- /dev/null +++ b/build/CMakeFiles/Com_kk.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for Com_kk. +# This may be replaced when dependencies are built. diff --git a/build/CMakeFiles/Com_kk.dir/compiler_depend.ts b/build/CMakeFiles/Com_kk.dir/compiler_depend.ts new file mode 100644 index 0000000..df9858d --- /dev/null +++ b/build/CMakeFiles/Com_kk.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for Com_kk. diff --git a/build/CMakeFiles/Com_kk.dir/depend.make b/build/CMakeFiles/Com_kk.dir/depend.make new file mode 100644 index 0000000..00eae9e --- /dev/null +++ b/build/CMakeFiles/Com_kk.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for Com_kk. +# This may be replaced when dependencies are built. diff --git a/build/CMakeFiles/Com_kk.dir/flags.make b/build/CMakeFiles/Com_kk.dir/flags.make new file mode 100644 index 0000000..fe454d0 --- /dev/null +++ b/build/CMakeFiles/Com_kk.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# compile CXX with /usr/bin/c++ +CXX_DEFINES = + +CXX_INCLUDES = -I/home/xb/satellite/aircraft-1/container-3/通信机-kk仿真 -I/usr/local/include/simmsg + +CXX_FLAGS = -std=c++14 -pthread -std=gnu++14 + diff --git a/build/CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.o b/build/CMakeFiles/Com_kk.dir/hook-rs422_kk.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..11fbc8c3b7d622efba941bd105c7a89b4b3688ce GIT binary patch literal 219440 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 z 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 MAy?&1+~CLm1Jbzq;{X5v literal 0 HcmV?d00001 diff --git a/build/cmake_install.cmake b/build/cmake_install.cmake new file mode 100644 index 0000000..daad84f --- /dev/null +++ b/build/cmake_install.cmake @@ -0,0 +1,54 @@ +# Install script for directory: /home/xb/satellite/aircraft-1/container-3/通信机-kk仿真 + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "1") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set default install directory permissions. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +if(CMAKE_INSTALL_COMPONENT) + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +file(WRITE "/home/xb/satellite/aircraft-1/container-3/通信机-kk仿真/build/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") diff --git a/hook-rs422_kk.cpp b/hook-rs422_kk.cpp new file mode 100644 index 0000000..0a2f32b --- /dev/null +++ b/hook-rs422_kk.cpp @@ -0,0 +1,737 @@ +/******************************************************************************* + * hook_rs422.cpp + * + * FPGA扩展RS422串口外挂程序 + * 功能:监听/dev/pts/25串口,处理数据并执行相应操作 + * + * 1. 将产生的虚拟遥测写入/dev/pts/12串口 + * 2. 将收到的上行指令写入/dev/pts/12串口 + * 3. 将从串口得到的数据通过DDS接口发送出去 + * + * 使用方式: ./Com_kk <发送串口> <接收串口> + * 示例: ./Com_kk /dev/pts/12 /dev/pts/25 + ******************************************************************************/ + +#include "hook-rs422_kk.h" +#include "SimMsg.h" + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace std; + +// 全局变量定义 +volatile int keep_running = 1; +uint8_t scomm_enable = 1; + +// DDS相关全局变量 +SimMsg* simMsg = nullptr; +string pkgname = ""; +string topic_name_o2_can = "o2-can"; +string topic_name_o1_can = "o1-can"; +string topic_name_kk = "comu-kk"; + +// 互斥锁保护共享数据 +std::mutex g_data_mutex; + +// 本地参数声明 +uint8_t tm_buffer[256] = { 0 }; +S_Comm_telemetry_data_t s_tele = { 0 }; + +uint8_t isReceiveCmder = 0; +uint8_t rec_cmder_fromdds[255] = { 0 }; +uint16_t rec_len_fromdds = 0; + +string Msgfrom = "O2-A"; + +//====================================== 串口管理 ======================================// + +// Socat虚拟串口结构 +typedef struct { + int fd; // 文件描述符 + bool enabled; // 使能标志 + char device_path[256]; // 串口设备路径 + const char* port_name; // 串口名称(用于日志标识) + const char* port_role; // 串口角色 +} SocatPort; + +// 串口枚举定义 +enum SocatPortId { + PORT_TX = 0, // 发送串口 (argv[1]) + PORT_RX = 1 // 接收串口 (argv[2]) +}; + +// 串口实例 +static SocatPort socat_ports[2] = { + { -1, false, "", "发送串口", "发送" }, + { -1, false, "", "接收串口", "接收" } +}; + +// 线程相关 +static pthread_t listen_thread; + +//====================================== 函数声明 ======================================// + +// 日志函数 +void WriteLog(const string &msg); + +// DDS接口函数 +void pkginit(uint8_t domainid, string appname, string pkgname_); +void PkgToO2_AkkDataPub(uint8_t* o2_kk_data, uint16_t len); +void PkgToO_1kkDataPub(uint8_t* o1_kk_data, uint16_t len); +void pkgSubO_1KKData(message_func_t MessageCallback); +void PkgSubO2_AKkData(message_func_t MessageCallback); + +// 数据处理函数 +void cjb_rs422_kk_receive(string src, string dest, string type, string reserve1, + string reserve2, vector& data); +void process_tm_buffer(uint8_t* buffer, uint16_t length); +void generate_s_tele(uint8_t* tele); +uint8_t generate_cmder(uint8_t* tele); + +// 串口管理函数 +int init_socat_serial(SocatPortId port_id, const char* device_path); +int read_from_serial(SocatPortId port_id, uint8_t* buffer, uint16_t buffer_size); +void forward_to_socat(uint8_t* data, uint16_t len, SocatPortId port_id); +void cleanup_socat_serial(SocatPortId port_id); +void cleanup_all_socat_serial(); + +// 线程函数 +void* listen_serial_thread(void* arg); +int start_listen_thread(); +void stop_listen_thread(); + +// 主程序接口 +void hook_rs422_kk(const char* tx_port, const char* rx_port); +void set_scomm_enable(uint8_t s_en); +void cleanup_hook_rs422(); + +// 信号处理 +void signal_handler(int signum); + +//====================================== 日志函数 ======================================// + +void WriteLog(const string &msg) { + time_t now = time(0); + char buf[80]; + strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", localtime(&now)); + cout << "[" << buf << "] " << msg << endl; +} + +//====================================== FastDDS函数 ======================================// + +void pkginit(uint8_t domainid, string appname, string pkgname_) { + if (simMsg == nullptr) { + WriteLog("初始化FastDDS通信..."); + simMsg = new SimMsg(domainid, 3000, appname, WriteLog); + simMsg->create_pub(topic_name_o2_can); + simMsg->create_pub(topic_name_o1_can); + simMsg->create_pub(topic_name_kk); + pkgname = pkgname_; + WriteLog("FastDDS初始化完成: domainid=" + to_string(domainid) + + ", appname=" + appname + ", pkgname=" + pkgname_); + } +} + +void PkgToO2_AkkDataPub(uint8_t* o2_kk_data, uint16_t len) { + if (!simMsg || !scomm_enable) return; + + simMsg->publish(topic_name_kk, pkgname, "O2-A", "", o2_kk_data, len); + + string hex_str = "发送到O2-A DDS(" + to_string(len) + "字节): "; + for (int i = 0; i < (len < 10 ? len : 10); i++) { + char buf[4]; + snprintf(buf, sizeof(buf), "%02X ", o2_kk_data[i]); + hex_str += buf; + } + if (len > 10) hex_str += "..."; + WriteLog(hex_str); +} + +void PkgToO_1kkDataPub(uint8_t* o1_kk_data, uint16_t len) { + if (!simMsg || !scomm_enable) return; + + simMsg->publish(topic_name_kk, pkgname, "O-1", "", o1_kk_data, len); + + string hex_str = "发送到O-1 DDS(" + to_string(len) + "字节): "; + for (int i = 0; i < (len < 10 ? len : 10); i++) { + char buf[4]; + snprintf(buf, sizeof(buf), "%02X ", o1_kk_data[i]); + hex_str += buf; + } + if (len > 10) hex_str += "..."; + WriteLog(hex_str); +} + +void pkgSubO_1KKData(message_func_t MessageCallback) { + if (!simMsg) return; + + vector parameters; + string expression = "src = 'O-1'"; + simMsg->create_sub(topic_name_kk, + static_cast(MessageCallback), + expression, parameters); + WriteLog("订阅O-1数据成功"); +} + +void PkgSubO2_AKkData(message_func_t MessageCallback) { + if (!simMsg) return; + + vector parameters; + string expression = "src = 'O2-A'"; + simMsg->create_sub(topic_name_kk, + static_cast(MessageCallback), + expression, parameters); + WriteLog("订阅O2-A数据成功"); +} + +//====================================== DDS接收回调 ======================================// + +void cjb_rs422_kk_receive(string src, string dest, string type, string reserve1, + string reserve2, vector& data) { + if (data.empty()) { + WriteLog("警告:收到空数据"); + return; + } + + WriteLog("收到来自 " + src + " 的数据,大小: " + to_string(data.size()) + " 字节"); + + if (dest == "CJ") { + lock_guard lock(g_data_mutex); + + Msgfrom = src; + uint8_t checksum = 0; + uint16_t frameLen = 0; + + // 安全复制数据 + uint16_t copy_size = (data.size() < sizeof(rec_cmder_fromdds)) ? + data.size() : sizeof(rec_cmder_fromdds) - 1; + + for (size_t kc = 0; kc < copy_size; kc++) { + if (kc == 5 || kc == 6) continue; + + if (frameLen < sizeof(rec_cmder_fromdds)) { + rec_cmder_fromdds[frameLen++] = data[kc]; + } + } + + rec_len_fromdds = frameLen; + + // 更新指令ID为遥控指令查询ID 0x4B + if (rec_len_fromdds > 2) { + rec_cmder_fromdds[2] = 0xB4; + } + + // 调整长度字段 + if (rec_len_fromdds > 4) { + if (rec_cmder_fromdds[4] >= 0x02) { + rec_cmder_fromdds[4] -= 0x02; + } else { + rec_cmder_fromdds[4] = 0; + } + } + + // 重新计算校验和 + for (int kc = 2; kc < rec_len_fromdds - 1; kc++) { + checksum += rec_cmder_fromdds[kc]; + } + + if (rec_len_fromdds > 0) { + rec_cmder_fromdds[rec_len_fromdds - 1] = checksum; + } + + isReceiveCmder = 1; + WriteLog("已存储空空遥控指令,长度: " + to_string(rec_len_fromdds) + " 字节"); + + // 打印指令内容 + string hex_str = "指令内容: "; + int print_len = (rec_len_fromdds < 20 ? rec_len_fromdds : 20); + for (int i = 0; i < print_len; i++) { + char buf[4]; + snprintf(buf, sizeof(buf), "%02X ", rec_cmder_fromdds[i]); + hex_str += buf; + } + if (rec_len_fromdds > 20) hex_str += "..."; + WriteLog(hex_str); + } else { + WriteLog("非CJ目标的数据,忽略"); + } +} + +//====================================== 串口管理 ======================================// + +int init_socat_serial(SocatPortId port_id, const char* device_path) { + if (port_id < 0 || port_id >= 2) { + WriteLog("错误:无效的串口ID"); + return -1; + } + + SocatPort* port = &socat_ports[port_id]; + + // 更新设备路径 + if (device_path && strlen(device_path) > 0) { + strncpy(port->device_path, device_path, sizeof(port->device_path) - 1); + port->device_path[sizeof(port->device_path) - 1] = '\0'; + } + + if (strlen(port->device_path) == 0) { + WriteLog("错误:串口" + string(port->port_role) + "路径为空"); + return -1; + } + + // 打开串口 + port->fd = open(port->device_path, O_RDWR | O_NOCTTY); + if (port->fd < 0) { + WriteLog("错误:无法打开" + string(port->port_role) + " " + + string(port->device_path) + " (错误: " + strerror(errno) + ")"); + port->enabled = false; + return -1; + } + + // 配置串口参数 + struct termios tty; + memset(&tty, 0, sizeof(tty)); + + if (tcgetattr(port->fd, &tty) != 0) { + WriteLog("错误:无法获取" + string(port->port_role) + "属性"); + close(port->fd); + port->fd = -1; + port->enabled = false; + return -1; + } + + // 设置波特率 115200 + cfsetospeed(&tty, B115200); + cfsetispeed(&tty, B115200); + + // 8N1配置 + tty.c_cflag &= ~PARENB; // 无奇偶校验 + tty.c_cflag &= ~CSTOPB; // 1位停止位 + tty.c_cflag &= ~CSIZE; + tty.c_cflag |= CS8; // 8位数据位 + tty.c_cflag |= CREAD | CLOCAL; // 启用接收,忽略调制解调器状态 + + // 关闭硬件流控 + tty.c_cflag &= ~CRTSCTS; + + // 输入模式 + tty.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); // 非规范模式 + tty.c_iflag &= ~(IXON | IXOFF | IXANY); // 关闭软件流控 + tty.c_iflag &= ~(INLCR | ICRNL | IGNCR); + + // 输出模式 + tty.c_oflag &= ~OPOST; // 原始输出 + tty.c_oflag &= ~ONLCR; + + // 超时设置 + if (port_id == PORT_RX) { + tty.c_cc[VMIN] = 1; // 至少读取1个字节 + tty.c_cc[VTIME] = 10; // 1秒超时 + } else { + tty.c_cc[VMIN] = 0; // 非阻塞 + tty.c_cc[VTIME] = 5; // 0.5秒超时 + } + + if (tcsetattr(port->fd, TCSANOW, &tty) != 0) { + WriteLog("错误:无法设置" + string(port->port_role) + "属性"); + close(port->fd); + port->fd = -1; + port->enabled = false; + return -1; + } + + // 清空缓冲区 + tcflush(port->fd, TCIOFLUSH); + + port->enabled = true; + WriteLog("成功初始化" + string(port->port_role) + ":" + + string(port->device_path) + " (" + string(port->port_name) + ")"); + return 0; +} + +int read_from_serial(SocatPortId port_id, uint8_t* buffer, uint16_t buffer_size) { + if (port_id < 0 || port_id >= 2 || buffer == nullptr || buffer_size == 0) { + return -1; + } + + SocatPort* port = &socat_ports[port_id]; + + if (!port->enabled || port->fd < 0) { + return -1; + } + + // 使用poll检查是否有数据可读 + struct pollfd fds[1]; + fds[0].fd = port->fd; + fds[0].events = POLLIN; + + int ret = poll(fds, 1, 100); // 100ms超时 + + if (ret > 0 && (fds[0].revents & POLLIN)) { + ssize_t bytes_read = read(port->fd, buffer, buffer_size); + if (bytes_read > 0) { + string hex_str = "从" + string(port->port_role) + "(" + + string(port->device_path) + ")收到数据(" + + to_string(bytes_read) + "字节): "; + for (int i = 0; i < (bytes_read < 8 ? bytes_read : 8); i++) { + char buf[4]; + snprintf(buf, sizeof(buf), "%02X ", buffer[i]); + hex_str += buf; + } + if (bytes_read > 8) hex_str += "..."; + WriteLog(hex_str); + return bytes_read; + } else if (bytes_read == 0) { + return 0; + } else { + if (errno != EAGAIN && errno != EWOULDBLOCK) { + WriteLog("错误:读取" + string(port->port_role) + "数据失败: " + + string(strerror(errno))); + } + return -1; + } + } + + return 0; // 没有数据可读 +} + +void forward_to_socat(uint8_t* data, uint16_t len, SocatPortId port_id) { + if (port_id < 0 || port_id >= 2) return; + + SocatPort* port = &socat_ports[port_id]; + + if (!port->enabled || port->fd < 0 || len == 0) return; + + // 打印发送的数据 + string hex_str = "向" + string(port->port_role) + "(" + + string(port->device_path) + ")发送数据(" + + to_string(len) + "字节): "; + for (int i = 0; i < (len < 8 ? len : 8); i++) { + char buf[4]; + snprintf(buf, sizeof(buf), "%02X ", data[i]); + hex_str += buf; + } + if (len > 8) hex_str += "..."; + WriteLog(hex_str); + + // 写入数据 + ssize_t written = write(port->fd, data, len); + + if (written != len) { + WriteLog("警告:未能完全写入所有数据到" + string(port->port_role) + + " (期望" + to_string(len) + "字节,实际" + to_string(written) + "字节)"); + } + + // 确保数据发送完成 + tcdrain(port->fd); +} + +void cleanup_socat_serial(SocatPortId port_id) { + if (port_id < 0 || port_id >= 2) return; + + SocatPort* port = &socat_ports[port_id]; + port->enabled = false; + + if (port->fd >= 0) { + close(port->fd); + port->fd = -1; + WriteLog("清理" + string(port->port_role) + ":" + string(port->device_path)); + } +} + +void cleanup_all_socat_serial() { + for (int i = 0; i < 2; i++) { + cleanup_socat_serial(static_cast(i)); + } +} + +//====================================== 数据处理 ======================================// + +void process_tm_buffer(uint8_t* buffer, uint16_t length) { + if (length < 3) { + WriteLog("警告:接收数据长度不足"); + return; + } + + char type_str[10]; + snprintf(type_str, sizeof(type_str), "0x%02X", buffer[2]); + WriteLog("处理指令类型: " + string(type_str)); + + uint8_t scomm[56]; + uint8_t cmder[255]; + uint8_t cmder_len; + + switch (buffer[2]) { + case 0x0F: // 取常规遥测数据 + WriteLog("指令0x0F: 取常规遥测数据"); + generate_s_tele(scomm); + WriteLog("发送常规遥测数据到发送串口"); + forward_to_socat(scomm, 56, PORT_TX); + break; + + case 0x1E: // 遥控指令 + WriteLog("指令0x1E: 遥控指令(本地处理)"); + break; + + case 0x4B: // 取主星空空的遥控指令 + WriteLog("指令0x4B: 请求空空遥控指令"); + + { + lock_guard lock(g_data_mutex); + cmder_len = generate_cmder(cmder); + } + + if (cmder_len != 0) { + WriteLog("发送空空遥控指令到发送串口"); + forward_to_socat(cmder, cmder_len, PORT_TX); + } else { + WriteLog("没有可用的空空遥控指令,返回默认响应"); + forward_to_socat(cmder, 6, PORT_TX); + } + break; + + case 0x5A: // 发送下行遥测 + WriteLog("指令0x5A: 发送下行遥测到DDS"); + + if (Msgfrom == "O2-A") { + if (scomm_enable) { + PkgToO2_AkkDataPub(buffer, length); + WriteLog("发送到O2-A DDS"); + } + } else if (Msgfrom == "O-1") { + if (scomm_enable) { + PkgToO_1kkDataPub(buffer, length); + WriteLog("发送到O-1 DDS"); + } + } else { + if (scomm_enable) { + PkgToO2_AkkDataPub(buffer, length); + WriteLog("发送到默认O2-A DDS"); + } + } + break; + + default: + char unknown_str[10]; + snprintf(unknown_str, sizeof(unknown_str), "0x%02X", buffer[2]); + WriteLog("未知指令类型: " + string(unknown_str)); + WriteLog("数据将转发到发送串口"); + forward_to_socat(buffer, length, PORT_TX); + break; + } +} + +void generate_s_tele(uint8_t* tele) { + static uint8_t packet_cnt = 0; + uint8_t checksum = 0; + + s_tele.packet_cnt_1 = packet_cnt++; + s_tele.para2.trans = 1; + + // 填充示例数据 + s_tele.snrInfoChannel = 80; + s_tele.receive_RSSI = 60; + + tele[0] = 0xEB; tele[1] = 0x90; tele[2] = 0xF0; + tele[3] = 0x00; tele[4] = 0x32; + tele[5] = 0x00; tele[6] = 0x30; tele[7] = 0x01; + tele[8] = 0xA6; tele[9] = 0xC0; + tele[10] = packet_cnt; tele[11] = 0x00; tele[12] = 0x29; + + memcpy(&tele[13], &s_tele, sizeof(S_Comm_telemetry_data_t)); + + for (int kc = 2; kc < 55; kc++) + checksum += tele[kc]; + + tele[55] = checksum; + + WriteLog("生成遥测数据包,包计数: " + to_string(packet_cnt)); +} + +uint8_t generate_cmder(uint8_t* tele) { + if (isReceiveCmder) { + memcpy(tele, rec_cmder_fromdds, rec_len_fromdds); + isReceiveCmder = 0; + memset(rec_cmder_fromdds, 0, 255); + return rec_len_fromdds; + } else { + tele[0] = 0xEB; tele[1] = 0x90; tele[2] = 0xB4; + tele[3] = 0x00; tele[4] = 0x00; tele[5] = 0xB4; + return 6; + } +} + +//====================================== 监听线程 ======================================// + +void* listen_serial_thread(void* arg) { + WriteLog("串口监听线程启动,监听接收串口"); + + uint8_t read_buffer[256]; + + while (keep_running) { + int bytes_read = read_from_serial(PORT_RX, read_buffer, sizeof(read_buffer)); + + if (bytes_read > 0) { + process_tm_buffer(read_buffer, bytes_read); + } else if (bytes_read < 0) { + usleep(100000); // 100ms + } else { + usleep(10000); // 10ms + } + } + + WriteLog("串口监听线程停止"); + return NULL; +} + +int start_listen_thread() { + if (socat_ports[PORT_RX].fd < 0) { + WriteLog("错误:接收串口未初始化"); + return -1; + } + + keep_running = 1; + int ret = pthread_create(&listen_thread, NULL, listen_serial_thread, NULL); + if (ret != 0) { + WriteLog("错误:无法创建监听线程"); + return -1; + } + + return 0; +} + +void stop_listen_thread() { + keep_running = 0; + if (listen_thread) { + pthread_join(listen_thread, NULL); + listen_thread = 0; + } +} + +//====================================== 主程序接口 ======================================// + +void hook_rs422_kk(const char* tx_port, const char* rx_port) { + WriteLog("初始化RS422通信模块"); + WriteLog("发送串口: " + string(tx_port ? tx_port : "未指定")); + WriteLog("接收串口: " + string(rx_port ? rx_port : "未指定")); + + // 初始化串口 + int success_count = 0; + + if (init_socat_serial(PORT_TX, tx_port) == 0) { + success_count++; + } + + if (init_socat_serial(PORT_RX, rx_port) == 0) { + success_count++; + } + + if (success_count >= 2) { + WriteLog("成功初始化所有串口"); + } else if (success_count >= 1) { + WriteLog("警告:只初始化了 " + to_string(success_count) + " 个串口"); + WriteLog("错误:无法正常工作,至少需要两个串口"); + return; + } else { + WriteLog("错误:未能初始化任何串口"); + return; + } + + // 初始化DDS + pkginit(1, "rs422_app", "hook_rs422"); + + // 订阅DDS消息 + PkgSubO2_AKkData(cjb_rs422_kk_receive); + pkgSubO_1KKData(cjb_rs422_kk_receive); + WriteLog("已订阅O2-A和O-1数据"); + + // 启动监听线程 + if (start_listen_thread() == 0) { + WriteLog("串口监听线程已启动"); + } else { + WriteLog("错误:未能启动串口监听线程"); + } +} + +void set_scomm_enable(uint8_t s_en) { + scomm_enable = s_en; + WriteLog("设置通信使能: " + to_string(s_en)); +} + +void cleanup_hook_rs422() { + WriteLog("清理RS422通信模块资源"); + + stop_listen_thread(); + cleanup_all_socat_serial(); + + if (simMsg) { + delete simMsg; + simMsg = nullptr; + WriteLog("清理DDS资源"); + } +} + +//====================================== 信号处理 ======================================// + +void signal_handler(int signum) { + keep_running = 0; +} + +//====================================== 主函数 ======================================// + +int main(int argc, char* argv[]) { + WriteLog("========================================"); + WriteLog("RS422通信程序启动"); + WriteLog("使用方式: " + string(argv[0]) + " <发送串口> <接收串口>"); + WriteLog("示例: " + string(argv[0]) + " /dev/pts/12 /dev/pts/25"); + WriteLog("========================================"); + + // 检查参数 + if (argc < 3) { + WriteLog("错误:参数不足"); + WriteLog("请指定发送串口和接收串口:"); + WriteLog(" " + string(argv[0]) + " /dev/pts/12 /dev/pts/25"); + WriteLog("或使用默认值:"); + WriteLog(" " + string(argv[0]) + " /dev/pts/12 /dev/pts/25"); + return 1; + } + + const char* tx_port = argv[1]; + const char* rx_port = argv[2]; + + // 设置信号处理 + signal(SIGINT, signal_handler); + signal(SIGTERM, signal_handler); + signal(SIGQUIT, signal_handler); + + // 启动RS422通信模块 + hook_rs422_kk(tx_port, rx_port); + + // 主循环 + while (keep_running) { + sleep(1); + + static int counter = 0; + if (counter++ % 60 == 0) { + string tx_path = socat_ports[PORT_TX].device_path; + string rx_path = socat_ports[PORT_RX].device_path; + WriteLog("程序运行中... 发送串口:" + tx_path + " 接收串口:" + rx_path); + } + } + + // 清理资源 + cleanup_hook_rs422(); + + return 0; +} \ No newline at end of file diff --git a/hook-rs422_kk.h b/hook-rs422_kk.h new file mode 100644 index 0000000..d6cad36 --- /dev/null +++ b/hook-rs422_kk.h @@ -0,0 +1,115 @@ +/******************************************************************************* + * hook-rs422_kk.h + * + * FPGA扩展RS422串口外挂程序头文件 + ******************************************************************************/ + +#ifndef HOOK_RS422_KK_H_ +#define HOOK_RS422_KK_H_ + +#include "SimMsg.h" + +#include +#include +#include + +// 星间通信机子遥测 +typedef union { + uint8_t ext[9]; // 72位数据的联合体 + struct __attribute__((__packed__)) { + unsigned int temperature : 12; // 温度遥测 + unsigned int temperature_calibrated : 12; // 温度遥测标校 + unsigned int transmission_power : 12; // 12V电源遥测 + unsigned int power_supply_5v4 : 12; // 5.4V电源遥测 + unsigned int power_supply_2v5 : 12; // 2.5V电源遥测 + unsigned int power_supply_1v2 : 12; // 1.2V电源遥测 + }; +} s_comm_telemetry_t; + +// 星间通信机参数0 +typedef union { + uint8_t ext; + struct __attribute__((__packed__)) { + unsigned int loadNo : 2; // 加载程序编号 + unsigned int loadMode : 2; // 加载模式 + unsigned int AorB : 1; // AB机状态 + unsigned int FPGAFresh : 1; // FPGA刷新状态 + unsigned int zaiboSync : 1; // 信息载波同步 + unsigned int weimaSync : 1; // 信息伪码同步 + }; +} s_comm_para0; + +// 星间通信机参数2 +typedef union { + uint8_t ext; + struct __attribute__((__packed__)) { + unsigned int transDampCtrl : 3; // 发射衰减控制字 + unsigned int trans : 1; // 发射通道开关 + unsigned int recDampCtrl : 3; // 接收衰减控制字 + unsigned int recDampCtrlMode : 1; // 接收衰减控制模式 + }; +} s_comm_para2; + +// 星间通信机参数3 +typedef union { + uint8_t ext; + struct __attribute__((__packed__)) { + unsigned int recStatus : 1; // 接收缓存状态 + unsigned int workmode : 2; // 工作模式 + unsigned int sendStatus : 1; // 发射缓存状态 + unsigned int antsChoice : 1; // 天线选择 + unsigned int FreqChoice : 1; // 频点选择 + unsigned int telem_MM_Mode : 1; // 遥测明/密状态 + unsigned int telec_MM_Mode : 1; // 遥控明/密状态 + }; +} s_comm_para3; + +// S通信机遥测结构体 +typedef struct __attribute__((packed)) { + uint8_t packet_cnt_1; // 遥测包计数 + uint8_t cmd1_success_count; // 接收指令1正确计数 + uint8_t cmd1_err_type1_count; // 接收指令1错误类型1计数 + uint8_t cmd2_success_count; // 接收指令2正确计数 + uint8_t cmd2_err_count; // 接收指令2错误计数 + uint8_t reset_count; // 复位计数 + uint8_t refresh_count; // 刷新状态计数 + s_comm_para0 para0; + uint8_t para1; + int8_t dopplerFreqInfoChannel; // 信息通道多普勒频偏 + int8_t dopplerFreqMeasureChannel; // 测量通道多普勒频偏 + uint8_t snrInfoChannel; // 信息通道接收信噪比 + uint8_t snrMeasureChannel; // 测量通道接收信噪比 + uint8_t receive_RSSI; // 接收RSSI + uint8_t generalQueryCount; // 常规遥测查询计数 + uint8_t forwardcmdcnt; // 转发遥控指令计数 + uint8_t cmdinquiryCount; // 空空接收后遥控计数 + uint8_t teletransmissionCount; // 转发遥测计数 + uint8_t res0[2]; // LVDS预留参数 + s_comm_para2 para2; + s_comm_telemetry_t s_telemetry; + uint8_t AD9364_configuration_count; // AD9364配置计数 + s_comm_para3 para3; + uint8_t res1[3]; // 预留参数 + uint8_t cmd1_err_type2_count; // 接收指令1错误类型2计数 + uint16_t teletransmission_secretkey; // 遥测当前密钥 + uint16_t telecmd_secretkey; // 遥控当前密钥 + uint16_t LVDS_sendCnt; // LVDS发送计数 +} S_Comm_telemetry_data_t; + +// 全局变量声明 +extern volatile int keep_running; +extern uint8_t scomm_enable; + +// FastDDS接口函数 +void pkginit(uint8_t domainid, std::string appname, std::string pkgname_); +void PkgToO2_AkkDataPub(uint8_t* o2_kk_data, uint16_t len); +void PkgToO_1kkDataPub(uint8_t* o1_kk_data, uint16_t len); +void pkgSubO_1KKData(message_func_t MessageCallback); +void PkgSubO2_AKkData(message_func_t MessageCallback); + +// 主程序函数 +void hook_rs422_kk(const char* tx_port, const char* rx_port); +void set_scomm_enable(uint8_t s_en); +void cleanup_hook_rs422(); + +#endif /* HOOK_RS422_KK_H_ */ \ No newline at end of file