diff options
author | 2023-10-10 14:33:42 +0000 | |
---|---|---|
committer | 2023-10-10 14:33:42 +0000 | |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /capstone/xcode/README.md | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'capstone/xcode/README.md')
-rw-r--r-- | capstone/xcode/README.md | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/capstone/xcode/README.md b/capstone/xcode/README.md new file mode 100644 index 000000000..7c5295e13 --- /dev/null +++ b/capstone/xcode/README.md @@ -0,0 +1,26 @@ +Xcode Project for Capstone +================================================================================ + +The *Capstone.xcodeproj* project is an Xcode project that mimicks the Visual +Studio solution for Capstone. It embeds nicely into Xcode workspaces. It has 13 +targets, two of which are the most likely to be of interest: + +* CapstoneStatic, producing `libcapstone.a`, Capstone as a static library; +* CapstoneDynamic, producing `libcapstone.dylib`, Capstone as a shared library; +* test, test_arm, test_arm64, test_detail, test_mips, test_ppc, test_skipdata, + test_sparc, test_systemz, test_xcore, testing all the things. + +The project is configured to include all targets and use the system +implementations of `malloc`, `calloc`, `realloc`, `free` and `vsnprintf`. This +can be modified by editing the *Preprocessor Macros* build setting of either +CapstoneStatic or CapstoneDynamic, whichever you plan to use. These settings are +all at the target level: no specific overrides were used at the project level. + +### A Word of Warning: Static vs. Shared Library + +There is a bug in how Xcode handles static libraries and dynamic libraries of +the same name. Currently, if you integrate the Capstone project in a workspace +and both the static *and* the dynamic libraries are built, if you try to link +against either, you will *always* link against the dynamic one. To work around +this issue, you can avoid building the dynamic library if you don't plan to use +it, or you could change the *Product Name* build setting of either.
\ No newline at end of file |