#include <caml/callback.h>
#include <caml/custom.h>
+#ifdef __GNUC__
+ #define NORETURN __attribute__ ((noreturn))
+#else
+ #define NORETURN
+#endif
+
extern CAMLprim value ocaml_augeas_create (value rootv, value loadpathv, value flagsv);
extern CAMLprim value ocaml_augeas_close (value tv);
extern CAMLprim value ocaml_augeas_get (value tv, value pathv);
extern CAMLprim value ocaml_augeas_load (value tv);
extern CAMLprim value ocaml_augeas_set (value tv, value pathv, value valuev);
extern CAMLprim value ocaml_augeas_transform (value tv, value lensv, value filev, value modev);
-extern CAMLprim value ocaml_augeas_source (value tv, value pathv);
+extern CAMLprim value ocaml_augeas_source (value tv, value pathv)
+#ifndef HAVE_AUG_SOURCE
+ NORETURN
+#endif
+;
typedef augeas *augeas_t;
/* AugNoStdinc */ AUG_NO_STDINC,
/* AugSaveNoop */ AUG_SAVE_NOOP,
/* AugNoLoad */ AUG_NO_LOAD,
+ /* AugNoModlAutoload */ AUG_NO_MODL_AUTOLOAD,
+ /* AugEnableSpan */ AUG_ENABLE_SPAN,
+ /* AugNoErrClose */ AUG_NO_ERR_CLOSE,
+ /* AugTraceModuleLoading */ AUG_TRACE_MODULE_LOADING,
};
/* Wrap and unwrap augeas_t handles, with a finalizer. */