]> granicus.if.org Git - libevent/commitdiff
Lot's of cmake updates
authorMark Ellzey <socket@gmail.com>
Sat, 19 Dec 2015 09:47:49 +0000 (01:47 -0800)
committerMark Ellzey <socket@gmail.com>
Sat, 19 Dec 2015 09:47:49 +0000 (01:47 -0800)
This is still not done, cmake here was a horrid mess, but we're
getting our act together now.

CMakeLists.txt
README.md
cmake/CheckFunctionKeywords.cmake [new file with mode: 0644]
event-config.h.cmake

index f130304c36dc742742b98a543497e18a71c0fb62..479caefb4a5ad6d043dbff2ad21a83d7a1699b6c 100644 (file)
 #
 cmake_minimum_required(VERSION 2.8.0 FATAL_ERROR)
 
+if(NOT CMAKE_BUILD_TYPE)
+       set(CMAKE_BUILD_TYPE Release
+               CACHE STRING "Set build type to Debug o Release (default Release)" FORCE)
+endif()
+
 # get rid of the extra default configurations
+# what? why would you get id of other useful build types? - Ellzey
 set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "Limited configurations" FORCE)
 
 project(libevent C)
@@ -29,15 +35,52 @@ set(EVENT_VERSION_MAJOR 2)
 set(EVENT_VERSION_MINOR 1)
 set(EVENT_VERSION_PATCH 5)
 set(EVENT_NUMERIC_VERSION 0x02010500)
-set(EVENT_VERSION_DEVTAG "-beta")
 
+set(EVENT_PACKAGE_VERSION "${EVENT_VERSION_MAJOR}.${EVENT_VERSION_MINOR}.${EVENT_VERSION_PATCH}")
+
+# what is the point of  MAJOR/MINOR/PATCH if they are just going
+# to be the same as the above, am I missing something? - ellzey?
 set(EVENT_ABI_MAJOR 2)
 set(EVENT_ABI_MINOR 1)
 set(EVENT_ABI_PATCH 5)
+
 set(EVENT_ABI_LIBVERSION "${EVENT_ABI_MAJOR}.${EVENT_ABI_MINOR}.${EVENT_ABI_PATCH}")
 
-set(EVENT_VERSION "${EVENT_VERSION_MAJOR}.${EVENT_VERSION_MINOR}.${EVENT_VERSION_PATCH}-alpha${EVENT_VERSION_DEVTAG}")
-set(EVENT_PACKAGE_VERSION "${EVENT_VERSION_MAJOR}.${EVENT_VERSION_MINOR}.${EVENT_VERSION_PATCH}")
+
+######## the following section sets the development stage name. Defaults
+######## to beta, but with the option of alpha, rc, and release.
+
+
+# only a subset of names can be used, defaults to "beta"
+set(EVENT__STAGE_VERSION "beta"
+       CACHE STRING "set EVENT_STAGE_VERSION")
+
+# a list that defines what can set for EVENT_STAGE_VERSION
+set(EVENT__ALLOWED_STAGE_NAMES
+       beta
+       alpha
+       rc
+       release)
+
+# attempt to find the EVENT__STAGE_VERSION in the allowed list
+# of accepted stage names, the return value is stord in
+# EVENT__STAGE_RET
+list(FIND
+       EVENT__ALLOWED_STAGE_NAMES
+       ${EVENT__STAGE_VERSION}
+       EVENT__STAGE_RET)
+
+# if EVENT__STAGE_RET is -1, the name was not
+# found, so we fall back to "beta".
+set(EVENT_STAGE_VERSION "beta")
+
+if (EVENT__STAGE_RET EQUAL "-1")
+       message(WARNING "${EVENT__STAGE_VERSION} invalid, defaulting to ${EVENT_STAGE_VERSION}")
+else()
+       set(EVENT_STAGE_VERSION ${EVENT__STAGE_VERSION})
+endif()
+
+set(EVENT_VERSION "${EVENT_VERSION_MAJOR}.${EVENT_VERSION_MINOR}.${EVENT_VERSION_PATCH}-${EVENT_STAGE_VERSION}")
 
 option(EVENT__BUILD_SHARED_LIBRARIES "Define if libevent should be built with shared libraries instead of archives" OFF)
 option(EVENT__DISABLE_DEBUG_MODE "Define if libevent should build without support for a debug mode" OFF)
@@ -71,9 +114,23 @@ include(CheckSymbolExists)
 include(CheckStructHasMember)
 include(CheckCSourceCompiles)
 include(CheckPrototypeDefinition)
+include(CheckFunctionKeywords)
+include(CheckCCompilerFlag)
+
+macro(add_compiler_flags _flags)
+       foreach(flag ${_flags})
+               string(REGEX REPLACE "[-.+/:= ]" "_" _flag_esc "${flag}")
+
+               check_c_compiler_flag("${flag}" check_c_compiler_flag_${_flag_esc})
+
+               if (check_c_compiler_flag_${_flag_esc})
+                       set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${flag}")
+               endif()
+       endforeach()
+endmacro()
 
 if (EVENT__ENABLE_VERBOSE_DEBUG)
-    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_DEBUG=1")
+    add_definitions(-DUSE_DBUG=1)
 endif()
 
 # Setup compiler flags for coverage.
@@ -88,52 +145,63 @@ if (EVENT__COVERAGE)
         message(FATAL_ERROR "Code coverage results with an optimised (non-Debug) build may be misleading! Add -DCMAKE_BUILD_TYPE=Debug")
     endif()
 
-    message("Setting coverage compiler flags")
-    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O0 -fprofile-arcs -ftest-coverage")
+    message(STATUS "Setting coverage compiler flags")
+               add_compiler_flags(-g -O0 -fprofile-arcs -ftest-coverage)
 endif()
 
 # GCC specific options.
 if (CMAKE_COMPILER_IS_GNUCC)
-    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
 
     option(EVENT__DISABLE_GCC_WARNINGS "Disable verbose warnings with GCC" OFF)
+    option(EVENT__ENABLE_GCC_HARDENING "Enable compiler security checks" OFF)
+    option(EVENT__ENABLE_GCC_FUNCTION_SECTIONS "Enable gcc function sections" OFF)
+    option(EVENT__ENABLE_GCC_WARNINGS "Make all GCC warnings into errors" OFF)
+
+               list(APPEND __FLAGS -Wall)
+
     if (EVENT__DISABLE_GCC_WARNINGS)
-        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w")
+                       list(APPEND __FLAGS -w)
     endif()
 
-    option(EVENT__ENABLE_GCC_HARDENING "Enable compiler security checks" OFF)
     if (EVENT__ENABLE_GCC_HARDENING)
-        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_FORTIFY_SOURCE=2 -fstack-protector-all -fwrapv -fPIE -Wstack-protector --param ssp-buffer-size=1")
+                       list(APPEND __FLAGS
+                               -fstack-protector-all
+                               -fwrapv
+                               -fPIE
+                               -Wstack-protector
+                               "--param ssp-buffer-size=1")
+
+                               add_definitions(-D_FORTIFY_SOURCE=2)
     endif()
 
-    option(EVENT__ENABLE_GCC_FUNCTION_SECTIONS "Enable gcc function sections" OFF)
     if (EVENT__ENABLE_GCC_FUNCTION_SECTIONS)
-        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffunction-sections")
+                       list(APPEND __FLAGS -ffunction-sections)
         # TODO: Add --gc-sections support. We need some checks for NetBSD to ensure this works.
     endif()
 
-    option(EVENT__ENABLE_GCC_WARNINGS "Make all GCC warnings into errors" OFF)
     if (EVENT__ENABLE_GCC_WARNINGS)
