Do not provide funopen() on musl

Fixes: https://bugs.debian.org/818246
This commit is contained in:
Guillem Jover 2017-01-10 04:33:15 +01:00
parent db7470b048
commit d6c35f618c
3 changed files with 16 additions and 3 deletions

View File

@ -51,7 +51,11 @@ AS_CASE([$host_os],
AC_SEARCH_LIBS([clock_gettime], [rt], [CLOCK_GETTIME_LIBS="-lrt"])
AC_SUBST([CLOCK_GETTIME_LIBS])
LIBS="$saved_LIBS"
]
],
[*-musl], [
# Upstream refuses to define this, we will do it ourselves then.
AC_DEFINE([__MUSL__], [1], [Define to 1 if we are building for musl])
],
)
# Checks for header files.

View File

@ -1,5 +1,5 @@
/*
* Copyright © 2011, 2013 Guillem Jover
* Copyright © 2011, 2013, 2017 Guillem Jover
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@ -137,6 +137,12 @@ funopen(const void *cookie,
return fopencookie(cookiewrap, mode, funcswrap);
}
#elif defined(__MUSL__)
/*
* This is unimplementable on musl based systems, and upstream has stated
* they will not add the needed support to implement it. Just ignore this
* interface there, as it has never been provided anyway.
*/
#else
#error "Function funopen() needs to be ported."
#error "Function funopen() needs to be ported or disabled."
#endif

View File

@ -114,6 +114,9 @@ LIBBSD_0.6 {
LIBBSD_0.7 {
getbsize;
/* This symbol might not be present on some specific systems, such
* as musl based ones. It might need to be removed on SOVERSION bump,
* as it cannot be portabily implemented everywhere. */
funopen;
reallocarray;