The use of <capstone/capstone.h> is recommended by the upstream project: http://www.capstone-engine.org/lang_c.html However when building the in-tree cloned submodule, the header is accessible via <capstone.h>.
This fixes building on Gentoo (and Haiku OS - not supported since 898be3e0415): CC disas.o /sources/qemu-2.11.0/include/disas/capstone.h:6:22: fatal error: capstone.h: No such file or directory #include <capstone.h> ^~~~~~~~~~~~ On Haiku `pkg-config --cflags capstone` reports "-I/usr/develop/headers". Bug: https://bugs.gentoo.org/647570 Reported-by: Zoltán Mizsei <miq...@gmail.com> Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> --- RFC because this might be a Gentoo portage issue. configure | 1 + include/disas/capstone.h | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/configure b/configure index 913e14839d..3657a61a35 100755 --- a/configure +++ b/configure @@ -7017,6 +7017,7 @@ if [ "$dtc_internal" = "yes" ]; then echo "config-host.h: subdir-dtc" >> $config_host_mak fi if [ "$capstone" = "git" -o "$capstone" = "internal" ]; then + echo "CONFIG_LIBCAPSTONE_INTERNAL=y" >> $config_host_mak echo "config-host.h: subdir-capstone" >> $config_host_mak fi if test -n "$LIBCAPSTONE"; then diff --git a/include/disas/capstone.h b/include/disas/capstone.h index 84e214956d..aea9601f41 100644 --- a/include/disas/capstone.h +++ b/include/disas/capstone.h @@ -3,9 +3,13 @@ #ifdef CONFIG_CAPSTONE +#ifdef CONFIG_LIBCAPSTONE_INTERNAL #include <capstone.h> - #else +#include <capstone/capstone.h> +#endif /* CONFIG_LIBCAPSTONE_INTERNAL */ + +#else /* CONFIG_CAPSTONE */ /* Just enough to allow backends to init without ifdefs. */ -- 2.16.1