From 74eba5d80c924fac4802b0d53d75616ac57a4afa Mon Sep 17 00:00:00 2001 From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= Date: Sun, 12 Apr 2009 10:23:20 +0300 Subject: [PATCH] Fix C++ linking --- include/vlc_fixups.h | 62 ++++++++++++++++++++++++++++++-------------- 1 file changed, 42 insertions(+), 20 deletions(-) diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h index 0a01ceec0d..7c07079112 100644 --- a/include/vlc_fixups.h +++ b/include/vlc_fixups.h @@ -39,12 +39,41 @@ # error Window CE support for *printf needs fixing. #endif +#if !defined (HAVE_GMTIME_R) || !defined (HAVE_LOCALTIME_R) +# include /* time_t */ +#endif + +#ifndef HAVE_LLDIV +typedef struct +{ + long long quot; /* Quotient. */ + long long rem; /* Remainder. */ +} lldiv_t; +#endif + +#ifndef HAVE_REWIND +# include /* FILE */ +#endif + +#if !defined (HAVE_STRLCPY) || \ + !defined (HAVE_STRNDUP) || \ + !defined (HAVE_STRNLEN) +# include /* size_t */ +#endif + +#ifndef HAVE_VASPRINTF +# include /* va_list */ +#endif + +#ifdef __cplusplus +extern "C" { +#endif + #ifndef HAVE_STRDUP char *strdup (const char *); #endif #ifndef HAVE_VASPRINTF -# include int vasprintf (char **, const char *, va_list); #endif @@ -53,17 +82,14 @@ int asprintf (char **, const char *, ...); #endif #ifndef HAVE_STRNLEN -# include size_t strnlen (const char *, size_t); #endif #ifndef HAVE_STRNDUP -# include char *strndup (const char *, size_t); #endif #ifndef HAVE_STRLCPY -# include size_t strlcpy (char *, const char *, size_t); #endif @@ -88,22 +114,9 @@ long long atoll (const char *); #endif #ifndef HAVE_LLDIV -typedef struct { - long long quot; /* Quotient. */ - long long rem; /* Remainder. */ -} lldiv_t; - lldiv_t lldiv (long long, long long); #endif -#ifndef HAVE_GETENV -static inline char *getenv (const char *name) -{ - (void)name; - return NULL; -} -#endif - #ifndef HAVE_STRCASECMP int strcasecmp (const char *, const char *); #endif @@ -117,20 +130,29 @@ char *strcasestr (const char *, const char *); #endif #ifndef HAVE_GMTIME_R -# include struct tm *gmtime_r (const time_t *, struct tm *); #endif #ifndef HAVE_LOCALTIME_R -# include struct tm *localtime_r (const time_t *, struct tm *); #endif #ifndef HAVE_REWIND -# include void rewind (FILE *); #endif +#ifdef __cplusplus +} /* extern "C" */ +#endif + +#ifndef HAVE_GETENV +static inline char *getenv (const char *name) +{ + (void)name; + return NULL; +} +#endif + /* Alignment of critical static data structures */ #ifdef ATTRIBUTE_ALIGNED_MAX # define ATTR_ALIGN(align) __attribute__ ((__aligned__ ((ATTRIBUTE_ALIGNED_MAX < align) ? ATTRIBUTE_ALIGNED_MAX : align))) -- 2.39.5