From 817ba850fbe2196e493324189833f85a688b3da3 Mon Sep 17 00:00:00 2001 From: Ano-sys Date: Mon, 30 Dec 2024 02:06:40 +0100 Subject: [PATCH] Initial push --- CMakeLists.txt | 13 + build/CMakeCache.txt | 435 +++++++++ build/CMakeFiles/3.31.3/CMakeCCompiler.cmake | 81 ++ .../CMakeFiles/3.31.3/CMakeCXXCompiler.cmake | 105 ++ .../3.31.3/CMakeDetermineCompilerABI_C.bin | Bin 0 -> 15448 bytes .../3.31.3/CMakeDetermineCompilerABI_CXX.bin | Bin 0 -> 15464 bytes build/CMakeFiles/3.31.3/CMakeSystem.cmake | 15 + .../3.31.3/CompilerIdC/CMakeCCompilerId.c | 904 +++++++++++++++++ build/CMakeFiles/3.31.3/CompilerIdC/a.out | Bin 0 -> 15560 bytes .../CompilerIdCXX/CMakeCXXCompilerId.cpp | 919 ++++++++++++++++++ build/CMakeFiles/3.31.3/CompilerIdCXX/a.out | Bin 0 -> 15576 bytes build/CMakeFiles/CMakeConfigureLog.yaml | 516 ++++++++++ .../CMakeDirectoryInformation.cmake | 16 + build/CMakeFiles/Makefile.cmake | 146 +++ build/CMakeFiles/Makefile2 | 122 +++ build/CMakeFiles/TargetDirectories.txt | 5 + build/CMakeFiles/cmake.check_cache | 1 + build/CMakeFiles/progress.marks | 1 + .../CMakeFiles/webserver.dir/DependInfo.cmake | 27 + build/CMakeFiles/webserver.dir/build.make | 162 +++ .../webserver.dir/cmake_clean.cmake | 18 + .../webserver.dir/compiler_depend.internal | 326 +++++++ .../webserver.dir/compiler_depend.make | 563 +++++++++++ .../webserver.dir/compiler_depend.ts | 2 + build/CMakeFiles/webserver.dir/data.c.o | Bin 0 -> 6640 bytes build/CMakeFiles/webserver.dir/data.c.o.d | 35 + build/CMakeFiles/webserver.dir/depend.make | 2 + build/CMakeFiles/webserver.dir/flags.make | 10 + build/CMakeFiles/webserver.dir/http.c.o | Bin 0 -> 10608 bytes build/CMakeFiles/webserver.dir/http.c.o.d | 43 + build/CMakeFiles/webserver.dir/link.d | 28 + build/CMakeFiles/webserver.dir/link.txt | 1 + build/CMakeFiles/webserver.dir/progress.make | 6 + build/CMakeFiles/webserver.dir/util.c.o | Bin 0 -> 8104 bytes build/CMakeFiles/webserver.dir/util.c.o.d | 42 + build/CMakeFiles/webserver.dir/webserver.c.o | Bin 0 -> 27464 bytes .../CMakeFiles/webserver.dir/webserver.c.o.d | 64 ++ build/CPackConfig.cmake | 77 ++ build/CPackSourceConfig.cmake | 84 ++ build/Makefile | 284 ++++++ build/cmake_install.cmake | 66 ++ build/webserver | Bin 0 -> 41808 bytes data.c | 66 ++ data.h | 42 + http.c | 167 ++++ http.h | 59 ++ requirements.txt | 2 + rn.lua | 57 ++ .../conftest.cpython-313-pytest-8.3.4.pyc | Bin 0 -> 937 bytes test/__pycache__/dht.cpython-313.pyc | Bin 0 -> 3654 bytes .../test_praxis1.cpython-313-pytest-8.3.4.pyc | Bin 0 -> 19251 bytes .../test_praxis2.cpython-313-pytest-8.3.4.pyc | Bin 0 -> 54973 bytes test/__pycache__/util.cpython-313.pyc | Bin 0 -> 3179 bytes test/check_submission.sh | 43 + test/conftest.py | 12 + test/dht.py | 55 ++ test/test_praxis1.py | 212 ++++ test/test_praxis2.py | 343 +++++++ test/util.py | 57 ++ tox.ini | 10 + util.c | 55 ++ util.h | 28 + webserver.c | 448 +++++++++ 63 files changed, 6775 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 build/CMakeCache.txt create mode 100644 build/CMakeFiles/3.31.3/CMakeCCompiler.cmake create mode 100644 build/CMakeFiles/3.31.3/CMakeCXXCompiler.cmake create mode 100755 build/CMakeFiles/3.31.3/CMakeDetermineCompilerABI_C.bin create mode 100755 build/CMakeFiles/3.31.3/CMakeDetermineCompilerABI_CXX.bin create mode 100644 build/CMakeFiles/3.31.3/CMakeSystem.cmake create mode 100644 build/CMakeFiles/3.31.3/CompilerIdC/CMakeCCompilerId.c create mode 100755 build/CMakeFiles/3.31.3/CompilerIdC/a.out create mode 100644 build/CMakeFiles/3.31.3/CompilerIdCXX/CMakeCXXCompilerId.cpp create mode 100755 build/CMakeFiles/3.31.3/CompilerIdCXX/a.out create mode 100644 build/CMakeFiles/CMakeConfigureLog.yaml create mode 100644 build/CMakeFiles/CMakeDirectoryInformation.cmake create mode 100644 build/CMakeFiles/Makefile.cmake create mode 100644 build/CMakeFiles/Makefile2 create mode 100644 build/CMakeFiles/TargetDirectories.txt create mode 100644 build/CMakeFiles/cmake.check_cache create mode 100644 build/CMakeFiles/progress.marks create mode 100644 build/CMakeFiles/webserver.dir/DependInfo.cmake create mode 100644 build/CMakeFiles/webserver.dir/build.make create mode 100644 build/CMakeFiles/webserver.dir/cmake_clean.cmake create mode 100644 build/CMakeFiles/webserver.dir/compiler_depend.internal create mode 100644 build/CMakeFiles/webserver.dir/compiler_depend.make create mode 100644 build/CMakeFiles/webserver.dir/compiler_depend.ts create mode 100644 build/CMakeFiles/webserver.dir/data.c.o create mode 100644 build/CMakeFiles/webserver.dir/data.c.o.d create mode 100644 build/CMakeFiles/webserver.dir/depend.make create mode 100644 build/CMakeFiles/webserver.dir/flags.make create mode 100644 build/CMakeFiles/webserver.dir/http.c.o create mode 100644 build/CMakeFiles/webserver.dir/http.c.o.d create mode 100644 build/CMakeFiles/webserver.dir/link.d create mode 100644 build/CMakeFiles/webserver.dir/link.txt create mode 100644 build/CMakeFiles/webserver.dir/progress.make create mode 100644 build/CMakeFiles/webserver.dir/util.c.o create mode 100644 build/CMakeFiles/webserver.dir/util.c.o.d create mode 100644 build/CMakeFiles/webserver.dir/webserver.c.o create mode 100644 build/CMakeFiles/webserver.dir/webserver.c.o.d create mode 100644 build/CPackConfig.cmake create mode 100644 build/CPackSourceConfig.cmake create mode 100644 build/Makefile create mode 100644 build/cmake_install.cmake create mode 100755 build/webserver create mode 100644 data.c create mode 100644 data.h create mode 100644 http.c create mode 100644 http.h create mode 100644 requirements.txt create mode 100644 rn.lua create mode 100644 test/__pycache__/conftest.cpython-313-pytest-8.3.4.pyc create mode 100644 test/__pycache__/dht.cpython-313.pyc create mode 100644 test/__pycache__/test_praxis1.cpython-313-pytest-8.3.4.pyc create mode 100644 test/__pycache__/test_praxis2.cpython-313-pytest-8.3.4.pyc create mode 100644 test/__pycache__/util.cpython-313.pyc create mode 100755 test/check_submission.sh create mode 100644 test/conftest.py create mode 100644 test/dht.py create mode 100644 test/test_praxis1.py create mode 100644 test/test_praxis2.py create mode 100644 test/util.py create mode 100644 tox.ini create mode 100644 util.c create mode 100644 util.h create mode 100644 webserver.c 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 0000000000000000000000000000000000000000..6f4e7c0e50420bf30feec79c4ad403f23f067405 GIT binary patch literal 15448 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..37746a787a5774e617e8abfcaacf5381d6be0900 GIT binary patch literal 15560 zcmeHOYit}>6~4R9!zpohFUf`n962)RHZpg@BP$c4zuIdjjq z8BfYoZ}uH`xReD{3k-Z^(3cW2H#njIO6$6^YlLEWoZGm;v~NW%*Ur9vX3(yEEJ zcc?vT8|hnoOt)vWpjKU8jBk{Uf;W(4UK>~H$U8JledvM_vSi+7Wq}7o1yad=FmEe2 zh#r=|kPaZxUhB_bG8Mz$*5n6;2N~q?P?Dy$Pu{yxwo6=6BEe&od4})|;X$60{vZ)g zjtT##C7xlKp*AiVf2&lOw#4l`nEB$lWnSamYzklRU7rj4r9@_Wm%fET=Q^zVlSYsRB z5BAA6To~hj6mG*mu>VCer@4;d0AWTQ+};E)Zi3%J_?>n9DBGsUPTLjFDSP(3lP?l7 zz2w+4`Jz+EKjbQI<~aANBO}B819rFBZ62)E5A-N|cw*Gfxn*}YU-8`X#OOewRCFht zse((sX6H*q@osC=x`s;8jQD^0z>ks6{M?b5jh$0Y0Ac{Z~fhYn|1fmGMa}jtg@t%KM zr>-_yXSSa2RLc77iWje5vQ9nMc)=eOw|D(@c=_^!*7EPHQ-8R2|3tQHrR$<~_V7z& zP;L1XvHme*CiZ^DwSg*`-4xhxNF^7 zzGj{O+kMvgwFWEpymfiqyOkVth=a!J>P%wq;0->H@8scmYF3K}j#;M;-^5jG`4z9p zI&*kGDb~J1zjcs+*zpTD#(QDrMm@1NquAe{XUX;$`B;AVs&?pW z*wFah)1~=^e8DYG(p$*m8?86A+n;dDm3*lwSil&9w=rB3e$i#ey9qZfTM&SJrv?D~MTxJ#Z}gFX0C|kaTSRW)ow8dy zv3ru&*d+Rjo93yG2KyB=UUG{?GMliA`1{$q>1N3zA&O`HEatrTr$Y zs?#FhC6a#!a%s_`w%snZv^Yk;Y1vUq`t%F<|EcQn5a^q(i{2=FdQC*lV}%*cSQYn+*W@sD_~}kZ+3oQsk2&fAq+}z}-eWJrB6cpr85OW|z^O>h4LU zQ=lE?=f3MavsfY9L_L#awh4<^-zJo+9uN?lk?-(5oS0pbL_z+c^ zp#KA;xRjCXREgvP3RIMrdk6r?R${@(zZr& z7wvB{qXC>p+h`)$PdE9ZT*$rQh4xu|eAoISfC*dy`!JjUNEiLc(ePHtnycJ6NvdLoHvVPXiW|SuA<3Ia^#b7s{mtx9pt=KvRo(`o1Hd6R59$ zxWjX1m2W=hROXbKJ5i)AwDiil1>^9|M6s!@>=qm*DAOOa=}}0P=}(whF8R}Ex^wnS z*_n6kxg0T|X@>2T%MJ~X8K{#xXFfko9hb-#ZOnxNRkSmj3T4vN%)3QTj^4K~_&!aC ze(h;+o7`U^ai2yHY#S{5Na1^HT)?#OAv1zQ)XpmbdPxTPOTveIABZAxodY}^;(tT< zkOmAzhWQ^R{9kmh#`v-RfW-c96MlI74&l7^03YiU$R~uy`^d2aAM1=fVLW8;vEG3^ zO>Myvj{nE0k=G*NWBmb%bsNSHJIF_f&ubg#Sl>Y6-W?u4#&nh{98>VIzN$$XF!~Sg z|JR7iCTOo+ujRUpbtIYiB|LxMBs9o3ga`SpP{5>FyeakV5PwDPQ;=Baf)MWid&0;5 zD?=5tBhEtv`mW%0Uq>qsxXG}V?C4>e%M~Z z0lI1+fH5(z;o$T2HCVt8N*sGZy9IIhV`c5;{)EEE& literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..78617c271080d9e2231a72abde01b7fc302df0f2 GIT binary patch literal 15576 zcmeHOU2Ggz6~4Pp8VBO66YAo|6&V#&xfD-!9mi|~rt8>ik0t+<)Dfm3Ovbxod&T}S zI~zHbfFJ|KSgHCWK^`a|p+10AK_ygpp*RW@f?AY5AVqyZE~1jD($*C}N=fA9oO{n% z&tBFAfj~UWwRX;&@0{=4JLk^qT+f{SLVA288i@#QE#hMWHKSc2DKcC=LOUQ*A}QKn zdxz)}w}8GwV#=OU0<5ZCjW)_w!dpNhuM>Bg$U77aeW=DGM2WoZ+65dCG?s#n19>~q zK)Nnpqz+iJz22XJWN3!m*5yZu$1=#np{(^N|FwZeIYW6lO_F)2B5#9u8^mLIh5BR3 z`NW*yCrSC#WeRNAQgSPV&RZm&E{DmVCH8^sfmi+Pzti9S#CySzVT3MuzFBgA9|s;y zts?%DEl=}t>TkPwFev{lDZS!QJ~!LncPO9j$>)mI#h%4ve@}m(St*&lvS%Du96oqX zjZU5r(Q{%IG3G}^q(P684lc5x@2&8`v?ITo{Nh`0EI$0;`n;2=r%Om0t^{!UN|E^003JMl*8;fwepcbbZJ2>D z17QZj41^g7GZ1DV%)oys1AmIW?{C)9wN`6o=jB5}SYKZCqqQs6($8Bj$sW<3czta7 zrB7SSzqgkDuyOx%IM{)P2wY*_neB(ar;`J6Q^1SuZrhh90I6?thYio0{gTq^V z9N)Qt0+>bh@Cj>a;58F=t>st!Hfv?zF2HLYR{>hj)M~ZocMby(Idy4kyqD&-_G1TA z0^|L09(+$gjOEW=vzDuCzf9l6AzLdQzk^6C>1);nD{>|FtcX3g8cE*-{5RX+&o#qU zfb$&}_X-hvc1L?X%7td$5dEvo@Rjtb9v#IjTrk%SSq4cz8t9Z`NvkASX6zwQ-R6t`%G4q2nU5*dFQHv#a${c%_FpzH9CT z|GUs(c$a(=hZyqT2K*_+2luvrB|6l0OY}RyL?CQo2Eq)483;2FW+2Q!n1L_@VFtns zgc|?-6Gm^mw=bTI9}(M_?oGtE>l|>*-wyFsO?Sb0h={!+ zWhhH;z@eG{2cr{uz{-1)Kc5$0XrWjEY>--JCg@$Lq zybs0+M%lQ=)dTHL1vPBXgSKDn5x3KI^AuSh2e~hLo8b9i(zg+Ze)W3arwKPw%9GEt zAA`C-+9vqAR8}E=ia09)iNzckKb}$`$GJgxyN0JA4>*2<>XzlR6Y$-QcoeQe!c{aV zbO0QWOV4K);?Qrm7XK*Vn14ObqY{6wNRdCsA17RoKLfbIP66p}gD-7^i=heUGw#sL z%n&^b8_SxRa#`39jwgC^#kmqc`+`bzxGLvGFw2z`I$;cc9#T3M$&OxuRXIxLK{DJr%4A|MgFA4=qf@o|aHvH*ve`<7fp@C^Z}L-trauP|X60MQkR&($}k6f0Z!DC}RzB4bR`+`$h5N7sl5xP*)_mqVmb~Y$B z*gQAyAVHWiRi+O)6{egB(<{lTHr)k#&T|T`y^sY4Yl>kzp69^ukiq*9&MD+F&{qj! z!Nx4-VMhgnYzh-5sNfd;z$yM8?c#kKE`|Ej;ZC~WvgG?VcY?mb_I^#)x2ow`)r$~g*-pJ0LaH_R#XdA-Gw*IV4be*E76F2-eh{eD9C6<$|@i){M* zJqc)#&-W>o-_jDM-LB;CcY=JrkFw--FLmGWn=Hh>NB#5h3j?is8egQyGp=NkR2Ix*eG_&N-mU?gjnI6!0fxJODxE~uqJHI{{_C3gSJN_ HXsY--f}ZvE literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..9442581d7f82cefe4563ff8b0273e9d636203488 GIT binary patch literal 6640 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..0e1483449afaea103195517a0c5a01869b6c0f4f GIT binary patch literal 10608 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

@wc0f!v}kN9XNJ{YOt%`S-;eKbzee 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 CJ6~D= literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..7d7b0adf2047d2e5bdd37aa581696637f92ec569 GIT binary patch literal 41808 zcmeHw3w%`7x$oXHvt}mGnLJ5&4)RnW;Vn-MkKmvns9@1rLr5khB_wGwLFA|)G1fHA zDQU&WIaH~A9NU8y+iDSC!CJw#r^Vh=rJg=GEoh>)MeFI|R4e!Y|JK@*JwvAVoOAE* z{_gL0-H^TZ_gvrl*0-K}&)z#LSFP~aw&fgN>k^C5{(Oz8Fod;#XD*ObSo5qLoX1<^ zEI(kM;55BLC!p%%geN%-8oU=NWJ*ruOaAw$Gb8ZSL%{w&t># zVgl`AC@`ijyK=qd*=6++=g8ZZEpP^KJUj+==;STLAKgy*)%*0o=J_ve55`};E| zRsahZdq3o$ngTFQn{+ns=ucpCoO@sec8a$ipPdU}_oU%Jng;KO zo;<76>bqVmbH)v;YUR4sRkg9!*ye_|c&v5Z>Sc}1O|f;=n;K(QRn_LL%}rHp@#@xi zRh4EPlCdq`TGMi~)z;L~+RzlQv)W?uw&t2G%`I`Or9IwewZvLmn_Hm|s%o}W)zojP zs;h2jwCY-8F)OycAr4Y?TU!j-B=FU>wNO^qY;BIk6W4V$P4Px+Q$tg&wKcYNYxB04 z)zaM9Xfd}~+-i;0Y^!T+-fF?1##j^V03(rBb-cO3+FIS%*j$6WFeucRVr{K%0ACy) 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%0AFtioberV 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 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..a37893c45b0889db6be8d162306fa0a22cfc9b13 GIT binary patch literal 937 zcmaJ<&1(}u6rb7MY`!&=iddlp>Se8)MWLV&gA{3{LX@n62Q_Sx$+|Y#U1w*_$Ei|5 zJn5zP9_!6N!9O9@LuD=sp1f59o_({)CR)%3^XB*7ym|B9`^`9?&mfT9UzhEB7@=>% zh((%$@m&CW$V4W-jVO+GX-f{IBHB`DqBuEGscK3~h$bJZwL+X?zMJwATAP|QZDURO zF05)3UY&^wNQO0j3ThACN3}msr(q^GB~vz)YjW{l5ebM;{~M7sQ)YS+VIwV59p-eM z^hq;hR-;3BB48dR!_$q>>9mXkYn?-4ZX&rN>cJHgw7_jqT;{OQ?U|Oa2C`K`kGyMQ+ZuE z%B~z{SN1nPWmiYaD$T)}mfwmAhUm?2rmQ52c8Oot@j=nQvzKytX!ofLcE}IydY?=rJ8QK(J?wiEI0DB{_ROux&PlE4c!J)r5W&QE-oS^h1o~WjeH(g*C5>}T zxZw#kG#O@0Joffd-$_v|uSlj>QFVEC*<{~QWd%OzfhnS|_&QFF zj`nGzNya%8wA4**_&vV|>@$=AZd0sybnsrbNK$ z#hL!%_u{SuE=k>q+ESl&G-7p*tlY*u{d9joPTP&{Gm~Mz>D6?ynAA=0qLLPpSIxQw z``V^wRk9%H#1Cr-{UV{8Ce(`Qmu{p}swjzJugQu6+zZ{P>6sU_`DxQFi_?ULC!q(? zXpghV9FESb3sO{<7u4toT>FBg=u&i1k)vrM+>o_n5$&p!l5|yZ1W{em^r$$mN7BnC z79~w0vOwKK4uRQ5YX41O8MNDZ^ltC3d%vptmNh!h&q!uL$b%dVOiXAI3OfOZHL@Pi5TJ8mHPNVV7k%QDypzP)@7{3HR?Gi9> zGj3QLx;3=%!KQY1d29LZhg%IKcCphHOjZ^Ti8uCs_|q9w@o0!S5*FrEh#u+G{*J$9!?S*EJ$XBr_qVOGyS0t$uWux?-M8hUHB=3*h^8eF~>bf7*w`PBuukYBL|FUyS$%pzgqdWDj ztIHq^bwD3CW!|#=S($ce-m?7p4V?9VW4Xe^%-{w>BHZ;$P&NC(3?+#Hq?CMV%P8mF zPGl&qate>T9BHDI1FE4Jib4tZ&WgdyrLVK)uUFu{WLt5^-PLM%oT(GuH zVWtCO%3W=yx_*UiZ-s4ltV$jM3ss~Q7JOw3b13Y$V|S%(QsrpT;fR!!$tVBwyoRv+>X*A55EIqA>p$da-L6=pf2v9I) z-H1kGp4MC&o9`R zv^H>aVExj^Z)Qezaowu^@xT|}JE32N9@H7F#|?Zu$11r2#Q=_v?}pm4eMX4Oj6T9m zYbS1=$R-Nyk$ii^z>yrw=U(Ft;5f2_Tj*>acWhq1o7hTxIsUuJ-%J{>oXW96ZbUGE z<5PgNZva%<4m$3eKINcts!+1Xd=1QV! z54DO}YIh$w4>y`wWAvr7k048w5MQ1GX_czqS3)vZkq4?hQKk{Ba{9c)%>iH(D@21dKCB0z1s&6O^6d23{FpO?Nfn-KH}sS|WBQUQRRhyumtEfb;FKCoyiV9*iiBw!nS?&m zj!}(KU>Wo;FRE!=8@@ICMa!L+KY#f_OCda%4-Xo6C^NFd`ac@`#n`I8cKzn{EPE&L zc_3HU`4_fp7dIDh`!;URiU#h=v0YXagquv9R8uLy0w6&n!|(xci&~-u&H|8in)}EOLhH%me`7%v z7gN#+au$?mQPn;G_SDTV%tO@p5H&nR_%W(|h-&|aIvykZ)QkL01z-ENuRS}v{o_Hy zHw;kj*f3)3m+6azhd{8yl0=EL|N45`6@>7x>YjOB49`3Z fGR*tTGk<_N@T}F(OfXMdJWThx_-_P_wZH!W&^*lz literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..c8b757d38bc6a5dc20f8973c1acca65cc95221ba GIT binary patch literal 19251 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 literal 0 HcmV?d00001 diff --git a/test/__pycache__/util.cpython-313.pyc b/test/__pycache__/util.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6a7d06a87c64719e270e0986652a2cf6a6fb1e6e GIT binary patch literal 3179 zcmb7G|4$sp6`$EJ_Z<#$d^54kV&m8sCx>l}GJ|!yciNmdpIe zH!i<9n7h<}F)jI_U_(F3d!1QxgmE33=4ZRdVb^ZYnsmD_x)Y^I;&`OHl{iL|1Ub`g)&!RZ|*;yd-=zan5MTcKO6N*y zt>NhWD6i6R0lkcA1e_G|V*{3Lzv*0>vApdTP&L=z zuU&Dc2zaD4V%i2{nm2BE+60Jkmhky0>Y4;rZjOVTKLv`xqqtSgMzW4>b0BJ)ENH$@-Sb#YH!XMAf-)8=Uc7}^ZP zPwm+!Q`LF^7T9qh59ZNUq;4Vnhe+E-UE_`{M`Ih!Pv7JH{RoQIEymu9EuH>xJ*@{} zvvx5U)MA#xfSaX&a{FT%W_jxkIs|5^IviaE*S;M^Xy~beycc=@Jw_ij8%=>?h!=&s zmGT6}ZN|N)>y*QQwh95-CYH#Ise7|iV9061E)hTKQNtu7hB-l>1_8!z19qz#u7iK{ zu;BvL8W(;B2pDc7l30u`M1K_jE4N@d(ze_NppTr{g8BVs`vj$<{BVvjNx-2oU7vJE zOE%{dy8ceduq!J`T_3Y3^K8o@jtk3ST_1H#xDay??zB&EXZbbiV{yV zwBD0F+D*$F*N#CsqqEQVkHOk8Z5-+r6gAVOlt2}l&BS;BSYLsM=i>V$2LZjIU^72l z+074Ew)3N}UA=nc5~VJMf&{=UF+Ut=X1)xk*cXekFT+3EwLY-U;g%|_*c90#l9uQT&}~C*Ll4Cd$FqnZUhANO@W2!;kK55OUlDCD zMpCuJSw$DrI_dFOQxAN%dj-f5q=DiBN}<=_1qN@TKqJs6K@qYkFGCfOPNO@jhTb^D zi#(Jh=>-|!CW{xz_P;^HAb)L8!x?oa0Rhm1Utvnhob<6?d2|RD`q923amdUR&H4wq zpm<1R`fS%UY?jT`R$m0I4E96Y;N#V%>}Nxt;-7r;?)49@uk^35_2v_+%_lw^`iCfI zx4NFeu$wA$`6{R_k~H?Q!?+a#?D)~zZuAn&ax*ht0HC}jo61eu&kMgk_4&|RQ+6$x zU5#W#noB1s&r_5;hxP&SV|yXM4Usbidi}&S zq0Dj}sNiF+I1cUN(mas_W{UI$6(CCoV2)pd-2k#9V~jUZLj3ABQR60xZKC>36yHS6 z_d*fecE6<_w=T7>H+GgAJMSYH+&dh{O*;pX5?+^6WjVEUVd> 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; +}