diff options
| author | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2018-06-26 17:39:38 +0300 | 
|---|---|---|
| committer | Laurent Pinchart <laurent.pinchart@ideasonboard.com> | 2018-07-31 15:56:48 +0300 | 
| commit | 35a4212180272b5dd648b99c07a692aab19a5e67 (patch) | |
| tree | fcdae2112a6f3dfac3fd004386000eb4e458b2ec /lib/compat | |
| parent | fb78d87b33ab0380fbfddd539959225cb1f7c1f2 (diff) | |
lib: glob: Fix compilation on Android
The glibc glob() implementation doesn't compile on Android due to
missing support for getlogin_r (before Android ABI 28) and to missing
__THROW, __THROWNL and __attribute_noinline__ macros.
getlogin_r is only used to implement support for the '~' path component
which we don't use in the uvc-gadget library, so we can compile it out.
The three macros can safely be defined as no-op.
Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Diffstat (limited to 'lib/compat')
| -rw-r--r-- | lib/compat/glob.c | 10 | 
1 files changed, 8 insertions, 2 deletions
| diff --git a/lib/compat/glob.c b/lib/compat/glob.c index e48b030..28fd48e 100644 --- a/lib/compat/glob.c +++ b/lib/compat/glob.c @@ -23,6 +23,12 @@  #define __glibc_unlikely(x)		x  #define __libc_use_alloca(x)		0  #define alloca_account(size, avar)	alloca(size) +#ifndef __THROWNL +#define __THROWNL +#endif +#ifndef __attribute_noinline__ +#define __attribute_noinline__ +#endif  #include <glob.h> @@ -604,7 +610,7 @@ glob (const char *pattern, int flags, int (*errfunc) (const char *, int),  	}      } -#ifndef VMS +#if !defined(VMS) && !defined(ANDROID)    if ((flags & (GLOB_TILDE|GLOB_TILDE_CHECK)) && dirname[0] == '~')      {        if (dirname[1] == '\0' || dirname[1] == '/' @@ -973,7 +979,7 @@ glob (const char *pattern, int flags, int (*errfunc) (const char *, int),  	}  # endif	/* Not Amiga && not WINDOWS32.  */      } -#endif	/* Not VMS.  */ +#endif	/* Not VMS && not ANDROID.  */    /* Now test whether we looked for "~" or "~NAME".  In this case we       can give the answer now.  */ | 
