If aug_source is not available, the implementation of
ocaml_augeas_source just raises Failure: the caml_failwith function used
for that is marked as noreturn, and thus with more strict compiler flags
it can fail to build.
As solution, mark it as noreturn when aug_source is not available.
#include <caml/callback.h>
#include <caml/custom.h>
#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_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_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;
typedef augeas *augeas_t;