On Sat, 2015-03-07 at 18:06 +0100, wm4 wrote: > On Sat, 7 Mar 2015 10:13:23 +0000 > James Cowgill <james...@cowgill.org.uk> wrote: > > > Unfortunately android < api 21 (lollipop) doesn't have the sgidefs.h header, > > but the linux kernel does in asm/sgidefs.h. So use that header if we can. > > > > Change _ABI64 to _MIPS_SIM_ABI64 which is defined in both headers. > > What does this header contain? Requiring kernel headers for anything > but Linux specific syscalls or for building kernel modules is incredibly > broken.
Yes the correct header on mips is just 'sgidefs.h' and while glibc has provided it for years, android bionic only added it for lollipop. This is the kernel header: https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/mips/include/uapi/asm/sgidefs.h The one provided by glibc has a little more stuff but we don't need it. _MIPS_SIM is defined by GCC (and some older mips compilers) to be equal to one of the _MIPS_SIM_* constants depending on which ABI is selected. GCC and Clang also define _ABI* themselves (as well as being defined in the glibc version of the header) for the current ABI, so I suppose using this without including anything might work if we don't care about other compilers: #if defined(_ABI64) && _MIPS_SIM == _ABI64 > And __linux__ is of course completely out of the question. Just because > it's Linux, the libc doesn't necessarily provide kernel headers. Ok James _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel