Merge branch 'release/1.2.8'
diff --git a/CMakeLists.txt b/CMakeLists.txt
index ef8ee88..19edaed 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,7 +3,7 @@
 
 set(PROJECT_MAJOR_VERSION 1)
 set(PROJECT_MINOR_VERSION 2)
-set(PROJECT_PATCH_VERSION 7)
+set(PROJECT_PATCH_VERSION 8)
 
 set (PROJECT_VERSION ${PROJECT_MAJOR_VERSION}.${PROJECT_MINOR_VERSION}.${PROJECT_PATCH_VERSION})
 set (CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMakeModules)
@@ -210,8 +210,10 @@
 	find_library (LIB_WS32 ws2_32)
 	set (SYS_LIBS ${SYS_LIBS} ${LIB_WS32})
 ELSE ()
-	find_library (LIB_DL dl)
-	set (SYS_LIBS ${LIB_DL})
+	if (NOT ${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
+		find_library (LIB_DL dl)
+		set (SYS_LIBS ${LIB_DL})
+	endif()
 
 	if (NOT APPLE)
 		find_library (LIB_RT rt)
diff --git a/CMakeModules/BaseConfig.cmake b/CMakeModules/BaseConfig.cmake
index ff2b1f6..2f30867 100644
--- a/CMakeModules/BaseConfig.cmake
+++ b/CMakeModules/BaseConfig.cmake
@@ -9,6 +9,9 @@
 		# Newer versions of OSX will spew a bunch of warnings about deprecated ssl functions,
 		# this should be addressed at some point in time, but for now, just ignore them.
 		set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_BSD_SOURCE -Wno-deprecated-declarations")
+	elseif (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
+		# XXX Should I set POSIX_C_SOURCE?
+		set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_BSD_SOURCE")
 	elseif(UNIX)
 		set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -D_BSD_SOURCE -D_POSIX_C_SOURCE=200112")
 	endif(APPLE)
diff --git a/ChangeLog b/ChangeLog
index 6ffa7e2..b80ee47 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+v1.2.8
+ o There's no libdl on FreeBSD. (a683a1f Adrian Chadd)
+ o FreeBSD handles the POSIX_C_SOURCE definition very strictly - strncmp() and a lot of other stuff isn't defined in the 2001 standards.  
+   Thus, the functions aren't declared when you include the library headers. (0354a67 Adrian Chadd)
+
 v1.2.7
  o Fix double free for evthr at shutdown (a2c2826 Azat Khuzhin)
  o Workaround for odd recv()'s being done when not requested. (2abd591 Mark Ellzey)
diff --git a/evhtp.h b/evhtp.h
index c1a81de..8e7b299 100644
--- a/evhtp.h
+++ b/evhtp.h
@@ -169,10 +169,10 @@
 typedef evhtp_ssl_sess_t * (*evhtp_ssl_scache_get)(evhtp_connection_t * connection, unsigned char * sid, int sid_len);
 typedef void * (*evhtp_ssl_scache_init)(evhtp_t *);
 
-#define EVHTP_VERSION           "1.2.7"
+#define EVHTP_VERSION           "1.2.8"
 #define EVHTP_VERSION_MAJOR     1
 #define EVHTP_VERSION_MINOR     2
-#define EVHTP_VERSION_PATCH     7
+#define EVHTP_VERSION_PATCH     8
 
 #define evhtp_headers_iterator  evhtp_kvs_iterator