commit 817ba850fbe2196e493324189833f85a688b3da3 Author: Ano-sys Date: Mon Dec 30 02:06:40 2024 +0100 Initial push diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..620ed08 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,13 @@ +cmake_minimum_required(VERSION 3.5) +project(RN-Praxis) +set(CMAKE_C_STANDARD 11) + +add_executable(webserver webserver.c http.c util.c data.c) +target_compile_options(webserver PRIVATE -Wall -Wextra -Wpedantic) +target_link_libraries(webserver PRIVATE -lm) + +# Packaging +set(CPACK_SOURCE_GENERATOR "TGZ") +set(CPACK_SOURCE_IGNORE_FILES ${CMAKE_BINARY_DIR} /\\..*$) +set(CPACK_VERBATIM_VARIABLES YES) +include(CPack) diff --git a/build/CMakeCache.txt b/build/CMakeCache.txt new file mode 100644 index 0000000..d1451fb --- /dev/null +++ b/build/CMakeCache.txt @@ -0,0 +1,435 @@ +# This is the CMakeCache file. +# For build in directory: /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/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=Debug + +//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 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_CXX_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib + +//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 + +//A wrapper around 'ranlib' adding the appropriate '--plugin' option +// for the GCC compiler +CMAKE_C_COMPILER_RANLIB:FILEPATH=/usr/bin/gcc-ranlib + +//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= + +//Value Computed by CMake. +CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/pkgRedirects + +//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/make + +//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=RN-Praxis + +//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 + +//Path to a program. +CMAKE_TAPI:FILEPATH=CMAKE_TAPI-NOTFOUND + +//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 + +//Enable to build Debian packages +CPACK_BINARY_DEB:BOOL=OFF + +//Enable to build FreeBSD packages +CPACK_BINARY_FREEBSD:BOOL=OFF + +//Enable to build IFW packages +CPACK_BINARY_IFW:BOOL=OFF + +//Enable to build NSIS packages +CPACK_BINARY_NSIS:BOOL=OFF + +//Enable to build RPM packages +CPACK_BINARY_RPM:BOOL=OFF + +//Enable to build STGZ packages +CPACK_BINARY_STGZ:BOOL=ON + +//Enable to build TBZ2 packages +CPACK_BINARY_TBZ2:BOOL=OFF + +//Enable to build TGZ packages +CPACK_BINARY_TGZ:BOOL=ON + +//Enable to build TXZ packages +CPACK_BINARY_TXZ:BOOL=OFF + +//Enable to build TZ packages +CPACK_BINARY_TZ:BOOL=ON + +//Value Computed by CMake +RN-Praxis_BINARY_DIR:STATIC=/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build + +//Value Computed by CMake +RN-Praxis_IS_TOP_LEVEL:STATIC=ON + +//Value Computed by CMake +RN-Praxis_SOURCE_DIR:STATIC=/home/timo/Dokumente/uni/praxis2.skeleton/praxis2 + + +######################## +# 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/timo/Dokumente/uni/praxis2.skeleton/praxis2/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=31 +//Patch version of cmake used to create the current loaded cache +CMAKE_CACHE_PATCH_VERSION:INTERNAL=3 +//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 +//Path to cache edit program executable. +CMAKE_EDIT_COMMAND:INTERNAL=/usr/bin/ccmake +//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/timo/Dokumente/uni/praxis2.skeleton/praxis2 +//Install .so files without execute permission. +CMAKE_INSTALL_SO_NO_EXE:INTERNAL=0 +//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 +//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 +//ADVANCED property for variable: CMAKE_TAPI +CMAKE_TAPI-ADVANCED:INTERNAL=1 +//uname command +CMAKE_UNAME:INTERNAL=/usr/bin/uname +//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE +CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_BINARY_DEB +CPACK_BINARY_DEB-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_BINARY_FREEBSD +CPACK_BINARY_FREEBSD-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_BINARY_IFW +CPACK_BINARY_IFW-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_BINARY_NSIS +CPACK_BINARY_NSIS-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_BINARY_RPM +CPACK_BINARY_RPM-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_BINARY_STGZ +CPACK_BINARY_STGZ-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_BINARY_TBZ2 +CPACK_BINARY_TBZ2-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_BINARY_TGZ +CPACK_BINARY_TGZ-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_BINARY_TXZ +CPACK_BINARY_TXZ-ADVANCED:INTERNAL=1 +//ADVANCED property for variable: CPACK_BINARY_TZ +CPACK_BINARY_TZ-ADVANCED:INTERNAL=1 +//linker supports push/pop state +_CMAKE_CXX_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE +//linker supports push/pop state +_CMAKE_C_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE +//linker supports push/pop state +_CMAKE_LINKER_PUSHPOP_STATE_SUPPORTED:INTERNAL=TRUE + diff --git a/build/CMakeFiles/3.31.3/CMakeCCompiler.cmake b/build/CMakeFiles/3.31.3/CMakeCCompiler.cmake new file mode 100644 index 0000000..9f8287f --- /dev/null +++ b/build/CMakeFiles/3.31.3/CMakeCCompiler.cmake @@ -0,0 +1,81 @@ +set(CMAKE_C_COMPILER "/usr/bin/cc") +set(CMAKE_C_COMPILER_ARG1 "") +set(CMAKE_C_COMPILER_ID "GNU") +set(CMAKE_C_COMPILER_VERSION "14.2.1") +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_STANDARD_LATEST "23") +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 "GNU") +set(CMAKE_C_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_C_COMPILER_AR "/usr/bin/gcc-ar") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_C_COMPILER_RANLIB "/usr/bin/gcc-ranlib") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_LINKER_LINK "") +set(CMAKE_LINKER_LLD "") +set(CMAKE_C_COMPILER_LINKER "/usr/bin/ld") +set(CMAKE_C_COMPILER_LINKER_ID "GNU") +set(CMAKE_C_COMPILER_LINKER_VERSION 2.43.0) +set(CMAKE_C_COMPILER_LINKER_FRONTEND_VARIANT GNU) +set(CMAKE_MT "") +set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND") +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) +set(CMAKE_C_LINKER_DEPFILE_SUPPORTED ) + +# 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 "") + +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 "") +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-pc-linux-gnu/14.2.1/include;/usr/local/include;/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include-fixed;/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-pc-linux-gnu/14.2.1;/usr/lib;/lib") +set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") diff --git a/build/CMakeFiles/3.31.3/CMakeCXXCompiler.cmake b/build/CMakeFiles/3.31.3/CMakeCXXCompiler.cmake new file mode 100644 index 0000000..71e4340 --- /dev/null +++ b/build/CMakeFiles/3.31.3/CMakeCXXCompiler.cmake @@ -0,0 +1,105 @@ +set(CMAKE_CXX_COMPILER "/usr/bin/c++") +set(CMAKE_CXX_COMPILER_ARG1 "") +set(CMAKE_CXX_COMPILER_ID "GNU") +set(CMAKE_CXX_COMPILER_VERSION "14.2.1") +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_STANDARD_LATEST "26") +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;cxx_std_26") +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_CXX26_COMPILE_FEATURES "cxx_std_26") + +set(CMAKE_CXX_PLATFORM_ID "Linux") +set(CMAKE_CXX_SIMULATE_ID "") +set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU") +set(CMAKE_CXX_SIMULATE_VERSION "") + + + + +set(CMAKE_AR "/usr/bin/ar") +set(CMAKE_CXX_COMPILER_AR "/usr/bin/gcc-ar") +set(CMAKE_RANLIB "/usr/bin/ranlib") +set(CMAKE_CXX_COMPILER_RANLIB "/usr/bin/gcc-ranlib") +set(CMAKE_LINKER "/usr/bin/ld") +set(CMAKE_LINKER_LINK "") +set(CMAKE_LINKER_LLD "") +set(CMAKE_CXX_COMPILER_LINKER "/usr/bin/ld") +set(CMAKE_CXX_COMPILER_LINKER_ID "GNU") +set(CMAKE_CXX_COMPILER_LINKER_VERSION 2.43.0) +set(CMAKE_CXX_COMPILER_LINKER_FRONTEND_VARIANT GNU) +set(CMAKE_MT "") +set(CMAKE_TAPI "CMAKE_TAPI-NOTFOUND") +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;ccm;cxxm;c++m) +set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC) + +foreach (lang IN ITEMS 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) +set(CMAKE_CXX_LINKER_DEPFILE_SUPPORTED ) + +# 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 "") + +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 "") +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++/14.2.1;/usr/include/c++/14.2.1/x86_64-pc-linux-gnu;/usr/include/c++/14.2.1/backward;/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include;/usr/local/include;/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include-fixed;/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-pc-linux-gnu/14.2.1;/usr/lib;/lib") +set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "") +set(CMAKE_CXX_COMPILER_CLANG_RESOURCE_DIR "") + +set(CMAKE_CXX_COMPILER_IMPORT_STD "") +### Imported target for C++23 standard library +set(CMAKE_CXX23_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "Unsupported generator: Unix Makefiles") + + +### Imported target for C++26 standard library +set(CMAKE_CXX26_COMPILER_IMPORT_STD_NOT_FOUND_MESSAGE "Unsupported generator: Unix Makefiles") + + + diff --git a/build/CMakeFiles/3.31.3/CMakeDetermineCompilerABI_C.bin b/build/CMakeFiles/3.31.3/CMakeDetermineCompilerABI_C.bin new file mode 100755 index 0000000..6f4e7c0 Binary files /dev/null and b/build/CMakeFiles/3.31.3/CMakeDetermineCompilerABI_C.bin differ diff --git a/build/CMakeFiles/3.31.3/CMakeDetermineCompilerABI_CXX.bin b/build/CMakeFiles/3.31.3/CMakeDetermineCompilerABI_CXX.bin new file mode 100755 index 0000000..66c99e8 Binary files /dev/null and b/build/CMakeFiles/3.31.3/CMakeDetermineCompilerABI_CXX.bin differ diff --git a/build/CMakeFiles/3.31.3/CMakeSystem.cmake b/build/CMakeFiles/3.31.3/CMakeSystem.cmake new file mode 100644 index 0000000..cbc02ca --- /dev/null +++ b/build/CMakeFiles/3.31.3/CMakeSystem.cmake @@ -0,0 +1,15 @@ +set(CMAKE_HOST_SYSTEM "Linux-6.12.7-zen1-1-zen") +set(CMAKE_HOST_SYSTEM_NAME "Linux") +set(CMAKE_HOST_SYSTEM_VERSION "6.12.7-zen1-1-zen") +set(CMAKE_HOST_SYSTEM_PROCESSOR "x86_64") + + + +set(CMAKE_SYSTEM "Linux-6.12.7-zen1-1-zen") +set(CMAKE_SYSTEM_NAME "Linux") +set(CMAKE_SYSTEM_VERSION "6.12.7-zen1-1-zen") +set(CMAKE_SYSTEM_PROCESSOR "x86_64") + +set(CMAKE_CROSSCOMPILING "FALSE") + +set(CMAKE_SYSTEM_LOADED 1) diff --git a/build/CMakeFiles/3.31.3/CompilerIdC/CMakeCCompilerId.c b/build/CMakeFiles/3.31.3/CompilerIdC/CMakeCCompilerId.c new file mode 100644 index 0000000..8d8bb03 --- /dev/null +++ b/build/CMakeFiles/3.31.3/CompilerIdC/CMakeCCompilerId.c @@ -0,0 +1,904 @@ +#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(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#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(__clang__) && defined(__cray__) +# define COMPILER_ID "CrayClang" +# define COMPILER_VERSION_MAJOR DEC(__cray_major__) +# define COMPILER_VERSION_MINOR DEC(__cray_minor__) +# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#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(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__ORANGEC__) +# define COMPILER_ID "OrangeC" +# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__) + +#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/100 % 100) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) && defined(__ti__) +# define COMPILER_ID "TIClang" + # define COMPILER_VERSION_MAJOR DEC(__ti_major__) + # define COMPILER_VERSION_MINOR DEC(__ti_minor__) + # define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__) +# define COMPILER_VERSION_INTERNAL DEC(__ti_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(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# 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(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 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 + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#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(__clang__) && defined(__ti__) +# if defined(__ARM_ARCH) +# define ARCHITECTURE_ID "Arm" + +# 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 + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# 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 "]"; + + + +#define C_STD_99 199901L +#define C_STD_11 201112L +#define C_STD_17 201710L +#define C_STD_23 202311L + +#ifdef __STDC_VERSION__ +# define C_STD __STDC_VERSION__ +#endif + +#if !defined(__STDC__) && !defined(__clang__) +# if defined(_MSC_VER) || defined(__ibmxl__) || defined(__IBMC__) +# define C_VERSION "90" +# else +# define C_VERSION +# endif +#elif C_STD > C_STD_17 +# define C_VERSION "23" +#elif C_STD > C_STD_11 +# define C_VERSION "17" +#elif C_STD > C_STD_99 +# define C_VERSION "11" +#elif C_STD >= C_STD_99 +# 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[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "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.31.3/CompilerIdC/a.out b/build/CMakeFiles/3.31.3/CompilerIdC/a.out new file mode 100755 index 0000000..37746a7 Binary files /dev/null and b/build/CMakeFiles/3.31.3/CompilerIdC/a.out differ diff --git a/build/CMakeFiles/3.31.3/CompilerIdCXX/CMakeCXXCompilerId.cpp b/build/CMakeFiles/3.31.3/CompilerIdCXX/CMakeCXXCompilerId.cpp new file mode 100644 index 0000000..da6c824 --- /dev/null +++ b/build/CMakeFiles/3.31.3/CompilerIdCXX/CMakeCXXCompilerId.cpp @@ -0,0 +1,919 @@ +/* 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(__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(__open_xl__) && defined(__clang__) +# define COMPILER_ID "IBMClang" +# define COMPILER_VERSION_MAJOR DEC(__open_xl_version__) +# define COMPILER_VERSION_MINOR DEC(__open_xl_release__) +# define COMPILER_VERSION_PATCH DEC(__open_xl_modification__) +# define COMPILER_VERSION_TWEAK DEC(__open_xl_ptf_fix_level__) + + +#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(__clang__) && defined(__cray__) +# define COMPILER_ID "CrayClang" +# define COMPILER_VERSION_MAJOR DEC(__cray_major__) +# define COMPILER_VERSION_MINOR DEC(__cray_minor__) +# define COMPILER_VERSION_PATCH DEC(__cray_patchlevel__) +# define COMPILER_VERSION_INTERNAL_STR __clang_version__ + + +#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(__TASKING__) +# define COMPILER_ID "Tasking" + # define COMPILER_VERSION_MAJOR DEC(__VERSION__/1000) + # define COMPILER_VERSION_MINOR DEC(__VERSION__ % 100) +# define COMPILER_VERSION_INTERNAL DEC(__VERSION__) + +#elif defined(__ORANGEC__) +# define COMPILER_ID "OrangeC" +# define COMPILER_VERSION_MAJOR DEC(__ORANGEC_MAJOR__) +# define COMPILER_VERSION_MINOR DEC(__ORANGEC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__ORANGEC_PATCHLEVEL__) + +#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/100 % 100) +# define COMPILER_VERSION_INTERNAL DEC(__ARMCOMPILER_VERSION) + +#elif defined(__clang__) && defined(__ti__) +# define COMPILER_ID "TIClang" + # define COMPILER_VERSION_MAJOR DEC(__ti_major__) + # define COMPILER_VERSION_MINOR DEC(__ti_minor__) + # define COMPILER_VERSION_PATCH DEC(__ti_patchlevel__) +# define COMPILER_VERSION_INTERNAL DEC(__ti_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(__LCC__) && (defined(__GNUC__) || defined(__GNUG__) || defined(__MCST__)) +# define COMPILER_ID "LCC" +# define COMPILER_VERSION_MAJOR DEC(__LCC__ / 100) +# define COMPILER_VERSION_MINOR DEC(__LCC__ % 100) +# if defined(__LCC_MINOR__) +# define COMPILER_VERSION_PATCH DEC(__LCC_MINOR__) +# endif +# if defined(__GNUC__) && defined(__GNUC_MINOR__) +# define SIMULATE_ID "GNU" +# define SIMULATE_VERSION_MAJOR DEC(__GNUC__) +# define SIMULATE_VERSION_MINOR DEC(__GNUC_MINOR__) +# if defined(__GNUC_PATCHLEVEL__) +# define SIMULATE_VERSION_PATCH DEC(__GNUC_PATCHLEVEL__) +# endif +# 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(_ADI_COMPILER) +# define COMPILER_ID "ADSP" +#if defined(__VERSIONNUM__) + /* __VERSIONNUM__ = 0xVVRRPPTT */ +# define COMPILER_VERSION_MAJOR DEC(__VERSIONNUM__ >> 24 & 0xFF) +# define COMPILER_VERSION_MINOR DEC(__VERSIONNUM__ >> 16 & 0xFF) +# define COMPILER_VERSION_PATCH DEC(__VERSIONNUM__ >> 8 & 0xFF) +# define COMPILER_VERSION_TWEAK DEC(__VERSIONNUM__ & 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 + +# elif defined(_ADI_COMPILER) +# define PLATFORM_ID "ADSP" + +#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(__clang__) && defined(__ti__) +# if defined(__ARM_ARCH) +# define ARCHITECTURE_ID "Arm" + +# 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 + +# elif defined(__ADSPSHARC__) +# define ARCHITECTURE_ID "SHARC" + +# elif defined(__ADSPBLACKFIN__) +# define ARCHITECTURE_ID "Blackfin" + +#elif defined(__TASKING__) + +# if defined(__CTC__) || defined(__CPTC__) +# define ARCHITECTURE_ID "TriCore" + +# elif defined(__CMCS__) +# define ARCHITECTURE_ID "MCS" + +# elif defined(__CARM__) +# define ARCHITECTURE_ID "ARM" + +# elif defined(__CARC__) +# define ARCHITECTURE_ID "ARC" + +# elif defined(__C51__) +# define ARCHITECTURE_ID "8051" + +# elif defined(__CPCP__) +# define ARCHITECTURE_ID "PCP" + +# else +# 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 "]"; + + + +#define CXX_STD_98 199711L +#define CXX_STD_11 201103L +#define CXX_STD_14 201402L +#define CXX_STD_17 201703L +#define CXX_STD_20 202002L +#define CXX_STD_23 202302L + +#if defined(__INTEL_COMPILER) && defined(_MSVC_LANG) +# if _MSVC_LANG > CXX_STD_17 +# define CXX_STD _MSVC_LANG +# elif _MSVC_LANG == CXX_STD_17 && defined(__cpp_aggregate_paren_init) +# define CXX_STD CXX_STD_20 +# elif _MSVC_LANG > CXX_STD_14 && __cplusplus > CXX_STD_17 +# define CXX_STD CXX_STD_20 +# elif _MSVC_LANG > CXX_STD_14 +# define CXX_STD CXX_STD_17 +# elif defined(__INTEL_CXX11_MODE__) && defined(__cpp_aggregate_nsdmi) +# define CXX_STD CXX_STD_14 +# elif defined(__INTEL_CXX11_MODE__) +# define CXX_STD CXX_STD_11 +# else +# define CXX_STD CXX_STD_98 +# endif +#elif defined(_MSC_VER) && defined(_MSVC_LANG) +# if _MSVC_LANG > __cplusplus +# define CXX_STD _MSVC_LANG +# else +# define CXX_STD __cplusplus +# endif +#elif defined(__NVCOMPILER) +# if __cplusplus == CXX_STD_17 && defined(__cpp_aggregate_paren_init) +# define CXX_STD CXX_STD_20 +# else +# define CXX_STD __cplusplus +# endif +#elif defined(__INTEL_COMPILER) || defined(__PGI) +# if __cplusplus == CXX_STD_11 && defined(__cpp_namespace_attributes) +# define CXX_STD CXX_STD_17 +# elif __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi) +# define CXX_STD CXX_STD_14 +# else +# define CXX_STD __cplusplus +# endif +#elif (defined(__IBMCPP__) || defined(__ibmxl__)) && defined(__linux__) +# if __cplusplus == CXX_STD_11 && defined(__cpp_aggregate_nsdmi) +# define CXX_STD CXX_STD_14 +# else +# define CXX_STD __cplusplus +# endif +#elif __cplusplus == 1 && defined(__GXX_EXPERIMENTAL_CXX0X__) +# define CXX_STD CXX_STD_11 +#else +# define CXX_STD __cplusplus +#endif + +const char* info_language_standard_default = "INFO" ":" "standard_default[" +#if CXX_STD > CXX_STD_23 + "26" +#elif CXX_STD > CXX_STD_20 + "23" +#elif CXX_STD > CXX_STD_17 + "20" +#elif CXX_STD > CXX_STD_14 + "17" +#elif CXX_STD > CXX_STD_11 + "14" +#elif CXX_STD >= CXX_STD_11 + "11" +#else + "98" +#endif +"]"; + +const char* info_language_extensions_default = "INFO" ":" "extensions_default[" +#if (defined(__clang__) || defined(__GNUC__) || defined(__xlC__) || \ + defined(__TI_COMPILER_VERSION__)) && \ + !defined(__STRICT_ANSI__) + "ON" +#else + "OFF" +#endif +"]"; + +/*--------------------------------------------------------------------------*/ + +int main(int argc, char* argv[]) +{ + 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; +} diff --git a/build/CMakeFiles/3.31.3/CompilerIdCXX/a.out b/build/CMakeFiles/3.31.3/CompilerIdCXX/a.out new file mode 100755 index 0000000..78617c2 Binary files /dev/null and b/build/CMakeFiles/3.31.3/CompilerIdCXX/a.out differ diff --git a/build/CMakeFiles/CMakeConfigureLog.yaml b/build/CMakeFiles/CMakeConfigureLog.yaml new file mode 100644 index 0000000..662f0ad --- /dev/null +++ b/build/CMakeFiles/CMakeConfigureLog.yaml @@ -0,0 +1,516 @@ + +--- +events: + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineSystem.cmake:205 (message)" + - "CMakeLists.txt:2 (project)" + message: | + The system is: Linux - 6.12.7-zen1-1-zen - x86_64 + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake:123 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + 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/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/3.31.3/CompilerIdC/a.out + + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:17 (message)" + - "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake:64 (__determine_compiler_id_test)" + - "/usr/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake:126 (CMAKE_DETERMINE_COMPILER_ID)" + - "CMakeLists.txt:2 (project)" + message: | + 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/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/3.31.3/CompilerIdCXX/a.out + + - + kind: "try_compile-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" + - "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + checks: + - "Detecting C compiler ABI info" + directories: + source: "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/CMakeScratch/TryCompile-qD6kqS" + binary: "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/CMakeScratch/TryCompile-qD6kqS" + cmakeVariables: + CMAKE_C_FLAGS: "" + CMAKE_EXE_LINKER_FLAGS: "" + buildResult: + variable: "CMAKE_C_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/CMakeScratch/TryCompile-qD6kqS' + + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_781ad/fast + /usr/bin/make -f CMakeFiles/cmTC_781ad.dir/build.make CMakeFiles/cmTC_781ad.dir/build + make[1]: Entering directory '/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/CMakeScratch/TryCompile-qD6kqS' + Building C object CMakeFiles/cmTC_781ad.dir/CMakeCCompilerABI.c.o + /usr/bin/cc -v -o CMakeFiles/cmTC_781ad.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c + Using built-in specs. + COLLECT_GCC=/usr/bin/cc + Target: x86_64-pc-linux-gnu + Configured with: /build/gcc/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++,rust --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 14.2.1 20240910 (GCC) + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_781ad.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_781ad.dir/' + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/cc1 -quiet -v /usr/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_781ad.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -o /tmp/ccgfzPsy.s + GNU C17 (GCC) version 14.2.1 20240910 (x86_64-pc-linux-gnu) + compiled by GNU C version 14.2.1 20240910, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.27-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../x86_64-pc-linux-gnu/include" + #include "..." search starts here: + #include <...> search starts here: + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include + /usr/local/include + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include-fixed + /usr/include + End of search list. + Compiler executable checksum: 91e980a230f7d2e39f93577991713edd + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_781ad.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_781ad.dir/' + as -v --64 -o CMakeFiles/cmTC_781ad.dir/CMakeCCompilerABI.c.o /tmp/ccgfzPsy.s + GNU assembler version 2.43.0 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.43.0 + COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_781ad.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_781ad.dir/CMakeCCompilerABI.c.' + Linking C executable cmTC_781ad + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_781ad.dir/link.txt --verbose=1 + Using built-in specs. + COLLECT_GCC=/usr/bin/cc + COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/lto-wrapper + Target: x86_64-pc-linux-gnu + Configured with: /build/gcc/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++,rust --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 14.2.1 20240910 (GCC) + COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_781ad' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_781ad.' + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccaRqoWZ.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 --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_781ad /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../.. -v CMakeFiles/cmTC_781ad.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-pc-linux-gnu/14.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crtn.o + collect2 version 14.2.1 20240910 + /usr/bin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccaRqoWZ.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 --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_781ad /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../.. -v CMakeFiles/cmTC_781ad.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-pc-linux-gnu/14.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crtn.o + GNU ld (GNU Binutils) 2.43.0 + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_781ad' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_781ad.' + /usr/bin/cc -v -Wl,-v CMakeFiles/cmTC_781ad.dir/CMakeCCompilerABI.c.o -o cmTC_781ad + make[1]: Leaving directory '/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/CMakeScratch/TryCompile-qD6kqS' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" + - "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Parsed C implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include] + add: [/usr/local/include] + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include-fixed] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include-fixed] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include-fixed] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include;/usr/local/include;/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include-fixed;/usr/include] + + + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" + - "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Parsed C implicit link information: + link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)] + ignore line: [Change Dir: '/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/CMakeScratch/TryCompile-qD6kqS'] + ignore line: [] + ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_781ad/fast] + ignore line: [/usr/bin/make -f CMakeFiles/cmTC_781ad.dir/build.make CMakeFiles/cmTC_781ad.dir/build] + ignore line: [make[1]: Entering directory '/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/CMakeScratch/TryCompile-qD6kqS'] + ignore line: [Building C object CMakeFiles/cmTC_781ad.dir/CMakeCCompilerABI.c.o] + ignore line: [/usr/bin/cc -v -o CMakeFiles/cmTC_781ad.dir/CMakeCCompilerABI.c.o -c /usr/share/cmake/Modules/CMakeCCompilerABI.c] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [Target: x86_64-pc-linux-gnu] + ignore line: [Configured with: /build/gcc/src/gcc/configure --enable-languages=ada c c++ d fortran go lto m2 objc obj-c++ rust --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 14.2.1 20240910 (GCC) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_781ad.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_781ad.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/cc1 -quiet -v /usr/share/cmake/Modules/CMakeCCompilerABI.c -quiet -dumpdir CMakeFiles/cmTC_781ad.dir/ -dumpbase CMakeCCompilerABI.c.c -dumpbase-ext .c -mtune=generic -march=x86-64 -version -o /tmp/ccgfzPsy.s] + ignore line: [GNU C17 (GCC) version 14.2.1 20240910 (x86_64-pc-linux-gnu)] + ignore line: [ compiled by GNU C version 14.2.1 20240910 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.27-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../x86_64-pc-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include-fixed] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: 91e980a230f7d2e39f93577991713edd] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_781ad.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_781ad.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_781ad.dir/CMakeCCompilerABI.c.o /tmp/ccgfzPsy.s] + ignore line: [GNU assembler version 2.43.0 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.43.0] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_781ad.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_781ad.dir/CMakeCCompilerABI.c.'] + ignore line: [Linking C executable cmTC_781ad] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_781ad.dir/link.txt --verbose=1] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/cc] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/lto-wrapper] + ignore line: [Target: x86_64-pc-linux-gnu] + ignore line: [Configured with: /build/gcc/src/gcc/configure --enable-languages=ada c c++ d fortran go lto m2 objc obj-c++ rust --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 14.2.1 20240910 (GCC) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_781ad' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_781ad.'] + link line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccaRqoWZ.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 --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_781ad /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../.. -v CMakeFiles/cmTC_781ad.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-pc-linux-gnu/14.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crtn.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccaRqoWZ.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 [--hash-style=gnu] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-o] ==> ignore + arg [cmTC_781ad] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/Scrt1.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crti.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crti.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1] + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../..] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../..] + arg [-v] ==> ignore + arg [CMakeFiles/cmTC_781ad.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-pc-linux-gnu/14.2.1/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtendS.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crtn.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crtn.o] + ignore line: [collect2 version 14.2.1 20240910] + ignore line: [/usr/bin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccaRqoWZ.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 --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_781ad /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../.. -v CMakeFiles/cmTC_781ad.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-pc-linux-gnu/14.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crtn.o] + linker tool for 'C': /usr/bin/ld + collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/Scrt1.o] ==> [/usr/lib/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crti.o] ==> [/usr/lib/crti.o] + collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crtn.o] ==> [/usr/lib/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1] + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../..] ==> [/usr/lib] + implicit libs: [gcc;gcc_s;c;gcc;gcc_s] + implicit objs: [/usr/lib/Scrt1.o;/usr/lib/crti.o;/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtbeginS.o;/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtendS.o;/usr/lib/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1;/usr/lib;/lib] + implicit fwks: [] + + + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)" + - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:255 (cmake_determine_linker_id)" + - "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Running the C compiler's linker: "/usr/bin/ld" "-v" + GNU ld (GNU Binutils) 2.43.0 + - + kind: "try_compile-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:74 (try_compile)" + - "/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + checks: + - "Detecting CXX compiler ABI info" + directories: + source: "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/CMakeScratch/TryCompile-B6fFCc" + binary: "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/CMakeScratch/TryCompile-B6fFCc" + cmakeVariables: + CMAKE_CXX_FLAGS: "" + CMAKE_CXX_SCAN_FOR_MODULES: "OFF" + CMAKE_EXE_LINKER_FLAGS: "" + buildResult: + variable: "CMAKE_CXX_ABI_COMPILED" + cached: true + stdout: | + Change Dir: '/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/CMakeScratch/TryCompile-B6fFCc' + + Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_79fef/fast + /usr/bin/make -f CMakeFiles/cmTC_79fef.dir/build.make CMakeFiles/cmTC_79fef.dir/build + make[1]: Entering directory '/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/CMakeScratch/TryCompile-B6fFCc' + Building CXX object CMakeFiles/cmTC_79fef.dir/CMakeCXXCompilerABI.cpp.o + /usr/bin/c++ -v -o CMakeFiles/cmTC_79fef.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp + Using built-in specs. + COLLECT_GCC=/usr/bin/c++ + Target: x86_64-pc-linux-gnu + Configured with: /build/gcc/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++,rust --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 14.2.1 20240910 (GCC) + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_79fef.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_79fef.dir/' + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/cc1plus -quiet -v -D_GNU_SOURCE /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_79fef.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -o /tmp/ccpBJD2w.s + GNU C++17 (GCC) version 14.2.1 20240910 (x86_64-pc-linux-gnu) + compiled by GNU C version 14.2.1 20240910, GMP version 6.3.0, MPFR version 4.2.1, MPC version 1.3.1, isl version isl-0.27-GMP + + GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072 + ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../x86_64-pc-linux-gnu/include" + #include "..." search starts here: + #include <...> search starts here: + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1 + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/x86_64-pc-linux-gnu + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/backward + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include + /usr/local/include + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include-fixed + /usr/include + End of search list. + Compiler executable checksum: fce5a105c47978e141f61a441742cadf + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_79fef.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_79fef.dir/' + as -v --64 -o CMakeFiles/cmTC_79fef.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccpBJD2w.s + GNU assembler version 2.43.0 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.43.0 + COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_79fef.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_79fef.dir/CMakeCXXCompilerABI.cpp.' + Linking CXX executable cmTC_79fef + /usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_79fef.dir/link.txt --verbose=1 + Using built-in specs. + COLLECT_GCC=/usr/bin/c++ + COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/lto-wrapper + Target: x86_64-pc-linux-gnu + Configured with: /build/gcc/src/gcc/configure --enable-languages=ada,c,c++,d,fortran,go,lto,m2,objc,obj-c++,rust --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror + Thread model: posix + Supported LTO compression algorithms: zlib zstd + gcc version 14.2.1 20240910 (GCC) + COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/ + LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../:/lib/:/usr/lib/ + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_79fef' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_79fef.' + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccF0Yopm.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 --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_79fef /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../.. -v CMakeFiles/cmTC_79fef.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crtn.o + collect2 version 14.2.1 20240910 + /usr/bin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccF0Yopm.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 --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_79fef /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../.. -v CMakeFiles/cmTC_79fef.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crtn.o + GNU ld (GNU Binutils) 2.43.0 + COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_79fef' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_79fef.' + /usr/bin/c++ -v -Wl,-v CMakeFiles/cmTC_79fef.dir/CMakeCXXCompilerABI.cpp.o -o cmTC_79fef + make[1]: Leaving directory '/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/CMakeScratch/TryCompile-B6fFCc' + + exitCode: 0 + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:182 (message)" + - "/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Parsed CXX implicit include dir info: rv=done + found start of include info + found start of implicit include info + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1] + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/x86_64-pc-linux-gnu] + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/backward] + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include] + add: [/usr/local/include] + add: [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include-fixed] + add: [/usr/include] + end of search list found + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1] ==> [/usr/include/c++/14.2.1] + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/x86_64-pc-linux-gnu] ==> [/usr/include/c++/14.2.1/x86_64-pc-linux-gnu] + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/backward] ==> [/usr/include/c++/14.2.1/backward] + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include] + collapse include dir [/usr/local/include] ==> [/usr/local/include] + collapse include dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include-fixed] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include-fixed] + collapse include dir [/usr/include] ==> [/usr/include] + implicit include dirs: [/usr/include/c++/14.2.1;/usr/include/c++/14.2.1/x86_64-pc-linux-gnu;/usr/include/c++/14.2.1/backward;/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include;/usr/local/include;/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include-fixed;/usr/include] + + + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:218 (message)" + - "/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Parsed CXX implicit link information: + link line regex: [^( *|.*[/\\])(ld[0-9]*(\\.[a-z]+)?|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\\]+-)?ld|collect2)[^/\\]*( |$)] + linker tool regex: [^[ ]*(->|")?[ ]*(([^"]*[/\\])?(ld[0-9]*(\\.[a-z]+)?))("|,| |$)] + ignore line: [Change Dir: '/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/CMakeScratch/TryCompile-B6fFCc'] + ignore line: [] + ignore line: [Run Build Command(s): /usr/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile cmTC_79fef/fast] + ignore line: [/usr/bin/make -f CMakeFiles/cmTC_79fef.dir/build.make CMakeFiles/cmTC_79fef.dir/build] + ignore line: [make[1]: Entering directory '/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/CMakeScratch/TryCompile-B6fFCc'] + ignore line: [Building CXX object CMakeFiles/cmTC_79fef.dir/CMakeCXXCompilerABI.cpp.o] + ignore line: [/usr/bin/c++ -v -o CMakeFiles/cmTC_79fef.dir/CMakeCXXCompilerABI.cpp.o -c /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [Target: x86_64-pc-linux-gnu] + ignore line: [Configured with: /build/gcc/src/gcc/configure --enable-languages=ada c c++ d fortran go lto m2 objc obj-c++ rust --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 14.2.1 20240910 (GCC) ] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_79fef.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_79fef.dir/'] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/cc1plus -quiet -v -D_GNU_SOURCE /usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpdir CMakeFiles/cmTC_79fef.dir/ -dumpbase CMakeCXXCompilerABI.cpp.cpp -dumpbase-ext .cpp -mtune=generic -march=x86-64 -version -o /tmp/ccpBJD2w.s] + ignore line: [GNU C++17 (GCC) version 14.2.1 20240910 (x86_64-pc-linux-gnu)] + ignore line: [ compiled by GNU C version 14.2.1 20240910 GMP version 6.3.0 MPFR version 4.2.1 MPC version 1.3.1 isl version isl-0.27-GMP] + ignore line: [] + ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072] + ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../x86_64-pc-linux-gnu/include"] + ignore line: [#include "..." search starts here:] + ignore line: [#include <...> search starts here:] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/x86_64-pc-linux-gnu] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../include/c++/14.2.1/backward] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include] + ignore line: [ /usr/local/include] + ignore line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include-fixed] + ignore line: [ /usr/include] + ignore line: [End of search list.] + ignore line: [Compiler executable checksum: fce5a105c47978e141f61a441742cadf] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_79fef.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_79fef.dir/'] + ignore line: [ as -v --64 -o CMakeFiles/cmTC_79fef.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccpBJD2w.s] + ignore line: [GNU assembler version 2.43.0 (x86_64-pc-linux-gnu) using BFD version (GNU Binutils) 2.43.0] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_79fef.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'CMakeFiles/cmTC_79fef.dir/CMakeCXXCompilerABI.cpp.'] + ignore line: [Linking CXX executable cmTC_79fef] + ignore line: [/usr/bin/cmake -E cmake_link_script CMakeFiles/cmTC_79fef.dir/link.txt --verbose=1] + ignore line: [Using built-in specs.] + ignore line: [COLLECT_GCC=/usr/bin/c++] + ignore line: [COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/lto-wrapper] + ignore line: [Target: x86_64-pc-linux-gnu] + ignore line: [Configured with: /build/gcc/src/gcc/configure --enable-languages=ada c c++ d fortran go lto m2 objc obj-c++ rust --enable-bootstrap --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://gitlab.archlinux.org/archlinux/packaging/packages/gcc/-/issues --with-build-config=bootstrap-lto --with-linker-hash-style=gnu --with-system-zlib --enable-__cxa_atexit --enable-cet=auto --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-default-ssp --enable-gnu-indirect-function --enable-gnu-unique-object --enable-libstdcxx-backtrace --enable-link-serialization=1 --enable-linker-build-id --enable-lto --enable-multilib --enable-plugin --enable-shared --enable-threads=posix --disable-libssp --disable-libstdcxx-pch --disable-werror] + ignore line: [Thread model: posix] + ignore line: [Supported LTO compression algorithms: zlib zstd] + ignore line: [gcc version 14.2.1 20240910 (GCC) ] + ignore line: [COMPILER_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/] + ignore line: [LIBRARY_PATH=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/:/lib/../lib/:/usr/lib/../lib/:/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../:/lib/:/usr/lib/] + ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'cmTC_79fef' '-shared-libgcc' '-mtune=generic' '-march=x86-64' '-dumpdir' 'cmTC_79fef.'] + link line: [ /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/collect2 -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccF0Yopm.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 --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_79fef /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../.. -v CMakeFiles/cmTC_79fef.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crtn.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/collect2] ==> ignore + arg [-plugin] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/liblto_plugin.so] ==> ignore + arg [-plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/lto-wrapper] ==> ignore + arg [-plugin-opt=-fresolution=/tmp/ccF0Yopm.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 [--hash-style=gnu] ==> ignore + arg [-m] ==> ignore + arg [elf_x86_64] ==> ignore + arg [-dynamic-linker] ==> ignore + arg [/lib64/ld-linux-x86-64.so.2] ==> ignore + arg [-pie] ==> ignore + arg [-o] ==> ignore + arg [cmTC_79fef] ==> ignore + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/Scrt1.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/Scrt1.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crti.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crti.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtbeginS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtbeginS.o] + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1] + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib] + arg [-L/lib/../lib] ==> dir [/lib/../lib] + arg [-L/usr/lib/../lib] ==> dir [/usr/lib/../lib] + arg [-L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../..] ==> dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../..] + arg [-v] ==> ignore + arg [CMakeFiles/cmTC_79fef.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-pc-linux-gnu/14.2.1/crtendS.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtendS.o] + arg [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crtn.o] ==> obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crtn.o] + ignore line: [collect2 version 14.2.1 20240910] + ignore line: [/usr/bin/ld -plugin /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/liblto_plugin.so -plugin-opt=/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/lto-wrapper -plugin-opt=-fresolution=/tmp/ccF0Yopm.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 --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -pie -o cmTC_79fef /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/Scrt1.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtbeginS.o -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1 -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib -L/lib/../lib -L/usr/lib/../lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../.. -v CMakeFiles/cmTC_79fef.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crtn.o] + linker tool for 'CXX': /usr/bin/ld + collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/Scrt1.o] ==> [/usr/lib/Scrt1.o] + collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crti.o] ==> [/usr/lib/crti.o] + collapse obj [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/crtn.o] ==> [/usr/lib/crtn.o] + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1] ==> [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1] + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib] ==> [/usr/lib] + collapse library dir [/lib/../lib] ==> [/lib] + collapse library dir [/usr/lib/../lib] ==> [/usr/lib] + collapse library dir [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../..] ==> [/usr/lib] + implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc] + implicit objs: [/usr/lib/Scrt1.o;/usr/lib/crti.o;/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtbeginS.o;/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/crtendS.o;/usr/lib/crtn.o] + implicit dirs: [/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1;/usr/lib;/lib] + implicit fwks: [] + + + - + kind: "message-v1" + backtrace: + - "/usr/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake:40 (message)" + - "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake:255 (cmake_determine_linker_id)" + - "/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake:26 (CMAKE_DETERMINE_COMPILER_ABI)" + - "CMakeLists.txt:2 (project)" + message: | + Running the CXX compiler's linker: "/usr/bin/ld" "-v" + GNU ld (GNU Binutils) 2.43.0 +... diff --git a/build/CMakeFiles/CMakeDirectoryInformation.cmake b/build/CMakeFiles/CMakeDirectoryInformation.cmake new file mode 100644 index 0000000..f8ee999 --- /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.31 + +# Relative path conversion top directories. +set(CMAKE_RELATIVE_PATH_TOP_SOURCE "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2") +set(CMAKE_RELATIVE_PATH_TOP_BINARY "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/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/Makefile.cmake b/build/CMakeFiles/Makefile.cmake new file mode 100644 index 0000000..6d80c1c --- /dev/null +++ b/build/CMakeFiles/Makefile.cmake @@ -0,0 +1,146 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.31 + +# 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" + "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/CMakeLists.txt" + "CMakeFiles/3.31.3/CMakeCCompiler.cmake" + "CMakeFiles/3.31.3/CMakeCXXCompiler.cmake" + "CMakeFiles/3.31.3/CMakeSystem.cmake" + "/usr/share/cmake/Modules/CMakeCCompiler.cmake.in" + "/usr/share/cmake/Modules/CMakeCCompilerABI.c" + "/usr/share/cmake/Modules/CMakeCInformation.cmake" + "/usr/share/cmake/Modules/CMakeCXXCompiler.cmake.in" + "/usr/share/cmake/Modules/CMakeCXXCompilerABI.cpp" + "/usr/share/cmake/Modules/CMakeCXXInformation.cmake" + "/usr/share/cmake/Modules/CMakeCommonLanguageInclude.cmake" + "/usr/share/cmake/Modules/CMakeCompilerIdDetection.cmake" + "/usr/share/cmake/Modules/CMakeDetermineCCompiler.cmake" + "/usr/share/cmake/Modules/CMakeDetermineCXXCompiler.cmake" + "/usr/share/cmake/Modules/CMakeDetermineCompiler.cmake" + "/usr/share/cmake/Modules/CMakeDetermineCompilerABI.cmake" + "/usr/share/cmake/Modules/CMakeDetermineCompilerId.cmake" + "/usr/share/cmake/Modules/CMakeDetermineCompilerSupport.cmake" + "/usr/share/cmake/Modules/CMakeDetermineSystem.cmake" + "/usr/share/cmake/Modules/CMakeFindBinUtils.cmake" + "/usr/share/cmake/Modules/CMakeGenericSystem.cmake" + "/usr/share/cmake/Modules/CMakeInitializeConfigs.cmake" + "/usr/share/cmake/Modules/CMakeLanguageInformation.cmake" + "/usr/share/cmake/Modules/CMakeParseImplicitIncludeInfo.cmake" + "/usr/share/cmake/Modules/CMakeParseImplicitLinkInfo.cmake" + "/usr/share/cmake/Modules/CMakeParseLibraryArchitecture.cmake" + "/usr/share/cmake/Modules/CMakeSystem.cmake.in" + "/usr/share/cmake/Modules/CMakeSystemSpecificInformation.cmake" + "/usr/share/cmake/Modules/CMakeSystemSpecificInitialize.cmake" + "/usr/share/cmake/Modules/CMakeTestCCompiler.cmake" + "/usr/share/cmake/Modules/CMakeTestCXXCompiler.cmake" + "/usr/share/cmake/Modules/CMakeTestCompilerCommon.cmake" + "/usr/share/cmake/Modules/CMakeUnixFindMake.cmake" + "/usr/share/cmake/Modules/CPack.cmake" + "/usr/share/cmake/Modules/CPackComponent.cmake" + "/usr/share/cmake/Modules/Compiler/ADSP-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/ARMCC-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/ARMClang-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/AppleClang-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Borland-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Bruce-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/CMakeCommonCompilerMacros.cmake" + "/usr/share/cmake/Modules/Compiler/Clang-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Clang-DetermineCompilerInternal.cmake" + "/usr/share/cmake/Modules/Compiler/Compaq-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Compaq-CXX-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Cray-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/CrayClang-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Embarcadero-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Fujitsu-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/FujitsuClang-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/GHS-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/GNU-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/GNU-C.cmake" + "/usr/share/cmake/Modules/Compiler/GNU-CXX-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/GNU-CXX.cmake" + "/usr/share/cmake/Modules/Compiler/GNU-FindBinUtils.cmake" + "/usr/share/cmake/Modules/Compiler/GNU.cmake" + "/usr/share/cmake/Modules/Compiler/HP-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/HP-CXX-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/IAR-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/IBMCPP-C-DetermineVersionInternal.cmake" + "/usr/share/cmake/Modules/Compiler/IBMCPP-CXX-DetermineVersionInternal.cmake" + "/usr/share/cmake/Modules/Compiler/IBMClang-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/IBMClang-CXX-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Intel-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/IntelLLVM-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/LCC-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/LCC-CXX-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/MSVC-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/NVHPC-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/NVIDIA-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/OpenWatcom-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/OrangeC-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/PGI-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/PathScale-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/SCO-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/SDCC-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/SunPro-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/SunPro-CXX-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/TI-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/TIClang-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Tasking-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/TinyCC-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/VisualAge-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/VisualAge-CXX-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/Watcom-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/XL-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/XL-CXX-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/XLClang-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/XLClang-CXX-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/zOS-C-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Compiler/zOS-CXX-DetermineCompiler.cmake" + "/usr/share/cmake/Modules/Internal/CMakeCLinkerInformation.cmake" + "/usr/share/cmake/Modules/Internal/CMakeCXXLinkerInformation.cmake" + "/usr/share/cmake/Modules/Internal/CMakeCommonLinkerInformation.cmake" + "/usr/share/cmake/Modules/Internal/CMakeDetermineLinkerId.cmake" + "/usr/share/cmake/Modules/Internal/FeatureTesting.cmake" + "/usr/share/cmake/Modules/Linker/GNU-C.cmake" + "/usr/share/cmake/Modules/Linker/GNU-CXX.cmake" + "/usr/share/cmake/Modules/Linker/GNU.cmake" + "/usr/share/cmake/Modules/Platform/Linker/GNU.cmake" + "/usr/share/cmake/Modules/Platform/Linker/Linux-GNU-C.cmake" + "/usr/share/cmake/Modules/Platform/Linker/Linux-GNU-CXX.cmake" + "/usr/share/cmake/Modules/Platform/Linker/Linux-GNU.cmake" + "/usr/share/cmake/Modules/Platform/Linux-Determine-CXX.cmake" + "/usr/share/cmake/Modules/Platform/Linux-GNU-C.cmake" + "/usr/share/cmake/Modules/Platform/Linux-GNU-CXX.cmake" + "/usr/share/cmake/Modules/Platform/Linux-GNU.cmake" + "/usr/share/cmake/Modules/Platform/Linux-Initialize.cmake" + "/usr/share/cmake/Modules/Platform/Linux.cmake" + "/usr/share/cmake/Modules/Platform/UnixPaths.cmake" + "/usr/share/cmake/Templates/CPackConfig.cmake.in" + ) + +# The corresponding makefile is: +set(CMAKE_MAKEFILE_OUTPUTS + "Makefile" + "CMakeFiles/cmake.check_cache" + ) + +# Byproducts of CMake generate step: +set(CMAKE_MAKEFILE_PRODUCTS + "CMakeFiles/3.31.3/CMakeSystem.cmake" + "CMakeFiles/3.31.3/CMakeCCompiler.cmake" + "CMakeFiles/3.31.3/CMakeCXXCompiler.cmake" + "CMakeFiles/3.31.3/CMakeCCompiler.cmake" + "CMakeFiles/3.31.3/CMakeCXXCompiler.cmake" + "CPackConfig.cmake" + "CPackSourceConfig.cmake" + "CMakeFiles/CMakeDirectoryInformation.cmake" + ) + +# Dependency information for all targets: +set(CMAKE_DEPEND_INFO_FILES + "CMakeFiles/webserver.dir/DependInfo.cmake" + ) diff --git a/build/CMakeFiles/Makefile2 b/build/CMakeFiles/Makefile2 new file mode 100644 index 0000000..17bb24f --- /dev/null +++ b/build/CMakeFiles/Makefile2 @@ -0,0 +1,122 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.31 + +# 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/timo/Dokumente/uni/praxis2.skeleton/praxis2 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build + +#============================================================================= +# Directory level rules for the build root directory + +# The main recursive "all" target. +all: CMakeFiles/webserver.dir/all +.PHONY : all + +# The main recursive "codegen" target. +codegen: CMakeFiles/webserver.dir/codegen +.PHONY : codegen + +# The main recursive "preinstall" target. +preinstall: +.PHONY : preinstall + +# The main recursive "clean" target. +clean: CMakeFiles/webserver.dir/clean +.PHONY : clean + +#============================================================================= +# Target rules for target CMakeFiles/webserver.dir + +# All Build rule for target. +CMakeFiles/webserver.dir/all: + $(MAKE) $(MAKESILENT) -f CMakeFiles/webserver.dir/build.make CMakeFiles/webserver.dir/depend + $(MAKE) $(MAKESILENT) -f CMakeFiles/webserver.dir/build.make CMakeFiles/webserver.dir/build + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles --progress-num=1,2,3,4,5 "Built target webserver" +.PHONY : CMakeFiles/webserver.dir/all + +# Build rule for subdir invocation for target. +CMakeFiles/webserver.dir/rule: cmake_check_build_system + $(CMAKE_COMMAND) -E cmake_progress_start /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles 5 + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 CMakeFiles/webserver.dir/all + $(CMAKE_COMMAND) -E cmake_progress_start /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles 0 +.PHONY : CMakeFiles/webserver.dir/rule + +# Convenience name for target. +webserver: CMakeFiles/webserver.dir/rule +.PHONY : webserver + +# codegen rule for target. +CMakeFiles/webserver.dir/codegen: + $(MAKE) $(MAKESILENT) -f CMakeFiles/webserver.dir/build.make CMakeFiles/webserver.dir/codegen + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --progress-dir=/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles --progress-num=1,2,3,4,5 "Finished codegen for target webserver" +.PHONY : CMakeFiles/webserver.dir/codegen + +# clean rule for target. +CMakeFiles/webserver.dir/clean: + $(MAKE) $(MAKESILENT) -f CMakeFiles/webserver.dir/build.make CMakeFiles/webserver.dir/clean +.PHONY : CMakeFiles/webserver.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..e446b9a --- /dev/null +++ b/build/CMakeFiles/TargetDirectories.txt @@ -0,0 +1,5 @@ +/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/webserver.dir +/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/package.dir +/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/package_source.dir +/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/edit_cache.dir +/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/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..7ed6ff8 --- /dev/null +++ b/build/CMakeFiles/progress.marks @@ -0,0 +1 @@ +5 diff --git a/build/CMakeFiles/webserver.dir/DependInfo.cmake b/build/CMakeFiles/webserver.dir/DependInfo.cmake new file mode 100644 index 0000000..87b9558 --- /dev/null +++ b/build/CMakeFiles/webserver.dir/DependInfo.cmake @@ -0,0 +1,27 @@ + +# Consider dependencies only in project. +set(CMAKE_DEPENDS_IN_PROJECT_ONLY OFF) + +# The set of languages for which implicit dependencies are needed: +set(CMAKE_DEPENDS_LANGUAGES + ) + +# The set of dependency files which are needed: +set(CMAKE_DEPENDS_DEPENDENCY_FILES + "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/data.c" "CMakeFiles/webserver.dir/data.c.o" "gcc" "CMakeFiles/webserver.dir/data.c.o.d" + "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/http.c" "CMakeFiles/webserver.dir/http.c.o" "gcc" "CMakeFiles/webserver.dir/http.c.o.d" + "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.c" "CMakeFiles/webserver.dir/util.c.o" "gcc" "CMakeFiles/webserver.dir/util.c.o.d" + "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/webserver.c" "CMakeFiles/webserver.dir/webserver.c.o" "gcc" "CMakeFiles/webserver.dir/webserver.c.o.d" + "" "webserver" "gcc" "CMakeFiles/webserver.dir/link.d" + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_LINKED_INFO_FILES + ) + +# Targets to which this target links which contain Fortran sources. +set(CMAKE_Fortran_TARGET_FORWARD_LINKED_INFO_FILES + ) + +# Fortran module output directory. +set(CMAKE_Fortran_TARGET_MODULE_DIR "") diff --git a/build/CMakeFiles/webserver.dir/build.make b/build/CMakeFiles/webserver.dir/build.make new file mode 100644 index 0000000..1d6cd9b --- /dev/null +++ b/build/CMakeFiles/webserver.dir/build.make @@ -0,0 +1,162 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.31 + +# Delete rule output on recipe failure. +.DELETE_ON_ERROR: + +#============================================================================= +# Special targets provided by cmake. + +# Disable implicit rules so canonical targets will work. +.SUFFIXES: + +# Disable VCS-based implicit rules. +% : %,v + +# Disable VCS-based implicit rules. +% : RCS/% + +# Disable VCS-based implicit rules. +% : RCS/%,v + +# Disable VCS-based implicit rules. +% : SCCS/s.% + +# Disable VCS-based implicit rules. +% : s.% + +.SUFFIXES: .hpux_make_needs_suffix_list + +# Command-line flag to silence nested $(MAKE). +$(VERBOSE)MAKESILENT = -s + +#Suppress display of executed commands. +$(VERBOSE).SILENT: + +# A target that is always out of date. +cmake_force: +.PHONY : cmake_force + +#============================================================================= +# Set environment variables for the build. + +# The shell in which to execute make rules. +SHELL = /bin/sh + +# The CMake executable. +CMAKE_COMMAND = /usr/bin/cmake + +# The command to remove a file. +RM = /usr/bin/cmake -E rm -f + +# Escaping for special characters. +EQUALS = = + +# The top-level source directory on which CMake was run. +CMAKE_SOURCE_DIR = /home/timo/Dokumente/uni/praxis2.skeleton/praxis2 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build + +# Include any dependencies generated for this target. +include CMakeFiles/webserver.dir/depend.make +# Include any dependencies generated by the compiler for this target. +include CMakeFiles/webserver.dir/compiler_depend.make + +# Include the progress variables for this target. +include CMakeFiles/webserver.dir/progress.make + +# Include the compile flags for this target's objects. +include CMakeFiles/webserver.dir/flags.make + +CMakeFiles/webserver.dir/codegen: +.PHONY : CMakeFiles/webserver.dir/codegen + +CMakeFiles/webserver.dir/webserver.c.o: CMakeFiles/webserver.dir/flags.make +CMakeFiles/webserver.dir/webserver.c.o: /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/webserver.c +CMakeFiles/webserver.dir/webserver.c.o: CMakeFiles/webserver.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_1) "Building C object CMakeFiles/webserver.dir/webserver.c.o" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/webserver.dir/webserver.c.o -MF CMakeFiles/webserver.dir/webserver.c.o.d -o CMakeFiles/webserver.dir/webserver.c.o -c /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/webserver.c + +CMakeFiles/webserver.dir/webserver.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/webserver.dir/webserver.c.i" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/webserver.c > CMakeFiles/webserver.dir/webserver.c.i + +CMakeFiles/webserver.dir/webserver.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/webserver.dir/webserver.c.s" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/webserver.c -o CMakeFiles/webserver.dir/webserver.c.s + +CMakeFiles/webserver.dir/http.c.o: CMakeFiles/webserver.dir/flags.make +CMakeFiles/webserver.dir/http.c.o: /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/http.c +CMakeFiles/webserver.dir/http.c.o: CMakeFiles/webserver.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_2) "Building C object CMakeFiles/webserver.dir/http.c.o" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/webserver.dir/http.c.o -MF CMakeFiles/webserver.dir/http.c.o.d -o CMakeFiles/webserver.dir/http.c.o -c /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/http.c + +CMakeFiles/webserver.dir/http.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/webserver.dir/http.c.i" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/http.c > CMakeFiles/webserver.dir/http.c.i + +CMakeFiles/webserver.dir/http.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/webserver.dir/http.c.s" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/http.c -o CMakeFiles/webserver.dir/http.c.s + +CMakeFiles/webserver.dir/util.c.o: CMakeFiles/webserver.dir/flags.make +CMakeFiles/webserver.dir/util.c.o: /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.c +CMakeFiles/webserver.dir/util.c.o: CMakeFiles/webserver.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_3) "Building C object CMakeFiles/webserver.dir/util.c.o" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/webserver.dir/util.c.o -MF CMakeFiles/webserver.dir/util.c.o.d -o CMakeFiles/webserver.dir/util.c.o -c /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.c + +CMakeFiles/webserver.dir/util.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/webserver.dir/util.c.i" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.c > CMakeFiles/webserver.dir/util.c.i + +CMakeFiles/webserver.dir/util.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/webserver.dir/util.c.s" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.c -o CMakeFiles/webserver.dir/util.c.s + +CMakeFiles/webserver.dir/data.c.o: CMakeFiles/webserver.dir/flags.make +CMakeFiles/webserver.dir/data.c.o: /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/data.c +CMakeFiles/webserver.dir/data.c.o: CMakeFiles/webserver.dir/compiler_depend.ts + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --progress-dir=/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_4) "Building C object CMakeFiles/webserver.dir/data.c.o" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -MD -MT CMakeFiles/webserver.dir/data.c.o -MF CMakeFiles/webserver.dir/data.c.o.d -o CMakeFiles/webserver.dir/data.c.o -c /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/data.c + +CMakeFiles/webserver.dir/data.c.i: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Preprocessing C source to CMakeFiles/webserver.dir/data.c.i" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -E /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/data.c > CMakeFiles/webserver.dir/data.c.i + +CMakeFiles/webserver.dir/data.c.s: cmake_force + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green "Compiling C source to assembly CMakeFiles/webserver.dir/data.c.s" + /usr/bin/cc $(C_DEFINES) $(C_INCLUDES) $(C_FLAGS) -S /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/data.c -o CMakeFiles/webserver.dir/data.c.s + +# Object files for target webserver +webserver_OBJECTS = \ +"CMakeFiles/webserver.dir/webserver.c.o" \ +"CMakeFiles/webserver.dir/http.c.o" \ +"CMakeFiles/webserver.dir/util.c.o" \ +"CMakeFiles/webserver.dir/data.c.o" + +# External object files for target webserver +webserver_EXTERNAL_OBJECTS = + +webserver: CMakeFiles/webserver.dir/webserver.c.o +webserver: CMakeFiles/webserver.dir/http.c.o +webserver: CMakeFiles/webserver.dir/util.c.o +webserver: CMakeFiles/webserver.dir/data.c.o +webserver: CMakeFiles/webserver.dir/build.make +webserver: CMakeFiles/webserver.dir/compiler_depend.ts +webserver: CMakeFiles/webserver.dir/link.txt + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --green --bold --progress-dir=/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles --progress-num=$(CMAKE_PROGRESS_5) "Linking C executable webserver" + $(CMAKE_COMMAND) -E cmake_link_script CMakeFiles/webserver.dir/link.txt --verbose=$(VERBOSE) + +# Rule to build all files generated by this target. +CMakeFiles/webserver.dir/build: webserver +.PHONY : CMakeFiles/webserver.dir/build + +CMakeFiles/webserver.dir/clean: + $(CMAKE_COMMAND) -P CMakeFiles/webserver.dir/cmake_clean.cmake +.PHONY : CMakeFiles/webserver.dir/clean + +CMakeFiles/webserver.dir/depend: + cd /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build && $(CMAKE_COMMAND) -E cmake_depends "Unix Makefiles" /home/timo/Dokumente/uni/praxis2.skeleton/praxis2 /home/timo/Dokumente/uni/praxis2.skeleton/praxis2 /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles/webserver.dir/DependInfo.cmake "--color=$(COLOR)" +.PHONY : CMakeFiles/webserver.dir/depend + diff --git a/build/CMakeFiles/webserver.dir/cmake_clean.cmake b/build/CMakeFiles/webserver.dir/cmake_clean.cmake new file mode 100644 index 0000000..1e1811b --- /dev/null +++ b/build/CMakeFiles/webserver.dir/cmake_clean.cmake @@ -0,0 +1,18 @@ +file(REMOVE_RECURSE + "CMakeFiles/webserver.dir/link.d" + "CMakeFiles/webserver.dir/data.c.o" + "CMakeFiles/webserver.dir/data.c.o.d" + "CMakeFiles/webserver.dir/http.c.o" + "CMakeFiles/webserver.dir/http.c.o.d" + "CMakeFiles/webserver.dir/util.c.o" + "CMakeFiles/webserver.dir/util.c.o.d" + "CMakeFiles/webserver.dir/webserver.c.o" + "CMakeFiles/webserver.dir/webserver.c.o.d" + "webserver" + "webserver.pdb" +) + +# Per-language clean rules from dependency scanning. +foreach(lang C) + include(CMakeFiles/webserver.dir/cmake_clean_${lang}.cmake OPTIONAL) +endforeach() diff --git a/build/CMakeFiles/webserver.dir/compiler_depend.internal b/build/CMakeFiles/webserver.dir/compiler_depend.internal new file mode 100644 index 0000000..4499fc3 --- /dev/null +++ b/build/CMakeFiles/webserver.dir/compiler_depend.internal @@ -0,0 +1,326 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.31 + +CMakeFiles/webserver.dir/data.c.o + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/data.c + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/data.h + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.h + /usr/include/alloca.h + /usr/include/bits/atomic_wide_counter.h + /usr/include/bits/byteswap.h + /usr/include/bits/endian.h + /usr/include/bits/endianness.h + /usr/include/bits/floatn-common.h + /usr/include/bits/floatn.h + /usr/include/bits/libc-header-start.h + /usr/include/bits/long-double.h + /usr/include/bits/pthreadtypes-arch.h + /usr/include/bits/pthreadtypes.h + /usr/include/bits/select.h + /usr/include/bits/stdint-intn.h + /usr/include/bits/stdint-least.h + /usr/include/bits/stdint-uintn.h + /usr/include/bits/stdlib-float.h + /usr/include/bits/struct_mutex.h + /usr/include/bits/struct_rwlock.h + /usr/include/bits/thread-shared-types.h + /usr/include/bits/time64.h + /usr/include/bits/timesize.h + /usr/include/bits/types.h + /usr/include/bits/types/__locale_t.h + /usr/include/bits/types/__sigset_t.h + /usr/include/bits/types/clock_t.h + /usr/include/bits/types/clockid_t.h + /usr/include/bits/types/locale_t.h + /usr/include/bits/types/sigset_t.h + /usr/include/bits/types/struct_timespec.h + /usr/include/bits/types/struct_timeval.h + /usr/include/bits/types/time_t.h + /usr/include/bits/types/timer_t.h + /usr/include/bits/typesizes.h + /usr/include/bits/uintn-identity.h + /usr/include/bits/waitflags.h + /usr/include/bits/waitstatus.h + /usr/include/bits/wchar.h + /usr/include/bits/wordsize.h + /usr/include/endian.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/gnu/stubs-64.h + /usr/include/gnu/stubs.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdlib.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/sys/cdefs.h + /usr/include/sys/select.h + /usr/include/sys/types.h + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdbool.h + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stddef.h + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdint.h + +CMakeFiles/webserver.dir/http.c.o + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/http.c + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/http.h + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.h + /usr/include/alloca.h + /usr/include/bits/atomic_wide_counter.h + /usr/include/bits/byteswap.h + /usr/include/bits/endian.h + /usr/include/bits/endianness.h + /usr/include/bits/floatn-common.h + /usr/include/bits/floatn.h + /usr/include/bits/libc-header-start.h + /usr/include/bits/long-double.h + /usr/include/bits/pthreadtypes-arch.h + /usr/include/bits/pthreadtypes.h + /usr/include/bits/select.h + /usr/include/bits/stdint-intn.h + /usr/include/bits/stdint-least.h + /usr/include/bits/stdint-uintn.h + /usr/include/bits/stdio_lim.h + /usr/include/bits/stdlib-float.h + /usr/include/bits/struct_mutex.h + /usr/include/bits/struct_rwlock.h + /usr/include/bits/thread-shared-types.h + /usr/include/bits/time64.h + /usr/include/bits/timesize.h + /usr/include/bits/types.h + /usr/include/bits/types/FILE.h + /usr/include/bits/types/__FILE.h + /usr/include/bits/types/__fpos64_t.h + /usr/include/bits/types/__fpos_t.h + /usr/include/bits/types/__locale_t.h + /usr/include/bits/types/__mbstate_t.h + /usr/include/bits/types/__sigset_t.h + /usr/include/bits/types/clock_t.h + /usr/include/bits/types/clockid_t.h + /usr/include/bits/types/cookie_io_functions_t.h + /usr/include/bits/types/locale_t.h + /usr/include/bits/types/sigset_t.h + /usr/include/bits/types/struct_FILE.h + /usr/include/bits/types/struct_timespec.h + /usr/include/bits/types/struct_timeval.h + /usr/include/bits/types/time_t.h + /usr/include/bits/types/timer_t.h + /usr/include/bits/typesizes.h + /usr/include/bits/uintn-identity.h + /usr/include/bits/waitflags.h + /usr/include/bits/waitstatus.h + /usr/include/bits/wchar.h + /usr/include/bits/wordsize.h + /usr/include/ctype.h + /usr/include/endian.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/gnu/stubs-64.h + /usr/include/gnu/stubs.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/sys/cdefs.h + /usr/include/sys/select.h + /usr/include/sys/types.h + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdarg.h + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdbool.h + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stddef.h + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdint.h + +CMakeFiles/webserver.dir/util.c.o + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.c + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.h + /usr/include/alloca.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm/errno.h + /usr/include/bits/atomic_wide_counter.h + /usr/include/bits/byteswap.h + /usr/include/bits/endian.h + /usr/include/bits/endianness.h + /usr/include/bits/errno.h + /usr/include/bits/floatn-common.h + /usr/include/bits/floatn.h + /usr/include/bits/libc-header-start.h + /usr/include/bits/long-double.h + /usr/include/bits/pthreadtypes-arch.h + /usr/include/bits/pthreadtypes.h + /usr/include/bits/select.h + /usr/include/bits/stdint-intn.h + /usr/include/bits/stdint-least.h + /usr/include/bits/stdint-uintn.h + /usr/include/bits/stdio_lim.h + /usr/include/bits/stdlib-float.h + /usr/include/bits/struct_mutex.h + /usr/include/bits/struct_rwlock.h + /usr/include/bits/thread-shared-types.h + /usr/include/bits/time64.h + /usr/include/bits/timesize.h + /usr/include/bits/types.h + /usr/include/bits/types/FILE.h + /usr/include/bits/types/__FILE.h + /usr/include/bits/types/__fpos64_t.h + /usr/include/bits/types/__fpos_t.h + /usr/include/bits/types/__locale_t.h + /usr/include/bits/types/__mbstate_t.h + /usr/include/bits/types/__sigset_t.h + /usr/include/bits/types/clock_t.h + /usr/include/bits/types/clockid_t.h + /usr/include/bits/types/cookie_io_functions_t.h + /usr/include/bits/types/locale_t.h + /usr/include/bits/types/sigset_t.h + /usr/include/bits/types/struct_FILE.h + /usr/include/bits/types/struct_timespec.h + /usr/include/bits/types/struct_timeval.h + /usr/include/bits/types/time_t.h + /usr/include/bits/types/timer_t.h + /usr/include/bits/typesizes.h + /usr/include/bits/uintn-identity.h + /usr/include/bits/waitflags.h + /usr/include/bits/waitstatus.h + /usr/include/bits/wchar.h + /usr/include/bits/wordsize.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/gnu/stubs-64.h + /usr/include/gnu/stubs.h + /usr/include/linux/errno.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/sys/cdefs.h + /usr/include/sys/select.h + /usr/include/sys/types.h + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdarg.h + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stddef.h + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdint.h + +CMakeFiles/webserver.dir/webserver.c.o + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/webserver.c + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/data.h + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/http.h + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.h + /usr/include/alloca.h + /usr/include/arpa/inet.h + /usr/include/asm-generic/bitsperlong.h + /usr/include/asm-generic/errno-base.h + /usr/include/asm-generic/errno.h + /usr/include/asm-generic/posix_types.h + /usr/include/asm-generic/socket.h + /usr/include/asm-generic/sockios.h + /usr/include/asm/bitsperlong.h + /usr/include/asm/errno.h + /usr/include/asm/posix_types.h + /usr/include/asm/posix_types_64.h + /usr/include/asm/socket.h + /usr/include/asm/sockios.h + /usr/include/assert.h + /usr/include/bits/atomic_wide_counter.h + /usr/include/bits/byteswap.h + /usr/include/bits/confname.h + /usr/include/bits/endian.h + /usr/include/bits/endianness.h + /usr/include/bits/environments.h + /usr/include/bits/errno.h + /usr/include/bits/fcntl-linux.h + /usr/include/bits/fcntl.h + /usr/include/bits/floatn-common.h + /usr/include/bits/floatn.h + /usr/include/bits/getopt_core.h + /usr/include/bits/getopt_posix.h + /usr/include/bits/in.h + /usr/include/bits/libc-header-start.h + /usr/include/bits/long-double.h + /usr/include/bits/netdb.h + /usr/include/bits/poll.h + /usr/include/bits/posix_opt.h + /usr/include/bits/pthreadtypes-arch.h + /usr/include/bits/pthreadtypes.h + /usr/include/bits/select.h + /usr/include/bits/sockaddr.h + /usr/include/bits/socket.h + /usr/include/bits/socket_type.h + /usr/include/bits/stat.h + /usr/include/bits/stdint-intn.h + /usr/include/bits/stdint-least.h + /usr/include/bits/stdint-uintn.h + /usr/include/bits/stdio_lim.h + /usr/include/bits/stdlib-float.h + /usr/include/bits/struct_mutex.h + /usr/include/bits/struct_rwlock.h + /usr/include/bits/struct_stat.h + /usr/include/bits/thread-shared-types.h + /usr/include/bits/time64.h + /usr/include/bits/timesize.h + /usr/include/bits/types.h + /usr/include/bits/types/FILE.h + /usr/include/bits/types/__FILE.h + /usr/include/bits/types/__fpos64_t.h + /usr/include/bits/types/__fpos_t.h + /usr/include/bits/types/__locale_t.h + /usr/include/bits/types/__mbstate_t.h + /usr/include/bits/types/__sigset_t.h + /usr/include/bits/types/clock_t.h + /usr/include/bits/types/clockid_t.h + /usr/include/bits/types/cookie_io_functions_t.h + /usr/include/bits/types/locale_t.h + /usr/include/bits/types/sigset_t.h + /usr/include/bits/types/struct_FILE.h + /usr/include/bits/types/struct_iovec.h + /usr/include/bits/types/struct_osockaddr.h + /usr/include/bits/types/struct_timespec.h + /usr/include/bits/types/struct_timeval.h + /usr/include/bits/types/time_t.h + /usr/include/bits/types/timer_t.h + /usr/include/bits/typesizes.h + /usr/include/bits/uintn-identity.h + /usr/include/bits/unistd_ext.h + /usr/include/bits/waitflags.h + /usr/include/bits/waitstatus.h + /usr/include/bits/wchar.h + /usr/include/bits/wordsize.h + /usr/include/endian.h + /usr/include/errno.h + /usr/include/fcntl.h + /usr/include/features-time64.h + /usr/include/features.h + /usr/include/gnu/stubs-64.h + /usr/include/gnu/stubs.h + /usr/include/linux/errno.h + /usr/include/linux/posix_types.h + /usr/include/linux/stddef.h + /usr/include/netdb.h + /usr/include/netinet/in.h + /usr/include/poll.h + /usr/include/rpc/netdb.h + /usr/include/stdc-predef.h + /usr/include/stdint.h + /usr/include/stdio.h + /usr/include/stdlib.h + /usr/include/string.h + /usr/include/strings.h + /usr/include/sys/cdefs.h + /usr/include/sys/poll.h + /usr/include/sys/select.h + /usr/include/sys/socket.h + /usr/include/sys/types.h + /usr/include/unistd.h + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdarg.h + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdbool.h + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stddef.h + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdint.h + +webserver + /usr/lib/libc.so + /usr/lib/libgcc_s.so + /usr/lib/libm.so + /usr/lib/ld-linux-x86-64.so.2 + diff --git a/build/CMakeFiles/webserver.dir/compiler_depend.make b/build/CMakeFiles/webserver.dir/compiler_depend.make new file mode 100644 index 0000000..6c84096 --- /dev/null +++ b/build/CMakeFiles/webserver.dir/compiler_depend.make @@ -0,0 +1,563 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.31 + +CMakeFiles/webserver.dir/data.c.o: /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/data.c \ + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/data.h \ + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.h \ + /usr/include/alloca.h \ + /usr/include/bits/atomic_wide_counter.h \ + /usr/include/bits/byteswap.h \ + /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h \ + /usr/include/bits/floatn-common.h \ + /usr/include/bits/floatn.h \ + /usr/include/bits/libc-header-start.h \ + /usr/include/bits/long-double.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/select.h \ + /usr/include/bits/stdint-intn.h \ + /usr/include/bits/stdint-least.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/stdlib-float.h \ + /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h \ + /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/time64.h \ + /usr/include/bits/timesize.h \ + /usr/include/bits/types.h \ + /usr/include/bits/types/__locale_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/include/bits/typesizes.h \ + /usr/include/bits/uintn-identity.h \ + /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h \ + /usr/include/bits/wchar.h \ + /usr/include/bits/wordsize.h \ + /usr/include/endian.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/gnu/stubs-64.h \ + /usr/include/gnu/stubs.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/sys/cdefs.h \ + /usr/include/sys/select.h \ + /usr/include/sys/types.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdbool.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stddef.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdint.h + +CMakeFiles/webserver.dir/http.c.o: /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/http.c \ + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/http.h \ + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.h \ + /usr/include/alloca.h \ + /usr/include/bits/atomic_wide_counter.h \ + /usr/include/bits/byteswap.h \ + /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h \ + /usr/include/bits/floatn-common.h \ + /usr/include/bits/floatn.h \ + /usr/include/bits/libc-header-start.h \ + /usr/include/bits/long-double.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/select.h \ + /usr/include/bits/stdint-intn.h \ + /usr/include/bits/stdint-least.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/stdio_lim.h \ + /usr/include/bits/stdlib-float.h \ + /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h \ + /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/time64.h \ + /usr/include/bits/timesize.h \ + /usr/include/bits/types.h \ + /usr/include/bits/types/FILE.h \ + /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/__fpos64_t.h \ + /usr/include/bits/types/__fpos_t.h \ + /usr/include/bits/types/__locale_t.h \ + /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/include/bits/typesizes.h \ + /usr/include/bits/uintn-identity.h \ + /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h \ + /usr/include/bits/wchar.h \ + /usr/include/bits/wordsize.h \ + /usr/include/ctype.h \ + /usr/include/endian.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/gnu/stubs-64.h \ + /usr/include/gnu/stubs.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/sys/cdefs.h \ + /usr/include/sys/select.h \ + /usr/include/sys/types.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdarg.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdbool.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stddef.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdint.h + +CMakeFiles/webserver.dir/util.c.o: /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.c \ + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.h \ + /usr/include/alloca.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm/errno.h \ + /usr/include/bits/atomic_wide_counter.h \ + /usr/include/bits/byteswap.h \ + /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h \ + /usr/include/bits/errno.h \ + /usr/include/bits/floatn-common.h \ + /usr/include/bits/floatn.h \ + /usr/include/bits/libc-header-start.h \ + /usr/include/bits/long-double.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/select.h \ + /usr/include/bits/stdint-intn.h \ + /usr/include/bits/stdint-least.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/stdio_lim.h \ + /usr/include/bits/stdlib-float.h \ + /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h \ + /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/time64.h \ + /usr/include/bits/timesize.h \ + /usr/include/bits/types.h \ + /usr/include/bits/types/FILE.h \ + /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/__fpos64_t.h \ + /usr/include/bits/types/__fpos_t.h \ + /usr/include/bits/types/__locale_t.h \ + /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/include/bits/typesizes.h \ + /usr/include/bits/uintn-identity.h \ + /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h \ + /usr/include/bits/wchar.h \ + /usr/include/bits/wordsize.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/gnu/stubs-64.h \ + /usr/include/gnu/stubs.h \ + /usr/include/linux/errno.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/sys/cdefs.h \ + /usr/include/sys/select.h \ + /usr/include/sys/types.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdarg.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stddef.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdint.h + +CMakeFiles/webserver.dir/webserver.c.o: /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/webserver.c \ + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/data.h \ + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/http.h \ + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.h \ + /usr/include/alloca.h \ + /usr/include/arpa/inet.h \ + /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm-generic/errno-base.h \ + /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/posix_types.h \ + /usr/include/asm-generic/socket.h \ + /usr/include/asm-generic/sockios.h \ + /usr/include/asm/bitsperlong.h \ + /usr/include/asm/errno.h \ + /usr/include/asm/posix_types.h \ + /usr/include/asm/posix_types_64.h \ + /usr/include/asm/socket.h \ + /usr/include/asm/sockios.h \ + /usr/include/assert.h \ + /usr/include/bits/atomic_wide_counter.h \ + /usr/include/bits/byteswap.h \ + /usr/include/bits/confname.h \ + /usr/include/bits/endian.h \ + /usr/include/bits/endianness.h \ + /usr/include/bits/environments.h \ + /usr/include/bits/errno.h \ + /usr/include/bits/fcntl-linux.h \ + /usr/include/bits/fcntl.h \ + /usr/include/bits/floatn-common.h \ + /usr/include/bits/floatn.h \ + /usr/include/bits/getopt_core.h \ + /usr/include/bits/getopt_posix.h \ + /usr/include/bits/in.h \ + /usr/include/bits/libc-header-start.h \ + /usr/include/bits/long-double.h \ + /usr/include/bits/netdb.h \ + /usr/include/bits/poll.h \ + /usr/include/bits/posix_opt.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/pthreadtypes.h \ + /usr/include/bits/select.h \ + /usr/include/bits/sockaddr.h \ + /usr/include/bits/socket.h \ + /usr/include/bits/socket_type.h \ + /usr/include/bits/stat.h \ + /usr/include/bits/stdint-intn.h \ + /usr/include/bits/stdint-least.h \ + /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/stdio_lim.h \ + /usr/include/bits/stdlib-float.h \ + /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h \ + /usr/include/bits/struct_stat.h \ + /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/time64.h \ + /usr/include/bits/timesize.h \ + /usr/include/bits/types.h \ + /usr/include/bits/types/FILE.h \ + /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/__fpos64_t.h \ + /usr/include/bits/types/__fpos_t.h \ + /usr/include/bits/types/__locale_t.h \ + /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/sigset_t.h \ + /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/struct_iovec.h \ + /usr/include/bits/types/struct_osockaddr.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h \ + /usr/include/bits/typesizes.h \ + /usr/include/bits/uintn-identity.h \ + /usr/include/bits/unistd_ext.h \ + /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h \ + /usr/include/bits/wchar.h \ + /usr/include/bits/wordsize.h \ + /usr/include/endian.h \ + /usr/include/errno.h \ + /usr/include/fcntl.h \ + /usr/include/features-time64.h \ + /usr/include/features.h \ + /usr/include/gnu/stubs-64.h \ + /usr/include/gnu/stubs.h \ + /usr/include/linux/errno.h \ + /usr/include/linux/posix_types.h \ + /usr/include/linux/stddef.h \ + /usr/include/netdb.h \ + /usr/include/netinet/in.h \ + /usr/include/poll.h \ + /usr/include/rpc/netdb.h \ + /usr/include/stdc-predef.h \ + /usr/include/stdint.h \ + /usr/include/stdio.h \ + /usr/include/stdlib.h \ + /usr/include/string.h \ + /usr/include/strings.h \ + /usr/include/sys/cdefs.h \ + /usr/include/sys/poll.h \ + /usr/include/sys/select.h \ + /usr/include/sys/socket.h \ + /usr/include/sys/types.h \ + /usr/include/unistd.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdarg.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdbool.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stddef.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdint.h + +webserver: /usr/lib/libc.so \ + /usr/lib/libgcc_s.so \ + /usr/lib/libm.so \ + /usr/lib/ld-linux-x86-64.so.2 + + +/usr/lib/ld-linux-x86-64.so.2: + +/usr/lib/libm.so: + +/usr/lib/libgcc_s.so: + +/usr/include/unistd.h: + +/usr/include/netinet/in.h: + +/usr/include/netdb.h: + +/usr/lib/libc.so: + +/usr/include/fcntl.h: + +/usr/include/bits/types/struct_iovec.h: + +/usr/include/bits/struct_stat.h: + +/usr/include/bits/types/struct_osockaddr.h: + +/usr/include/bits/socket_type.h: + +/usr/include/bits/sockaddr.h: + +/usr/include/bits/posix_opt.h: + +/usr/include/bits/getopt_posix.h: + +/usr/include/bits/fcntl.h: + +/usr/include/bits/unistd_ext.h: + +/usr/include/bits/fcntl-linux.h: + +/usr/include/bits/confname.h: + +/usr/include/assert.h: + +/usr/include/asm/sockios.h: + +/usr/include/asm/socket.h: + +/usr/include/bits/stat.h: + +/usr/include/asm/posix_types_64.h: + +/usr/include/asm/posix_types.h: + +/usr/include/asm/bitsperlong.h: + +/usr/include/sys/socket.h: + +/usr/include/asm-generic/sockios.h: + +/usr/include/asm-generic/bitsperlong.h: + +/usr/include/arpa/inet.h: + +/usr/include/linux/errno.h: + +/usr/include/bits/errno.h: + +/usr/include/asm-generic/errno.h: + +/usr/include/asm-generic/errno-base.h: + +/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.c: + +/usr/include/bits/poll.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdarg.h: + +/usr/include/ctype.h: + +/usr/include/bits/types/struct_FILE.h: + +/usr/include/bits/netdb.h: + +/usr/include/bits/types/__mbstate_t.h: + +/usr/include/bits/types/__fpos_t.h: + +/usr/include/bits/types/__fpos64_t.h: + +/usr/include/bits/types/FILE.h: + +/usr/include/bits/getopt_core.h: + +/usr/include/bits/types.h: + +/usr/include/poll.h: + +/usr/include/sys/cdefs.h: + +/usr/include/bits/byteswap.h: + +/usr/include/bits/thread-shared-types.h: + +/usr/include/bits/stdint-least.h: + +/usr/include/alloca.h: + +/usr/include/bits/stdint-intn.h: + +/usr/include/gnu/stubs-64.h: + +/usr/include/bits/select.h: + +/usr/include/asm-generic/socket.h: + +/usr/include/features-time64.h: + +/usr/include/bits/types/clock_t.h: + +/usr/include/bits/types/__locale_t.h: + +/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/data.h: + +/usr/include/bits/wordsize.h: + +/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.h: + +/usr/include/bits/endianness.h: + +/usr/include/bits/types/__FILE.h: + +/usr/include/bits/stdlib-float.h: + +/usr/include/bits/types/sigset_t.h: + +/usr/include/sys/poll.h: + +/usr/include/bits/floatn-common.h: + +/usr/include/bits/long-double.h: + +/usr/include/asm-generic/posix_types.h: + +/usr/include/bits/types/__sigset_t.h: + +/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/webserver.c: + +/usr/include/asm/errno.h: + +/usr/include/bits/timesize.h: + +/usr/include/bits/endian.h: + +/usr/include/bits/in.h: + +/usr/include/bits/waitflags.h: + +/usr/include/errno.h: + +/usr/include/bits/types/clockid_t.h: + +/usr/include/bits/atomic_wide_counter.h: + +/usr/include/bits/pthreadtypes.h: + +/usr/include/bits/floatn.h: + +/usr/include/stdc-predef.h: + +/usr/include/bits/pthreadtypes-arch.h: + +/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/http.h: + +/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/data.c: + +/usr/include/bits/types/locale_t.h: + +/usr/include/bits/types/struct_timespec.h: + +/usr/include/bits/stdio_lim.h: + +/usr/include/bits/types/struct_timeval.h: + +/usr/include/linux/posix_types.h: + +/usr/include/bits/libc-header-start.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdint.h: + +/usr/include/bits/struct_rwlock.h: + +/usr/include/bits/types/time_t.h: + +/usr/include/stdlib.h: + +/usr/include/bits/struct_mutex.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stddef.h: + +/usr/include/stdio.h: + +/usr/include/bits/types/timer_t.h: + +/usr/include/bits/socket.h: + +/usr/include/bits/types/cookie_io_functions_t.h: + +/usr/include/bits/stdint-uintn.h: + +/usr/include/endian.h: + +/usr/include/bits/uintn-identity.h: + +/usr/include/bits/typesizes.h: + +/usr/include/bits/time64.h: + +/usr/include/string.h: + +/usr/include/bits/waitstatus.h: + +/usr/include/bits/wchar.h: + +/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdbool.h: + +/usr/include/features.h: + +/usr/include/gnu/stubs.h: + +/usr/include/rpc/netdb.h: + +/usr/include/stdint.h: + +/usr/include/bits/environments.h: + +/usr/include/sys/select.h: + +/usr/include/linux/stddef.h: + +/usr/include/sys/types.h: + +/usr/include/strings.h: + +/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/http.c: diff --git a/build/CMakeFiles/webserver.dir/compiler_depend.ts b/build/CMakeFiles/webserver.dir/compiler_depend.ts new file mode 100644 index 0000000..18056bd --- /dev/null +++ b/build/CMakeFiles/webserver.dir/compiler_depend.ts @@ -0,0 +1,2 @@ +# CMAKE generated file: DO NOT EDIT! +# Timestamp file for compiler generated dependencies management for webserver. diff --git a/build/CMakeFiles/webserver.dir/data.c.o b/build/CMakeFiles/webserver.dir/data.c.o new file mode 100644 index 0000000..9442581 Binary files /dev/null and b/build/CMakeFiles/webserver.dir/data.c.o differ diff --git a/build/CMakeFiles/webserver.dir/data.c.o.d b/build/CMakeFiles/webserver.dir/data.c.o.d new file mode 100644 index 0000000..679f466 --- /dev/null +++ b/build/CMakeFiles/webserver.dir/data.c.o.d @@ -0,0 +1,35 @@ +CMakeFiles/webserver.dir/data.c.o: \ + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/data.c \ + /usr/include/stdc-predef.h \ + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/data.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdbool.h \ + /usr/include/stdlib.h /usr/include/bits/libc-header-start.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/bits/wordsize.h /usr/include/bits/timesize.h \ + /usr/include/sys/cdefs.h /usr/include/bits/long-double.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stddef.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/bits/time64.h \ + /usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \ + /usr/include/bits/stdint-intn.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/endianness.h \ + /usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-float.h \ + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdint.h \ + /usr/include/stdint.h /usr/include/bits/wchar.h \ + /usr/include/bits/stdint-uintn.h /usr/include/bits/stdint-least.h \ + /usr/include/string.h /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/__locale_t.h /usr/include/strings.h diff --git a/build/CMakeFiles/webserver.dir/depend.make b/build/CMakeFiles/webserver.dir/depend.make new file mode 100644 index 0000000..99b4ae0 --- /dev/null +++ b/build/CMakeFiles/webserver.dir/depend.make @@ -0,0 +1,2 @@ +# Empty dependencies file for webserver. +# This may be replaced when dependencies are built. diff --git a/build/CMakeFiles/webserver.dir/flags.make b/build/CMakeFiles/webserver.dir/flags.make new file mode 100644 index 0000000..c319e0a --- /dev/null +++ b/build/CMakeFiles/webserver.dir/flags.make @@ -0,0 +1,10 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.31 + +# compile C with /usr/bin/cc +C_DEFINES = + +C_INCLUDES = + +C_FLAGS = -g -std=gnu11 -Wall -Wextra -Wpedantic + diff --git a/build/CMakeFiles/webserver.dir/http.c.o b/build/CMakeFiles/webserver.dir/http.c.o new file mode 100644 index 0000000..0e14834 Binary files /dev/null and b/build/CMakeFiles/webserver.dir/http.c.o differ diff --git a/build/CMakeFiles/webserver.dir/http.c.o.d b/build/CMakeFiles/webserver.dir/http.c.o.d new file mode 100644 index 0000000..81697b0 --- /dev/null +++ b/build/CMakeFiles/webserver.dir/http.c.o.d @@ -0,0 +1,43 @@ +CMakeFiles/webserver.dir/http.c.o: \ + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/http.c \ + /usr/include/stdc-predef.h \ + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/http.h \ + /usr/include/stdlib.h /usr/include/bits/libc-header-start.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/bits/wordsize.h /usr/include/bits/timesize.h \ + /usr/include/sys/cdefs.h /usr/include/bits/long-double.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stddef.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \ + /usr/include/sys/types.h /usr/include/bits/types.h \ + /usr/include/bits/typesizes.h /usr/include/bits/time64.h \ + /usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \ + /usr/include/bits/stdint-intn.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/endianness.h \ + /usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-float.h \ + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdint.h \ + /usr/include/stdint.h /usr/include/bits/wchar.h \ + /usr/include/bits/stdint-uintn.h /usr/include/bits/stdint-least.h \ + /usr/include/ctype.h /usr/include/bits/types/locale_t.h \ + /usr/include/bits/types/__locale_t.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdbool.h \ + /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdarg.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/stdio_lim.h /usr/include/string.h \ + /usr/include/strings.h diff --git a/build/CMakeFiles/webserver.dir/link.d b/build/CMakeFiles/webserver.dir/link.d new file mode 100644 index 0000000..b882cb5 --- /dev/null +++ b/build/CMakeFiles/webserver.dir/link.d @@ -0,0 +1,28 @@ +webserver: \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libm.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libm.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libgcc_s.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libgcc_s.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libc.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libc.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libgcc_s.so \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libgcc_s.so \ + /usr/lib/ld-linux-x86-64.so.2 + +/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libm.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libm.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libgcc_s.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libgcc_s.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libc.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libc.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libgcc_s.so: + +/usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/../../../../lib/libgcc_s.so: + +/usr/lib/ld-linux-x86-64.so.2: diff --git a/build/CMakeFiles/webserver.dir/link.txt b/build/CMakeFiles/webserver.dir/link.txt new file mode 100644 index 0000000..105e274 --- /dev/null +++ b/build/CMakeFiles/webserver.dir/link.txt @@ -0,0 +1 @@ +/usr/bin/cc -g -Wl,--dependency-file=CMakeFiles/webserver.dir/link.d CMakeFiles/webserver.dir/webserver.c.o CMakeFiles/webserver.dir/http.c.o CMakeFiles/webserver.dir/util.c.o CMakeFiles/webserver.dir/data.c.o -o webserver -lm diff --git a/build/CMakeFiles/webserver.dir/progress.make b/build/CMakeFiles/webserver.dir/progress.make new file mode 100644 index 0000000..33e6bff --- /dev/null +++ b/build/CMakeFiles/webserver.dir/progress.make @@ -0,0 +1,6 @@ +CMAKE_PROGRESS_1 = 1 +CMAKE_PROGRESS_2 = 2 +CMAKE_PROGRESS_3 = 3 +CMAKE_PROGRESS_4 = 4 +CMAKE_PROGRESS_5 = 5 + diff --git a/build/CMakeFiles/webserver.dir/util.c.o b/build/CMakeFiles/webserver.dir/util.c.o new file mode 100644 index 0000000..bee0c46 Binary files /dev/null and b/build/CMakeFiles/webserver.dir/util.c.o differ diff --git a/build/CMakeFiles/webserver.dir/util.c.o.d b/build/CMakeFiles/webserver.dir/util.c.o.d new file mode 100644 index 0000000..386b915 --- /dev/null +++ b/build/CMakeFiles/webserver.dir/util.c.o.d @@ -0,0 +1,42 @@ +CMakeFiles/webserver.dir/util.c.o: \ + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.c \ + /usr/include/stdc-predef.h \ + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdint.h \ + /usr/include/stdint.h /usr/include/bits/libc-header-start.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/bits/wordsize.h /usr/include/bits/timesize.h \ + /usr/include/sys/cdefs.h /usr/include/bits/long-double.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/bits/time64.h /usr/include/bits/wchar.h \ + /usr/include/bits/stdint-intn.h /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/stdint-least.h /usr/include/stdlib.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stddef.h \ + /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h \ + /usr/include/bits/floatn.h /usr/include/bits/floatn-common.h \ + /usr/include/sys/types.h /usr/include/bits/types/clock_t.h \ + /usr/include/bits/types/clockid_t.h /usr/include/bits/types/time_t.h \ + /usr/include/bits/types/timer_t.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/endianness.h \ + /usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-float.h /usr/include/errno.h \ + /usr/include/bits/errno.h /usr/include/linux/errno.h \ + /usr/include/asm/errno.h /usr/include/asm-generic/errno.h \ + /usr/include/asm-generic/errno-base.h /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdarg.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/stdio_lim.h /usr/include/string.h \ + /usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \ + /usr/include/strings.h diff --git a/build/CMakeFiles/webserver.dir/webserver.c.o b/build/CMakeFiles/webserver.dir/webserver.c.o new file mode 100644 index 0000000..ca79fe6 Binary files /dev/null and b/build/CMakeFiles/webserver.dir/webserver.c.o differ diff --git a/build/CMakeFiles/webserver.dir/webserver.c.o.d b/build/CMakeFiles/webserver.dir/webserver.c.o.d new file mode 100644 index 0000000..dcb20aa --- /dev/null +++ b/build/CMakeFiles/webserver.dir/webserver.c.o.d @@ -0,0 +1,64 @@ +CMakeFiles/webserver.dir/webserver.c.o: \ + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/webserver.c \ + /usr/include/stdc-predef.h /usr/include/arpa/inet.h \ + /usr/include/features.h /usr/include/features-time64.h \ + /usr/include/bits/wordsize.h /usr/include/bits/timesize.h \ + /usr/include/sys/cdefs.h /usr/include/bits/long-double.h \ + /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h \ + /usr/include/netinet/in.h /usr/include/bits/stdint-uintn.h \ + /usr/include/bits/types.h /usr/include/bits/typesizes.h \ + /usr/include/bits/time64.h /usr/include/sys/socket.h \ + /usr/include/bits/types/struct_iovec.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stddef.h \ + /usr/include/bits/socket.h /usr/include/sys/types.h \ + /usr/include/bits/types/clock_t.h /usr/include/bits/types/clockid_t.h \ + /usr/include/bits/types/time_t.h /usr/include/bits/types/timer_t.h \ + /usr/include/bits/stdint-intn.h /usr/include/endian.h \ + /usr/include/bits/endian.h /usr/include/bits/endianness.h \ + /usr/include/bits/byteswap.h /usr/include/bits/uintn-identity.h \ + /usr/include/sys/select.h /usr/include/bits/select.h \ + /usr/include/bits/types/sigset_t.h /usr/include/bits/types/__sigset_t.h \ + /usr/include/bits/types/struct_timeval.h \ + /usr/include/bits/types/struct_timespec.h \ + /usr/include/bits/pthreadtypes.h /usr/include/bits/thread-shared-types.h \ + /usr/include/bits/pthreadtypes-arch.h \ + /usr/include/bits/atomic_wide_counter.h /usr/include/bits/struct_mutex.h \ + /usr/include/bits/struct_rwlock.h /usr/include/bits/socket_type.h \ + /usr/include/bits/sockaddr.h /usr/include/asm/socket.h \ + /usr/include/asm-generic/socket.h /usr/include/linux/posix_types.h \ + /usr/include/linux/stddef.h /usr/include/asm/posix_types.h \ + /usr/include/asm/posix_types_64.h /usr/include/asm-generic/posix_types.h \ + /usr/include/asm/bitsperlong.h /usr/include/asm-generic/bitsperlong.h \ + /usr/include/asm/sockios.h /usr/include/asm-generic/sockios.h \ + /usr/include/bits/types/struct_osockaddr.h /usr/include/bits/in.h \ + /usr/include/assert.h /usr/include/errno.h /usr/include/bits/errno.h \ + /usr/include/linux/errno.h /usr/include/asm/errno.h \ + /usr/include/asm-generic/errno.h /usr/include/asm-generic/errno-base.h \ + /usr/include/fcntl.h /usr/include/bits/fcntl.h \ + /usr/include/bits/fcntl-linux.h /usr/include/bits/stat.h \ + /usr/include/bits/struct_stat.h /usr/include/netdb.h \ + /usr/include/rpc/netdb.h /usr/include/bits/netdb.h /usr/include/poll.h \ + /usr/include/sys/poll.h /usr/include/bits/poll.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdint.h \ + /usr/include/stdint.h /usr/include/bits/libc-header-start.h \ + /usr/include/bits/wchar.h /usr/include/bits/stdint-least.h \ + /usr/include/stdio.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdarg.h \ + /usr/include/bits/types/__fpos_t.h /usr/include/bits/types/__mbstate_t.h \ + /usr/include/bits/types/__fpos64_t.h /usr/include/bits/types/__FILE.h \ + /usr/include/bits/types/FILE.h /usr/include/bits/types/struct_FILE.h \ + /usr/include/bits/types/cookie_io_functions_t.h \ + /usr/include/bits/stdio_lim.h /usr/include/bits/floatn.h \ + /usr/include/bits/floatn-common.h /usr/include/string.h \ + /usr/include/bits/types/locale_t.h /usr/include/bits/types/__locale_t.h \ + /usr/include/strings.h /usr/include/unistd.h \ + /usr/include/bits/posix_opt.h /usr/include/bits/environments.h \ + /usr/include/bits/confname.h /usr/include/bits/getopt_posix.h \ + /usr/include/bits/getopt_core.h /usr/include/bits/unistd_ext.h \ + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/data.h \ + /usr/lib/gcc/x86_64-pc-linux-gnu/14.2.1/include/stdbool.h \ + /usr/include/stdlib.h /usr/include/bits/waitflags.h \ + /usr/include/bits/waitstatus.h /usr/include/alloca.h \ + /usr/include/bits/stdlib-float.h \ + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/util.h \ + /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/http.h diff --git a/build/CPackConfig.cmake b/build/CPackConfig.cmake new file mode 100644 index 0000000..b27670d --- /dev/null +++ b/build/CPackConfig.cmake @@ -0,0 +1,77 @@ +# This file will be configured to contain variables for CPack. These variables +# should be set in the CMake list file of the project before CPack module is +# included. The list of available CPACK_xxx variables and their associated +# documentation may be obtained using +# cpack --help-variable-list +# +# Some variables are common to all generators (e.g. CPACK_PACKAGE_NAME) +# and some are specific to a generator +# (e.g. CPACK_NSIS_EXTRA_INSTALL_COMMANDS). The generator specific variables +# usually begin with CPACK__xxxx. + + +set(CPACK_BINARY_DEB "OFF") +set(CPACK_BINARY_FREEBSD "OFF") +set(CPACK_BINARY_IFW "OFF") +set(CPACK_BINARY_NSIS "OFF") +set(CPACK_BINARY_RPM "OFF") +set(CPACK_BINARY_STGZ "ON") +set(CPACK_BINARY_TBZ2 "OFF") +set(CPACK_BINARY_TGZ "ON") +set(CPACK_BINARY_TXZ "OFF") +set(CPACK_BINARY_TZ "ON") +set(CPACK_BUILD_SOURCE_DIRS "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2;/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build") +set(CPACK_CMAKE_GENERATOR "Unix Makefiles") +set(CPACK_COMPONENTS_ALL "") +set(CPACK_COMPONENT_UNSPECIFIED_HIDDEN "TRUE") +set(CPACK_COMPONENT_UNSPECIFIED_REQUIRED "TRUE") +set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake/Templates/CPack.GenericDescription.txt") +set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_SUMMARY "RN-Praxis built using CMake") +set(CPACK_GENERATOR "STGZ;TGZ;TZ") +set(CPACK_INNOSETUP_ARCHITECTURE "x64") +set(CPACK_INSTALL_CMAKE_PROJECTS "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build;RN-Praxis;ALL;/") +set(CPACK_INSTALL_PREFIX "/usr/local") +set(CPACK_MODULE_PATH "") +set(CPACK_NSIS_DISPLAY_NAME "RN-Praxis 0.1.1") +set(CPACK_NSIS_INSTALLER_ICON_CODE "") +set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "") +set(CPACK_NSIS_INSTALL_ROOT "\$PROGRAMFILES") +set(CPACK_NSIS_PACKAGE_NAME "RN-Praxis 0.1.1") +set(CPACK_NSIS_UNINSTALL_NAME "Uninstall") +set(CPACK_OBJCOPY_EXECUTABLE "/usr/bin/objcopy") +set(CPACK_OBJDUMP_EXECUTABLE "/usr/bin/objdump") +set(CPACK_OUTPUT_CONFIG_FILE "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CPackConfig.cmake") +set(CPACK_PACKAGE_DEFAULT_LOCATION "/") +set(CPACK_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake/Templates/CPack.GenericDescription.txt") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "RN-Praxis built using CMake") +set(CPACK_PACKAGE_FILE_NAME "RN-Praxis-0.1.1-Linux") +set(CPACK_PACKAGE_INSTALL_DIRECTORY "RN-Praxis 0.1.1") +set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "RN-Praxis 0.1.1") +set(CPACK_PACKAGE_NAME "RN-Praxis") +set(CPACK_PACKAGE_RELOCATABLE "true") +set(CPACK_PACKAGE_VENDOR "Humanity") +set(CPACK_PACKAGE_VERSION "0.1.1") +set(CPACK_PACKAGE_VERSION_MAJOR "0") +set(CPACK_PACKAGE_VERSION_MINOR "1") +set(CPACK_PACKAGE_VERSION_PATCH "1") +set(CPACK_READELF_EXECUTABLE "/usr/bin/readelf") +set(CPACK_RESOURCE_FILE_LICENSE "/usr/share/cmake/Templates/CPack.GenericLicense.txt") +set(CPACK_RESOURCE_FILE_README "/usr/share/cmake/Templates/CPack.GenericDescription.txt") +set(CPACK_RESOURCE_FILE_WELCOME "/usr/share/cmake/Templates/CPack.GenericWelcome.txt") +set(CPACK_SET_DESTDIR "OFF") +set(CPACK_SOURCE_GENERATOR "TGZ") +set(CPACK_SOURCE_IGNORE_FILES "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build;/\\..*\$") +set(CPACK_SOURCE_OUTPUT_CONFIG_FILE "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CPackSourceConfig.cmake") +set(CPACK_SYSTEM_NAME "Linux") +set(CPACK_THREADS "1") +set(CPACK_TOPLEVEL_TAG "Linux") +set(CPACK_VERBATIM_VARIABLES "YES") +set(CPACK_WIX_SIZEOF_VOID_P "8") + +if(NOT CPACK_PROPERTIES_FILE) + set(CPACK_PROPERTIES_FILE "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CPackProperties.cmake") +endif() + +if(EXISTS ${CPACK_PROPERTIES_FILE}) + include(${CPACK_PROPERTIES_FILE}) +endif() diff --git a/build/CPackSourceConfig.cmake b/build/CPackSourceConfig.cmake new file mode 100644 index 0000000..56c6743 --- /dev/null +++ b/build/CPackSourceConfig.cmake @@ -0,0 +1,84 @@ +# This file will be configured to contain variables for CPack. These variables +# should be set in the CMake list file of the project before CPack module is +# included. The list of available CPACK_xxx variables and their associated +# documentation may be obtained using +# cpack --help-variable-list +# +# Some variables are common to all generators (e.g. CPACK_PACKAGE_NAME) +# and some are specific to a generator +# (e.g. CPACK_NSIS_EXTRA_INSTALL_COMMANDS). The generator specific variables +# usually begin with CPACK__xxxx. + + +set(CPACK_BINARY_DEB "OFF") +set(CPACK_BINARY_FREEBSD "OFF") +set(CPACK_BINARY_IFW "OFF") +set(CPACK_BINARY_NSIS "OFF") +set(CPACK_BINARY_RPM "OFF") +set(CPACK_BINARY_STGZ "ON") +set(CPACK_BINARY_TBZ2 "OFF") +set(CPACK_BINARY_TGZ "ON") +set(CPACK_BINARY_TXZ "OFF") +set(CPACK_BINARY_TZ "ON") +set(CPACK_BUILD_SOURCE_DIRS "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2;/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build") +set(CPACK_CMAKE_GENERATOR "Unix Makefiles") +set(CPACK_COMPONENTS_ALL "") +set(CPACK_COMPONENT_UNSPECIFIED_HIDDEN "TRUE") +set(CPACK_COMPONENT_UNSPECIFIED_REQUIRED "TRUE") +set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake/Templates/CPack.GenericDescription.txt") +set(CPACK_DEFAULT_PACKAGE_DESCRIPTION_SUMMARY "RN-Praxis built using CMake") +set(CPACK_GENERATOR "TGZ") +set(CPACK_IGNORE_FILES "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build;/\\..*\$") +set(CPACK_INNOSETUP_ARCHITECTURE "x64") +set(CPACK_INSTALLED_DIRECTORIES "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2;/") +set(CPACK_INSTALL_CMAKE_PROJECTS "") +set(CPACK_INSTALL_PREFIX "/usr/local") +set(CPACK_MODULE_PATH "") +set(CPACK_NSIS_DISPLAY_NAME "RN-Praxis 0.1.1") +set(CPACK_NSIS_INSTALLER_ICON_CODE "") +set(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "") +set(CPACK_NSIS_INSTALL_ROOT "\$PROGRAMFILES") +set(CPACK_NSIS_PACKAGE_NAME "RN-Praxis 0.1.1") +set(CPACK_NSIS_UNINSTALL_NAME "Uninstall") +set(CPACK_OBJCOPY_EXECUTABLE "/usr/bin/objcopy") +set(CPACK_OBJDUMP_EXECUTABLE "/usr/bin/objdump") +set(CPACK_OUTPUT_CONFIG_FILE "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CPackConfig.cmake") +set(CPACK_PACKAGE_DEFAULT_LOCATION "/") +set(CPACK_PACKAGE_DESCRIPTION_FILE "/usr/share/cmake/Templates/CPack.GenericDescription.txt") +set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "RN-Praxis built using CMake") +set(CPACK_PACKAGE_FILE_NAME "RN-Praxis-0.1.1-Source") +set(CPACK_PACKAGE_INSTALL_DIRECTORY "RN-Praxis 0.1.1") +set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY "RN-Praxis 0.1.1") +set(CPACK_PACKAGE_NAME "RN-Praxis") +set(CPACK_PACKAGE_RELOCATABLE "true") +set(CPACK_PACKAGE_VENDOR "Humanity") +set(CPACK_PACKAGE_VERSION "0.1.1") +set(CPACK_PACKAGE_VERSION_MAJOR "0") +set(CPACK_PACKAGE_VERSION_MINOR "1") +set(CPACK_PACKAGE_VERSION_PATCH "1") +set(CPACK_READELF_EXECUTABLE "/usr/bin/readelf") +set(CPACK_RESOURCE_FILE_LICENSE "/usr/share/cmake/Templates/CPack.GenericLicense.txt") +set(CPACK_RESOURCE_FILE_README "/usr/share/cmake/Templates/CPack.GenericDescription.txt") +set(CPACK_RESOURCE_FILE_WELCOME "/usr/share/cmake/Templates/CPack.GenericWelcome.txt") +set(CPACK_RPM_PACKAGE_SOURCES "ON") +set(CPACK_SET_DESTDIR "OFF") +set(CPACK_SOURCE_GENERATOR "TGZ") +set(CPACK_SOURCE_IGNORE_FILES "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build;/\\..*\$") +set(CPACK_SOURCE_INSTALLED_DIRECTORIES "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2;/") +set(CPACK_SOURCE_OUTPUT_CONFIG_FILE "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CPackSourceConfig.cmake") +set(CPACK_SOURCE_PACKAGE_FILE_NAME "RN-Praxis-0.1.1-Source") +set(CPACK_SOURCE_TOPLEVEL_TAG "Linux-Source") +set(CPACK_STRIP_FILES "") +set(CPACK_SYSTEM_NAME "Linux") +set(CPACK_THREADS "1") +set(CPACK_TOPLEVEL_TAG "Linux-Source") +set(CPACK_VERBATIM_VARIABLES "YES") +set(CPACK_WIX_SIZEOF_VOID_P "8") + +if(NOT CPACK_PROPERTIES_FILE) + set(CPACK_PROPERTIES_FILE "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CPackProperties.cmake") +endif() + +if(EXISTS ${CPACK_PROPERTIES_FILE}) + include(${CPACK_PROPERTIES_FILE}) +endif() diff --git a/build/Makefile b/build/Makefile new file mode 100644 index 0000000..c590956 --- /dev/null +++ b/build/Makefile @@ -0,0 +1,284 @@ +# CMAKE generated file: DO NOT EDIT! +# Generated by "Unix Makefiles" Generator, CMake Version 3.31 + +# 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/timo/Dokumente/uni/praxis2.skeleton/praxis2 + +# The top-level build directory on which CMake was run. +CMAKE_BINARY_DIR = /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build + +#============================================================================= +# Targets provided globally by CMake. + +# Special rule for the target package +package: preinstall + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Run CPack packaging tool..." + /usr/bin/cpack --config ./CPackConfig.cmake +.PHONY : package + +# Special rule for the target package +package/fast: package +.PHONY : package/fast + +# Special rule for the target package_source +package_source: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Run CPack packaging tool for source..." + /usr/bin/cpack --config ./CPackSourceConfig.cmake /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CPackSourceConfig.cmake +.PHONY : package_source + +# Special rule for the target package_source +package_source/fast: package_source +.PHONY : package_source/fast + +# Special rule for the target edit_cache +edit_cache: + @$(CMAKE_COMMAND) -E cmake_echo_color "--switch=$(COLOR)" --cyan "Running CMake cache editor..." + /usr/bin/ccmake -S$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) +.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/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/CMakeFiles /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build//CMakeFiles/progress.marks + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 all + $(CMAKE_COMMAND) -E cmake_progress_start /home/timo/Dokumente/uni/praxis2.skeleton/praxis2/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 webserver + +# Build rule for target. +webserver: cmake_check_build_system + $(MAKE) $(MAKESILENT) -f CMakeFiles/Makefile2 webserver +.PHONY : webserver + +# fast build rule for target. +webserver/fast: + $(MAKE) $(MAKESILENT) -f CMakeFiles/webserver.dir/build.make CMakeFiles/webserver.dir/build +.PHONY : webserver/fast + +data.o: data.c.o +.PHONY : data.o + +# target to build an object file +data.c.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/webserver.dir/build.make CMakeFiles/webserver.dir/data.c.o +.PHONY : data.c.o + +data.i: data.c.i +.PHONY : data.i + +# target to preprocess a source file +data.c.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/webserver.dir/build.make CMakeFiles/webserver.dir/data.c.i +.PHONY : data.c.i + +data.s: data.c.s +.PHONY : data.s + +# target to generate assembly for a file +data.c.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/webserver.dir/build.make CMakeFiles/webserver.dir/data.c.s +.PHONY : data.c.s + +http.o: http.c.o +.PHONY : http.o + +# target to build an object file +http.c.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/webserver.dir/build.make CMakeFiles/webserver.dir/http.c.o +.PHONY : http.c.o + +http.i: http.c.i +.PHONY : http.i + +# target to preprocess a source file +http.c.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/webserver.dir/build.make CMakeFiles/webserver.dir/http.c.i +.PHONY : http.c.i + +http.s: http.c.s +.PHONY : http.s + +# target to generate assembly for a file +http.c.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/webserver.dir/build.make CMakeFiles/webserver.dir/http.c.s +.PHONY : http.c.s + +util.o: util.c.o +.PHONY : util.o + +# target to build an object file +util.c.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/webserver.dir/build.make CMakeFiles/webserver.dir/util.c.o +.PHONY : util.c.o + +util.i: util.c.i +.PHONY : util.i + +# target to preprocess a source file +util.c.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/webserver.dir/build.make CMakeFiles/webserver.dir/util.c.i +.PHONY : util.c.i + +util.s: util.c.s +.PHONY : util.s + +# target to generate assembly for a file +util.c.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/webserver.dir/build.make CMakeFiles/webserver.dir/util.c.s +.PHONY : util.c.s + +webserver.o: webserver.c.o +.PHONY : webserver.o + +# target to build an object file +webserver.c.o: + $(MAKE) $(MAKESILENT) -f CMakeFiles/webserver.dir/build.make CMakeFiles/webserver.dir/webserver.c.o +.PHONY : webserver.c.o + +webserver.i: webserver.c.i +.PHONY : webserver.i + +# target to preprocess a source file +webserver.c.i: + $(MAKE) $(MAKESILENT) -f CMakeFiles/webserver.dir/build.make CMakeFiles/webserver.dir/webserver.c.i +.PHONY : webserver.c.i + +webserver.s: webserver.c.s +.PHONY : webserver.s + +# target to generate assembly for a file +webserver.c.s: + $(MAKE) $(MAKESILENT) -f CMakeFiles/webserver.dir/build.make CMakeFiles/webserver.dir/webserver.c.s +.PHONY : webserver.c.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 "... package" + @echo "... package_source" + @echo "... rebuild_cache" + @echo "... webserver" + @echo "... data.o" + @echo "... data.i" + @echo "... data.s" + @echo "... http.o" + @echo "... http.i" + @echo "... http.s" + @echo "... util.o" + @echo "... util.i" + @echo "... util.s" + @echo "... webserver.o" + @echo "... webserver.i" + @echo "... webserver.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/cmake_install.cmake b/build/cmake_install.cmake new file mode 100644 index 0000000..af010f4 --- /dev/null +++ b/build/cmake_install.cmake @@ -0,0 +1,66 @@ +# Install script for directory: /home/timo/Dokumente/uni/praxis2.skeleton/praxis2 + +# Set the install prefix +if(NOT DEFINED CMAKE_INSTALL_PREFIX) + set(CMAKE_INSTALL_PREFIX "/usr/local") +endif() +string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}") + +# Set the install configuration name. +if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME) + if(BUILD_TYPE) + string(REGEX REPLACE "^[^A-Za-z0-9_]+" "" + CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}") + else() + set(CMAKE_INSTALL_CONFIG_NAME "Debug") + endif() + message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"") +endif() + +# Set the component getting installed. +if(NOT CMAKE_INSTALL_COMPONENT) + if(COMPONENT) + message(STATUS "Install component: \"${COMPONENT}\"") + set(CMAKE_INSTALL_COMPONENT "${COMPONENT}") + else() + set(CMAKE_INSTALL_COMPONENT) + endif() +endif() + +# Install shared libraries without execute permission? +if(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE) + set(CMAKE_INSTALL_SO_NO_EXE "0") +endif() + +# Is this installation the result of a crosscompile? +if(NOT DEFINED CMAKE_CROSSCOMPILING) + set(CMAKE_CROSSCOMPILING "FALSE") +endif() + +# Set path to fallback-tool for dependency-resolution. +if(NOT DEFINED CMAKE_OBJDUMP) + set(CMAKE_OBJDUMP "/usr/bin/objdump") +endif() + +string(REPLACE ";" "\n" CMAKE_INSTALL_MANIFEST_CONTENT + "${CMAKE_INSTALL_MANIFEST_FILES}") +if(CMAKE_INSTALL_LOCAL_ONLY) + file(WRITE "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/install_local_manifest.txt" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") +endif() +if(CMAKE_INSTALL_COMPONENT) + if(CMAKE_INSTALL_COMPONENT MATCHES "^[a-zA-Z0-9_.+-]+$") + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt") + else() + string(MD5 CMAKE_INST_COMP_HASH "${CMAKE_INSTALL_COMPONENT}") + set(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INST_COMP_HASH}.txt") + unset(CMAKE_INST_COMP_HASH) + endif() +else() + set(CMAKE_INSTALL_MANIFEST "install_manifest.txt") +endif() + +if(NOT CMAKE_INSTALL_LOCAL_ONLY) + file(WRITE "/home/timo/Dokumente/uni/praxis2.skeleton/praxis2/build/${CMAKE_INSTALL_MANIFEST}" + "${CMAKE_INSTALL_MANIFEST_CONTENT}") +endif() diff --git a/build/webserver b/build/webserver new file mode 100755 index 0000000..7d7b0ad Binary files /dev/null and b/build/webserver differ diff --git a/data.c b/data.c new file mode 100644 index 0000000..6872dd3 --- /dev/null +++ b/data.c @@ -0,0 +1,66 @@ +#include "data.h" + +#include + +struct tuple *find(string key, struct tuple *tuples, size_t n_tuples) { + for (size_t i = 0; i < n_tuples; i += 1) { + // compare keys with 'strcmp' + if (tuples[i].key && strcmp(key, tuples[i].key) == 0) { + return &(tuples[i]); + } + } + return NULL; +} + +const char *get(const string key, struct tuple *tuples, size_t n_tuples, + size_t *value_length) { + struct tuple *tuple = find(key, tuples, n_tuples); + if (tuple) { + *value_length = tuple->value_length; + return tuple->value; + } else { + return NULL; + } +} + +bool set(const string key, char *value, size_t value_length, + struct tuple *tuples, size_t n_tuples) { + // check if tuple already exists + struct tuple *tuple = find(key, tuples, n_tuples); + + if (tuple) { // overwrite existing value + free(tuple->value); + tuple->value = (char *)malloc(value_length * sizeof(char)); + strcpy(tuple->value, value); + tuple->value_length = value_length; + return true; + } else { // add tuple + for (size_t i = 0; i < n_tuples; i += 1) { + if (tuples[i].key == NULL) { + tuples[i].key = + (char *)malloc((strlen(key) + 1) * sizeof(char)); + strcpy(tuples[i].key, key); + tuples[i].value = (char *)malloc(value_length * sizeof(char)); + memcpy(tuples[i].value, value, value_length); + tuples[i].value_length = value_length; + return false; + } + } + } + return false; // fail silently if no space for a new tuple is available +} + +bool delete (const string key, struct tuple *tuples, size_t n_tuples) { + struct tuple *tuple = find(key, tuples, n_tuples); + + if (tuple) { + free(tuple->key); + tuple->key = NULL; + free(tuple->value); + tuple->value = NULL; + tuple->value_length = 0; + return true; + } else { + return false; + } +} diff --git a/data.h b/data.h new file mode 100644 index 0000000..f0ad0e3 --- /dev/null +++ b/data.h @@ -0,0 +1,42 @@ +#pragma once + +#include +#include + +#include "util.h" + +/** + * A simple key-value entry + * + * Provides a simple, inefficient, key-value when combined with `get()`, + * `set()`, and `delete()`. + */ +struct tuple { + string key; + char *value; + size_t value_length; +}; + +/** + * Get the value matching the key in an array of tuples + * + * Returns a pointer to the begin of the value, stores its length in + * `value_length`. + */ +const char *get(const string key, struct tuple *tuples, size_t n_tuples, + size_t *value_length); + +/** + * Set the value for the key in an array of tuples + * + * Returns true if a value was overwritten, false if it was created. + */ +bool set(const string key, char *value, size_t value_length, + struct tuple *tuples, size_t n_tuples); + +/** + * Deletes the key in the array of tuples. + * + * Returns true if it existed. + */ +bool delete (const string key, struct tuple *tuples, size_t n_tuples); diff --git a/http.c b/http.c new file mode 100644 index 0000000..b0dd23b --- /dev/null +++ b/http.c @@ -0,0 +1,167 @@ +/** + * This file provides functions to parse and extract information from an HTTP + * request, such as the request line, headers, and payload. + */ + +#include "http.h" + +#include +#include +#include +#include + +/** + * Non null-terminated string + */ +struct non_string { + char *start; + size_t n; +}; + +/** + * Parse the request line of an HTTP request + * + * Returns whether a valid request line (excluding line separator) is parsed. + * On valid request lines, `method` and `uri` are populated with the + * corresponding values, reusing `buffer`'s memory. + */ +static bool parse_request_line(char *buffer, size_t n, + struct non_string *method, + struct non_string *uri) { + const char *end = buffer + n; + char *pos = buffer; + + method->start = buffer; + if ((pos = memchr(buffer, ' ', end - buffer)) == NULL) { + return false; + } + method->n = pos - buffer; + buffer = pos + 1; + + uri->start = buffer; + if ((pos = memchr(buffer, ' ', end - buffer)) == NULL) { + return false; + } + uri->n = pos - buffer; + buffer = pos + 1; + + return true; +} + +/** + * Parse HTTP header + * + * Returns whether a valid header (excluding line separator) is parsed. On + * a valid header, `key` and `value` are populated with the corresponding + * values, reusing `buffer`'s memory. + */ +static bool parse_header(char *buffer, size_t n, struct non_string *key, + struct non_string *value) { + char *field_name_end = memchr(buffer, ':', n); + if (!field_name_end) { + return false; + } + + *key = (struct non_string){.start = buffer, .n = field_name_end - buffer}; + *value = (struct non_string){.start = field_name_end + 1, + .n = (buffer + n) - (field_name_end + 1)}; + + return true; +} + +ssize_t parse_request(char *buffer, size_t n, struct request *request) { + char *line_separator = "\r\n"; + + const char *end = buffer + n; + char *pos = buffer; + char *line_end; + + // Parse the request line + if (!(line_end = memstr(pos, end - pos, line_separator))) { + return 0; // Request line not received yet + } + struct non_string method = {0}; + struct non_string uri = {0}; + if (!parse_request_line(pos, line_end - pos, &method, &uri)) { + return -1; // Error parsing request line + } + + pos = line_end + strlen(line_separator); // Skip line separator + + // Parse headers + struct { + struct non_string key; + struct non_string value; + } headers[HTTP_MAX_HEADERS] = {0}; + size_t header_count = 0; + + while ((line_end = memstr(pos, end - pos, line_separator)) != pos) { + if (header_count > HTTP_MAX_HEADERS) { + fprintf(stderr, "Exceeded max header count.\n"); + exit(EXIT_FAILURE); + } + if (!line_end) { + return 0; // Header not fully received + } + if (!parse_header(pos, line_end - pos, &(headers[header_count].key), + &(headers[header_count].value))) { + return -1; // Error parsing header + } + pos = line_end + strlen(line_separator); // Skip line separator + header_count += 1; + } + + pos = line_end + strlen(line_separator); // Skip empty line + + // Parse payload length from headers + for (size_t i = 0; i < header_count; i += 1) { + if (strncmp(headers[i].key.start, "Content-Length", headers[i].key.n) == + 0) { + request->payload_length = strtoul(headers[i].value.start, NULL, 10); + break; + } + } + if (request->payload_length < 0) { + if (request->method && + strncmp(request->method, "PUT", strlen("PUT")) == 0) { + return -1; // Content-Length non-optional on PUT-requests + } + request->payload_length = 0; + } + request->payload = pos; + if (pos + request->payload_length > end) { + return 0; // Payload not yet received completely, try again. + } + + // Request is valid: Bytes will be discarded after sending the reply, + // so we can reuse `buffer` here to avoid dynamic memory allocation. + // All relevant strings are followed by at least one byte, so we can + // overwrite these with null-characters, yielding proper strings. + + method.start[method.n] = '\0'; + request->method = method.start; + + uri.start[uri.n] = '\0'; + request->uri = uri.start; + + for (size_t i = 0; i < header_count; i += 1) { + headers[i].key.start[headers[i].key.n] = '\0'; + request->headers[i].key = headers[i].key.start; + + headers[i].value.start[headers[i].value.n] = '\0'; + request->headers[i].value = headers[i].value.start; + } + + return (pos + request->payload_length) - buffer; // Parsed until `pos` +} + +string get_header(const struct request *request, const string name) { + for (size_t i = 0; i < HTTP_MAX_HEADERS; i += 1) { + if (request->headers[i].key && + strcmp(request->headers[i].key, name) == 0) { + return request->headers[i].value; + } + } + return NULL; // Header not found +} + diff --git a/http.h b/http.h new file mode 100644 index 0000000..28926b5 --- /dev/null +++ b/http.h @@ -0,0 +1,59 @@ +#pragma once + +#include +#include + +#include "util.h" + +#define HTTP_MAX_SIZE 8192 +#define HTTP_MAX_HEADERS 40 + +/** + * Simple string tuple representing a HTTP header + */ +struct header { + string key; + string value; +}; + +/** + * Representation of a HTTP request + */ +struct request { + string method; + string uri; + struct header headers[HTTP_MAX_HEADERS]; + char *payload; + ssize_t payload_length; +}; + +/** + * The state of an ongoing HTTP connection + * + * `sock`: the socket connected to the client + * `buffer`: buffer for the raw received data + * `end`: end of unprocessed data in `buffer` + * `current_request`: current, complete request, not yet answered to. Reuses + * memory of `buffer`. + */ +struct connection_state { + int sock; + char buffer[HTTP_MAX_SIZE]; + char *end; + struct request current_request; +}; + +/** + * Parse HTTP request into the given structure. + * + * When a full request is read, `request` is populated with its corresponding + * values, utilizing the existing memory in `buffer`, and the number of bytes + * read is returned. Otherwise, `buffer` remains unchanged, and zero is + * returned. + */ +ssize_t parse_request(char *buffer, size_t n, struct request *request); + +/** + * Get value of header in request if set, or NULL. + */ +string get_header(const struct request *request, const string name); diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..a9f5cee --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +pytest +pytest-timeout diff --git a/rn.lua b/rn.lua new file mode 100644 index 0000000..97e354a --- /dev/null +++ b/rn.lua @@ -0,0 +1,57 @@ +rn_protocol = Proto("RN", "Computer Networks Chord Protocol") + +-- Header fields +flags_f = ProtoField.uint8("rn_protocol.flags", "flags", base.HEX) +hash_f = ProtoField.uint16("rn_protocol.hash", "hash", base.HEX) +id_f = ProtoField.uint16("rn_protocol.id", "id", base.HEX) +ip_f = ProtoField.ipv4("rn_protocol.ip", "ip") +port_f = ProtoField.uint16("rn_protocol.port", "port", base.DEC) + +rn_protocol.fields = {flags_f, hash_f, id_f, ip_f, port_f} + +op_names = { + [0] = "Lookup", + [1] = "Reply", + [2] = "Stabilize", + [3] = "Notify", + [4] = "Join", +} + +function info_text(buffer, pinfo) + local name = op_names[buffer(0, 1):uint()] + local desc = "" + if name == "Lookup" then + desc = string.format(" %x for %x@%s:%u", buffer(1, 2):uint(), buffer(3, 2):uint(), buffer(5, 4):uint(), buffer(9, 2):uint()) + elseif name == "Reply" then + elseif name == "Stabilize" then + desc = string.format(" from 0x%02x@%s:%u", buffer(3, 2):uint(), buffer(5, 4):ipv4(), buffer(9, 2):uint()) + elseif name == "Notify" then + desc = string.format(" of 0x%02x@%s:%u", buffer(3, 2):uint(), buffer(5, 4):ipv4(), buffer(9, 2):uint()) + elseif name == "Join" then + desc = string.format(" from 0x%02x@%s:%u", buffer(3, 2):uint(), buffer(5, 4):ipv4(), buffer(9, 2):uint()) + end + local suffix = string.format(" (%s:%u → %s:%u)", pinfo.src, pinfo.src_port, pinfo.dst, pinfo.dst_port) + return name .. desc .. suffix +end + +function rn_protocol.dissector(buffer, pinfo, tree) + length = buffer:len() + + if length ~= 11 then + return 0 + end + + local subtree = tree:add(rn_protocol, buffer(), rn_protocol.description) + pinfo.cols.protocol = rn_protocol.name + pinfo.cols.info = info_text(buffer, pinfo) -- string.format("%s: (%s:%u → %s:%u)", op_names[buffer(0, 1):uint()], pinfo.src, pinfo.src_port, pinfo.dst, pinfo.dst_port) + + subtree:add(flags_f, buffer(0, 1)):append_text(" (" .. op_names[buffer(0, 1):uint()] .. ")") + subtree:add(hash_f, buffer(1, 2)) + subtree:add(id_f, buffer(3, 2)) + subtree:add(ip_f, buffer(5, 4)) + subtree:add(port_f, buffer(9, 2)) + + return 11 +end + +rn_protocol:register_heuristic("udp", rn_protocol.dissector) diff --git a/test/__pycache__/conftest.cpython-313-pytest-8.3.4.pyc b/test/__pycache__/conftest.cpython-313-pytest-8.3.4.pyc new file mode 100644 index 0000000..a37893c Binary files /dev/null and b/test/__pycache__/conftest.cpython-313-pytest-8.3.4.pyc differ diff --git a/test/__pycache__/dht.cpython-313.pyc b/test/__pycache__/dht.cpython-313.pyc new file mode 100644 index 0000000..33cb5ca Binary files /dev/null and b/test/__pycache__/dht.cpython-313.pyc differ diff --git a/test/__pycache__/test_praxis1.cpython-313-pytest-8.3.4.pyc b/test/__pycache__/test_praxis1.cpython-313-pytest-8.3.4.pyc new file mode 100644 index 0000000..c8b757d Binary files /dev/null and b/test/__pycache__/test_praxis1.cpython-313-pytest-8.3.4.pyc differ diff --git a/test/__pycache__/test_praxis2.cpython-313-pytest-8.3.4.pyc b/test/__pycache__/test_praxis2.cpython-313-pytest-8.3.4.pyc new file mode 100644 index 0000000..8857307 Binary files /dev/null and b/test/__pycache__/test_praxis2.cpython-313-pytest-8.3.4.pyc differ diff --git a/test/__pycache__/util.cpython-313.pyc b/test/__pycache__/util.cpython-313.pyc new file mode 100644 index 0000000..6a7d06a Binary files /dev/null and b/test/__pycache__/util.cpython-313.pyc differ diff --git a/test/check_submission.sh b/test/check_submission.sh new file mode 100755 index 0000000..6869f44 --- /dev/null +++ b/test/check_submission.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +set -e + +if [[ ! $# -eq 1 ]]; then + echo "Missing argument." + echo "Usage: '$0 praxis{0,1,2,3}'" + exit 1 +fi + +TEST_SCRIPT="$(dirname $0)/test_$1.py" + +if [[ ! -e ${TEST_SCRIPT} ]]; then + echo "Requested test file ${TEST_SCRIPT} does not exist!" + exit 1 +fi + +echo "Packaging submission..." +PACKAGING_DIR=$(mktemp -d) +cmake -B${PACKAGING_DIR} +cmake --build ${PACKAGING_DIR} -t package_source + +echo "Extracting submission..." +SOURCE_DIR=$(mktemp -d) +(cd ${SOURCE_DIR} && find ${PACKAGING_DIR} -name '*.tar.gz' | head -n1 | xargs tar -xzf) +EXTRACTED_SOURCE_DIR=$(find ${SOURCE_DIR} -maxdepth 1 -mindepth 1 -type d | head -n1) + +echo "Building submission..." +BUILD_DIR=$(mktemp -d) +cmake -S"${EXTRACTED_SOURCE_DIR}" -B${BUILD_DIR} +TARGET="webserver" +EXECUTABLE="--executable ${BUILD_DIR}/webserver" +if [[ "$1" == "praxis0" ]]; then + TARGET="hello_world" + EXECUTABLE="--executable ${BUILD_DIR}/hello_world" +elif [[ "$1" == "praxis3" ]]; then + TARGET="zmq_distributor zmq_worker" + EXECUTABLE="--dist_exec ${BUILD_DIR}/zmq_distributor --work_exec ${BUILD_DIR}/zmq_worker" +fi +cmake --build ${BUILD_DIR} -t ${TARGET} + +echo "Executing tests..." +python3 -m pytest -o cache_dir=${BUILD_DIR} ${TEST_SCRIPT} ${EXECUTABLE} diff --git a/test/conftest.py b/test/conftest.py new file mode 100644 index 0000000..bb579f1 --- /dev/null +++ b/test/conftest.py @@ -0,0 +1,12 @@ +import pytest + + +def pytest_addoption(parser): + parser.addoption('--executable', action='store', default='build/webserver') + parser.addoption('--port', action='store', default=4711) + parser.addoption('--debug_own', action='store_true', default=False) + + +@pytest.fixture +def port(request): + return request.config.getoption('port') diff --git a/test/dht.py b/test/dht.py new file mode 100644 index 0000000..fe0a862 --- /dev/null +++ b/test/dht.py @@ -0,0 +1,55 @@ +import collections +import contextlib +import enum +# import hashlib +import socket +import struct +from ipaddress import IPv4Address + +import util + + +Peer = collections.namedtuple('Peer', ['id', 'ip', 'port']) +Message = collections.namedtuple('Message', ['flags', 'id', 'peer']) +Flags = enum.Enum('Flags', ['lookup', 'reply', 'stabilize', 'notify', 'join'], start=0) +message_format = "!BHH4sH" + + +def deserialize(data): + flags, hash_, id_, ip, port = struct.unpack(message_format, data) + return Message(Flags(flags), hash_, Peer(id_, IPv4Address(ip).exploded, port)) + + +def serialize(msg): + return struct.pack(message_format, msg.flags.value, msg.id, msg.peer.id, IPv4Address(msg.peer.ip).packed, msg.peer.port) + + +def hash(data): + # return int.from_bytes(hashlib.sha256(data).digest()[:2], 'big') + hash_val = 0 + if len(data) % 2: + data += bytes([0]) + for i in range(0, len(data), 2): + hash_val += data[i] << 8 | data[i + 1] + hash_val = (hash_val & 0xffff) + (hash_val >> 16) + hash_val = ~hash_val & 0xffff # make unsigned int + return hash_val + + +def expect_msg(sock, expectation): + assert util.bytes_available(sock) > 0, "No data received on socket" + data = sock.recv(1024) + assert len(data) == struct.calcsize(message_format), "Received message has invalid length for DHT message" + received = deserialize(data) + + assert received.flags == expectation.flags, "Received message is of wrong type" + assert expectation.id is None or received.id == expectation.id, "ID of message doesn't match" + assert received.peer == expectation.peer, "Messaged peer is not correct" + + +def peer_socket(peer: Peer): + """Create and open a socket corresponding to the given peer + """ + sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) + sock.bind((peer.ip, peer.port)) + return contextlib.closing(sock) diff --git a/test/test_praxis1.py b/test/test_praxis1.py new file mode 100644 index 0000000..c2df00f --- /dev/null +++ b/test/test_praxis1.py @@ -0,0 +1,212 @@ +""" +Tests for RN Praxis 1 +""" + +import contextlib +import re +import socket +import time +from http.client import HTTPConnection + +import pytest + +from util import KillOnExit, randbytes + + +@pytest.fixture +def webserver(request): + """ + Return a callable function that spawns a webserver with the given arguments. + """ + def runner(*args, **kwargs): + """Spawn a webserver with the given arguments.""" + return KillOnExit([request.config.getoption('executable'), *args], **kwargs) + + @contextlib.contextmanager + def empty_context(*args, **kwargs): + yield # No server initialization here, just an empty context that never fails + + if request.config.getoption('debug_own'): + return empty_context + + return runner + + +def test_execute(webserver, port): + """ + Test server is executable + """ + + with webserver('127.0.0.1', f'{port}'): + pass + + +@pytest.mark.timeout(1) +def test_listen(webserver, port): + """ + Test server is listening on port (2.1) + """ + + with webserver( + '127.0.0.1', f'{port}' + ), socket.create_connection( + ('localhost', port) + ): + pass + + +@pytest.mark.timeout(1) +def test_reply(webserver, port): + """ + Test the server is sending a reply (2.2) + """ + + with webserver( + '127.0.0.1', f'{port}' + ), socket.create_connection( + ('localhost', port) + ) as conn: + conn.send('Request\r\n\r\n'.encode()) + reply = conn.recv(1024) + assert len(reply) > 0 + + +@pytest.mark.timeout(2) +def test_packets(webserver, port): + """ + Test HTTP delimiter for packet end (2.3) + """ + + with webserver( + '127.0.0.1', f'{port}' + ), socket.create_connection( + ('localhost', port) + ) as conn: + conn.send('GET / HTTP/1.1\r\n\r\n'.encode()) + time.sleep(.5) + conn.send('GET / HTTP/1.1\r\na: b\r\n'.encode()) + time.sleep(.5) + conn.send('\r\n'.encode()) + time.sleep(.5) # Attempt to gracefully handle all kinds of multi-packet replies... + replies = conn.recv(1024).split(b'\r\n\r\n') + assert replies[0] and replies[1] and not replies[2] + + +@pytest.mark.timeout(1) +def test_httpreply(webserver, port): + """ + Test reply is syntactically correct HTTP packet (2.4) + """ + + with webserver( + '127.0.0.1', f'{port}' + ), socket.create_connection( + ('localhost', port) + ) as conn: + conn.send('Request\r\n\r\n'.encode()) + time.sleep(.5) # Attempt to gracefully handle all kinds of multi-packet replies... + reply = conn.recv(1024) + assert re.search(br'HTTP/1.[01] 400.*\r\n(.*\r\n)*\r\n', reply) + + +@pytest.mark.timeout(1) +def test_httpreplies(webserver, port): + """ + Test reply is semantically correct HTTP packet (2.5) + """ + + with webserver( + '127.0.0.1', f'{port}' + ), contextlib.closing( + HTTPConnection('localhost', port) + ) as conn: + conn.connect() + + # there is no HEAD command in HTTP :-) + conn.request('HEAD', '/index.html') + reply = conn.getresponse() + reply.read() + assert reply.status == 501, "HEAD did not reply with '501'" + + conn.request('GET', '/index.html') + reply = conn.getresponse() + assert reply.status == 404 + + +@pytest.mark.timeout(1) +def test_static_content(webserver, port): + """ + Test static content can be accessed (2.6) + """ + + with webserver( + '127.0.0.1', f'{port}' + ), contextlib.closing( + HTTPConnection('localhost', port) + ) as conn: + conn.connect() + + for path, content in { + '/static/foo': b'Foo', + '/static/bar': b'Bar', + '/static/baz': b'Baz', + }.items(): + conn.request('GET', path) + reply = conn.getresponse() + payload = reply.read() + assert reply.status == 200 + assert payload == content + + for path in [ + '/static/other', + '/static/anything', + '/static/else' + ]: + conn.request('GET', path) + reply = conn.getresponse() + reply.length = 0 # Convince `http.client` to handle no-content 404s properly + reply.read() + assert reply.status == 404 + + +@pytest.mark.timeout(1) +def test_dynamic_content(webserver, port): + """ + Test dynamic storage of data (key,value) works (2.7) + """ + + with webserver( + '127.0.0.1', f'{port}' + ), contextlib.closing( + HTTPConnection('localhost', port) + ) as conn: + conn.connect() + + path = f'/dynamic/{randbytes(8).hex()}' + content = randbytes(32).hex().encode() + + conn.request('GET', path) + response = conn.getresponse() + payload = response.read() + assert response.status == 404, f"'{path}' should be missing, but GET was not answered with '404'" + + conn.request('PUT', path, content) + response = conn.getresponse() + payload = response.read() + assert response.status in {200, 201, 202, 204}, f"Creation of '{path}' did not yield '201'" + + conn.request('GET', path) + response = conn.getresponse() + payload = response.read() + assert response.status == 200 + assert payload == content, f"Content of '{path}' does not match what was passed" + + conn.request('DELETE', path) + response = conn.getresponse() + response.read() + assert response.status in {200, 202, 204}, f"Deletion of '{path}' did not succeed" + + conn.request('GET', path) + response = conn.getresponse() + response.read() + assert response.status == 404, f"'{path}' should be missing" diff --git a/test/test_praxis2.py b/test/test_praxis2.py new file mode 100644 index 0000000..7c821a7 --- /dev/null +++ b/test/test_praxis2.py @@ -0,0 +1,343 @@ +""" +Tests for RN Praxis 2 +""" + +import contextlib +import errno +import struct +import time +import urllib.request as req +from urllib.parse import urlparse +from http.client import HTTPConnection + +import pytest + +import util +import dht + +# We assume that all tests from the previous sheet(s) are working! + +# -i dumps header +# -L follows redirects +# curl -iL localhost:12345/static/baz + + +def _iter_with_neighbors(xs): + """Return iterator to list that includes each elements neighbors + + For each element in the original list a triple of its neighbors + is generated: `(xs[i - 1], xs[i], xs[i + 1])` + """ + return zip(xs[-1:] + xs[:-1], xs, xs[1:] + xs[:1]) + + +@pytest.fixture +def static_peer(request): + """Return a function for spawning DHT peers + """ + def runner(peer, predecessor=None, successor=None): + """Spawn a static DHT peer + + The peer is passed its local neighborhood via environment variables. + """ + return util.KillOnExit( + [request.config.getoption('executable'), peer.ip, f'{peer.port}'] + ([f'{peer.id}'] if peer.id is not None else []), + env={ + **({'PRED_ID': f'{predecessor.id}', 'PRED_IP': predecessor.ip, 'PRED_PORT': f'{predecessor.port}'} if predecessor is not None else {}), + **({'SUCC_ID': f'{successor.id}', 'SUCC_IP': successor.ip, 'SUCC_PORT': f'{successor.port}'} if successor is not None else {}), + 'NO_STABILIZE': '1', # Forward compatibility with P3. + }, + ) + + @contextlib.contextmanager + def empty_context(*args, **kwargs): + yield # No peer initialization here, just an empty context that never fails + + if request.config.getoption('debug_own'): + return empty_context + + return runner + + +@pytest.mark.timeout(1) +def test_listen(static_peer): + """ + Tests chord part of the system (1.1). + Listens on UDP port. + """ + + self = dht.Peer(None, '127.0.0.1', 4711) + with static_peer(self), pytest.raises(OSError) as exception_info: + time.sleep(.1) + + # Attempt to open the port that the implementation should have opened + with dht.peer_socket(self): + pass + + assert exception_info.value.errno == errno.EADDRINUSE, "UDP port not open" + + +@pytest.mark.timeout(1) +@pytest.mark.parametrize("uri", ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']) +def test_immediate_dht(static_peer, uri): + """Test hashing of request (1.2) + Run peer in minimal (non-trivial) DHT + - two nodes, equal split of namespace + - first node real, second mock sockets + + 1. make request - internally requires hashing of location part in URL + 2. check that request yields either 404 (if peer is responsible) or 303 (if it isn't) + 3. no packet should be received by the second peer + """ + + predecessor = dht.Peer(0xc000, '127.0.0.1', 4712) + self = dht.Peer(0x4000, '127.0.0.1', 4711) + successor = predecessor + + with dht.peer_socket( + successor + ) as mock, static_peer( + self, predecessor, successor, + ), contextlib.closing( + HTTPConnection(self.ip, self.port) # Use `http.client` instead of `urllib` to avoid redirection + ) as conn: + conn.connect() + + conn.request('GET', f'/{uri}') + time.sleep(.1) + reply = conn.getresponse() + _ = reply.read() + + uri_hash = dht.hash(f'/{uri}'.encode('latin1')) + implementation_responsible = not self.id < uri_hash <= successor.id + + if implementation_responsible: + assert reply.status == 404, "Server should've indicated missing data" + else: + assert reply.status == 303, "Server should've delegated response" + assert reply.headers['Location'] == f'http://{successor.ip}:{successor.port}/{uri}', "Server should've delegated to its successor" + + assert util.bytes_available(mock) == 0, "Data received on successor socket" + + +@pytest.mark.timeout(1) +@pytest.mark.parametrize("uri", ['a', 'b']) +def test_lookup_sent(static_peer, uri): + """Test for lookup to correct peer (1.3) + + Node is running with minimal assigned address space, should send lookup messages + for the correct hash to its successors and reply with 503 & Retry-After header. + """ + + predecessor = dht.Peer(0xffff, '127.0.0.1', 4710) + self = dht.Peer(0x0000, '127.0.0.1', 4711) + successor = dht.Peer(0x0001, '127.0.0.1', 4712) + + with dht.peer_socket(successor) as mock: # Can't differentiate predecessor & successor, reusing ports. + with static_peer( + self, predecessor, successor + ), pytest.raises(req.HTTPError) as exception_info: + + url = f'http://{self.ip}:{self.port}/{uri}' + req.urlopen(url) + + assert exception_info.value.status == 503, "Server should reply with 503" + assert exception_info.value.headers.get("Retry-After", None) == "1", "Server should set 'Retry-After' header to 1s" + + time.sleep(.1) + assert util.bytes_available(mock) > 0, "No data received on successor socket" + data = mock.recv(1024) + assert len(data) == struct.calcsize(dht.message_format), "Received message has invalid length for DHT message" + msg = dht.deserialize(data) + + assert dht.Flags(msg.flags) == dht.Flags.lookup, "Received message should be a lookup" + + uri_hash = dht.hash(urlparse(url).path.encode('latin1')) + assert msg.id == uri_hash, "Received lookup should query the requested datum's hash" + + assert msg.peer == self, "Received lookup should indicate its originator" + + +@pytest.mark.timeout(1) +def test_lookup_reply(static_peer): + """Test whether peer replies to lookup correctly (1.4)""" + + predecessor = dht.Peer(0x0000, '127.0.0.1', 4710) + self = dht.Peer(0x1000, '127.0.0.1', 4711) + successor = dht.Peer(0x2000, '127.0.0.1', 4712) + + with dht.peer_socket( + predecessor + ) as pred_mock, static_peer( + self, predecessor, successor + ), dht.peer_socket( + successor + ) as succ_mock: + lookup = dht.Message(dht.Flags.lookup, 0x1800, predecessor) + pred_mock.sendto(dht.serialize(lookup), (self.ip, self.port)) + + time.sleep(.1) + + assert util.bytes_available(succ_mock) == 0, "Data received on successor socket" + assert util.bytes_available(pred_mock) > 0, "No data received on predecessor socket" + data = pred_mock.recv(1024) + assert len(data) == struct.calcsize(dht.message_format), "Received message has invalid length for DHT message" + reply = dht.deserialize(data) + + assert dht.Flags(reply.flags) == dht.Flags.reply, "Received message should be a reply" + assert reply.peer == successor, "Reply does not indicate successor as responsible" + assert reply.id == self.id, "Reply does not indicate implementation as previous ID" + + +@pytest.mark.timeout(1) +def test_lookup_forward(static_peer): + """Test whether peer forwards lookup correctly (1.5)""" + + predecessor = dht.Peer(0x0000, '127.0.0.1', 4710) + self = dht.Peer(0x1000, '127.0.0.1', 4711) + successor = dht.Peer(0x2000, '127.0.0.1', 4712) + + with dht.peer_socket( + predecessor + ) as pred_mock, static_peer( + self, predecessor, successor + ), dht.peer_socket( + successor + ) as succ_mock: + lookup = dht.Message(dht.Flags.lookup, 0x2800, predecessor) + pred_mock.sendto(dht.serialize(lookup), (self.ip, self.port)) + + time.sleep(.1) + + assert util.bytes_available(pred_mock) == 0, "Data received on predecessor socket" + assert util.bytes_available(succ_mock) > 0, "No data received on successor socket" + data = succ_mock.recv(1024) + assert len(data) == struct.calcsize(dht.message_format), "Received message has invalid length for DHT message" + received = dht.deserialize(data) + + assert received == lookup, "Received message should be equal to original lookup" + + +@pytest.mark.timeout(1) +@pytest.mark.parametrize("uri", ['a', 'b']) +def test_lookup_complete(static_peer, uri): + """Test for correct lookup use (1.6) + + Node is running with minimal assigned address space, should send lookup messages + for the correct hash to its successors and reply with 503 & Retry-After header. + """ + + predecessor = dht.Peer(0xffff, '127.0.0.1', 4710) + self = dht.Peer(0x0000, '127.0.0.1', 4711) + successor = dht.Peer(0x0001, '127.0.0.1', 4712) + + with dht.peer_socket( + predecessor + ) as pred_mock, static_peer( + self, predecessor, successor + ), dht.peer_socket( + successor + ) as succ_mock, contextlib.closing( + HTTPConnection(self.ip, self.port) # We have to use the more low-level `http.client` instead of `urllib` to avoid it interpreting the `Retry-After` header + ) as conn: + conn.connect() + time.sleep(.1) + + # Check HTTP reply + conn.request('GET', f'/{uri}') + time.sleep(.1) + response = conn.getresponse() + _ = response.read() + assert response.status == 503, "Server should reply with 503" + assert response.headers.get("Retry-After", None) == "1", "Server should set 'Retry-After' header to 1s" + time.sleep(.1) + + # Check lookup message + time.sleep(.1) + assert util.bytes_available(pred_mock) == 0, "Data received on predecessor socket" + assert util.bytes_available(succ_mock) > 0, "No data received on successor socket" + data = succ_mock.recv(1024) + assert len(data) == struct.calcsize(dht.message_format), "Received message has invalid length for DHT message" + msg = dht.deserialize(data) + + time.sleep(.1) + assert dht.Flags(msg.flags) == dht.Flags.lookup, "Received message should be a lookup" + + uri_hash = dht.hash(f'/{uri}'.encode('latin1')) + assert msg.id == uri_hash, "Received lookup should query the requested datum's hash" + + assert msg.peer == self, "Received lookup should indicate its originator" + + time.sleep(.1) + + # Send reply + reply = dht.Message(dht.Flags.reply, successor.id, predecessor) + pred_mock.sendto(dht.serialize(reply), (self.ip, self.port)) + + time.sleep(.1) + + # Check HTTP reply again + conn.request('GET', f'/{uri}') + response = conn.getresponse() + _ = response.read() + assert response.status == 303, "Server should've delegated response" + assert response.headers['Location'] == f'http://{predecessor.ip}:{predecessor.port}/{uri}', "Server should've delegated to its predecessor" + + +@pytest.mark.timeout(10) # five requests, two seconds each +def test_dht(static_peer): + """Test a complete DHT (1.7) + + At this point, a DHT consisting only of the implementation should work as expected. + We will repeat the dynamic content test, but will contact a different peer for each request. + """ + + # chosen by fair dice roll. + # guaranteed to be random. + dht_ids = [10927, 18804, 40809, 54536, 63901] + contact_order = [1, 0, 3, 2, 4] + datum = '191b023eb6e0090d' + content = b'8392cb0f8991fb706b8d80b898fd7bdc888e8fc4b40858e9eb136743ba1ac290' + + peers = [ + dht.Peer(id_, '127.0.0.1', 4710 + i) + for i, id_ + in enumerate(dht_ids) + ] + + with contextlib.ExitStack() as contexts: + for predecessor, peer, successor in _iter_with_neighbors(peers): + contexts.enter_context(static_peer( + peer, predecessor, successor + )) + + # Ensure datum is missing + contact = peers[contact_order[0]] + with pytest.raises(req.HTTPError) as exception_info: + util.urlopen(f'http://{contact.ip}:{contact.port}/dynamic/{datum}') + + assert exception_info.value.status == 404, f"'/dynamic/{datum}' should be missing, but GET was not answered with '404'" + + # Create datum + contact = peers[contact_order[1]] + reply = util.urlopen(req.Request(f'http://{contact.ip}:{contact.port}/dynamic/{datum}', data=content, method='PUT')) + assert reply.status == 201, f"Creation of '/dynamic/{datum}' did not yield '201'" + + # Ensure datum exists + contact = peers[contact_order[2]] + reply = util.urlopen(f'http://{contact.ip}:{contact.port}/dynamic/{datum}') + assert reply.status == 200 + assert reply.read() == content, f"Content of '/dynamic/{datum}' does not match what was passed" + + # Delete datum + contact = peers[contact_order[3]] + real_url = util.urlopen(f'http://{contact.ip}:{contact.port}/dynamic/{datum}').geturl() # Determine correct URL + reply = util.urlopen(req.Request(real_url, method='DELETE')) + assert reply.status in {200, 202, 204}, f"Deletion of '/dynamic/{datum}' did not succeed" + + # Ensure datum is missing + contact = peers[contact_order[4]] + with pytest.raises(req.HTTPError) as exception_info: + util.urlopen(f'http://{contact.ip}:{contact.port}/dynamic/{datum}') + + assert exception_info.value.status == 404, f"'/dynamic/{datum}' should be missing, but GET was not answered with '404'" diff --git a/test/util.py b/test/util.py new file mode 100644 index 0000000..d222bc7 --- /dev/null +++ b/test/util.py @@ -0,0 +1,57 @@ +import array +import fcntl +import random +import subprocess +import sys +import termios +import time +import urllib.request + + +def bytes_available(socket): + """Return number of bytes available to read on socket + + This requires some magic, but can be via an ioctl. + """ + + sock_size = array.array('i', [0]) + fcntl.ioctl(socket, termios.FIONREAD, sock_size) + return sock_size[0] + + +class KillOnExit(subprocess.Popen): + """A Popen subclass that kills the subprocess when its context exits""" + + def __init__(self, *args, **kwargs): + super().__init__( + *args, **kwargs, + #stdout=subprocess.PIPE, + ) + time.sleep(.1) + + def __exit__(self, exc_type, value, traceback): + self.kill() + + super().__exit__(exc_type, value, traceback) + time.sleep(.1) + + +def urlopen(url): + """Delegate to `urllib.request.urlopen`, but interpret a 503 with 'Retry-After' header correctly. + """ + try: + return urllib.request.urlopen(url) + except urllib.request.HTTPError as e: + if e.status == 503 and 'Retry-After' in e.headers: + seconds = int(e.headers['Retry-After']) + time.sleep(seconds) + return urllib.request.urlopen(url) + else: + raise e + + +if sys.version_info[:3] >= (3, 9): + randbytes = random.randbytes +else: + def randbytes(n): + return bytes(random.randint(0, 255) for _ in range(n)) diff --git a/tox.ini b/tox.ini new file mode 100644 index 0000000..90e333e --- /dev/null +++ b/tox.ini @@ -0,0 +1,10 @@ +[tox] +env_list = py{38,39,310,311} +skipsdist = true + +[testenv] +description = run unit tests +deps = + pytest +commands = + pytest diff --git a/util.c b/util.c new file mode 100644 index 0000000..5f291ef --- /dev/null +++ b/util.c @@ -0,0 +1,55 @@ +#include "util.h" + +#include +#include +#include +#include + +char *memstr(char *haystack, size_t n, string needle) { + char *end = haystack + n; + + // Iterate through the memory (haystack) + while ((haystack = memchr(haystack, needle[0], end - haystack)) != NULL) { + if (strncmp(haystack, needle, strlen(needle)) == 0) { + return haystack; + } + } + + return NULL; +} + +uint16_t safe_strtoul(const char *restrict nptr, char **restrict endptr, + int base, const string message) { + errno = 0; + uint16_t result = + strtoul(nptr, endptr, base); // Convert string to unsigned int + + if (errno != 0) { + fprintf(stderr, "%s\n", message); + exit(EXIT_FAILURE); + } + return result; +} + + +uint16_t pseudo_hash(const unsigned char *buffer, size_t buf_len) { + // we use tcp crc16 check here + uint32_t hash = 0; + // add zero padding to the end if buf_len not even + size_t pad_length = buf_len % 2 ? buf_len + 1 : buf_len; + uint8_t *int_buffer = calloc(pad_length, sizeof *buffer); + memcpy(int_buffer, buffer, buf_len); + + for (size_t i = 0; i < pad_length; i+=2) { + hash += int_buffer[i] << 8 | int_buffer[i+1]; + } + + hash = (hash & 0xFFFF) + (hash >> 16); + + free(int_buffer); + + return (uint16_t) ~hash; +} + + + diff --git a/util.h b/util.h new file mode 100644 index 0000000..106fb1a --- /dev/null +++ b/util.h @@ -0,0 +1,28 @@ +#pragma once + +#include +#include + +typedef char *string; // differentiate null-terminated C-string from bytes + +/** + * Analog to `strstr()`, for non-C-string haystacks. + */ +char *memstr(char *haystack, size_t n, string needle); + +/** + * Safe version of `strtoul()` + * + * Will return the result of strtoul, unless an error occurs. + * In that case, the given message will be printed before exiting the program. + */ +uint16_t safe_strtoul(const char *restrict nptr, char **restrict endptr, + int base, const string message); + +/** + * creates a 16 bit hash value of the given buffer + * @param buffer + * @param buf_len + * @return the 16 bit hash + */ +uint16_t pseudo_hash(const unsigned char *buffer, size_t buf_len); diff --git a/webserver.c b/webserver.c new file mode 100644 index 0000000..33f89eb --- /dev/null +++ b/webserver.c @@ -0,0 +1,448 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "data.h" +#include "http.h" +#include "util.h" + +#define elif else if + +// Getter for environmental DHT sets +#define _PRED_ID atoi(getenv("PRED_ID")) +#define _PRED_IP getenv("PRED_IP")) +#define _PRED_PORT atoi(getenv("PRED_PORT")) +#define _SUCC_ID atoi(getenv("SUCC_ID")) +#define _SUCC_IP getenv("SUCC_IP")) +#define _SUCC_PORT atoi(getenv("SUCC_PORT")) + +int _NODE_ID; +const char *_NODE_IP; +const char *_NODE_PORT; + +#define MAX_RESOURCES 100 + +struct tuple resources[MAX_RESOURCES] = { + {"/static/foo", "Foo", sizeof "Foo" - 1}, + {"/static/bar", "Bar", sizeof "Bar" - 1}, + {"/static/baz", "Baz", sizeof "Baz" - 1}}; + +/** + * Sends an HTTP reply to the client based on the received request. + * + * @param conn The file descriptor of the client connection socket. + * @param request A pointer to the struct containing the parsed request + * information. + */ +void send_reply(int conn, struct request *request) { + + // Create a buffer to hold the HTTP reply + char buffer[HTTP_MAX_SIZE]; + char *reply = buffer; + size_t offset = 0; + + fprintf(stderr, "Handling %s request for %s (%lu byte payload)\n", + request->method, request->uri, request->payload_length); + + if (strcmp(request->method, "GET") == 0) { + // Find the resource with the given URI in the 'resources' array. + size_t resource_length; + const char *resource = + get(request->uri, resources, MAX_RESOURCES, &resource_length); + + if (resource) { + size_t payload_offset = + sprintf(reply, "HTTP/1.1 200 OK\r\nContent-Length: %lu\r\n\r\n", + resource_length); + memcpy(reply + payload_offset, resource, resource_length); + offset = payload_offset + resource_length; + } else { + reply = "HTTP/1.1 404 Not Found\r\nContent-Length: 0\r\n\r\n"; + offset = strlen(reply); + } + } else if (strcmp(request->method, "PUT") == 0) { + // Try to set the requested resource with the given payload in the + // 'resources' array. + if (set(request->uri, request->payload, request->payload_length, + resources, MAX_RESOURCES)) { + reply = "HTTP/1.1 204 No Content\r\n\r\n"; + } else { + reply = "HTTP/1.1 201 Created\r\nContent-Length: 0\r\n\r\n"; + } + offset = strlen(reply); + } else if (strcmp(request->method, "DELETE") == 0) { + // Try to delete the requested resource from the 'resources' array + if (delete (request->uri, resources, MAX_RESOURCES)) { + reply = "HTTP/1.1 204 No Content\r\n\r\n"; + } else { + reply = "HTTP/1.1 404 Not Found\r\n\r\n"; + } + offset = strlen(reply); + } else { + reply = "HTTP/1.1 501 Method Not Supported\r\n\r\n"; + offset = strlen(reply); + } + + // Send the reply back to the client + if (send(conn, reply, offset, 0) == -1) { + perror("send"); + close(conn); + } +} + +/** + * Processes an incoming packet from the client. + * + * @param conn The socket descriptor representing the connection to the client. + * @param buffer A pointer to the incoming packet's buffer. + * @param n The size of the incoming packet. + * + * @return Returns the number of bytes processed from the packet. + * If the packet is successfully processed and a reply is sent, the + * return value indicates the number of bytes processed. If the packet is + * malformed or an error occurs during processing, the return value is -1. + * + */ +size_t process_packet(int conn, char *buffer, size_t n) { + struct request request = { + .method = NULL, .uri = NULL, .payload = NULL, .payload_length = -1}; + ssize_t bytes_processed = parse_request(buffer, n, &request); + + if (bytes_processed > 0) { + send_reply(conn, &request); + + // Check the "Connection" header in the request to determine if the + // connection should be kept alive or closed. + const string connection_header = get_header(&request, "Connection"); + if (connection_header && strcmp(connection_header, "close")) { + return -1; + } + } else if (bytes_processed == -1) { + // If the request is malformed or an error occurs during processing, + // send a 400 Bad Request response to the client. + const string bad_request = "HTTP/1.1 400 Bad Request\r\n\r\n"; + send(conn, bad_request, strlen(bad_request), 0); + printf("Received malformed request, terminating connection.\n"); + close(conn); + return -1; + } + + return bytes_processed; +} + +/** + * Sets up the connection state for a new socket connection. + * + * @param state A pointer to the connection_state structure to be initialized. + * @param sock The socket descriptor representing the new connection. + * + */ +static void connection_setup(struct connection_state *state, int sock) { + // Set the socket descriptor for the new connection in the connection_state + // structure. + state->sock = sock; + + // Set the 'end' pointer of the state to the beginning of the buffer. + state->end = state->buffer; + + // Clear the buffer by filling it with zeros to avoid any stale data. + memset(state->buffer, 0, HTTP_MAX_SIZE); +} + +/** + * Discards the front of a buffer + * + * @param buffer A pointer to the buffer to be modified. + * @param discard The number of bytes to drop from the front of the buffer. + * @param keep The number of bytes that should be kept after the discarded + * bytes. + * + * @return Returns a pointer to the first unused byte in the buffer after the + * discard. + * @example buffer_discard(ABCDEF0000, 4, 2): + * ABCDEF0000 -> EFCDEF0000 -> EF00000000, returns pointer to first 0. + */ +char *buffer_discard(char *buffer, size_t discard, size_t keep) { + memmove(buffer, buffer + discard, keep); + memset(buffer + keep, 0, discard); // invalidate buffer + return buffer + keep; +} + +/** + * Handles incoming connections and processes data received over the socket. + * + * @param state A pointer to the connection_state structure containing the + * connection state. + * @return Returns true if the connection and data processing were successful, + * false otherwise. If an error occurs while receiving data from the socket, the + * function exits the program. + */ +bool handle_connection(struct connection_state *state) { + // Calculate the pointer to the end of the buffer to avoid buffer overflow + const char *buffer_end = state->buffer + HTTP_MAX_SIZE; + + // Check if an error occurred while receiving data from the socket + ssize_t bytes_read = + recv(state->sock, state->end, buffer_end - state->end, 0); + if (bytes_read == -1) { + perror("recv"); + close(state->sock); + exit(EXIT_FAILURE); + } else if (bytes_read == 0) { + return false; + } + + char *window_start = state->buffer; + char *window_end = state->end + bytes_read; + + ssize_t bytes_processed = 0; + while ((bytes_processed = process_packet(state->sock, window_start, + window_end - window_start)) > 0) { + window_start += bytes_processed; + } + if (bytes_processed == -1) { + return false; + } + + state->end = buffer_discard(state->buffer, window_start - state->buffer, + window_end - window_start); + return true; +} + +/** + * Derives a sockaddr_in structure from the provided host and port information. + * + * @param host The host (IP address or hostname) to be resolved into a network + * address. + * @param port The port number to be converted into network byte order. + * + * @return A sockaddr_in structure representing the network address derived from + * the host and port. + */ +static struct sockaddr_in derive_sockaddr(const char *host, const char *port) { + struct addrinfo hints = { + .ai_family = AF_INET, + }; + struct addrinfo *result_info; + + // Resolve the host (IP address or hostname) into a list of possible + // addresses. + int returncode = getaddrinfo(host, port, &hints, &result_info); + if (returncode) { + fprintf(stderr, "Error parsing host/port"); + exit(EXIT_FAILURE); + } + + // Copy the sockaddr_in structure from the first address in the list + struct sockaddr_in result = *((struct sockaddr_in *)result_info->ai_addr); + + // Free the allocated memory for the result_info + freeaddrinfo(result_info); + return result; +} + +/** + * Sets up a TCP server socket and binds it to the provided sockaddr_in address. + * + * @param addr The sockaddr_in structure representing the IP address and port of + * the server. + * + * @return The file descriptor of the created TCP server socket. + */ +static int setup_server_socket(struct sockaddr_in addr) { + const int enable = 1; + const int backlog = 1; + + // Create a socket + int sock = socket(AF_INET, SOCK_STREAM, 0); + if (sock == -1) { + perror("socket"); + exit(EXIT_FAILURE); + } + + // Avoid dead lock on connections that are dropped after poll returns but + // before accept is called + if (fcntl(sock, F_SETFL, O_NONBLOCK) == -1) { + perror("fcntl"); + exit(EXIT_FAILURE); + } + + // Set the SO_REUSEADDR socket option to allow reuse of local addresses + if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &enable, sizeof(enable)) == + -1) { + perror("setsockopt"); + exit(EXIT_FAILURE); + } + + // Bind socket to the provided address + if (bind(sock, (struct sockaddr *)&addr, sizeof(addr)) == -1) { + perror("bind"); + close(sock); + exit(EXIT_FAILURE); + } + + // Start listening on the socket with maximum backlog of 1 pending + // connection + if (listen(sock, backlog)) { + perror("listen"); + exit(EXIT_FAILURE); + } + + return sock; +} + +static int setup_server_socket_udp(struct sockaddr_in addr){ + struct protoent *proto = getprotobyname("UDP"); + int sock = socket(AF_INET, SOCK_DGRAM, proto->p_proto); + if(sock == -1){ + perror("Func: setup_server_socket_udp - socket returned with errors while creating an udp socket!"); + exit(EXIT_FAILURE); + } + + if(bind(sock, (struct sockaddr*) &addr, sizeof(addr)) == -1){ + perror("Func: setup_server_socket_udp - bind returned with errors while binding socket to port!"); + close(sock); + exit(EXIT_FAILURE); + } + + return sock; +} + +static void handle_udp_request(int _caller_sockfd){ + size_t received_bytes = 0; + char buffer[HTTP_MAX_SIZE] = {0}; + + struct sockaddr_storage caller_addr; + socklen_t addrlen = sizeof caller_addr; + + if((received_bytes = recvfrom(_caller_sockfd, buffer, HTTP_MAX_SIZE, 0, (struct sockaddr *) &caller_addr, &addrlen)) == -1){ + perror("Func: handle_udp_request - failed to receive data from caller!"); + exit(EXIT_FAILURE); + } + else{ + // HASH Received + uint16_t hash = pseudo_hash((uint8_t*)buffer, strlen(buffer)); + // Check belonging + int pre_id = _PRED_ID; + int suc_id = _SUCC_ID; + + if ((pre_id < hash && hash <= _NODE_ID) || (pre_id > _NODE_ID && (hash > pre_id || hash <= _NODE_ID))) { + char res[] = "HTTP/1.1 200 OK\r\nContent-Length: 0\r\n\r\n"; + if (sendto(_caller_sockfd, res, strlen(res), 0, (struct sockaddr *) &caller_addr, addrlen) == -1) { + perror("Func: handle_udp_request - failed to send data to caller!"); + exit(EXIT_FAILURE); + } + } + else{ + // TODO: 303 - See other + char res[1024] = {0}; + snprintf(res, 1024, "HTTP/1.1 303 See Other\r\nLocation: http://%s:%s/%d\r\nContent-Length: 0\r\n\r\n", _NODE_IP, _NODE_PORT, suc_id); + if(sendto(_caller_sockfd, res, strlen(res), 0, (struct sockaddr *) &caller_addr, addrlen) == -1){ + perror("Func: handle_udp_request - failed to send data to caller!"); + exit(EXIT_FAILURE); + } + } + } +} + +/** + * The program expects 3; otherwise, it returns EXIT_FAILURE. + * + * Call as: + * + * ./build/webserver self.ip self.port + */ +int main(int argc, char **argv) { + if (argc != 4) { + return EXIT_FAILURE; + } + + // Set this DHT-Nodes ID + _NODE_ID = atoi(argv[3]); + _NODE_PORT = argv[2]; + _NODE_IP = argv[1]; + + struct sockaddr_in addr = derive_sockaddr(argv[1], argv[2]); + + // Set up a server socket. + int server_socket = setup_server_socket(addr); + int server_socket_udp = setup_server_socket_udp(addr); + + // Create an array of pollfd structures to monitor sockets. + struct pollfd sockets[3] = { + {.fd = server_socket, .events = POLLIN}, + {}, + {.fd = server_socket_udp, .events = POLLIN} + }; + + struct connection_state state = {0}; + while (true) { + + // Use poll() to wait for events on the monitored sockets. + int ready = poll(sockets, sizeof(sockets) / sizeof(sockets[0]), -1); + if (ready == -1) { + perror("poll"); + exit(EXIT_FAILURE); + } + + // Process events on the monitored sockets. + for (size_t i = 0; i < sizeof(sockets) / sizeof(sockets[0]); i += 1) { + if (sockets[i].revents != POLLIN) { + // If there are no POLLIN events on the socket, continue to the + // next iteration. + continue; + } + int s = sockets[i].fd; + + if (s == server_socket) { + + // If the event is on the server_socket, accept a new connection + // from a client. + int connection = accept(server_socket, NULL, NULL); + if (connection == -1 && errno != EAGAIN && + errno != EWOULDBLOCK) { + close(server_socket); + perror("accept"); + exit(EXIT_FAILURE); + } else { + connection_setup(&state, connection); + + // limit to one connection at a time + sockets[0].events = 0; + sockets[1].fd = connection; + sockets[1].events = POLLIN; + } + } + elif(s == server_socket_udp){ + // DO UDP STUFF + handle_udp_request(s); + sockets[2].events = POLLIN; + } + + else { + assert(s == state.sock); + + // Call the 'handle_connection' function to process the incoming + // data on the socket. + bool cont = handle_connection(&state); + if (!cont) { // get ready for a new connection + sockets[0].events = POLLIN; + sockets[1].fd = -1; + sockets[1].events = 0; + } + } + } + } + + return EXIT_SUCCESS; +}