API: Add MCTP_NO_DEFAULT_ALLOC facility

For platforms that don't have malloc/alloc/free available, we do not
want to use them as defaults.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
diff --git a/README.md b/README.md
index 62f9195..80b0150 100644
--- a/README.md
+++ b/README.md
@@ -79,6 +79,9 @@
     - `MCTP_LOG_CUSTOM`: provide your own macro for logging, of
       the format: ```#define mctp_prlog(level, fmt, ...) (....)```
 
+ - `MCTP_NO_DEFAULT_ALLOC`: do not set default allocator functions (malloc,
+   free, realloc), and require the use of `mctp_set_alloc_ops`.
+
 TODO
 ----
 
diff --git a/alloc.c b/alloc.c
index 2389dd3..6315835 100644
--- a/alloc.c
+++ b/alloc.c
@@ -9,9 +9,11 @@
 	void	(*free)(void *);
 	void	*(*realloc)(void *, size_t);
 } alloc_ops = {
+#ifndef MCTP_NO_DEFAULT_ALLOC
 	malloc,
 	free,
 	realloc,
+#endif
 };
 
 /* internal-only allocation functions */