When doing a CTDB standalone build we don't want to use dynconfig,
since this introduces a lot of unwanted complexity. To avoid this,
either:
* charset needs to be nobbled to avoid loading the case tables, since
this depends on dynconfig; or
* charset needs to be avoid completely, so some functions need to be
replaced with their ASCII counterparts.
The 2nd options seems more honest and less error-prone.
Signed-off-by: Martin Schwenke <martin@meltin.net>
Reviewed-by: Jeremy Allison <jra@samba.org>
--- /dev/null
+#ifndef _SAMBA_CHARSET_COMPAT_H_
+#define _SAMBA_CHARSET_COMPAT_H_
+
+#include <string.h>
+
+#define strchr_m(h, n) strchr(h, n)
+#define strstr_m(h, n) strstr(h, n)
+
+#endif /* _SAMBA_CHARSET_COMPAT_H_ */
#ifndef _SAMBA_UTIL_H_
#define _SAMBA_UTIL_H_
+#ifndef SAMBA_UTIL_CORE_ONLY
#include "lib/util/charset/charset.h"
+#else
+#include "charset_compat.h"
+#endif
+
#include "lib/util/attr.h"
/* for TALLOC_CTX */
#include "replace.h"
#include "debug.h"
+#ifndef SAMBA_UTIL_CORE_ONLY
#include "charset/charset.h"
+#else
+#include "charset_compat.h"
+#endif
#include "substitute.h"
/**
if not bld.env.SAMBA_UTIL_CORE_ONLY:
+ bld.env.public_headers_skip.append('charset_compat.h')
+
bld.SAMBA_LIBRARY('samba-util',
source='''talloc_stack.c smb_threads.c
rbtree.c rfc1738.c become_daemon.c system.c select.c getpass.c