From b5f8ee61a7f7e9bd291dd26b0585d03eb686c941 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 5 May 2024 13:19:16 +0200 Subject: Adding upstream version 1.46.3. Signed-off-by: Daniel Baumann --- fluent-bit/lib/monkey/CMakeLists.txt | 331 ----------------------------------- 1 file changed, 331 deletions(-) delete mode 100644 fluent-bit/lib/monkey/CMakeLists.txt (limited to 'fluent-bit/lib/monkey/CMakeLists.txt') diff --git a/fluent-bit/lib/monkey/CMakeLists.txt b/fluent-bit/lib/monkey/CMakeLists.txt deleted file mode 100644 index 2d43835b7..000000000 --- a/fluent-bit/lib/monkey/CMakeLists.txt +++ /dev/null @@ -1,331 +0,0 @@ -# Let's have fun! -cmake_minimum_required(VERSION 3.0) -project(monkey C) -set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake/") -set(CMAKE_INCLUDE_DIRECTORIES_BEFORE ON) - -# CMake includes -include(CheckSymbolExists) -include(CheckLibraryExists) -include(CheckIncludeFile) -include(CheckCSourceCompiles) -include(ExternalProject) -include(GNUInstallDirs) - -# Set default compiler options -if (NOT CMAKE_SYSTEM_NAME MATCHES "Windows") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=gnu99 -Wall -Wextra") -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__='\"$(subst ${CMAKE_SOURCE_DIR}/,,$(abspath \$<))\"'") -else() -set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D__FILENAME__=__FILE__") -endif() - -# Monkey Version -set(MK_VERSION_MAJOR 1) -set(MK_VERSION_MINOR 7) -set(MK_VERSION_PATCH 2) -set(MK_VERSION_STR "${MK_VERSION_MAJOR}.${MK_VERSION_MINOR}.${MK_VERSION_PATCH}") - -# Output paths -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/bin") -set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/lib") -set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/library") - -# ============================================ -# ============= BUILD OPTIONS ================ -# ============================================ - -# Monkey Core -option(MK_DEBUG "Build with debug symbols" No) -option(MK_ACCEPT "Use accept(2) system call" No) -option(MK_ACCEPT4 "Use accept4(2) system call" Yes) -option(MK_LINUX_KQUEUE "Use Linux kqueue emulator" No) -option(MK_TRACE "Enable Trace mode" No) -option(MK_UCLIB "Enable uClib libc support" No) -option(MK_MUSL "Enable Musl libc support" No) -option(MK_BACKTRACE "Enable Backtrace feature" Yes) -option(MK_LINUX_TRACE "Enable Lttng support" No) -option(MK_PTHREAD_TLS "Use old Pthread TLS mode" No) -option(MK_MBEDTLS_SHARED "Use mbedtls shared lib" No) -option(MK_VALGRIND "Enable Valgrind support" No) -option(MK_FUZZ_MODE "Enable HonggFuzz mode" No) -option(MK_HTTP2 "Enable HTTP Support (dev)" No) -option(MK_TESTS "Enable Tests" No) - -# Plugins: what should be build ?, these options -# will be processed later on the plugins/CMakeLists.txt file -option(MK_PLUGIN_AUTH "Basic authentication" No) -option(MK_PLUGIN_CGI "CGI support" No) -option(MK_PLUGIN_CHEETAH "Cheetah Shell Interface" No) -option(MK_PLUGIN_DIRLISTING "Directory Listing" Yes) -option(MK_PLUGIN_FASTCGI "FastCGI" No) -option(MK_PLUGIN_LIANA "Basic network layer" Yes) -option(MK_PLUGIN_LOGGER "Log Writer" No) -option(MK_PLUGIN_MANDRIL "Security" Yes) -option(MK_PLUGIN_TLS "TLS/SSL support" No) - -# Options to build Monkey with/without binary and -# static/dynamic library modes (default is always just -# one target binary). -option(MK_WITHOUT_BIN "Do not build binary" No) -option(MK_WITHOUT_CONF "Skip configuration files" No) -option(MK_STATIC_LIB_MODE "Static library mode" No) - -# If building just for a "library" mode, disable plugins -if(MK_LIB_ONLY) - set(MK_PLUGIN_AUTH No) - set(MK_PLUGIN_CGI No) - set(MK_PLUGIN_CHEETAH No) - set(MK_PLUGIN_DIRLISTING No) - set(MK_PLUGIN_FASTCGI No) - set(MK_PLUGIN_LOGGER No) - set(MK_PLUGIN_MANDRIL No) -endif() - -if(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux") - set(MK_ACCEPT 1) - set(MK_ACCEPT4 0) - set(MK_SYSTEM_MALLOC 1) -endif() - -if(MK_STATIC_PLUGINS) - set(MK_STATIC_PLUGINS "${MK_STATIC_PLUGINS},liana") -else() - set(MK_STATIC_PLUGINS "liana") -endif() - -# Variable to be populated by plugins/CMakeLists.txt. It will contain the -# code required to initialize any static plugin. -set(STATIC_PLUGINS_INIT "") -set(STATIC_PLUGINS_LIBS "") - -# =========================================== -# ============== DEPENDENCIES =============== -# =========================================== - -# Find pthreads -find_package(Threads) - -if(MK_DEBUG) - set(CMAKE_BUILD_TYPE "Debug") -endif() - -# It set's a definition and register into the mk_info.h file */ -macro(MK_DEFINITION var) - add_definitions(-D${var}) - set(MK_BUILD_FLAGS "${MK_BUILD_FLAGS}#ifndef ${var}\n#define ${var}\n#endif\n") -endmacro() - -if (CMAKE_SYSTEM_NAME MATCHES "Windows") - MK_DEFINITION(_CRT_SECURE_NO_WARNINGS) -endif() - -# Enable experimental (dev) HTTP/2 support -if (MK_HTTP2) - MK_DEFINITION(MK_HAVE_HTTP2) -endif() - -# Check for accept(2) v/s accept(4) -list(APPEND CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE) -check_symbol_exists(accept4 "sys/socket.h" HAVE_ACCEPT4) -list(REMOVE_ITEM CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE) -if(HAVE_ACCEPT4) - MK_DEFINITION(MK_HAVE_ACCEPT4) -endif() - -# Check for Linux Kqueue library emulator -if(MK_LINUX_KQUEUE) - find_package(Libkqueue REQUIRED) - if(NOT LIBKQUEUE_FOUND) - message(FATAL_ERROR "Linux libkqueue was not found." ) - else() - MK_DEFINITION(MK_LINUX_KQUEUE) - endif() -endif() - -# Check Trace -if(MK_TRACE) - MK_DEFINITION(MK_HAVE_TRACE) -endif() - -# Check Uclib library -if(MK_UCLIB) - MK_DEFINITION(MK_HAVE_UCLIB) -endif() - -# Check Musl library -if(MK_MUSL) - MK_DEFINITION(MK_HAVE_MUSL) -endif() - -# Check Backtrace support -check_include_file("execinfo.h" HAVE_BACKTRACE) -if (NOT HAVE_BACKTRACE) - set(MK_BACKTRACE No) -else() - MK_DEFINITION(MK_HAVE_BACKTRACE) -endif() - -# Check for LTTng-UST -if(MK_LINUX_TRACE) - check_include_file("lttng/tracepoint.h" HAVE_LTTNG) - if (NOT HAVE_LTTNG) - message(FATAL_ERROR "LTTng-UST is not installed in your system." ) - else() - MK_DEFINITION(MK_HAVE_LINUX_TRACE) - endif() -endif() - -# Use old Pthread TLS -if(NOT MK_PTHREAD_TLS) - check_c_source_compiles(" - __thread int a; - int main() { - __tls_get_addr(0); - return 0; - }" HAVE_C_TLS) - - if(HAVE_C_TLS) - MK_DEFINITION(MK_HAVE_C_TLS) - endif() -endif() - -# Valgrind support -check_c_source_compiles(" - #include - int main() { - return 0; - }" MK_HAVE_VALGRIND) - -if(MK_VALGRIND OR MK_HAVE_VALGRIND) - MK_DEFINITION(MK_HAVE_VALGRIND) -endif() - -# Regex support -check_c_source_compiles(" - #include - int main() { - regex_t reg; - const char str[] = \"[a-zA-Z0-9]*\"; - ret = regcomp(®, str, REG_EXTENDED|REG_ICASE|REG_NOSUB); - return 0; - }" HAVE_REGEX) - -if(HAVE_REGEX) - MK_DEFINITION(MK_HAVE_REGEX) -endif() - - -# ============================================ -# =========== CONFIGURATION FILES============= -# ============================================ - -# Default values for conf/monkey.conf -set(MK_CONF_LISTEN "2001") -set(MK_CONF_WORKERS "0") -set(MK_CONF_TIMEOUT "15") -set(MK_CONF_PIDFILE "monkey.pid") -set(MK_CONF_USERDIR "public_html") -set(MK_CONF_INDEXFILE "index.html index.htm index.php") -set(MK_CONF_HIDEVERSION "Off") -set(MK_CONF_RESUME "On") -set(MK_CONF_USER "www-data") -set(MK_CONF_KA "On") -set(MK_CONF_KA_TIMEOUT "5") -set(MK_CONF_KA_MAXREQ "1000") -set(MK_CONF_REQ_SIZE "32") -set(MK_CONF_SYMLINK "Off") -set(MK_CONF_DEFAULT_MIME "text/plain") -set(MK_CONF_FDT "On") -set(MK_CONF_OVERCAPACITY "Resist") - -# Default values for conf/sites/default -set(MK_VH_SERVERNAME "127.0.0.1") -set(MK_VH_DOCUMENT_ROOT MK_DATADIR) -set(MK_VH_LOG_ACCESS MK_LOGDIR) -set(MK_VH_LOG_ERROR MK_LOGDIR) - -# Paths -if(APPLE) - set(CMAKE_MACOSX_RPATH ${CMAKE_MACOSX_RPATH};${CMAKE_INSTALL_FULL_LIBDIR}/monkey) -endif() - -if(DEFAULT_PORT) - set(MK_CONF_LISTEN ${DEFAULT_PORT}) -endif() - -if(DEFAULT_USER) - set(MK_CONF_USER ${DEFAULT_USER}) -endif() - -configure_file( - "${PROJECT_SOURCE_DIR}/include/monkey/mk_info.h.in" - "${PROJECT_BINARY_DIR}/include/monkey/mk_info.h" - ) - -configure_file( - "${PROJECT_SOURCE_DIR}/include/monkey/mk_env.h.in" - "${PROJECT_BINARY_DIR}/include/monkey/mk_env.h" - ) - - -# General Headers -include_directories(./) -include_directories(deps/rbtree) -include_directories(deps/flb_libco) -include_directories(deps/regex) -include_directories(include) -include_directories(include/monkey/) -include_directories(${CMAKE_CURRENT_BINARY_DIR}/include/) -include_directories(${CMAKE_CURRENT_BINARY_DIR}/include/monkey/) - -if (CMAKE_SYSTEM_NAME MATCHES "Windows") - include_directories(mk_core/deps/libevent/include) - include_directories("${PROJECT_BINARY_DIR}/mk_core/deps/libevent/include/") -endif() - -# Instruct CMake to build the the code base -# ========================================= -# mk_core : generic utilities -# plugins : plugins for mk_server -# mk_server: server code base: plugins, protocols, scheduler.. (no executable) -# mk_bin : server executable - -add_subdirectory(man) -add_subdirectory(deps/rbtree) -add_subdirectory(deps/regex) -add_subdirectory(deps/flb_libco) -add_subdirectory(mk_core) -add_subdirectory(plugins) -add_subdirectory(mk_server) - -if(NOT MK_WITHOUT_BIN) - add_subdirectory(mk_bin) -endif() - -# Configuration, headers generation and others -if(NOT MK_WITHOUT_CONF) - add_subdirectory(conf) -endif() -add_subdirectory(htdocs) -add_subdirectory(include) - -# Install (missings ?) paths -install(DIRECTORY DESTINATION ${MK_PATH_LOG}) -install(DIRECTORY DESTINATION ${MK_PATH_PIDPATH}) -install(DIRECTORY DESTINATION ${MK_PATH_WWW}) - -if(NOT SKIP_EMPTY_DIRS) - install(DIRECTORY DESTINATION ${MK_PATH_PIDPATH}) - install(DIRECTORY DESTINATION ${MK_PATH_LOG}) -endif() - -add_subdirectory(api) - -if(MK_FUZZ_MODE) - add_subdirectory(fuzz) -endif() - -if(MK_TESTS) - add_subdirectory(test) -endif() -- cgit v1.2.3