Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,10 @@
target/
a.out*
include/sysconfig.h
CMakeFiles
Makefile
cmake_install.cmake
CMakeCache.txt
core
src/fyrehose
.*.sw?
44 changes: 44 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -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)
3 changes: 3 additions & 0 deletions include/sysconfig.h.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#pragma once

#cmakedefine HAVE_SYS_EPOLL_H
5 changes: 5 additions & 0 deletions src/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -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)
2 changes: 1 addition & 1 deletion src/fyrehose.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down