Mercurial > hg > orthanc-databases
diff Resources/PostgreSQL/func_accept_args.cmake @ 0:7cea966b6829
initial commit
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 04 Jul 2018 08:16:29 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Resources/PostgreSQL/func_accept_args.cmake Wed Jul 04 08:16:29 2018 +0200 @@ -0,0 +1,59 @@ +# This mimics ac_func_accept_argtypes.m4 + +check_include_files(sys/types.h HAVE_SYS_TYPES_H) +check_include_files(sys/socket.h HAVE_SYS_SOCKET_H) + +if(HAVE_SYS_TYPES_H) + set(INCLUDE_SYS_TYPES_H "#include <sys/types.h>") +endif(HAVE_SYS_TYPES_H) + +if(HAVE_SYS_SOCKET_H) + set(INCLUDE_SYS_SOCKET_H "#include <sys/socket.h>") +endif(HAVE_SYS_SOCKET_H) + +message(STATUS "Looking for accept function args") +set(CMAKE_REQUIRED_QUIET 1) +foreach(ac_cv_func_accept_return "int" "unsigned int PASCAL" "SOCKET WSAAPI") + foreach(ac_cv_func_accept_arg1 "int" "unsigned int" "SOCKET") + foreach(ac_cv_func_accept_arg2 "struct sockaddr *" "const struct sockaddr *" "void *") + foreach(ac_cv_func_accept_arg3 "int" "size_t" "socklen_t" "unsigned int" "void") + unset(AC_FUNC_ACCEPT CACHE) + CHECK_C_SOURCE_COMPILES(" +${INCLUDE_SYS_TYPES_H} +${INCLUDE_SYS_SOCKET_H} +extern ${ac_cv_func_accept_return} accept (${ac_cv_func_accept_arg1}, ${ac_cv_func_accept_arg2}, ${ac_cv_func_accept_arg3} *); +int main(void) +{ + return 0; +} + " AC_FUNC_ACCEPT) + if(AC_FUNC_ACCEPT) + set(ACCEPT_TYPE_RETURN ${ac_cv_func_accept_return}) + set(ACCEPT_TYPE_ARG1 ${ac_cv_func_accept_arg1}) + set(ACCEPT_TYPE_ARG2 ${ac_cv_func_accept_arg2}) + set(ACCEPT_TYPE_ARG3 ${ac_cv_func_accept_arg3}) + break() + endif(AC_FUNC_ACCEPT) + endforeach(ac_cv_func_accept_arg3) + if(AC_FUNC_ACCEPT) + break() + endif(AC_FUNC_ACCEPT) + endforeach(ac_cv_func_accept_arg2) + if(AC_FUNC_ACCEPT) + break() + endif(AC_FUNC_ACCEPT) + endforeach(ac_cv_func_accept_arg1) + if(AC_FUNC_ACCEPT) + break() + endif(AC_FUNC_ACCEPT) +endforeach(ac_cv_func_accept_return) +unset(CMAKE_REQUIRED_QUIET) + +if(NOT AC_FUNC_ACCEPT) + message(ERROR "could not determine argument types") +endif(NOT AC_FUNC_ACCEPT) +if(ac_cv_func_accept_arg3 EQUAL "void") + set(ac_cv_func_accept_arg3 "int") +endif(ac_cv_func_accept_arg3 EQUAL "void") + +message(STATUS "Looking for accept function args - found ${ACCEPT_TYPE_RETURN}, ${ACCEPT_TYPE_ARG1}, ${ACCEPT_TYPE_ARG2}, ${ACCEPT_TYPE_ARG3} *")