Change to check `strerror` and `fdopen` with CMake

It is hard to update list of "available" platforms.

Signed-off-by: OBATA Akio <obache@wizdas.com>
pull/7/head
OBATA Akio 6 years ago
parent 2c18879814
commit 7537d9ef7d

@ -52,6 +52,9 @@
#cmakedefine HAVE_UTMP_H 1 #cmakedefine HAVE_UTMP_H 1
#cmakedefine HAVE_UTMPX_H 1 #cmakedefine HAVE_UTMPX_H 1
#cmakedefine HAVE_VSNPRINTF 1 #cmakedefine HAVE_VSNPRINTF 1
#cmakedefine HAVE_STRERROR 1
#cmakedefine HAVE_STRERROR_PROTO 1
#cmakedefine HAVE_FDOPEN_PROTO 1
#cmakedefine SCANDIR_NEEDS_CONST 1 #cmakedefine SCANDIR_NEEDS_CONST 1
// only for Linux // only for Linux

@ -17,6 +17,9 @@ check_include_file( utmp.h HAVE_UTMP_H )
check_include_file( utmpx.h HAVE_UTMPX_H ) check_include_file( utmpx.h HAVE_UTMPX_H )
check_function_exists( vsnprintf HAVE_VSNPRINTF ) check_function_exists( vsnprintf HAVE_VSNPRINTF )
check_function_exists( strerror HAVE_STRERROR )
check_symbol_exists( strerror "string.h" HAVE_STRERROR_PROTO )
check_symbol_exists( fdopen "stdio.h" HAVE_FDOPEN_PROTO )
if( ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" ) if( ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" )
set( PROC_FIND_USER 1 CACHE INTERNAL "" FORCE ) set( PROC_FIND_USER 1 CACHE INTERNAL "" FORCE )

@ -232,8 +232,11 @@ static char copyright[] =
# define _BSD_VA_LIST_ va_list # define _BSD_VA_LIST_ va_list
#endif #endif
#if !defined(BSD4_4) && !defined(linux) && !defined(_UNIXWARE) #ifndef HAVE_STRERROR_PROTO
extern char *strerror __P((int)); extern char *strerror __P((int));
#endif
#ifndef HAVE_FDOPEN_PROTO
extern FILE *fdopen __P((int, const char *)); extern FILE *fdopen __P((int, const char *));
#endif #endif
@ -831,7 +834,7 @@ e_to_sys(num)
} }
} }
#if !defined(BSD4_4) && !defined(__osf__) && !defined(__GLIBC__) #ifndef HAVE_STRERROR
char * char *
strerror(eno) strerror(eno)

Loading…
Cancel
Save