From 172fb807f6115c1eea87efe78f091a05878e1667 Mon Sep 17 00:00:00 2001 From: xb <18656218039@163.com> Date: Tue, 30 Dec 2025 17:02:59 +0800 Subject: [PATCH] Initial commit from DCSP - 2025/12/30 17:02:59 --- CMakeLists.txt | 46 + CanHS-main.cpp | 88 ++ CanHS.cpp | 583 +++++++++++++ CanHS.h | 130 +++ 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/CanHS.dir/CanHS-main.cpp.o | Bin 0 -> 17952 bytes build/CMakeFiles/CanHS.dir/CanHS-main.cpp.o.d | 193 +++++ build/CMakeFiles/CanHS.dir/CanHS.cpp.o | Bin 0 -> 171720 bytes build/CMakeFiles/CanHS.dir/CanHS.cpp.o.d | 415 +++++++++ build/CMakeFiles/CanHS.dir/DependInfo.cmake | 20 + build/CMakeFiles/CanHS.dir/build.make | 126 +++ build/CMakeFiles/CanHS.dir/cmake_clean.cmake | 13 + .../CMakeFiles/CanHS.dir/compiler_depend.make | 2 + build/CMakeFiles/CanHS.dir/compiler_depend.ts | 2 + build/CMakeFiles/CanHS.dir/depend.make | 2 + build/CMakeFiles/CanHS.dir/flags.make | 10 + build/CMakeFiles/CanHS.dir/link.txt | 1 + build/CMakeFiles/CanHS.dir/progress.make | 4 + 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 | 208 +++++ build/bin/CanHS | Bin 0 -> 113792 bytes build/cmake_install.cmake | 54 ++ 37 files changed, 4734 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 CanHS-main.cpp create mode 100644 CanHS.cpp create mode 100644 CanHS.h 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/CanHS.dir/CanHS-main.cpp.o create mode 100644 build/CMakeFiles/CanHS.dir/CanHS-main.cpp.o.d create mode 100644 build/CMakeFiles/CanHS.dir/CanHS.cpp.o create mode 100644 build/CMakeFiles/CanHS.dir/CanHS.cpp.o.d create mode 100644 build/CMakeFiles/CanHS.dir/DependInfo.cmake create mode 100644 build/CMakeFiles/CanHS.dir/build.make create mode 100644 build/CMakeFiles/CanHS.dir/cmake_clean.cmake create mode 100644 build/CMakeFiles/CanHS.dir/compiler_depend.make create mode 100644 build/CMakeFiles/CanHS.dir/compiler_depend.ts create mode 100644 build/CMakeFiles/CanHS.dir/depend.make create mode 100644 build/CMakeFiles/CanHS.dir/flags.make create mode 100644 build/CMakeFiles/CanHS.dir/link.txt create mode 100644 build/CMakeFiles/CanHS.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/CanHS create mode 100644 build/cmake_install.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..f3a5725 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,46 @@ +cmake_minimum_required(VERSION 3.10) +project(CanHS) + +# 设置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(CanHS + CanHS-main.cpp + CanHS.cpp +) + +# 链接库 +target_link_libraries(CanHS + pthread + m + rt + simmsg + fastrtps + fastcdr + foonathan_memory +) + +# 设置输出目录 +set_target_properties(CanHS PROPERTIES + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin +) diff --git a/CanHS-main.cpp b/CanHS-main.cpp new file mode 100644 index 0000000..2321b51 --- /dev/null +++ b/CanHS-main.cpp @@ -0,0 +1,88 @@ +#include "CanHS.h" +#include +#include +#include +#include +#include +#include +#include + +static volatile bool g_running = true; + +/* 信号处理函数 */ +static void signal_handler(int signum) { + std::cout << "[INFO] Interrupt signal (" << signum << ") received." << std::endl; + g_running = false; +} + +/* 打印统计数据 */ +static void print_stats(void) { + const CanStats* stats = can_service_get_stats(); + if (!stats) return; + + std::cout << "[STATS] TelemetryReq: " << (int)stats->rec_normal_telemetry + << ", TelemetryCtrl: " << (int)stats->rec_telemetry_control << std::endl; +} + +/* 获取CAN设备路径 */ +static std::string get_can_device(int argc, char* argv[]) { + /* 1. 命令行参数优先 */ + if (argc > 1) { + return argv[1]; + } + + /* 2. 环境变量次之 */ + const char* env_can = getenv("CAN_DEV"); + if (env_can) { + return env_can; + } + + /* 3. 使用默认值 */ + return "/dev/canfd0"; +} + +int main(int argc, char* argv[]) { + std::cout << "[INFO] CAN Hardware Service Starting..." << std::endl; + + /* 注册信号处理 */ + signal(SIGINT, signal_handler); + signal(SIGTERM, signal_handler); + + /* 获取CAN设备路径 */ + std::string can_device = get_can_device(argc, argv); + std::cout << "[CONFIG] Using CAN device: " << can_device << std::endl; + + /* 初始化CAN服务 */ + if (!can_service_init(can_device.c_str())) { + std::cerr << "[ERROR] Failed to initialize CAN service" << std::endl; + return -1; + } + + /* 初始化FastDDS */ + CanHS_init(0, "Can_Hardware_Service"); + + /* 启动CAN服务 */ + can_service_start(); + + std::cout << "[INFO] CAN Service started successfully" << std::endl; + std::cout << "[INFO] Press Ctrl+C to stop" << std::endl; + + /* 主循环 */ + int counter = 0; + while (g_running) { + std::this_thread::sleep_for(std::chrono::seconds(1)); + + if (++counter % 30 == 0) { // 每30秒打印一次 + std::cout << "[INFO] Service running..." << std::endl; + print_stats(); + } + } + + /* 清理资源 */ + std::cout << "[INFO] Shutting down CAN Service..." << std::endl; + can_service_stop(); + can_service_destroy(); + + std::cout << "[INFO] CAN Service terminated successfully" << std::endl; + return 0; +} \ No newline at end of file diff --git a/CanHS.cpp b/CanHS.cpp new file mode 100644 index 0000000..28c1e41 --- /dev/null +++ b/CanHS.cpp @@ -0,0 +1,583 @@ +#include "CanHS.h" +#include "SimMsg.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +using namespace std; + +/* 全局变量定义 */ +static CanServiceContext g_can_ctx = { + .fd_can = -1, + .running = false, + .send_id_on_o2 = 0x27, + .stats = {0}, + .telemetry_len = 0, + .telemetry_request_pending = false, + .listener_thread = 0 +}; + +/* FastDDS相关全局变量 */ +string topic_name_cmd = "Command"; +string topic_name_tlm = "Telemetry"; +SimMsg* CanHS_part = nullptr; +string servername = "Can_Hardware_Service"; + +/* 内部函数声明 */ +static bool can_device_init(const char* dev_can); +static void* background_listener_thread(void* arg); +static void background_listener(void); +static void process_can_data(uint8_t serve_type, uint8_t *rcv_data, uint8_t data_len); +static int process_multi_frame(uint8_t serve_type, uint8_t frame_seq, + uint8_t *data, uint8_t data_len); +static void reset_multi_frame_state(void); +static bool is_multi_frame_timeout(void); +static void process_telemetry_request(uint8_t *rcv_data, uint8_t data_len); +static void process_telemetry_control(uint8_t *rcv_data, uint8_t data_len); + +/* ============================================================ + FastDDS相关函数实现 + ============================================================ */ + +void CanHSWriteLog(const std::string &msg) +{ + std::cout << msg << std::endl; +} + +void CanHS_init(uint8_t domainid, std::string appname) +{ + std::vector parameters; + string expression = "dest = '" + servername + "'"; + + if (nullptr == CanHS_part) + { + CanHS_part = new SimMsg(domainid, 3000, appname, CanHSWriteLog); + CanHS_part->create_pub(topic_name_cmd); + CanHS_part->create_pub(topic_name_tlm); + + CanHS_part->create_sub(topic_name_tlm, telemetry_callback, expression, parameters); + } +} + +/* 命令发布函数 */ +void CanHS_command_Pub(uint8_t* data, std::string dest, uint16_t len) +{ + if (CanHS_part && data && len > 0) + { + CanHS_part->publish(topic_name_cmd, servername, dest, "command", data, len); + } +} + +/* 遥测发布函数 */ +void CanHS_telemetry_Pub(uint8_t* data, std::string dest, uint16_t len) +{ + if (CanHS_part && data && len > 0) + { + CanHS_part->publish(topic_name_tlm, servername, dest, "telemetry", data, len); + } +} + +/* 遥测回调函数 */ +void telemetry_callback(std::string src, std::string dest, std::string type, + std::string reserve1, std::string reserve2, + std::vector& data) +{ + std::cout << "[INFO] CanHS telemetry received from " << src + << " to " << dest << ", size=" << data.size() << std::endl; + + if (data.empty()) + { + std::cout << "[WARN] CanHS: Empty telemetry data received" << std::endl; + return; + } + + /* 存储遥测数据 */ + can_set_telemetry_data(data.data(), data.size()); + + /* 检查是否有遥测请求待处理 */ + if (g_can_ctx.telemetry_request_pending) + { + std::cout << "[INFO] CanHS: Sending telemetry response (pending request)" << std::endl; + send_telemetry_response(data.data(), data.size()); + g_can_ctx.telemetry_request_pending = false; + } +} + +/* ============================================================ + CAN服务核心实现 - 使用Linux SocketCAN + ============================================================ */ + +/* 初始化与销毁 */ +bool can_service_init(const char* can_device) { + + /* 初始化互斥锁 */ + pthread_mutex_init(&g_can_ctx.telemetry_mutex, NULL); + pthread_mutex_init(&g_can_ctx.multi_frame_mutex, NULL); + memset(&g_can_ctx.multi_frame_state, 0, sizeof(g_can_ctx.multi_frame_state)); + + /* 初始化CAN设备 */ + if (!can_device_init(can_device)) { + std::cerr << "[ERROR] CAN device init failed: " << can_device << std::endl; + return false; + } + + return true; +} + +void can_service_destroy(void) { + can_service_stop(); + + pthread_mutex_destroy(&g_can_ctx.telemetry_mutex); + pthread_mutex_destroy(&g_can_ctx.multi_frame_mutex); + + if (g_can_ctx.fd_can >= 0) { + close(g_can_ctx.fd_can); + g_can_ctx.fd_can = -1; + } + + /* 清理FastDDS资源 */ + if (CanHS_part) { + delete CanHS_part; + CanHS_part = nullptr; + } + + std::cout << "[INFO] CAN Service destroyed" << std::endl; +} + +/* 运行控制 */ +void can_service_start(void) { + if (g_can_ctx.running) { + std::cout << "[WARN] CAN Service already running" << std::endl; + return; + } + + g_can_ctx.running = true; + + /* 启动后台监听线程 */ + if (pthread_create(&g_can_ctx.listener_thread, NULL, + background_listener_thread, NULL) != 0) { + std::cerr << "[ERROR] Failed to create background listener thread" << std::endl; + g_can_ctx.running = false; + return; + } + + std::cout << "[INFO] CAN Service started" << std::endl; +} + +void can_service_stop(void) { + g_can_ctx.running = false; + + if (g_can_ctx.listener_thread) { + pthread_join(g_can_ctx.listener_thread, NULL); + g_can_ctx.listener_thread = 0; + } + + std::cout << "[INFO] CAN Service stopped" << std::endl; +} + +/* 统计数据获取 */ +const CanStats* can_service_get_stats(void) { + return &g_can_ctx.stats; +} + +/* CAN设备初始化 - Linux SocketCAN版本 */ +static bool can_device_init(const char* dev_can) { + int s; + struct sockaddr_can addr; + struct ifreq ifr; + + /* 创建SocketCAN socket */ + s = socket(PF_CAN, SOCK_RAW, CAN_RAW); + if (s < 0) { + perror("socket"); + return false; + } + + strcpy(ifr.ifr_name, dev_can); + if (ioctl(s, SIOCGIFINDEX, &ifr) < 0) { + perror("ioctl SIOCGIFINDEX"); + close(s); + return false; + } + + addr.can_family = AF_CAN; + addr.can_ifindex = ifr.ifr_ifindex; + + if (bind(s, (struct sockaddr *)&addr, sizeof(addr)) < 0) { + perror("bind"); + close(s); + return false; + } + + g_can_ctx.fd_can = s; + + std::cout << "[OK] CAN SocketCAN initialized: " << dev_can << std::endl; + g_can_ctx.stats.can_reset++; + return true; +} + +/* CAN单帧发送 */ +int can_send_single(uint8_t serve_type, uint8_t *data, uint8_t data_len) { + if (data_len > 8 || g_can_ctx.fd_can < 0) { + return -1; + } + + struct can_frame frame; + memset(&frame, 0, sizeof(struct can_frame)); + + frame.can_id = g_can_ctx.send_id_on_o2 << 5 | serve_type << 2 | O2_SINGLE_FRAME; + frame.can_dlc = data_len; + + if (data && data_len > 0) { + memcpy(frame.data, data, data_len); + } + + ssize_t ret = write(g_can_ctx.fd_can, &frame, sizeof(struct can_frame)); + if (ret != sizeof(struct can_frame)) { + std::cerr << "[ERROR] CAN send failed: " << strerror(errno) << std::endl; + return -1; + } + + if (serve_type == O2_NORMAL_TELEMETRY) { + g_can_ctx.stats.send_single_frame++; + } + + std::cout << "[INFO] CAN single frame sent: type=0x" << std::hex << (int)serve_type + << ", len=" << std::dec << (int)data_len << std::endl; + return 0; +} + +/* CAN多帧发送 */ +int can_send_multi(uint8_t serve_type, uint8_t *data, uint16_t data_len) { + if (data_len <= 8 || g_can_ctx.fd_can < 0) { + return -1; + } + + struct can_frame frame; + uint16_t remain_len = data_len; + uint16_t frame_index = 0; + + /* 发送首帧 */ + memset(&frame, 0, sizeof(struct can_frame)); + frame.can_id = g_can_ctx.send_id_on_o2 << 5 | serve_type << 2 | O2_START_FRAME; + frame.can_dlc = 8; + frame.data[0] = (uint8_t)frame_index; + + uint16_t copy_len = (remain_len > 7) ? 7 : remain_len; + memcpy(&frame.data[1], data, copy_len); + + if (write(g_can_ctx.fd_can, &frame, sizeof(struct can_frame)) != sizeof(struct can_frame)) { + std::cerr << "[ERROR] Failed to send start frame" << std::endl; + return -1; + } + + remain_len -= copy_len; + frame_index++; + + /* 发送中间帧 */ + while (remain_len > 7) { + memset(&frame, 0, sizeof(struct can_frame)); + frame.can_id = g_can_ctx.send_id_on_o2 << 5 | serve_type << 2 | O2_MID_FRAME; + frame.can_dlc = 8; + frame.data[0] = (uint8_t)frame_index; + + memcpy(&frame.data[1], data + (frame_index * 7), 7); + + if (write(g_can_ctx.fd_can, &frame, sizeof(struct can_frame)) != sizeof(struct can_frame)) { + std::cerr << "[ERROR] Failed to send middle frame " << frame_index << std::endl; + return -1; + } + + remain_len -= 7; + frame_index++; + } + + /* 发送末帧 */ + memset(&frame, 0, sizeof(struct can_frame)); + frame.can_id = g_can_ctx.send_id_on_o2 << 5 | serve_type << 2 | O2_END_FRAME; + frame.can_dlc = remain_len + 1; + frame.data[0] = (uint8_t)frame_index; + + if (remain_len > 0) { + memcpy(&frame.data[1], data + (frame_index * 7), remain_len); + } + + if (write(g_can_ctx.fd_can, &frame, sizeof(struct can_frame)) != sizeof(struct can_frame)) { + std::cerr << "[ERROR] Failed to send end frame" << std::endl; + return -1; + } + + if (serve_type == O2_NORMAL_TELEMETRY) { + g_can_ctx.stats.send_multi_frame++; + } + + std::cout << "[INFO] Multi-frame sent: " << data_len << " bytes in " + << (frame_index + 1) << " frames, type=0x" << std::hex << (int)serve_type << std::dec << std::endl; + return 0; +} + +/* 遥测数据管理 */ +void can_set_telemetry_data(const uint8_t *data, size_t data_len) { + pthread_mutex_lock(&g_can_ctx.telemetry_mutex); + + size_t copy_len = (data_len < sizeof(g_can_ctx.telemetry_buffer)) ? + data_len : sizeof(g_can_ctx.telemetry_buffer); + + memcpy(g_can_ctx.telemetry_buffer, data, copy_len); + g_can_ctx.telemetry_len = copy_len; + + std::cout << "[INFO] Telemetry data updated, size=" << copy_len << std::endl; + + pthread_mutex_unlock(&g_can_ctx.telemetry_mutex); +} + +bool can_get_telemetry_data(uint8_t *buffer, size_t buffer_size, size_t *data_len) { + pthread_mutex_lock(&g_can_ctx.telemetry_mutex); + + if (g_can_ctx.telemetry_len == 0) { + pthread_mutex_unlock(&g_can_ctx.telemetry_mutex); + return false; + } + + size_t copy_len = (g_can_ctx.telemetry_len < buffer_size) ? + g_can_ctx.telemetry_len : buffer_size; + + memcpy(buffer, g_can_ctx.telemetry_buffer, copy_len); + if (data_len) *data_len = copy_len; + + pthread_mutex_unlock(&g_can_ctx.telemetry_mutex); + return true; +} + +/* 遥测响应发送 */ +void send_telemetry_response(const uint8_t *data, size_t data_len) { + uint8_t send_data[1024]; + send_data[0] = 0x02; // 遥测响应标识 + + size_t copy_len = (data_len < sizeof(send_data) - 1) ? data_len : sizeof(send_data) - 1; + memcpy(&send_data[1], data, copy_len); + + uint16_t send_data_len = copy_len + 1; + + if (send_data_len <= 8) { + can_send_single(O2_NORMAL_TELEMETRY, send_data, (uint8_t)send_data_len); + } else { + can_send_multi(O2_NORMAL_TELEMETRY, send_data, send_data_len); + } + + std::cout << "[INFO] Telemetry response sent, data_len=" << copy_len + << ", total_len=" << send_data_len << std::endl; +} + +/* 数据处理函数 */ +static void process_telemetry_request(uint8_t *rcv_data, uint8_t data_len) { + std::cout << "[INFO] Processing telemetry request, data=0x" << std::hex << (int)rcv_data[0] + << ", len=" << std::dec << (int)data_len << std::endl; + + if (rcv_data[0] == 0x01 && data_len == 1) { + g_can_ctx.stats.rec_normal_telemetry++; + + /* 检查是否有遥测数据 */ + uint8_t telemetry_buffer[1024]; + size_t telemetry_len = 0; + + if (can_get_telemetry_data(telemetry_buffer, sizeof(telemetry_buffer), &telemetry_len)) { + /* 有遥测数据,发送响应 */ + send_telemetry_response(telemetry_buffer, telemetry_len); + } else { + /* 无遥测数据,标记待处理 */ + g_can_ctx.telemetry_request_pending = true; + std::cout << "[WARN] No telemetry data available, request pending" << std::endl; + } + } +} + +static void process_telemetry_control(uint8_t *rcv_data, uint8_t data_len) { + std::cout << "[INFO] Processing telemetry control, len=" << (int)data_len << std::endl; + + if (data_len >= 4) { // 最小有效数据长度 + g_can_ctx.stats.rec_telemetry_control++; + + /* 通过FastDDS转发到通信服务 */ + string dest = "Com_Service"; + CanHS_command_Pub(rcv_data, dest, data_len); + + std::cout << "[INFO] Telemetry control forwarded via FastDDS" << std::endl; + } +} + +/* 主数据处理函数 */ +static void process_can_data(uint8_t serve_type, uint8_t *rcv_data, uint8_t data_len) { + switch (serve_type) { + case O2_NORMAL_TELEMETRY: + process_telemetry_request(rcv_data, data_len); + break; + case O2_TELEMETRY_CONTROL: + process_telemetry_control(rcv_data, data_len); + break; + default: + std::cout << "[WARN] Unknown service type: 0x" << std::hex << (int)serve_type << std::dec << std::endl; + break; + } +} + +/* 多帧重组 */ +static bool is_multi_frame_timeout(void) { + struct timeval current_time; + gettimeofday(¤t_time, NULL); + + long elapsed_ms = (current_time.tv_sec - g_can_ctx.multi_frame_state.start_time.tv_sec) * 1000 + + (current_time.tv_usec - g_can_ctx.multi_frame_state.start_time.tv_usec) / 1000; + + return (elapsed_ms > 10000); // 10秒超时 +} + +static void reset_multi_frame_state(void) { + pthread_mutex_lock(&g_can_ctx.multi_frame_mutex); + g_can_ctx.multi_frame_state.active = 0; + g_can_ctx.multi_frame_state.length = 0; + g_can_ctx.multi_frame_state.expected_frame_index = 0; + pthread_mutex_unlock(&g_can_ctx.multi_frame_mutex); +} + +static int process_multi_frame(uint8_t serve_type, uint8_t frame_seq, + uint8_t *data, uint8_t data_len) { + pthread_mutex_lock(&g_can_ctx.multi_frame_mutex); + + /* 检查超时 */ + if (g_can_ctx.multi_frame_state.active && is_multi_frame_timeout()) { + std::cout << "[WARN] Multi-frame reassembly timeout" << std::endl; + reset_multi_frame_state(); + pthread_mutex_unlock(&g_can_ctx.multi_frame_mutex); + return -1; + } + + /* 如果是首帧 */ + if (frame_seq == O2_START_FRAME) { + g_can_ctx.multi_frame_state.active = 1; + g_can_ctx.multi_frame_state.serve_type = serve_type; + g_can_ctx.multi_frame_state.expected_frame_index = 1; + g_can_ctx.multi_frame_state.length = 0; + gettimeofday(&g_can_ctx.multi_frame_state.start_time, NULL); + + if (data_len > 1) { + memcpy(g_can_ctx.multi_frame_state.buffer, &data[1], data_len - 1); + g_can_ctx.multi_frame_state.length = data_len - 1; + } + pthread_mutex_unlock(&g_can_ctx.multi_frame_mutex); + return 0; + } + + /* 如果是中间帧或末帧 */ + if (g_can_ctx.multi_frame_state.active && serve_type == g_can_ctx.multi_frame_state.serve_type) { + if (data[0] == g_can_ctx.multi_frame_state.expected_frame_index) { + if (data_len > 1) { + memcpy(&g_can_ctx.multi_frame_state.buffer[g_can_ctx.multi_frame_state.length], + &data[1], data_len - 1); + g_can_ctx.multi_frame_state.length += data_len - 1; + } + + g_can_ctx.multi_frame_state.expected_frame_index++; + + if (frame_seq == O2_END_FRAME) { + g_can_ctx.multi_frame_state.active = 0; + uint16_t final_length = g_can_ctx.multi_frame_state.length; + pthread_mutex_unlock(&g_can_ctx.multi_frame_mutex); + return final_length; // 返回完整数据长度 + } + pthread_mutex_unlock(&g_can_ctx.multi_frame_mutex); + return 0; // 需要继续接收 + } else { + std::cout << "[WARN] Multi-frame sequence mismatch: expected=" + << (int)g_can_ctx.multi_frame_state.expected_frame_index + << ", received=" << (int)data[0] << std::endl; + reset_multi_frame_state(); + pthread_mutex_unlock(&g_can_ctx.multi_frame_mutex); + return -1; + } + } + + pthread_mutex_unlock(&g_can_ctx.multi_frame_mutex); + return -1; +} + +/* 后台监听线程 */ +static void* background_listener_thread(void* arg) { + (void)arg; + background_listener(); + return NULL; +} + +static void background_listener(void) { + std::cout << "[INFO] CAN background listener started" << std::endl; + + while (g_can_ctx.running) { + if (g_can_ctx.fd_can < 0) { + sleep(1); + continue; + } + + fd_set readfds; + struct timeval timeout = {0, 100000}; // 100ms + + FD_ZERO(&readfds); + FD_SET(g_can_ctx.fd_can, &readfds); + + int ret = select(g_can_ctx.fd_can + 1, &readfds, NULL, NULL, &timeout); + if (ret > 0 && FD_ISSET(g_can_ctx.fd_can, &readfds)) { + struct can_frame recv_frame; + ssize_t bytes = read(g_can_ctx.fd_can, &recv_frame, sizeof(struct can_frame)); + if (bytes == sizeof(struct can_frame)) { + uint8_t serve_type = (recv_frame.can_id >> 2) & 0x07; + uint8_t frame_seq = recv_frame.can_id & 0x03; + + std::cout << "[INFO] CAN received: type=0x" << std::hex << (int)serve_type + << ", seq=" << std::dec << (int)frame_seq + << ", len=" << (int)recv_frame.can_dlc << std::endl; + + /* 处理多帧数据 */ + if (frame_seq != O2_SINGLE_FRAME) { + int result = process_multi_frame(serve_type, frame_seq, + recv_frame.data, recv_frame.can_dlc); + + if (result > 0) { + std::cout << "[SUCCESS] Multi-frame reassembly completed: type=0x" + << std::hex << (int)serve_type << std::dec + << ", bytes=" << result << std::endl; + process_can_data(serve_type, g_can_ctx.multi_frame_state.buffer, result); + } else if (result == 0) { + std::cout << "[INFO] Waiting for more multi-frame data, type=0x" + << std::hex << (int)serve_type << std::dec << std::endl; + } else { + std::cout << "[ERROR] Multi-frame reassembly failed: type=0x" + << std::hex << (int)serve_type << std::dec << std::endl; + } + } else { + process_can_data(serve_type, recv_frame.data, recv_frame.can_dlc); + } + } + } + + /* 检查多帧超时 */ + pthread_mutex_lock(&g_can_ctx.multi_frame_mutex); + if (g_can_ctx.multi_frame_state.active && is_multi_frame_timeout()) { + std::cout << "[WARN] Multi-frame reassembly timeout" << std::endl; + reset_multi_frame_state(); + } + pthread_mutex_unlock(&g_can_ctx.multi_frame_mutex); + + usleep(10000); // 10ms + } +} \ No newline at end of file diff --git a/CanHS.h b/CanHS.h new file mode 100644 index 0000000..963005f --- /dev/null +++ b/CanHS.h @@ -0,0 +1,130 @@ +#ifndef CANHS_H +#define CANHS_H + +#include +#include +#include +#include +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/* 简化后的服务类型定义 */ +#define O2_NORMAL_TELEMETRY 0x2 /* 常规遥测 */ +#define O2_TELEMETRY_CONTROL 0x4 /* 遥控 */ + +/* 帧序列定义 */ +#define O2_MID_FRAME 0x0 +#define O2_START_FRAME 0x1 +#define O2_END_FRAME 0x2 +#define O2_SINGLE_FRAME 0x3 + +/* CAN帧结构体 */ +typedef struct { + uint32_t CAN_uiId; + uint8_t CAN_bRtr; + uint8_t CAN_bExtId; + uint8_t CAN_ucLen; + uint8_t CAN_ucData[8]; +} CAN_FRAME; + +/* 多帧重组状态 */ +typedef struct { + uint8_t buffer[1024]; + uint16_t length; + uint8_t serve_type; + uint8_t expected_frame_index; + uint8_t active; + struct timeval start_time; +} MultiFrameState; + +/* 统计计数器 */ +typedef struct { + uint8_t rec_normal_telemetry; /* 接收遥测请求次数 */ + uint8_t rec_telemetry_control; /* 接收遥控指令次数 */ + uint8_t send_single_frame; /* 发送单帧次数 */ + uint8_t send_multi_frame; /* 发送多帧次数 */ + uint8_t can_reset; /* CAN重置次数 */ +} CanStats; + +/* CAN服务上下文 */ +typedef struct { + int fd_can; + bool running; + uint8_t send_id_on_o2; /* CAN发送ID */ + + CanStats stats; + + /* 遥测数据缓冲区 */ + uint8_t telemetry_buffer[1024]; + size_t telemetry_len; + pthread_mutex_t telemetry_mutex; + bool telemetry_request_pending; + + /* 多帧重组状态 */ + MultiFrameState multi_frame_state; + pthread_mutex_t multi_frame_mutex; + + /* 线程相关 */ + pthread_t listener_thread; +} CanServiceContext; + +/* 函数声明 */ + +/* 初始化与销毁 */ +bool can_service_init(const char* can_device); +void can_service_destroy(void); + +/* 运行控制 */ +void can_service_start(void); +void can_service_stop(void); + +/* 统计数据获取 */ +const CanStats* can_service_get_stats(void); + +/* CAN发送函数 */ +int can_send_single(uint8_t serve_type, uint8_t *data, uint8_t data_len); +int can_send_multi(uint8_t serve_type, uint8_t *data, uint16_t data_len); + +/* 遥测数据处理 */ +void can_set_telemetry_data(const uint8_t *data, size_t data_len); +bool can_get_telemetry_data(uint8_t *buffer, size_t buffer_size, size_t *data_len); +void send_telemetry_response(const uint8_t *data, size_t data_len); + +/* 快速查询接口 */ +static inline uint8_t can_get_normal_telemetry_count(void) { + const CanStats* stats = can_service_get_stats(); + return stats ? stats->rec_normal_telemetry : 0; +} + +static inline uint8_t can_get_telemetry_control_count(void) { + const CanStats* stats = can_service_get_stats(); + return stats ? stats->rec_telemetry_control : 0; +} + +#ifdef __cplusplus +} +#endif + +/* C++接口声明(与ComS保持一致) */ +#ifdef __cplusplus +extern "C" { +#endif + +/* FastDDS相关函数 */ +void CanHSWriteLog(const std::string &msg); +void CanHS_init(uint8_t domainid, std::string appname); +void CanHS_command_Pub(uint8_t* data, std::string dest, uint16_t len); +void CanHS_telemetry_Pub(uint8_t* data, std::string dest, uint16_t len); + +void telemetry_callback(std::string src, std::string dest, std::string type, + std::string reserve1, std::string reserve2, + std::vector& data); + +#ifdef __cplusplus +} +#endif + +#endif /* CANHS_H */ \ No newline at end of file diff --git a/build/CMakeCache.txt b/build/CMakeCache.txt new file mode 100644 index 0000000..a1716c6 --- /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-2/CAN硬件服务化-test/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=CanHS + +//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 +CanHS_BINARY_DIR:STATIC=/home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build + +//Value Computed by CMake +CanHS_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +CanHS_SOURCE_DIR:STATIC=/home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test + + +######################## +# 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-2/CAN硬件服务化-test/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-2/CAN硬件服务化-test +//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..69ceb50 --- /dev/null +++ b/build/CMakeFiles/3.22.1/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-6.8.0-87-generic") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "6.8.0-87-generic") +set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") + + + +set(CMAKE_SYSTEM "Linux-6.8.0-87-generic") +set(CMAKE_SYSTEM_NAME "Linux") +set(CMAKE_SYSTEM_VERSION "6.8.0-87-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..b76ca4a --- /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-2/CAN硬件服务化-test") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/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..da4454f --- /dev/null +++ b/build/CMakeFiles/CMakeOutput.log @@ -0,0 +1,449 @@ +The system is: Linux - 6.8.0-87-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-2/CAN硬件服务化-test/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-2/CAN硬件服务化-test/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-2/CAN硬件服务化-test/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_1aeff/fast && /usr/bin/gmake -f CMakeFiles/cmTC_1aeff.dir/build.make CMakeFiles/cmTC_1aeff.dir/build +gmake[1]: Entering directory '/home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build/CMakeFiles/CMakeTmp' +Building C object CMakeFiles/cmTC_1aeff.dir/CMakeCCompilerABI.c.o +/usr/bin/cc -v -o CMakeFiles/cmTC_1aeff.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_1aeff.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1aeff.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_1aeff.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/cc0qBe7M.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_1aeff.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1aeff.dir/' + as -v --64 -o CMakeFiles/cmTC_1aeff.dir/CMakeCCompilerABI.c.o /tmp/cc0qBe7M.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_1aeff.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1aeff.dir/CMakeCCompilerABI.c.' +Linking C executable cmTC_1aeff +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1aeff.dir/link.txt --verbose=1 +/usr/bin/cc -v CMakeFiles/cmTC_1aeff.dir/CMakeCCompilerABI.c.o -o cmTC_1aeff +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_1aeff' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_1aeff.' + /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/ccjlog8x.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_1aeff /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_1aeff.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_1aeff' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_1aeff.' +gmake[1]: Leaving directory '/home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/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-2/CAN硬件服务化-test/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_1aeff/fast && /usr/bin/gmake -f CMakeFiles/cmTC_1aeff.dir/build.make CMakeFiles/cmTC_1aeff.dir/build] + ignore line: [gmake[1]: Entering directory '/home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build/CMakeFiles/CMakeTmp'] + ignore line: [Building C object CMakeFiles/cmTC_1aeff.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_1aeff.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_1aeff.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1aeff.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_1aeff.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/cc0qBe7M.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_1aeff.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1aeff.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_1aeff.dir/CMakeCCompilerABI.c.o /tmp/cc0qBe7M.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_1aeff.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_1aeff.dir/CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_1aeff] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_1aeff.dir/link.txt --verbose=1] + ignore line: [/usr/bin/cc -v CMakeFiles/cmTC_1aeff.dir/CMakeCCompilerABI.c.o -o cmTC_1aeff ] + 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_1aeff' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_1aeff.'] + 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/ccjlog8x.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_1aeff /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_1aeff.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/ccjlog8x.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_1aeff] ==> 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_1aeff.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-2/CAN硬件服务化-test/build/CMakeFiles/CMakeTmp + +Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_676fe/fast && /usr/bin/gmake -f CMakeFiles/cmTC_676fe.dir/build.make CMakeFiles/cmTC_676fe.dir/build +gmake[1]: Entering directory '/home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build/CMakeFiles/CMakeTmp' +Building CXX object CMakeFiles/cmTC_676fe.dir/CMakeCXXCompilerABI.cpp.o +/usr/bin/c++ -v -o CMakeFiles/cmTC_676fe.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_676fe.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_676fe.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_676fe.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/ccCnwZYg.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_676fe.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_676fe.dir/' + as -v --64 -o CMakeFiles/cmTC_676fe.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccCnwZYg.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_676fe.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_676fe.dir/CMakeCXXCompilerABI.cpp.' +Linking CXX executable cmTC_676fe +/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_676fe.dir/link.txt --verbose=1 +/usr/bin/c++ -v CMakeFiles/cmTC_676fe.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_676fe +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_676fe' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_676fe.' + /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/cch312Wn.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_676fe /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_676fe.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_676fe' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_676fe.' +gmake[1]: Leaving directory '/home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/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-2/CAN硬件服务化-test/build/CMakeFiles/CMakeTmp] + ignore line: [] + ignore line: [Run Build Command(s):/usr/bin/gmake -f Makefile cmTC_676fe/fast && /usr/bin/gmake -f CMakeFiles/cmTC_676fe.dir/build.make CMakeFiles/cmTC_676fe.dir/build] + ignore line: [gmake[1]: Entering directory '/home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build/CMakeFiles/CMakeTmp'] + ignore line: [Building CXX object CMakeFiles/cmTC_676fe.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_676fe.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_676fe.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_676fe.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_676fe.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/ccCnwZYg.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_676fe.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_676fe.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_676fe.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccCnwZYg.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_676fe.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_676fe.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [Linking CXX executable cmTC_676fe] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_676fe.dir/link.txt --verbose=1] + ignore line: [/usr/bin/c++ -v CMakeFiles/cmTC_676fe.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_676fe ] + 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_676fe' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_676fe.'] + 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/cch312Wn.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_676fe /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_676fe.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/cch312Wn.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_676fe] ==> 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_676fe.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/CanHS.dir/CanHS-main.cpp.o b/build/CMakeFiles/CanHS.dir/CanHS-main.cpp.o new file mode 100644 index 0000000000000000000000000000000000000000..bd6d66dce221ff054b80bcce3423a1d73e714bd4 GIT binary patch literal 17952 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%0Ax++&W)V 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 I CMakeFiles/CanHS.dir/CanHS-main.cpp.i + +CMakeFiles/CanHS.dir/CanHS-main.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/CanHS.dir/CanHS-main.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/CanHS-main.cpp -o CMakeFiles/CanHS.dir/CanHS-main.cpp.s + +CMakeFiles/CanHS.dir/CanHS.cpp.o: CMakeFiles/CanHS.dir/flags.make +CMakeFiles/CanHS.dir/CanHS.cpp.o: ../CanHS.cpp +CMakeFiles/CanHS.dir/CanHS.cpp.o: CMakeFiles/CanHS.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --progress-dir=/home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building CXX object CMakeFiles/CanHS.dir/CanHS.cpp.o" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -MD -MT CMakeFiles/CanHS.dir/CanHS.cpp.o -MF CMakeFiles/CanHS.dir/CanHS.cpp.o.d -o CMakeFiles/CanHS.dir/CanHS.cpp.o -c /home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/CanHS.cpp + +CMakeFiles/CanHS.dir/CanHS.cpp.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Preprocessing CXX source to CMakeFiles/CanHS.dir/CanHS.cpp.i" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -E /home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/CanHS.cpp > CMakeFiles/CanHS.dir/CanHS.cpp.i + +CMakeFiles/CanHS.dir/CanHS.cpp.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green "Compiling CXX source to assembly CMakeFiles/CanHS.dir/CanHS.cpp.s" + /usr/bin/c++ $(CXX_DEFINES) $(CXX_INCLUDES) $(CXX_FLAGS) -S /home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/CanHS.cpp -o CMakeFiles/CanHS.dir/CanHS.cpp.s + +# Object files for target CanHS +CanHS_OBJECTS = \ +"CMakeFiles/CanHS.dir/CanHS-main.cpp.o" \ +"CMakeFiles/CanHS.dir/CanHS.cpp.o" + +# External object files for target CanHS +CanHS_EXTERNAL_OBJECTS = + +bin/CanHS: CMakeFiles/CanHS.dir/CanHS-main.cpp.o +bin/CanHS: CMakeFiles/CanHS.dir/CanHS.cpp.o +bin/CanHS: CMakeFiles/CanHS.dir/build.make +bin/CanHS: CMakeFiles/CanHS.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --green --bold --progress-dir=/home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Linking CXX executable bin/CanHS" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/CanHS.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/CanHS.dir/build: bin/CanHS +.PHONY : CMakeFiles/CanHS.dir/build + +CMakeFiles/CanHS.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/CanHS.dir/cmake_clean.cmake +.PHONY : CMakeFiles/CanHS.dir/clean + +CMakeFiles/CanHS.dir/depend: + cd /home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test /home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test /home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build /home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build /home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build/CMakeFiles/CanHS.dir/DependInfo.cmake --color=$(COLOR) +.PHONY : CMakeFiles/CanHS.dir/depend + diff --git a/build/CMakeFiles/CanHS.dir/cmake_clean.cmake b/build/CMakeFiles/CanHS.dir/cmake_clean.cmake new file mode 100644 index 0000000..282c356 --- /dev/null +++ b/build/CMakeFiles/CanHS.dir/cmake_clean.cmake @@ -0,0 +1,13 @@ +file(REMOVE_RECURSE + "CMakeFiles/CanHS.dir/CanHS-main.cpp.o" + "CMakeFiles/CanHS.dir/CanHS-main.cpp.o.d" + "CMakeFiles/CanHS.dir/CanHS.cpp.o" + "CMakeFiles/CanHS.dir/CanHS.cpp.o.d" + "bin/CanHS" + "bin/CanHS.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang CXX) + include(CMakeFiles/CanHS.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/CMakeFiles/CanHS.dir/compiler_depend.make b/build/CMakeFiles/CanHS.dir/compiler_depend.make new file mode 100644 index 0000000..31bde6f --- /dev/null +++ b/build/CMakeFiles/CanHS.dir/compiler_depend.make @@ -0,0 +1,2 @@ +# Empty compiler generated dependencies file for CanHS. +# This may be replaced when dependencies are built. diff --git a/build/CMakeFiles/CanHS.dir/compiler_depend.ts b/build/CMakeFiles/CanHS.dir/compiler_depend.ts new file mode 100644 index 0000000..6ec5c2f --- /dev/null +++ b/build/CMakeFiles/CanHS.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for CanHS. diff --git a/build/CMakeFiles/CanHS.dir/depend.make b/build/CMakeFiles/CanHS.dir/depend.make new file mode 100644 index 0000000..2e1744b --- /dev/null +++ b/build/CMakeFiles/CanHS.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for CanHS. +# This may be replaced when dependencies are built. diff --git a/build/CMakeFiles/CanHS.dir/flags.make b/build/CMakeFiles/CanHS.dir/flags.make new file mode 100644 index 0000000..eb0922e --- /dev/null +++ b/build/CMakeFiles/CanHS.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-2/CAN硬件服务化-test -I/usr/local/include/simmsg + +CXX_FLAGS = -std=c++14 -pthread -std=gnu++14 + diff --git a/build/CMakeFiles/CanHS.dir/link.txt b/build/CMakeFiles/CanHS.dir/link.txt new file mode 100644 index 0000000..c28ec04 --- /dev/null +++ b/build/CMakeFiles/CanHS.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/c++ -std=c++14 -pthread CMakeFiles/CanHS.dir/CanHS-main.cpp.o CMakeFiles/CanHS.dir/CanHS.cpp.o -o bin/CanHS -L/usr/local/lib -Wl,-rpath,/usr/local/lib -lpthread -lm -lrt -lsimmsg -lfastrtps -lfastcdr -lfoonathan_memory diff --git a/build/CMakeFiles/CanHS.dir/progress.make b/build/CMakeFiles/CanHS.dir/progress.make new file mode 100644 index 0000000..6a9dc74 --- /dev/null +++ b/build/CMakeFiles/CanHS.dir/progress.make @@ -0,0 +1,4 @@ +CMAKE_PROGRESS_1 = 1 +CMAKE_PROGRESS_2 = 2 +CMAKE_PROGRESS_3 = 3 + diff --git a/build/CMakeFiles/Makefile.cmake b/build/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..4d395bd --- /dev/null +++ b/build/CMakeFiles/Makefile.cmake @@ -0,0 +1,122 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# The generator used is: +set(CMAKE_DEPENDS_GENERATOR "Unix Makefiles") + +# The top level Makefile was generated from the following files: +set(CMAKE_MAKEFILE_DEPENDS + "CMakeCache.txt" + "../CMakeLists.txt" + "CMakeFiles/3.22.1/CMakeCCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCXXCompiler.cmake" + "CMakeFiles/3.22.1/CMakeSystem.cmake" + "/usr/share/cmake-3.22/Modules/CMakeCCompiler.cmake.in" + "/usr/share/cmake-3.22/Modules/CMakeCCompilerABI.c" + "/usr/share/cmake-3.22/Modules/CMakeCInformation.cmake" + "/usr/share/cmake-3.22/Modules/CMakeCXXCompiler.cmake.in" + "/usr/share/cmake-3.22/Modules/CMakeCXXCompilerABI.cpp" + "/usr/share/cmake-3.22/Modules/CMakeCXXInformation.cmake" + "/usr/share/cmake-3.22/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake-3.22/Modules/CMakeCompilerIdDetection.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCXXCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCompileFeatures.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCompilerABI.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineCompilerId.cmake" + "/usr/share/cmake-3.22/Modules/CMakeDetermineSystem.cmake" + "/usr/share/cmake-3.22/Modules/CMakeFindBinUtils.cmake" + "/usr/share/cmake-3.22/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake-3.22/Modules/CMakeInitializeConfigs.cmake" + "/usr/share/cmake-3.22/Modules/CMakeLanguageInformation.cmake" + "/usr/share/cmake-3.22/Modules/CMakeParseImplicitIncludeInfo.cmake" + "/usr/share/cmake-3.22/Modules/CMakeParseImplicitLinkInfo.cmake" + "/usr/share/cmake-3.22/Modules/CMakeParseLibraryArchitecture.cmake" + "/usr/share/cmake-3.22/Modules/CMakeSystem.cmake.in" + "/usr/share/cmake-3.22/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake-3.22/Modules/CMakeSystemSpecificInitialize.cmake" + "/usr/share/cmake-3.22/Modules/CMakeTestCCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeTestCXXCompiler.cmake" + "/usr/share/cmake-3.22/Modules/CMakeTestCompilerCommon.cmake" + "/usr/share/cmake-3.22/Modules/CMakeUnixFindMake.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/ADSP-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Borland-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Comeau-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Cray-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GHS-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-C.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-CXX.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU-FindBinUtils.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/GNU.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/HP-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/IAR-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Intel-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/MSVC-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/PGI-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/PathScale-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/SCO-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/TI-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/Watcom-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/XL-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + "/usr/share/cmake-3.22/Modules/Internal/FeatureTesting.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux-Determine-CXX.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux-GNU-C.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux-GNU-CXX.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux-GNU.cmake" + "/usr/share/cmake-3.22/Modules/Platform/Linux.cmake" + "/usr/share/cmake-3.22/Modules/Platform/UnixPaths.cmake" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/3.22.1/CMakeSystem.cmake" + "CMakeFiles/3.22.1/CMakeCCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCXXCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCCompiler.cmake" + "CMakeFiles/3.22.1/CMakeCXXCompiler.cmake" + "CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/CanHS.dir/DependInfo.cmake" + ) diff --git a/build/CMakeFiles/Makefile2 b/build/CMakeFiles/Makefile2 new file mode 100644 index 0000000..a54cb65 --- /dev/null +++ b/build/CMakeFiles/Makefile2 @@ -0,0 +1,112 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +#============================================================================= +# 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-2/CAN硬件服务化-test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build + +#============================================================================= +# Directory level rules for the build root directory + +# The main recursive "all" target. +all: CMakeFiles/CanHS.dir/all +.PHONY : all + +# The main recursive "preinstall" target. +preinstall: +.PHONY : preinstall + +# The main recursive "clean" target. +clean: CMakeFiles/CanHS.dir/clean +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/CanHS.dir + +# All Build rule for target. +CMakeFiles/CanHS.dir/all: + $(MAKE) $(MAKESILENT) -f CMakeFiles/CanHS.dir/build.make CMakeFiles/CanHS.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/CanHS.dir/build.make CMakeFiles/CanHS.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --progress-dir=/home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build/CMakeFiles --progress-num=1,2,3 "Built target CanHS" +.PHONY : CMakeFiles/CanHS.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/CanHS.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build/CMakeFiles 3 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/CanHS.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build/CMakeFiles 0 +.PHONY : CMakeFiles/CanHS.dir/rule + +# Convenience name for target. +CanHS: CMakeFiles/CanHS.dir/rule +.PHONY : CanHS + +# clean rule for target. +CMakeFiles/CanHS.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/CanHS.dir/build.make CMakeFiles/CanHS.dir/clean +.PHONY : CMakeFiles/CanHS.dir/clean + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/build/CMakeFiles/TargetDirectories.txt b/build/CMakeFiles/TargetDirectories.txt new file mode 100644 index 0000000..e81e4a2 --- /dev/null +++ b/build/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,3 @@ +/home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build/CMakeFiles/CanHS.dir +/home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build/CMakeFiles/edit_cache.dir +/home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build/CMakeFiles/rebuild_cache.dir diff --git a/build/CMakeFiles/cmake.check_cache b/build/CMakeFiles/cmake.check_cache new file mode 100644 index 0000000..3dccd73 --- /dev/null +++ b/build/CMakeFiles/cmake.check_cache @@ -0,0 +1 @@ +# This file is generated by cmake for dependency checking of the CMakeCache.txt file diff --git a/build/CMakeFiles/progress.marks b/build/CMakeFiles/progress.marks new file mode 100644 index 0000000..00750ed --- /dev/null +++ b/build/CMakeFiles/progress.marks @@ -0,0 +1 @@ +3 diff --git a/build/Makefile b/build/Makefile new file mode 100644 index 0000000..4eea6de --- /dev/null +++ b/build/Makefile @@ -0,0 +1,208 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.22 + +# Default target executed when no arguments are given to make. +default_target: all +.PHONY : default_target + +# Allow only one "make -f Makefile2" at a time, but pass parallelism. +.NOTPARALLEL: + +#============================================================================= +# 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-2/CAN硬件服务化-test + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "No interactive CMake dialog available..." + /usr/bin/cmake -E echo No\ interactive\ CMake\ dialog\ available. +.PHONY : edit_cache + +# Special rule for the target edit_cache +edit_cache/fast: edit_cache +.PHONY : edit_cache/fast + +# Special rule for the target rebuild_cache +rebuild_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." + /usr/bin/cmake --regenerate-during-build -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.PHONY : rebuild_cache + +# Special rule for the target rebuild_cache +rebuild_cache/fast: rebuild_cache +.PHONY : rebuild_cache/fast + +# The main all target +all: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build/CMakeFiles /home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build//CMakeFiles/progress.marks + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /home/xb/satellite/aircraft-1/container-2/CAN硬件服务化-test/build/CMakeFiles 0 +.PHONY : all + +# The main clean target +clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 clean +.PHONY : clean + +# The main clean target +clean/fast: clean +.PHONY : clean/fast + +# Prepare targets for installation. +preinstall: all + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall + +# Prepare targets for installation. +preinstall/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 preinstall +.PHONY : preinstall/fast + +# clear depends +depend: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 +.PHONY : depend + +#============================================================================= +# Target rules for targets named CanHS + +# Build rule for target. +CanHS: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CanHS +.PHONY : CanHS + +# fast build rule for target. +CanHS/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/CanHS.dir/build.make CMakeFiles/CanHS.dir/build +.PHONY : CanHS/fast + +CanHS-main.o: CanHS-main.cpp.o +.PHONY : CanHS-main.o + +# target to build an object file +CanHS-main.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/CanHS.dir/build.make CMakeFiles/CanHS.dir/CanHS-main.cpp.o +.PHONY : CanHS-main.cpp.o + +CanHS-main.i: CanHS-main.cpp.i +.PHONY : CanHS-main.i + +# target to preprocess a source file +CanHS-main.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/CanHS.dir/build.make CMakeFiles/CanHS.dir/CanHS-main.cpp.i +.PHONY : CanHS-main.cpp.i + +CanHS-main.s: CanHS-main.cpp.s +.PHONY : CanHS-main.s + +# target to generate assembly for a file +CanHS-main.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/CanHS.dir/build.make CMakeFiles/CanHS.dir/CanHS-main.cpp.s +.PHONY : CanHS-main.cpp.s + +CanHS.o: CanHS.cpp.o +.PHONY : CanHS.o + +# target to build an object file +CanHS.cpp.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/CanHS.dir/build.make CMakeFiles/CanHS.dir/CanHS.cpp.o +.PHONY : CanHS.cpp.o + +CanHS.i: CanHS.cpp.i +.PHONY : CanHS.i + +# target to preprocess a source file +CanHS.cpp.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/CanHS.dir/build.make CMakeFiles/CanHS.dir/CanHS.cpp.i +.PHONY : CanHS.cpp.i + +CanHS.s: CanHS.cpp.s +.PHONY : CanHS.s + +# target to generate assembly for a file +CanHS.cpp.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/CanHS.dir/build.make CMakeFiles/CanHS.dir/CanHS.cpp.s +.PHONY : CanHS.cpp.s + +# Help Target +help: + @echo "The following are some of the valid targets for this Makefile:" + @echo "... all (the default if no target is provided)" + @echo "... clean" + @echo "... depend" + @echo "... edit_cache" + @echo "... rebuild_cache" + @echo "... CanHS" + @echo "... CanHS-main.o" + @echo "... CanHS-main.i" + @echo "... CanHS-main.s" + @echo "... CanHS.o" + @echo "... CanHS.i" + @echo "... CanHS.s" +.PHONY : help + + + +#============================================================================= +# Special targets to cleanup operation of make. + +# Special rule to run CMake to check the build system integrity. +# No rule that depends on this can have commands that come from listfiles +# because they might be regenerated. +cmake_check_build_system: + $(CMAKE_COMMAND) -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 +.PHONY : cmake_check_build_system + diff --git a/build/bin/CanHS b/build/bin/CanHS new file mode 100755 index 0000000000000000000000000000000000000000..8a0de3197f8f2837b19750e2fbb50f625d994f20 GIT binary patch literal 113792 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