diff options
Diffstat (limited to 'fuse/main.c')
-rw-r--r-- | fuse/main.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/fuse/main.c b/fuse/main.c index 1e24efe..c162912 100644 --- a/fuse/main.c +++ b/fuse/main.c @@ -6,7 +6,6 @@ */ #include <stdlib.h> #include <string.h> -#include <execinfo.h> #include <signal.h> #include <libgen.h> #include <fuse.h> @@ -168,6 +167,9 @@ static int optional_opt_func(void *data, const char *arg, int key, return 1; } +#if defined(HAVE_EXECINFO_H) && defined(HAVE_BACKTRACE) +#include <execinfo.h> + static void signal_handle_sigsegv(int signal) { void *array[10]; @@ -187,7 +189,7 @@ static void signal_handle_sigsegv(int signal) erofs_dump("========================================\n"); abort(); } - +#endif int main(int argc, char *argv[]) { @@ -197,11 +199,13 @@ int main(int argc, char *argv[]) erofs_init_configure(); fprintf(stderr, "%s %s\n", basename(argv[0]), cfg.c_version); +#if defined(HAVE_EXECINFO_H) && defined(HAVE_BACKTRACE) if (signal(SIGSEGV, signal_handle_sigsegv) == SIG_ERR) { fprintf(stderr, "failed to initialize signals\n"); ret = -errno; goto err; } +#endif /* parse options */ ret = fuse_opt_parse(&args, &fusecfg, option_spec, optional_opt_func); |