From d603e9cafc5b293adab61c73b96ad59fb9c119e9 Mon Sep 17 00:00:00 2001 From: Christian Parpart Date: Sat, 18 May 2013 21:37:00 +0200 Subject: [PATCH 1/2] fixes missing default initialization for num_workers --- src/fyrehose.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fyrehose.c b/src/fyrehose.c index 9325963..63726d7 100644 --- a/src/fyrehose.c +++ b/src/fyrehose.c @@ -22,7 +22,7 @@ int ssock; int running = 1; worker_t** worker; -int num_workers; +int num_workers = 1; void quit(int fnord) { int n; From 845fc9a996f9b80c56b88922298b73c603099718 Mon Sep 17 00:00:00 2001 From: Christian Parpart Date: Sat, 18 May 2013 21:44:49 +0200 Subject: [PATCH 2/2] added basic CMake files; just run cmake . from project root, initially. --- .gitignore | 8 +++++++ CMakeLists.txt | 44 +++++++++++++++++++++++++++++++++++++++ include/sysconfig.h.cmake | 3 +++ src/CMakeLists.txt | 5 +++++ 4 files changed, 60 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 include/sysconfig.h.cmake create mode 100644 src/CMakeLists.txt diff --git a/.gitignore b/.gitignore index 7fe62d4..ec7d606 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,10 @@ target/ a.out* +include/sysconfig.h +CMakeFiles +Makefile +cmake_install.cmake +CMakeCache.txt +core +src/fyrehose +.*.sw? diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..2728b9c --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,44 @@ +cmake_minimum_required(VERSION 2.8) + +project(fyrehose) + +set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake) + +include(FindPkgConfig) +include(CheckIncludeFiles) +include(CheckFunctionExists) +include(CheckVariableExists) +include(CheckTypeSize) +include(CheckLibraryExists) +include(CheckCSourceCompiles) +include(CMakeDetermineCCompiler) + +# we need the following definitions in order to get some special +# OS-level features like posix_fadvise() or readahead(). +add_definitions(-DXOPEN_SOURCE=600) +add_definitions(-DGNU_SOURCE) + +# enforce 64bit i/o operations, even on 32bit platforms +add_definitions(-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGE_FILES) + +CHECK_INCLUDE_FILES(gtest/gtest.h HAVE_GTEST_GTEST_H) +CHECK_INCLUDE_FILES(sys/sendfile.h HAVE_SYS_SENDFILE_H) +CHECK_FUNCTION_EXISTS(sendfile HAVE_SENDFILE) +CHECK_FUNCTION_EXISTS(readahead HAVE_READAHEAD) +CHECK_FUNCTION_EXISTS(posix_fadvise HAVE_POSIX_FADVISE) +CHECK_INCLUDE_FILES(sys/epoll.h HAVE_SYS_EPOLL_H) +CHECK_FUNCTION_EXISTS(accept4 HAVE_ACCEPT4) + +include_directories(${CMAKE_CURRENT_BINARY_DIR}/include) +include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include) + +add_definitions(-DHAVE_SYSCONFIG_H) +configure_file( + ${CMAKE_CURRENT_SOURCE_DIR}/include/sysconfig.h.cmake + ${CMAKE_CURRENT_BINARY_DIR}/include/sysconfig.h) + +add_custom_target(ctags + COMMAND ctags -R --c++-kinds=+p --fields=+iaS --extra=+q ${CMAKE_SOURCE_DIR}/src ${CMAKE_SOURCE_DIR}/include + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}) + +add_subdirectory(src) diff --git a/include/sysconfig.h.cmake b/include/sysconfig.h.cmake new file mode 100644 index 0000000..3c0c915 --- /dev/null +++ b/include/sysconfig.h.cmake @@ -0,0 +1,3 @@ +#pragma once + +#cmakedefine HAVE_SYS_EPOLL_H diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100644 index 0000000..2e4ea9a --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,5 @@ +add_definitions(-pthread) + +add_executable(fyrehose fyrehose.c conn.c http.c worker.c) +target_link_libraries(fyrehose pthread) +install(TARGETS fyrehose RUNTIME DESTINATION sbin)