io_uring_prep_waitid() requires idtype_t, which is not always defined on all platforms. Add a check for the presence of idtype_t during configure, and if not found then add a definition in compat.h. Signed-off-by: David Wei <dw@xxxxxxxxxxx> --- configure | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/configure b/configure index 9d29e20..052920d 100755 --- a/configure +++ b/configure @@ -414,6 +414,22 @@ if compile_prog "" "" "futexv"; then fi print_config "futex waitv support" "$futexv" +########################################## +# Check idtype_t support +has_idtype_t="no" +cat > $TMPC << EOF +#include <sys/wait.h> +int main(void) +{ + idtype_t v; + return 0; +} +EOF +if compile_prog "" "" "idtype_t"; then + has_idtype_t="yes" +fi +print_config "has_idtype_t" "$has_idtype_t" + ############################################################################# liburing_nolibc="no" if test "$use_libc" != "yes"; then @@ -590,6 +606,17 @@ struct futex_waitv { uint32_t __reserved; }; +EOF +fi + +if test "$has_idtype_t" != "yes"; then +cat >> $compat_h << EOF +typedef enum +{ + P_ALL, /* Wait for any child. */ + P_PID, /* Wait for specified process. */ + P_PGID /* Wait for members of process group. */ +} idtype_t; EOF fi cat >> $compat_h << EOF -- 2.39.3