mirror of
https://gitlab.xiph.org/xiph/icecast-common.git
synced 2024-11-03 04:17:20 -05:00
cfb106b16b
Basically we define _mangle() in config.h, and use that in timing.h (if available) to prepend the package name to all the symbols in the header and including C files. It's thus fairly invisible. Unfortunately the prefix is hardwired, so it's another thing that has to be maintained by hand (not that is changes often, but we can't make it a macro). AH_VERBATIM seems to be the only way to add a macro that takes arguments, and it explicitly doesn't do shell expansion. Further, @PACKAGE@ substitution doesn't happen on config.h.in. Insert standard autotools frustration here. svn path=/trunk/timing/; revision=5060
24 lines
479 B
C
24 lines
479 B
C
#ifndef __TIMING_H__
|
|
#define __TIMING_H__
|
|
|
|
#include <sys/types.h>
|
|
#ifdef HAVE_STDINT_H
|
|
#include <stdint.h>
|
|
#endif
|
|
|
|
#ifdef _WIN32
|
|
typedef __int64 int64_t;
|
|
typedef unsigned __int64 uint64_t;
|
|
#endif
|
|
|
|
/* config.h should be included before we are to define _mangle */
|
|
#ifdef _mangle
|
|
# define timing_get_time _mangle(timing_get_time)
|
|
# define timing_sleep _mangle(timing_sleep)
|
|
#endif
|
|
|
|
uint64_t timing_get_time(void);
|
|
void timing_sleep(uint64_t sleeptime);
|
|
|
|
#endif /* __TIMING_H__ */
|