From 29bb8facc78da8b5f75fd45848246dae38c09b4f Mon Sep 17 00:00:00 2001 From: Anders Kaseorg Date: Tue, 28 Feb 2012 02:20:25 -0500 Subject: [PATCH] Fake up enough headers to let libstddjb selfpipe build Signed-off-by: Anders Kaseorg --- configure.ac | 13 ++++++++++++- third/libstddjb/djbunix.h | 17 +++++++++++++++++ third/libstddjb/error.h | 14 ++++++++++++++ third/libstddjb/skalibs-config.h | 0 third/libstddjb/sysdeps.h | 24 ++++++++++++++++++++++++ third/libstddjb/uint64.h | 7 +++++++ 6 files changed, 74 insertions(+), 1 deletion(-) create mode 100644 third/libstddjb/djbunix.h create mode 100644 third/libstddjb/error.h create mode 100644 third/libstddjb/skalibs-config.h create mode 100644 third/libstddjb/sysdeps.h create mode 100644 third/libstddjb/uint64.h diff --git a/configure.ac b/configure.ac index 20d8644..e9b8777 100644 --- a/configure.ac +++ b/configure.ac @@ -92,7 +92,7 @@ AC_FUNC_FORK AC_FUNC_MALLOC AC_FUNC_MBRTOWC AC_FUNC_REALLOC -AC_CHECK_FUNCS([gettimeofday inet_ntoa iswprint memchr memset nl_langinfo setenv setlocale socket strchr strdup strerror strtol wcwidth]) +AC_CHECK_FUNCS([gettimeofday inet_ntoa iswprint memchr memset nl_langinfo setenv setlocale sigaction socket strchr strdup strerror strtol wcwidth]) AC_SEARCH_LIBS([clock_gettime], [rt], [AC_DEFINE([HAVE_CLOCK_GETTIME], [1], [Define if clock_gettime is available.])]) @@ -101,6 +101,17 @@ AC_CHECK_DECL([mach_absolute_time], [Define if mach_absolute_time is available.])], , [[#include ]]) +AC_CHECK_DECL([pipe2], + [AC_DEFINE([HAVE_PIPE2], [1], + [Define if pipe2 is available.])], + , [[#define _GNU_SOURCE + #include ]]) + +AC_CHECK_DECL([signalfd], + [AC_DEFINE([HAVE_SIGNALFD], [1], + [Define if signalfd is available.])], + , [[#include ]]) + AC_CHECK_DECL([htobe64], [AC_DEFINE([HAVE_HTOBE64], [1], [Define if htobe64 and friends exist.])], diff --git a/third/libstddjb/djbunix.h b/third/libstddjb/djbunix.h new file mode 100644 index 0000000..fd91546 --- /dev/null +++ b/third/libstddjb/djbunix.h @@ -0,0 +1,17 @@ +/* ISC license. */ + +#ifndef DJBUNIX_H +#define DJBUNIX_H + +#define DJBUNIX_FLAG_NB 0x01U +#define DJBUNIX_FLAG_COE 0x02U + +extern int coe (int) ; +extern int ndelay_on (int) ; +extern int pipe_internal (int *, unsigned int) ; +#define pipenb(p) pipe_internal(p, DJBUNIX_FLAG_NB) +#define pipecoe(p) pipe_internal(p, DJBUNIX_FLAG_COE) +#define pipenbcoe(p) pipe_internal(p, DJBUNIX_FLAG_NB|DJBUNIX_FLAG_COE) +extern int fd_close (int) ; + +#endif diff --git a/third/libstddjb/error.h b/third/libstddjb/error.h new file mode 100644 index 0000000..665bbd5 --- /dev/null +++ b/third/libstddjb/error.h @@ -0,0 +1,14 @@ +/* ISC license. */ + +#ifndef ERROR_H +#define ERROR_H + +#include +#include "gccattributes.h" + +extern char const *error_str (int) gccattr_const ; +extern int error_temp (int) gccattr_const ; + +#define error_isagain(e) (((e) == EAGAIN) || ((e) == EWOULDBLOCK)) + +#endif diff --git a/third/libstddjb/skalibs-config.h b/third/libstddjb/skalibs-config.h new file mode 100644 index 0000000..e69de29 diff --git a/third/libstddjb/sysdeps.h b/third/libstddjb/sysdeps.h new file mode 100644 index 0000000..c7cdf55 --- /dev/null +++ b/third/libstddjb/sysdeps.h @@ -0,0 +1,24 @@ +#ifndef SYSDEPS_H +#define SYSDEPS_H + +#include "config.h" + +#ifdef HAVE_PIPE2 +#define HASPIPE2 +#else +#undef HASPIPE2 +#endif + +#ifdef HAVE_SIGNALFD +#define HASSIGNALFD +#else +#undef HASSIGNALFD +#endif + +#ifdef HAVE_SIGACTION +#define HASSIGACTION +#else +#undef HASSIGACTION +#endif + +#endif diff --git a/third/libstddjb/uint64.h b/third/libstddjb/uint64.h new file mode 100644 index 0000000..e5ad1c4 --- /dev/null +++ b/third/libstddjb/uint64.h @@ -0,0 +1,7 @@ +#ifndef UINT64_H +#define UINT64_H + +#include +typedef uint64_t uint64; + +#endif