[Qemu-devel] [PATCH] capstone: Support capstone/capstone.h

Stephen Checkoway posted 1 patch 6 years, 10 months ago
Test docker-mingw@fedora passed
Test docker-clang@ubuntu passed
Test checkpatch passed
Test asan passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20190401220752.22577-1-stephen.checkoway@oberlin.edu
configure                | 9 +++++++++
include/disas/capstone.h | 4 ++++
2 files changed, 13 insertions(+)
[Qemu-devel] [PATCH] capstone: Support capstone/capstone.h
Posted by Stephen Checkoway 6 years, 10 months ago
Starting with version 4 of capstone, the header files live in the
`$prefix/include/capstone` directory.

This modifies the configure script to check for <capstone/capstone.h> if
<capstone.h> cannot be found.

Signed-off-by: Stephen Checkoway <stephen.checkoway@oberlin.edu>
---
 configure                | 9 +++++++++
 include/disas/capstone.h | 4 ++++
 2 files changed, 13 insertions(+)

diff --git a/configure b/configure
index 1c563a7027..da87c18f14 100755
--- a/configure
+++ b/configure
@@ -5039,6 +5039,12 @@ case "$capstone" in
     ;;
 esac
 
+if test "$capstone" != no; then
+  if ! check_include "capstone.h" && check_include "capstone/capstone.h"; then
+    have_capstone_capstone_h=yes
+  fi
+fi
+
 ##########################################
 # check if we have fdatasync
 
@@ -7199,6 +7205,9 @@ if test "$ivshmem" = "yes" ; then
 fi
 if test "$capstone" != "no" ; then
   echo "CONFIG_CAPSTONE=y" >> $config_host_mak
+  if test "$have_capstone_capstone_h" = "yes" ; then
+    echo "HAVE_CAPSTONE_CAPSTONE_H=y" >> $config_host_mak
+  fi
 fi
 if test "$debug_mutex" = "yes" ; then
   echo "CONFIG_DEBUG_MUTEX=y" >> $config_host_mak
diff --git a/include/disas/capstone.h b/include/disas/capstone.h
index 84e214956d..e1477bf6a2 100644
--- a/include/disas/capstone.h
+++ b/include/disas/capstone.h
@@ -3,7 +3,11 @@
 
 #ifdef CONFIG_CAPSTONE
 
+#ifdef HAVE_CAPSTONE_CAPSTONE_H
+#include <capstone/capstone.h>
+#else
 #include <capstone.h>
+#endif
 
 #else
 
-- 
2.20.1 (Apple Git-117)


Re: [Qemu-devel] [PATCH] capstone: Support capstone/capstone.h
Posted by Richard Henderson 6 years, 10 months ago
On 4/2/19 5:07 AM, Stephen Checkoway wrote:
> Starting with version 4 of capstone, the header files live in the
> `$prefix/include/capstone` directory.
> 
> This modifies the configure script to check for <capstone/capstone.h> if
> <capstone.h> cannot be found.
> 
> Signed-off-by: Stephen Checkoway <stephen.checkoway@oberlin.edu>
> ---
>  configure                | 9 +++++++++
>  include/disas/capstone.h | 4 ++++
>  2 files changed, 13 insertions(+)

Thanks.  We should probably update our submodule to the v4 release as well.


r~

Re: [Qemu-devel] [PATCH] capstone: Support capstone/capstone.h
Posted by Stephen Checkoway 6 years, 10 months ago

On Apr 1, 2019, at 21:28, Richard Henderson <richard.henderson@linaro.org> wrote:

> Thanks.  We should probably update our submodule to the v4 release as well.

Is that something that you want with this patch?

-- 
Stephen Checkoway