-        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Werror")
+                       list(APPEND __FLAGS -Werror)
     endif()
 
     # We need to test for at least gcc 2.95 here, because older versions don't
     # have -fno-strict-aliasing
-    execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion
-                    OUTPUT_VARIABLE GCC_VERSION)
-    if (GCC_VERSION VERSION_GREATER 2.95)
-        message(STATUS "GCC Version >= 2.95 enabling no-strict-aliasing")
-        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-strict-aliasing")
-    endif()
+               list(APPEND __FLAGS -fno-strict-aliasing)
+
+               #execute_process(COMMAND ${CMAKE_C_COMPILER} -dumpversion
+               #                OUTPUT_VARIABLE GCC_VERSION)
+               #if (GCC_VERSION VERSION_GREATER 2.95)
+               #    message(STATUS "GCC Version >= 2.95 enabling no-strict-aliasing")
+               #    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-strict-aliasing")
+               #endif()
+
+               add_compiler_flags(__FLAGS)
 endif()
 
 if (APPLE)
     # Get rid of deprecated warnings for OpenSSL on OSX 10.7 and greater.
-    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-error=deprecated-declarations")
-    # Get rid of "clang: warning: argument unused during compilation: -I etc
-    if ("${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
-        set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Qunused-arguments")
-    endif()
+               add_compiler_flags(
+                       -Wno-error=deprecated-declarations
+                       -Qunused-arguments)
 endif()
 
 # Winsock.
@@ -318,43 +386,16 @@ if(WIN32)
 endif()
 
 # Check for different inline keyword versions.
-foreach(KEYWORD "inline" "__inline__" "__inline")
-    set(CMAKE_REQUIRED_DEFINITIONS "-DKEYWORD=${KEYWORD}")
-    CHECK_C_SOURCE_COMPILES(
-        "
-        #include <stdio.h>
-        KEYWORD void a() {}
-        int main(int argc, char **argv) { a(); return 0; }
-        " HAVE_${KEYWORD})
-endforeach()
-
-if (NOT HAVE_inline)
-    if (HAVE___inline__)
-        set(EVENT__inline __inline__)
-    elseif(HAVE___inline)
-        set(EVENT__inline __inline)
-    endif()
-endif()
-set(CMAKE_REQUIRED_DEFINITIONS "")
-
-# Check for different function name macros.
-foreach(KEYWORD "__func__" "__FUNCTION__")
-    set(CMAKE_REQUIRED_DEFINITIONS "-DKEYWORD=${KEYWORD}")
-    CHECK_C_SOURCE_COMPILES(
-        "
-        #include <stdio.h>
-        int main(int argc, char **argv) { const char *cp = KEYWORD; return 0; }
-        " HAVE_${KEYWORD})
-endforeach()
-set(CMAKE_REQUIRED_DEFINITIONS "")
-
-if (NOT HAVE___func__)
-    if (HAVE___FUNCTION__)
-        set(EVENT____func__ __FUNCTION__)
-    else()
-        # Substitute for __func__
-        set(EVENT____func__ __FILE__)
-    endif()
+check_function_keywords("inline" "__inline" "__inline__")
+
+if (HAVE_INLINE)
+       set (EVENT__inline inline)
+elseif (HAVE___INLINE)
+       set(EVENT__inline __inline)
+elseif(HAVE___INLINE__)
+       set(EVENT__inline __inline__)
+else()
+       set(EVENT__inline)
 endif()
 
 CHECK_SYMBOL_EXISTS(TAILQ_FOREACH sys/queue.h EVENT__HAVE_TAILQFOREACH)
@@ -365,11 +406,14 @@ CHECK_SYMBOL_EXISTS(RANDOM_UUID sys/sysctl.h EVENT__HAVE_DECL_RANDOM_UUID)
 CHECK_SYMBOL_EXISTS(F_SETFD fcntl.h EVENT__HAVE_SETFD)
 
 CHECK_TYPE_SIZE(fd_mask EVENT__HAVE_FD_MASK)
-
 CHECK_TYPE_SIZE(size_t EVENT__SIZEOF_SIZE_T)
+
 if(NOT EVENT__SIZEOF_SIZE_T)
   set(EVENT__size_t unsigned)
+       # and the point is???
   set(EVENT__SIZEOF_SIZE_T ${EVENT__SIZEOF_UNSIGNED})
+else()
+       set(EVENT__size_t "size_t")
 endif()
 
 CHECK_TYPE_SIZE("off_t" EVENT__SIZEOF_OFF_T)
@@ -389,7 +433,10 @@ endif()
 CHECK_TYPE_SIZE(socklen_t EVENT__SIZEOF_SOCKLEN_T)
 if(NOT EVENT__SIZEOF_SOCKLEN_T)
   set(EVENT__socklen_t "unsigned int")
+       # what is the poitn of this if EVENT__SIZEOF_UNSIGNED_INT is 0?
   set(EVENT__SIZEOF_SOCKLEN_T ${EVENT__SIZEOF_UNSIGNED_INT})
+else()
+       set(EVENT__socklen_t "socklen_t")
 endif()
 
 CHECK_TYPE_SIZE(pid_t EVENT__SIZEOF_PID_T)
@@ -398,7 +445,9 @@ if(NOT EVENT__SIZEOF_PID_T)
   set(EVENT__SIZEOF_PID_T ${EVENT__SIZEOF_INT})
 endif()
 
-CHECK_TYPE_SIZE(pthread_t EVENT__SIZEOF_PTHREAD_T)
+if (NOT EVENT__DISABLE_THREAD_SUPPORT)
+       CHECK_TYPE_SIZE(pthread_t EVENT__SIZEOF_PTHREAD_T)
+endif()
 
 if(EVENT__HAVE_CLOCK_GETTIME)
   set(EVENT__DNS_USE_CPU_CLOCK_FOR_ID 1)
@@ -409,8 +458,14 @@ CHECK_TYPE_SIZE("void *" EVENT__SIZEOF_VOID_P)
 
 # Tests file offset bits.
 # TODO: Add AIX test for if -D_LARGE_FILES is needed.
-CHECK_FILE_OFFSET_BITS()
-set(EVENT___FILE_OFFSET_BITS _FILE_OFFSET_BITS)
+
+# XXX: Why is this here? we don't even use it. Well, we don't even use it
+#      on top of that, why is it set in the config.h?! IT_MAKES_NO_SENSE
+#      I'm commenting it out for now.
+#      - ellzey
+
+#CHECK_FILE_OFFSET_BITS()
+#set(EVENT___FILE_OFFSET_BITS _FILE_OFFSET_BITS)
 
 # Verify kqueue works with pipes.
 if (EVENT__HAVE_KQUEUE)
@@ -418,7 +473,7 @@ if (EVENT__HAVE_KQUEUE)
         message(WARNING "Cannot check if kqueue works with pipes when crosscompiling, use EVENT__FORCE_KQUEUE_CHECK to be sure (this requires manually running a test program on the cross compilation target)")
         set(EVENT__HAVE_WORKING_KQUEUE 1)
     else()
-        message("Checking if kqueue works with pipes...")
+        message(STATUS "Checking if kqueue works with pipes...")
         include(CheckWorkingKqueue)
     endif()
 endif()
@@ -590,8 +645,8 @@ endif()
 if (NOT EVENT__DISABLE_OPENSSL)
     find_package(OpenSSL REQUIRED)
     set(EVENT__HAVE_OPENSSL 1)
-    message("OpenSSL include: ${OPENSSL_INCLUDE_DIR}")
-    message("OpenSSL lib: ${OPENSSL_LIBRARIES}")
+    message(STATUS "OpenSSL include: ${OPENSSL_INCLUDE_DIR}")
+    message(STATUS "OpenSSL lib: ${OPENSSL_LIBRARIES}")
     include_directories(${OPENSSL_INCLUDE_DIR})
     list(APPEND SRC_CORE bufferevent_openssl.c)
     list(APPEND HDR_PUBLIC include/event2/bufferevent_ssl.h)
@@ -688,7 +743,8 @@ endif (EVENT__BUILD_SHARED_LIBRARIES)
 
 configure_file(
     ${CMAKE_CURRENT_SOURCE_DIR}/event-config.h.cmake
-    ${CMAKE_CURRENT_BINARY_DIR}/include/event2/event-config.h)
+    ${CMAKE_CURRENT_BINARY_DIR}/include/event2/event-config.h
+               NEWLINE_STYLE UNIX)
 
 configure_file(
     ${CMAKE_CURRENT_SOURCE_DIR}/evconfig-private.h.cmake
@@ -725,9 +781,6 @@ add_library(event ${EVENT__LIBRARY_TYPE}
     ${SRC_EXTRA}
     )
 
-if (EVENT__BUILD_SHARED_LIBRARIES)
-endif (EVENT__BUILD_SHARED_LIBRARIES)
-
 if (EVENT__BUILD_SHARED_LIBRARIES)
     # Prepare static library to be linked to tests that need hidden symbols
     add_library(event_extra_static STATIC
@@ -812,7 +865,6 @@ if (NOT EVENT__DISABLE_BENCHMARK)
 endif()
 
 if (NOT EVENT__DISABLE_TESTS)
-
     #
     # Generate Regress tests.
     #
@@ -825,7 +877,7 @@ if (NOT EVENT__DISABLE_TESTS)
         endif()
 
         if (__FOUND_USABLE_PYTHON)
-            message("Generating regress tests...")
+            message(STATUS "Generating regress tests...")
             add_definitions(-DTINYTEST_LOCAL)
             add_custom_command(
                 OUTPUT
@@ -894,6 +946,20 @@ if (NOT EVENT__DISABLE_TESTS)
     #
     # Test programs.
     #
+               # all of these, including the cmakelists.txt should be moved
+               # into the dirctory 'tests' first.
+               #
+               # doing this, we can remove all the DISABLE_TESTS stuff, and simply
+               # do something like:
+               #
+               # add_custom_targets(tests)
+               # add_executable(... EXCLUDE_FROM_ALL ...c)
+               # add_dependencis(tests testa testb testc)
+               # add_test(....)
+               #
+               # then you can just run 'make tests' instead of them all
+               # auto-compile|running
+               # - ellzey
     set(TESTPROGS   test-changelist
                     test-eof
                     test-fdleak
@@ -945,7 +1011,6 @@ if (NOT EVENT__DISABLE_TESTS)
         list(APPEND BACKENDS WIN32)
     endif()
 
-    message("Available event backends: ${BACKENDS}")
 
     # Default environment variables turns off all event systems,
     # then we enable each one, one at a time when creating the tests.
@@ -1036,7 +1101,7 @@ if (NOT EVENT__DISABLE_TESTS)
             \"${WINDOWS_CTEST_COMMAND}\"
             ")
 
-        message("${WINDOWS_CTEST_COMMAND}")
+        message(STATUS "${WINDOWS_CTEST_COMMAND}")
         file(COPY ${CMAKE_CURRENT_BINARY_DIR}/tmp/verify_tests.bat
             DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
             FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
@@ -1175,3 +1240,29 @@ install(EXPORT LibeventTargets
         DESTINATION "${EVENT_INSTALL_CMAKE_DIR}" COMPONENT dev)
 
 set(LIBEVENT_LIBRARIES event event_core event_extra CACHE STRING "Libevent libraries")
+
+message("")
+message("        ---( Libevent " ${EVENT_VERSION} " )---")
+message("")
+message(STATUS "Available event backends: ${BACKENDS}")
+message(STATUS "CMAKE_BINARY_DIR:         " ${CMAKE_BINARY_DIR})
+message(STATUS "CMAKE_CURRENT_BINARY_DIR: " ${CMAKE_CURRENT_BINARY_DIR})
+message(STATUS "CMAKE_SOURCE_DIR:         " ${CMAKE_SOURCE_DIR})
+message(STATUS "CMAKE_CURRENT_SOURCE_DIR: " ${CMAKE_CURRENT_SOURCE_DIR})
+message(STATUS "PROJECT_BINARY_DIR:       " ${PROJECT_BINARY_DIR})
+message(STATUS "PROJECT_SOURCE_DIR:       " ${PROJECT_SOURCE_DIR})
+message(STATUS "CMAKE_MODULE_PATH:        " ${CMAKE_MODULE_PATH})
+message(STATUS "CMAKE_COMMAND:            " ${CMAKE_COMMAND})
+message(STATUS "CMAKE_ROOT:               " ${CMAKE_ROOT} )
+message(STATUS "CMAKE_SYSTEM:             " ${CMAKE_SYSTEM} )
+message(STATUS "CMAKE_SYSTEM_NAME:        " ${CMAKE_SYSTEM_NAME} )
+message(STATUS "CMAKE_SYSTEM_VERSION:     " ${CMAKE_SYSTEM_VERSION} )
+message(STATUS "CMAKE_SYSTEM_PROCESSOR:   " ${CMAKE_SYSTEM_PROCESSOR} )
+message(STATUS "CMAKE_SKIP_RPATH:         " ${CMAKE_SKIP_RPATH} )
+message(STATUS "CMAKE_VERBOSE_MAKEFILE:   " ${CMAKE_VERBOSE_MAKEFILE} )
+message(STATUS "CMAKE_C_FLAGS:            " ${CMAKE_C_FLAGS} )
+message(STATUS "CMAKE_BUILD_TYPE:         " ${CMAKE_BUILD_TYPE} )
+message(STATUS "CMAKE_C_COMPILER:         " ${CMAKE_C_COMPILER} )
+message(STATUS "CMAKE_AR:                 " ${CMAKE_AR} )
+message(STATUS "CMAKE_RANLIB:             " ${CMAKE_RANLIB} )
+message("")
index b3ad31adccc53667a28b3cfe0ed0f49a138dde3d..ad9652f8cf421dc7d8c3d0431adb7411c9d14df9 100644 (file)
--- a/README.md
+++ b/README.md
      $ make verify   # (optional)
      $ sudo make install
 
+## Cmake (General)
+
+
+The following Libevent specific Cmake variables ar as follows (the values being
+the default).
+
+```
+# Installation directory for executables
+EVENT_INSTALL_BIN_DIR:PATH=bin
+
+# Installation directory for CMake files
+EVENT_INSTALL_CMAKE_DIR:PATH=lib/cmake/libevent
+
+## Installation directory for header files
+EVENT_INSTALL_INCLUDE_DIR:PATH=include
+
+## Installation directory for libraries
+EVENT_INSTALL_LIB_DIR:PATH=lib
+
+## Define if libevent should be built with shared libraries instead of archives
+EVENT__BUILD_SHARED_LIBRARIES:BOOL=OFF
+
+# Enable running gcov to get a test coverage report (only works with
+# GCC/CLang). Make sure to enable -DCMAKE_BUILD_TYPE=Debug as well.
+EVENT__COVERAGE:BOOL=OFF
+
+# Defines if libevent should build without the benchmark exectuables
+EVENT__DISABLE_BENCHMARK:BOOL=OFF
+
+# Define if libevent should build without support for a debug mode
+EVENT__DISABLE_DEBUG_MODE:BOOL=OFF
+
+# Define if libevent should not allow replacing the mm functions
+EVENT__DISABLE_MM_REPLACEMENT:BOOL=OFF
+
+# Define if libevent should build without support for OpenSSL encrpytion
+EVENT__DISABLE_OPENSSL:BOOL=ON
+
+# Disable the regress tests
+EVENT__DISABLE_REGRESS:BOOL=OFF
+
+# Disable sample files
+EVENT__DISABLE_SAMPLES:BOOL=OFF
+
+# If tests should be compiled or not
+EVENT__DISABLE_TESTS:BOOL=OFF
+
+# Define if libevent should not be compiled with thread support
+EVENT__DISABLE_THREAD_SUPPORT:BOOL=OFF
+
+# Enables verbose debugging
+EVENT__ENABLE_VERBOSE_DEBUG:BOOL=OFF
+
+# When crosscompiling forces running a test program that verifies that Kqueue
+# works with pipes. Note that this requires you to manually run the test program
+# on the the cross compilation target to verify that it works. See cmake
+# documentation for try_run for more details
+EVENT__FORCE_KQUEUE_CHECK:BOOL=OFF
+
+# set EVENT_STAGE_VERSION
+EVENT__STAGE_VERSION:STRING=beta
+```
+
+__More variables can be found by running `cmake -LAH <sourcedir_path>`__
+
+
 ## CMake (Windows)
 
 Install CMake: <http://www.cmake.org>
diff --git a/cmake/CheckFunctionKeywords.cmake b/cmake/CheckFunctionKeywords.cmake
new file mode 100644 (file)
index 0000000..3d968b8
--- /dev/null
@@ -0,0 +1,14 @@
+include(CheckCSourceCompiles)
+
+macro(check_function_keywords _wordlist)
+  set(${_result} "")
+  foreach(flag ${_wordlist})
+    string(REGEX REPLACE "[-+/ ()]" "_" flagname "${flag}")
+    string(TOUPPER "${flagname}" flagname)
+    set(have_flag "HAVE_${flagname}")
+    check_c_source_compiles("${flag} void func(); void func() { } int main() { func(); return 0; }" ${have_flag})
+    if(${have_flag} AND NOT ${_result})
+      set(${_result} "${flag}")
+    endif(${have_flag} AND NOT ${_result})
+  endforeach(flag)
+endmacro(check_function_keywords)
index 3a575c75149c914a54a41e7e779ca86b8eaedca3..05fcf559399642f431c43f0c1722eecf67428aeb 100644 (file)
@@ -11,8 +11,7 @@
 
 /* Numeric representation of the version */
 #define EVENT__NUMERIC_VERSION @EVENT_NUMERIC_VERSION@
-
-#define EVENT__PACKAGE_VERSION @EVENT_PACKAGE_VERSION@
+#define EVENT__PACKAGE_VERSION "@EVENT_PACKAGE_VERSION@"
 
 /* Version number of package */
 #define EVENT__VERSION "@EVENT_VERSION@"
 #define EVENT__PACKAGE_TARNAME ""
 
 /* Define if libevent should build without support for a debug mode */
-#cmakedefine EVENT__DISABLE_DEBUG_MODE 0
+#cmakedefine EVENT__DISABLE_DEBUG_MODE
 
 /* Define if libevent should not allow replacing the mm functions */
-#cmakedefine EVENT__DISABLE_MM_REPLACEMENT 0
+#cmakedefine EVENT__DISABLE_MM_REPLACEMENT
 
 /* Define if libevent should not be compiled with thread support */
-#cmakedefine EVENT__DISABLE_THREAD_SUPPORT 0
+#cmakedefine EVENT__DISABLE_THREAD_SUPPORT
 
 /* Define to 1 if you have the `accept4' function. */
-#cmakedefine EVENT__HAVE_ACCEPT4 1
+#cmakedefine EVENT__HAVE_ACCEPT4
 
 /* Define to 1 if you have the `arc4random' function. */
-#cmakedefine EVENT__HAVE_ARC4RANDOM 1
+#cmakedefine EVENT__HAVE_ARC4RANDOM
 
 /* Define to 1 if you have the `arc4random_buf' function. */
-#cmakedefine EVENT__HAVE_ARC4RANDOM_BUF 1
+#cmakedefine EVENT__HAVE_ARC4RANDOM_BUF
 
 /* Define if clock_gettime is available in libc */
-#cmakedefine EVENT__DNS_USE_CPU_CLOCK_FOR_ID 1
+#cmakedefine EVENT__DNS_USE_CPU_CLOCK_FOR_ID
 
 /* Define is no secure id variant is available */
-#cmakedefine EVENT__DNS_USE_GETTIMEOFDAY_FOR_ID 1
-#cmakedefine EVENT__DNS_USE_FTIME_FOR_ID 1
+#cmakedefine EVENT__DNS_USE_GETTIMEOFDAY_FOR_ID
+#cmakedefine EVENT__DNS_USE_FTIME_FOR_ID
 
 /* Define to 1 if you have the <arpa/inet.h> header file. */
-#cmakedefine EVENT__HAVE_ARPA_INET_H 1
+#cmakedefine EVENT__HAVE_ARPA_INET_H
 
 /* Define to 1 if you have the `clock_gettime' function. */
-#cmakedefine EVENT__HAVE_CLOCK_GETTIME 1
+#cmakedefine EVENT__HAVE_CLOCK_GETTIME
 
 /* Define to 1 if you have the declaration of `CTL_KERN'. */
-#cmakedefine EVENT__HAVE_DECL_CTL_KERN 1
+#cmakedefine EVENT__HAVE_DECL_CTL_KERN
 
 /* Define to 1 if you have the declaration of `KERN_ARND'. */
-#cmakedefine EVENT__HAVE_DECL_KERN_ARND 0
+#cmakedefine EVENT__HAVE_DECL_KERN_ARND
 
 /* Define to 1 if you have the declaration of `KERN_RANDOM'. */
-#cmakedefine EVENT__HAVE_DECL_KERN_RANDOM 1
+#cmakedefine EVENT__HAVE_DECL_KERN_RANDOM
 
 /* Define if /dev/poll is available */
-#cmakedefine EVENT__HAVE_DEVPOLL 1
+#cmakedefine EVENT__HAVE_DEVPOLL
 
 /* Define to 1 if you have the <netdb.h> header file. */
-#cmakedefine EVENT__HAVE_NETDB_H 1
+#cmakedefine EVENT__HAVE_NETDB_H
 
 /* Define to 1 if fd_mask type is defined */
-#cmakedefine EVENT__HAVE_FD_MASK 1
+#cmakedefine EVENT__HAVE_FD_MASK
 
 /* Define to 1 if the <sys/queue.h> header file defines TAILQ_FOREACH. */
-#cmakedefine EVENT__HAVE_TAILQFOREACH 1
+#cmakedefine EVENT__HAVE_TAILQFOREACH
 
 /* Define to 1 if you have the <dlfcn.h> header file. */
-#cmakedefine EVENT__HAVE_DLFCN_H 1
+#cmakedefine EVENT__HAVE_DLFCN_H
 
 /* Define if your system supports the epoll system calls */
-#cmakedefine EVENT__HAVE_EPOLL 1
+#cmakedefine EVENT__HAVE_EPOLL
 
 /* Define to 1 if you have the `epoll_create1' function. */
-#cmakedefine EVENT__HAVE_EPOLL_CREATE1 1
+#cmakedefine EVENT__HAVE_EPOLL_CREATE1
 
 /* Define to 1 if you have the `epoll_ctl' function. */
-#cmakedefine EVENT__HAVE_EPOLL_CTL 1
+#cmakedefine EVENT__HAVE_EPOLL_CTL
 
 /* Define to 1 if you have the `eventfd' function. */
-#cmakedefine EVENT__HAVE_EVENTFD 1
+#cmakedefine EVENT__HAVE_EVENTFD
 
 /* Define if your system supports event ports */
-#cmakedefine EVENT__HAVE_EVENT_PORTS 1
+#cmakedefine EVENT__HAVE_EVENT_PORTS
 
 /* Define to 1 if you have the `fcntl' function. */
-#cmakedefine EVENT__HAVE_FCNTL 1
+#cmakedefine EVENT__HAVE_FCNTL
 
 /* Define to 1 if you have the <fcntl.h> header file. */
-#cmakedefine EVENT__HAVE_FCNTL_H 1
+#cmakedefine EVENT__HAVE_FCNTL_H
 
 /* Define to 1 if you have the `getaddrinfo' function. */
-#cmakedefine EVENT__HAVE_GETADDRINFO 1
+#cmakedefine EVENT__HAVE_GETADDRINFO
 
 /* Define to 1 if you have the `getegid' function. */
-#cmakedefine EVENT__HAVE_GETEGID 1
+#cmakedefine EVENT__HAVE_GETEGID
 
 /* Define to 1 if you have the `geteuid' function. */
-#cmakedefine EVENT__HAVE_GETEUID 1
+#cmakedefine EVENT__HAVE_GETEUID
 
 /* TODO: Check for different gethostname argument counts. CheckPrototypeDefinition.cmake can be used. */
 /* Define this if you have any gethostbyname_r() */
-#cmakedefine EVENT__HAVE_GETHOSTBYNAME_R 1
+#cmakedefine EVENT__HAVE_GETHOSTBYNAME_R
 
 /* Define this if gethostbyname_r takes 3 arguments */
-#cmakedefine EVENT__HAVE_GETHOSTBYNAME_R_3_ARG 1
+#cmakedefine EVENT__HAVE_GETHOSTBYNAME_R_3_ARG
 
 /* Define this if gethostbyname_r takes 5 arguments */
-#cmakedefine EVENT__HAVE_GETHOSTBYNAME_R_5_ARG 1
+#cmakedefine EVENT__HAVE_GETHOSTBYNAME_R_5_ARG
 
 /* Define this if gethostbyname_r takes 6 arguments */
-#cmakedefine EVENT__HAVE_GETHOSTBYNAME_R_6_ARG 1
+#cmakedefine EVENT__HAVE_GETHOSTBYNAME_R_6_ARG
 
 /* Define to 1 if you have the `getifaddrs' function. */
-#cmakedefine EVENT__HAVE_GETIFADDRS 1
+#cmakedefine EVENT__HAVE_GETIFADDRS
 
 /* Define to 1 if you have the `getnameinfo' function. */
-#cmakedefine EVENT__HAVE_GETNAMEINFO 1
+#cmakedefine EVENT__HAVE_GETNAMEINFO
 
 /* Define to 1 if you have the `getprotobynumber' function. */
-#cmakedefine EVENT__HAVE_GETPROTOBYNUMBER 1
+#cmakedefine EVENT__HAVE_GETPROTOBYNUMBER
 
 /* Define to 1 if you have the `getservbyname' function. */
-#cmakedefine EVENT__HAVE_GETSERVBYNAME 1
+#cmakedefine EVENT__HAVE_GETSERVBYNAME
 
 /* Define to 1 if you have the `gettimeofday' function. */
-#cmakedefine EVENT__HAVE_GETTIMEOFDAY 1
+#cmakedefine EVENT__HAVE_GETTIMEOFDAY
 
 /* Define to 1 if you have the <ifaddrs.h> header file. */
-#cmakedefine EVENT__HAVE_IFADDRS_H 1
+#cmakedefine EVENT__HAVE_IFADDRS_H
 
 /* Define to 1 if you have the `inet_ntop' function. */
-#cmakedefine EVENT__HAVE_INET_NTOP 1
+#cmakedefine EVENT__HAVE_INET_NTOP
 
 /* Define to 1 if you have the `inet_pton' function. */
-#cmakedefine EVENT__HAVE_INET_PTON 1
+#cmakedefine EVENT__HAVE_INET_PTON
 
 /* Define to 1 if you have the <inttypes.h> header file. */
-#cmakedefine EVENT__HAVE_INTTYPES_H 1
+#cmakedefine EVENT__HAVE_INTTYPES_H
 
 /* Define to 1 if you have the `issetugid' function. */
-#cmakedefine EVENT__HAVE_ISSETUGID 1
+#cmakedefine EVENT__HAVE_ISSETUGID
 
 /* Define to 1 if you have the `kqueue' function. */
-#cmakedefine EVENT__HAVE_KQUEUE 1
+#cmakedefine EVENT__HAVE_KQUEUE
 
 /* Define if the system has zlib */
-#cmakedefine EVENT__HAVE_LIBZ 1
+#cmakedefine EVENT__HAVE_LIBZ
 
 /* Define to 1 if you have the `mach_absolute_time' function. */
-#cmakedefine EVENT__HAVE_MACH_ABSOLUTE_TIME 1
+#cmakedefine EVENT__HAVE_MACH_ABSOLUTE_TIME
 
 /* Define to 1 if you have the <mach/mach_time.h> header file. */
-#cmakedefine EVENT__HAVE_MACH_MACH_TIME_H 1
+#cmakedefine EVENT__HAVE_MACH_MACH_TIME_H
 
 /* Define to 1 if you have the <memory.h> header file. */
-#cmakedefine EVENT__HAVE_MEMORY_H 1
+#cmakedefine EVENT__HAVE_MEMORY_H
 
 /* Define to 1 if you have the `mmap' function. */
-#cmakedefine EVENT__HAVE_MMAP 1
+#cmakedefine EVENT__HAVE_MMAP
 
 /* Define to 1 if you have the `nanosleep' function. */
-#cmakedefine EVENT__HAVE_NANOSLEEP 1
+#cmakedefine EVENT__HAVE_NANOSLEEP
 
 /* Define to 1 if you have the `usleep' function. */
-#cmakedefine EVENT__HAVE_USLEEP 1
+#cmakedefine EVENT__HAVE_USLEEP
 
 /* Define to 1 if you have the <netdb.h> header file. */
-#cmakedefine EVENT__HAVE_NETDB_H 1
+#cmakedefine EVENT__HAVE_NETDB_H
 
 /* Define to 1 if you have the <netinet/in6.h> header file. */
-#cmakedefine EVENT__HAVE_NETINET_IN6_H 1
+#cmakedefine EVENT__HAVE_NETINET_IN6_H
 
 /* Define to 1 if you have the <netinet/in.h> header file. */
-#cmakedefine EVENT__HAVE_NETINET_IN_H 1
+#cmakedefine EVENT__HAVE_NETINET_IN_H
 
 /* Define to 1 if you have the <netinet/tcp.h> header file. */
-#cmakedefine EVENT__HAVE_NETINET_TCP_H 1
+#cmakedefine EVENT__HAVE_NETINET_TCP_H
 
 /* Define if the system has openssl */
-#cmakedefine EVENT__HAVE_OPENSSL 1
+#cmakedefine EVENT__HAVE_OPENSSL
 
 /* Defines if the system has zlib */
-#cmakedefine EVENT__HAVE_ZLIB 1
+#cmakedefine EVENT__HAVE_ZLIB
 
 /* Define to 1 if you have the `pipe' function. */
-#cmakedefine EVENT__HAVE_PIPE 1
+#cmakedefine EVENT__HAVE_PIPE
 
 /* Define to 1 if you have the `pipe2' function. */
-#cmakedefine EVENT__HAVE_PIPE2 1
+#cmakedefine EVENT__HAVE_PIPE2
 
 /* Define to 1 if you have the `poll' function. */
-#cmakedefine EVENT__HAVE_POLL 1
+#cmakedefine EVENT__HAVE_POLL
 
 /* Define to 1 if you have the <poll.h> header file. */
-#cmakedefine EVENT__HAVE_POLL_H 1
+#cmakedefine EVENT__HAVE_POLL_H
 
 /* Define to 1 if you have the `port_create' function. */
-#cmakedefine EVENT__HAVE_PORT_CREATE 1
+#cmakedefine EVENT__HAVE_PORT_CREATE
 
 /* Define to 1 if you have the <port.h> header file. */
-#cmakedefine EVENT__HAVE_PORT_H 1
+#cmakedefine EVENT__HAVE_PORT_H
 
 /* Define if you have POSIX threads libraries and header files. */
-#cmakedefine EVENT__HAVE_PTHREAD 1
+#cmakedefine EVENT__HAVE_PTHREAD
 
 /* Define if we have pthreads on this system */
-#cmakedefine EVENT__HAVE_PTHREADS 1
+#cmakedefine EVENT__HAVE_PTHREADS
 
 /* Define to 1 if you have the `putenv' function. */
-#cmakedefine EVENT__HAVE_PUTENV 1
+#cmakedefine EVENT__HAVE_PUTENV
 
 /* Define to 1 if the system has the type `sa_family_t'. */
-#cmakedefine EVENT__HAVE_SA_FAMILY_T 1
+#cmakedefine EVENT__HAVE_SA_FAMILY_T
 
 /* Define to 1 if you have the `select' function. */
-#cmakedefine EVENT__HAVE_SELECT 1
+#cmakedefine EVENT__HAVE_SELECT
 
 /* Define to 1 if you have the `setenv' function. */
-#cmakedefine EVENT__HAVE_SETENV 1
+#cmakedefine EVENT__HAVE_SETENV
 
 /* Define if F_SETFD is defined in <fcntl.h> */
-#cmakedefine EVENT__HAVE_SETFD 1
+#cmakedefine EVENT__HAVE_SETFD
 
 /* Define to 1 if you have the `setrlimit' function. */
-#cmakedefine EVENT__HAVE_SETRLIMIT 1
+#cmakedefine EVENT__HAVE_SETRLIMIT
 
 /* Define to 1 if you have the `sendfile' function. */
-#cmakedefine EVENT__HAVE_SENDFILE 1
+#cmakedefine EVENT__HAVE_SENDFILE
 
 /* Define if F_SETFD is defined in <fcntl.h> */
-#cmakedefine EVENT__HAVE_SETFD 1
+#cmakedefine EVENT__HAVE_SETFD
 
 /* Define to 1 if you have the `sigaction' function. */
-#cmakedefine EVENT__HAVE_SIGACTION 1
+#cmakedefine EVENT__HAVE_SIGACTION
 
 /* Define to 1 if you have the `signal' function. */
-#cmakedefine EVENT__HAVE_SIGNAL 1
+#cmakedefine EVENT__HAVE_SIGNAL
 
 /* Define to 1 if you have the `splice' function. */
-#cmakedefine EVENT__HAVE_SPLICE 1
+#cmakedefine EVENT__HAVE_SPLICE
 
 /* Define to 1 if you have the <stdarg.h> header file. */
-#cmakedefine EVENT__HAVE_STDARG_H 1
+#cmakedefine EVENT__HAVE_STDARG_H
 
 /* Define to 1 if you have the <stddef.h> header file. */
-#cmakedefine EVENT__HAVE_STDDEF_H 1
+#cmakedefine EVENT__HAVE_STDDEF_H
 
 /* Define to 1 if you have the <stdint.h> header file. */
-#cmakedefine EVENT__HAVE_STDINT_H 1
+#cmakedefine EVENT__HAVE_STDINT_H
 
 /* Define to 1 if you have the <stdlib.h> header file. */
-#cmakedefine EVENT__HAVE_STDLIB_H 1
+#cmakedefine EVENT__HAVE_STDLIB_H
 
 /* Define to 1 if you have the <strings.h> header file. */
-#cmakedefine EVENT__HAVE_STRINGS_H 1
+#cmakedefine EVENT__HAVE_STRINGS_H
 
 /* Define to 1 if you have the <string.h> header file. */
-#cmakedefine EVENT__HAVE_STRING_H 1
+#cmakedefine EVENT__HAVE_STRING_H
 
 /* Define to 1 if you have the `strlcpy' function. */
-#cmakedefine EVENT__HAVE_STRLCPY 1
+#cmakedefine EVENT__HAVE_STRLCPY
 
 /* Define to 1 if you have the `strsep' function. */
-#cmakedefine EVENT__HAVE_STRSEP 1
+#cmakedefine EVENT__HAVE_STRSEP
 
 /* Define to 1 if you have the `strtok_r' function. */
-#cmakedefine EVENT__HAVE_STRTOK_R 1
+#cmakedefine EVENT__HAVE_STRTOK_R
 
 /* Define to 1 if you have the `strtoll' function. */
-#cmakedefine EVENT__HAVE_STRTOLL 1
+#cmakedefine EVENT__HAVE_STRTOLL
 
 /* Define to 1 if the system has the type `struct addrinfo'. */
-#cmakedefine EVENT__HAVE_STRUCT_ADDRINFO 1
+#cmakedefine EVENT__HAVE_STRUCT_ADDRINFO
 
 /* Define to 1 if the system has the type `struct in6_addr'. */
-#cmakedefine EVENT__HAVE_STRUCT_IN6_ADDR 1
+#cmakedefine EVENT__HAVE_STRUCT_IN6_ADDR
 
 /* Define to 1 if `s6_addr16' is member of `struct in6_addr'. */
-#cmakedefine EVENT__HAVE_STRUCT_IN6_ADDR_S6_ADDR16 1
+#cmakedefine EVENT__HAVE_STRUCT_IN6_ADDR_S6_ADDR16
 
 /* Define to 1 if `s6_addr32' is member of `struct in6_addr'. */
-#cmakedefine EVENT__HAVE_STRUCT_IN6_ADDR_S6_ADDR32 1
+#cmakedefine EVENT__HAVE_STRUCT_IN6_ADDR_S6_ADDR32
 
 /* Define to 1 if the system has the type `struct sockaddr_in6'. */
-#cmakedefine EVENT__HAVE_STRUCT_SOCKADDR_IN6 1
+#cmakedefine EVENT__HAVE_STRUCT_SOCKADDR_IN6
 
 /* Define to 1 if `sin6_len' is member of `struct sockaddr_in6'. */
-#cmakedefine EVENT__HAVE_STRUCT_SOCKADDR_IN6_SIN6_LEN 1
+#cmakedefine EVENT__HAVE_STRUCT_SOCKADDR_IN6_SIN6_LEN
 
 /* Define to 1 if `sin_len' is member of `struct sockaddr_in'. */
-#cmakedefine EVENT__HAVE_STRUCT_SOCKADDR_IN_SIN_LEN 1
+#cmakedefine EVENT__HAVE_STRUCT_SOCKADDR_IN_SIN_LEN
 
 /* Define to 1 if the system has the type `struct sockaddr_storage'. */
-#cmakedefine EVENT__HAVE_STRUCT_SOCKADDR_STORAGE 1
+#cmakedefine EVENT__HAVE_STRUCT_SOCKADDR_STORAGE
 
 /* Define to 1 if `ss_family' is a member of `struct sockaddr_storage'. */
-#cmakedefine EVENT__HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY 1
+#cmakedefine EVENT__HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY
 
 /* Define to 1 if `__ss_family' is a member of `struct sockaddr_storage'. */
-#cmakedefine EVENT__HAVE_STRUCT_SOCKADDR_STORAGE___SS_FAMILY 1
+#cmakedefine EVENT__HAVE_STRUCT_SOCKADDR_STORAGE___SS_FAMILY
 
 /* Define to 1 if you have the `sysctl' function. */
-#cmakedefine EVENT__HAVE_SYSCTL 1
+#cmakedefine EVENT__HAVE_SYSCTL
 
 /* Define to 1 if you have the <sys/devpoll.h> header file. */
-#cmakedefine EVENT__HAVE_SYS_DEVPOLL_H 1
+#cmakedefine EVENT__HAVE_SYS_DEVPOLL_H
 
 /* Define to 1 if you have the <sys/epoll.h> header file. */
-#cmakedefine EVENT__HAVE_SYS_EPOLL_H 1
+#cmakedefine EVENT__HAVE_SYS_EPOLL_H
 
 /* Define to 1 if you have the <sys/eventfd.h> header file. */
-#cmakedefine EVENT__HAVE_SYS_EVENTFD_H 1
+#cmakedefine EVENT__HAVE_SYS_EVENTFD_H
 
 /* Define to 1 if you have the <sys/event.h> header file. */
-#cmakedefine EVENT__HAVE_SYS_EVENT_H 1
+#cmakedefine EVENT__HAVE_SYS_EVENT_H
 
 /* Define to 1 if you have the <sys/ioctl.h> header file. */
-#cmakedefine EVENT__HAVE_SYS_IOCTL_H 1
+#cmakedefine EVENT__HAVE_SYS_IOCTL_H
 
 /* Define to 1 if you have the <sys/mman.h> header file. */
-#cmakedefine EVENT__HAVE_SYS_MMAN_H 1
+#cmakedefine EVENT__HAVE_SYS_MMAN_H
 
 /* Define to 1 if you have the <sys/param.h> header file. */
-#cmakedefine EVENT__HAVE_SYS_PARAM_H 1
+#cmakedefine EVENT__HAVE_SYS_PARAM_H
 
 /* Define to 1 if you have the <sys/queue.h> header file. */
-#cmakedefine EVENT__HAVE_SYS_QUEUE_H 1
+#cmakedefine EVENT__HAVE_SYS_QUEUE_H
 
 /* Define to 1 if you have the <sys/resource.h> header file. */
-#cmakedefine EVENT__HAVE_SYS_RESOURCE_H 1
+#cmakedefine EVENT__HAVE_SYS_RESOURCE_H
 
 /* Define to 1 if you have the <sys/select.h> header file. */
-#cmakedefine EVENT__HAVE_SYS_SELECT_H 1
+#cmakedefine EVENT__HAVE_SYS_SELECT_H
 
 /* Define to 1 if you have the <sys/sendfile.h> header file. */
-#cmakedefine EVENT__HAVE_SYS_SENDFILE_H 1
+#cmakedefine EVENT__HAVE_SYS_SENDFILE_H
 
 /* Define to 1 if you have the <sys/socket.h> header file. */
-#cmakedefine EVENT__HAVE_SYS_SOCKET_H 1
+#cmakedefine EVENT__HAVE_SYS_SOCKET_H
 
 /* Define to 1 if you have the <sys/stat.h> header file. */
-#cmakedefine EVENT__HAVE_SYS_STAT_H 1
+#cmakedefine EVENT__HAVE_SYS_STAT_H
 
 /* Define to 1 if you have the <sys/sysctl.h> header file. */
-#cmakedefine EVENT__HAVE_SYS_SYSCTL_H 1
+#cmakedefine EVENT__HAVE_SYS_SYSCTL_H
 
 /* Define to 1 if you have the <sys/timerfd.h> header file. */
 #cmakedefine EVENT__HAVE_SYS_TIMERFD_H */
 
 /* Define to 1 if you have the <sys/time.h> header file. */
-#cmakedefine EVENT__HAVE_SYS_TIME_H 1
+#cmakedefine EVENT__HAVE_SYS_TIME_H
 
 /* Define to 1 if you have the <sys/types.h> header file. */
-#cmakedefine EVENT__HAVE_SYS_TYPES_H 1
+#cmakedefine EVENT__HAVE_SYS_TYPES_H
 
 /* Define to 1 if you have the <sys/uio.h> header file. */
-#cmakedefine EVENT__HAVE_SYS_UIO_H 1
+#cmakedefine EVENT__HAVE_SYS_UIO_H
 
 /* Define to 1 if you have the <sys/wait.h> header file. */
-#cmakedefine EVENT__HAVE_SYS_WAIT_H 1
+#cmakedefine EVENT__HAVE_SYS_WAIT_H
 
 /* Define if TAILQ_FOREACH is defined in <sys/queue.h> */
-#cmakedefine EVENT__HAVE_TAILQFOREACH 1
+#cmakedefine EVENT__HAVE_TAILQFOREACH
 
 /* Define if timeradd is defined in <sys/time.h> */
-#cmakedefine EVENT__HAVE_TIMERADD 1
+#cmakedefine EVENT__HAVE_TIMERADD
 
 /* Define if timerclear is defined in <sys/time.h> */
-#cmakedefine EVENT__HAVE_TIMERCLEAR 1
+#cmakedefine EVENT__HAVE_TIMERCLEAR
 
 /* Define if timercmp is defined in <sys/time.h> */
-#cmakedefine EVENT__HAVE_TIMERCMP 1
+#cmakedefine EVENT__HAVE_TIMERCMP
 
 /* Define to 1 if you have the `timerfd_create' function. */
-#cmakedefine EVENT__HAVE_TIMERFD_CREATE 1
+#cmakedefine EVENT__HAVE_TIMERFD_CREATE
 
 /* Define if timerisset is defined in <sys/time.h> */
-#cmakedefine EVENT__HAVE_TIMERISSET 1
+#cmakedefine EVENT__HAVE_TIMERISSET
 
 /* Define to 1 if the system has the type `uint8_t'. */
-#cmakedefine EVENT__HAVE_UINT8_T 1
+#cmakedefine EVENT__HAVE_UINT8_T
 
 /* Define to 1 if the system has the type `uint16_t'. */
-#cmakedefine EVENT__HAVE_UINT16_T 1
+#cmakedefine EVENT__HAVE_UINT16_T
 
 /* Define to 1 if the system has the type `uint32_t'. */
-#cmakedefine EVENT__HAVE_UINT32_T 1
+#cmakedefine EVENT__HAVE_UINT32_T
 
 /* Define to 1 if the system has the type `uint64_t'. */
-#cmakedefine EVENT__HAVE_UINT64_T 1
+#cmakedefine EVENT__HAVE_UINT64_T
 
 /* Define to 1 if the system has the type `uintptr_t'. */
-#cmakedefine EVENT__HAVE_UINTPTR_T 1
+#cmakedefine EVENT__HAVE_UINTPTR_T
 
 /* Define to 1 if you have the `umask' function. */
-#cmakedefine EVENT__HAVE_UMASK 1
+#cmakedefine EVENT__HAVE_UMASK
 
 /* Define to 1 if you have the <unistd.h> header file. */
-#cmakedefine EVENT__HAVE_UNISTD_H 1
+#cmakedefine EVENT__HAVE_UNISTD_H
 
 /* Define to 1 if you have the `unsetenv' function. */
-#cmakedefine EVENT__HAVE_UNSETENV 1
+#cmakedefine EVENT__HAVE_UNSETENV
 
 /* Define to 1 if you have the `vasprintf' function. */
-#cmakedefine EVENT__HAVE_VASPRINTF 1
+#cmakedefine EVENT__HAVE_VASPRINTF
 
 /* Define if kqueue works correctly with pipes */
-#cmakedefine EVENT__HAVE_WORKING_KQUEUE 1
+#cmakedefine EVENT__HAVE_WORKING_KQUEUE
 
-/* Define to necessary symbol if this constant uses a non-standard name on
-   your system. */
-#cmakedefine EVENT__PTHREAD_CREATE_JOINABLE ${EVENT__PTHREAD_CREATE_JOINABLE}
+#ifdef __USE_UNUSED_DEFINITIONS__
+/* Define to necessary symbol if this constant uses a non-standard name on your system. */
+/* XXX: Hello, this isn't even used, nor is it defined anywhere... - Ellzey
+#define EVENT__PTHREAD_CREATE_JOINABLE ${EVENT__PTHREAD_CREATE_JOINABLE}
+#endif /* __USE_UNUSED_DEFINITIONS__ */
 
 /* The size of `pthread_t', as computed by sizeof. */
-#cmakedefine EVENT__SIZEOF_PTHREAD_T ${EVENT__SIZEOF_PTHREAD_T}
+#define EVENT__SIZEOF_PTHREAD_T @EVENT__SIZEOF_PTHREAD_T@
 
 /* The size of a `int', as computed by sizeof. */
-#cmakedefine EVENT__SIZEOF_INT ${EVENT__SIZEOF_INT}
+#cmakedefine EVENT__SIZEOF_INT @EVENT__SIZEOF_INT@
 
 /* The size of a `long', as computed by sizeof. */
-#cmakedefine EVENT__SIZEOF_LONG ${EVENT__SIZEOF_LONG}
+#cmakedefine EVENT__SIZEOF_LONG @EVENT__SIZEOF_LONG@
 
 /* The size of a `long long', as computed by sizeof. */
-#cmakedefine EVENT__SIZEOF_LONG_LONG ${EVENT__SIZEOF_LONG_LONG}
+#cmakedefine EVENT__SIZEOF_LONG_LONG @EVENT__SIZEOF_LONG_LONG@
 
 /* The size of `off_t', as computed by sizeof. */
 #cmakedefine EVENT__SIZEOF_OFF_T ${EVENT__SIZEOF_OFF_T}
 
 /* The size of a `short', as computed by sizeof. */
-#cmakedefine EVENT__SIZEOF_SHORT ${EVENT__SIZEOF_SHORT}
+#cmakedefine EVENT__SIZEOF_SHORT @EVENT__SIZEOF_SHORT@
 
 /* The size of `size_t', as computed by sizeof. */
-#cmakedefine EVENT__SIZEOF_SIZE_T ${EVENT__SIZEOF_SIZE_T}
+#cmakedefine EVENT__SIZEOF_SIZE_T @EVENT__SIZEOF_SIZE_T@
 
 /* Define to 1 if you have the ANSI C header files. */
-#cmakedefine EVENT__STDC_HEADERS ${EVENT__STDC_HEADERS}
+#cmakedefine EVENT__STDC_HEADERS
 
 /* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#cmakedefine EVENT__TIME_WITH_SYS_TIME ${EVENT__TIME_WITH_SYS_TIME}
+#cmakedefine EVENT__TIME_WITH_SYS_TIME
 
 /* The size of `socklen_t', as computed by sizeof. */
-#cmakedefine EVENT__SIZEOF_SOCKLEN_T ${EVENT__SIZEOF_SOCKLEN_T}
+#cmakedefine EVENT__SIZEOF_SOCKLEN_T @EVENT__SIZEOF_SOCKLEN_T@
 
 /* The size of 'void *', as computer by sizeof */
-#cmakedefine EVENT__SIZEOF_VOID_P ${EVENT__SIZEOF_VOID_P}
+#cmakedefine EVENT__SIZEOF_VOID_P @EVENT__SIZEOF_VOID_P@
+
+/* set an alias for whatever __func__ __FUNCTION__ is, what sillyness */
+#if defined (__func__)
+#define EVENT____func__ __func__
+#elif defined(__FUNCTION__)
+#define EVENT____func__  __FUNCTION__
+#else
+#define EVENT____func__ __FILE__
+#endif
 
-/* Define to appropriate substitute if compiler doesnt have __func__ */
-#cmakedefine EVENT____func__ ${EVENT____func__}
 
+#ifdef __THESE_ARE_NOT_CONFIG_H_THINGS_THEY_ARE_DASH_D_THINGS__ 
 /* Number of bits in a file offset, on hosts where this is settable. */
-#cmakedefine EVENT___FILE_OFFSET_BITS ${EVENT___FILE_OFFSET_BITS}
+/* Ellzey is not satisfied */ 
+#define EVENT___FILE_OFFSET_BITS @EVENT___FILE_OFFSET_BITS@
 
 /* Define for large files, on AIX-style hosts. */
-/* #undef _LARGE_FILES */
+#define @_LARGE_FILES@ /* THIS ISN'T EVEN SET IN CMAKELISTS */
+#endif /* __THESE_ARE_NOT_CONFIG_H_THINGS_THEY_ARE_DASH_D_THINGS__ */ 
 
+#ifdef _WhAT_DOES_THIS_EVEN_DO_
 /* Define to empty if `const' does not conform to ANSI C. */
-/* #undef EVENT__const */
+/* lolwut? - ellzey */
+#undef EVENT__const
+#endif
+
 
 /* Define to `__inline__' or `__inline' if that's what the C compiler
    calls it, or to nothing if 'inline' is not supported under any name.  */
 #ifndef __cplusplus
-#cmakedefine EVENT__inline ${EVENT__inline}
+/* why not c++?
+ *
+ *  and are we really expected to use EVENT__inline everywhere,
+ *  shouldn't we just do:
+ *     ifdef EVENT__inline
+ *     define inline EVENT__inline
+ *
+ * - Ellzey
+ */
+
+#define EVENT__inline @EVENT__inline@ 
 #endif
 
-/* Define to `int' if <sys/types.h> does not define. */
-#cmakedefine EVENT__pid_t ${EVENT__pid_t}
+/* Define to `int' if <sys/tyes.h> does not define. */
+#cmakedefine EVENT__pid_t @EVENT__pid_t@
 
 /* Define to `unsigned' if <sys/types.h> does not define. */
-#cmakedefine EVENT__size_t ${EVENT__size_t}
+#cmakedefine EVENT__size_t @EVENT__size_t@
 
 /* Define to unsigned int if you dont have it */
-#cmakedefine EVENT__socklen_t ${EVENT__socklen_t}
+#cmakedefine EVENT__socklen_t @EVENT__socklen_t@
 
 /* Define to `int' if <sys/types.h> does not define. */
-#cmakedefine EVENT__ssize_t ${EVENT__ssize_t}
+#cmakedefine EVENT__ssize_t @EVENT__ssize_t@
 
-#cmakedefine EVENT__NEED_DLLIMPORT ${EVENT__NEED_DLLIMPORT}
+#cmakedefine EVENT__NEED_DLLIMPORT @EVENT__NEED_DLLIMPORT@
 
 /* Define to 1 if you have ERR_remove_thread_stat(). */
-#cmakedefine EVENT__HAVE_ERR_REMOVE_THREAD_STATE 1
+#cmakedefine EVENT__HAVE_ERR_REMOVE_THREAD_STATE
 
 #endif