Browse Source

add check for shadow support, turn -Os back on

Felix Fietkau 11 years ago
parent
commit
b0ac713bef
2 changed files with 12 additions and 1 deletions
  1. 9 1
      CMakeLists.txt
  2. 3 0
      auth.c

+ 9 - 1
CMakeLists.txt

@@ -1,8 +1,11 @@
 cmake_minimum_required(VERSION 2.6)
 
 PROJECT(uhttpd C)
+
+INCLUDE (CheckFunctionExists)
+
 SET(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
-ADD_DEFINITIONS(-O0 -Wall -Werror -Wmissing-declarations --std=gnu99 -g3)
+ADD_DEFINITIONS(-Os -Wall -Werror -Wmissing-declarations --std=gnu99 -g3)
 
 OPTION(TLS_SUPPORT "TLS support" ON)
 OPTION(LUA_SUPPORT "Lua support" ON)
@@ -24,6 +27,11 @@ IF(TLS_SUPPORT)
 	ADD_DEFINITIONS(-DHAVE_TLS)
 ENDIF()
 
+CHECK_FUNCTION_EXISTS(getspnam HAVE_SHADOW)
+IF(HAVE_SHADOW)
+    ADD_DEFINITIONS(-DHAVE_SHADOW)
+ENDIF()
+
 ADD_EXECUTABLE(uhttpd ${SOURCES})
 TARGET_LINK_LIBRARIES(uhttpd ubox dl ${LIBS})
 

+ 3 - 0
auth.c

@@ -20,6 +20,9 @@
 #define _GNU_SOURCE
 #define _XOPEN_SOURCE	700
 #include <strings.h>
+#ifdef HAVE_SHADOW
+#include <shadow.h>
+#endif
 #include "uhttpd.h"
 
 static LIST_HEAD(auth_realms);