summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUlf Hermann <ulf.hermann@qt.io>2017-12-08 10:38:29 +0100
committerUlf Hermann <ulf.hermann@qt.io>2017-12-21 14:09:04 +0000
commit40c8991ec8962c1012ced64bb4e4b01f343fe293 (patch)
tree6f5db44ebfcd124e3199ef5b99a89d0c6f2f3976
parente556d22e3f6f59301c5a2616507c1a2357b01798 (diff)
Add a windows specific README
Building this on windows is tricky. Change-Id: I5e30b4438dab37672ca38a8b661f1e6438ebb796 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
-rw-r--r--README.windows24
1 files changed, 24 insertions, 0 deletions
diff --git a/README.windows b/README.windows
new file mode 100644
index 00000000..4fb8a3d2
--- /dev/null
+++ b/README.windows
@@ -0,0 +1,24 @@
+In order to build this with mingw/msys for perfparser, use the following configure line:
+
+LDFLAGS=-static-libgcc configure --enable-maintainer-mode --enable-selfcontained --enable-gnulib \
+ --without-bzlib --without-lzma
+
+That is:
+- static-libgcc so that we don't depend on a shared libgcc
+- maintainer-mode as we are building from git
+- selfcontained to ship the headers needed to link perfparser
+- gnulib to replace missing libc functions
+- without-bzlib to avoid extra dependencies
+- without-lzma also to avoid dependencies
+
+Check the resulting files with depends.exe. If they depend on any 3rd party dlls, track those down
+and check if the libraries are also available as static versions. If so, move the .dll.a files away
+to prevent dynamic linking and build again. This is currently about libz and libdl but might happen
+with other libraries if elfutils gets more dependencies (hopefully not).
+
+In order to run the tests, you have to add the libasm, libelf, libdw and backends directories to
+PATH, as windows doesn't have RPATH.
+
+In order to create the .lib files needed to link the elfutils libraries into MSVC-built binaries,
+the "lib.exe" command has to be available from PATH.
+