Merge branch 'mingw-port'
[libam7xxx.git] / HACKING.asciidoc
index 5b2937d..ed2a46b 100644 (file)
@@ -11,7 +11,7 @@ The suggested way to hack on the project is:
 
   $ mkdir build
   $ cd build
 
   $ mkdir build
   $ cd build
-  $ cmake ../ -DCMAKE_BUILD_TYPE=debug
+  $ cmake -D CMAKE_BUILD_TYPE=debug -D STRICT_COMPILATION_CHECKS=ON ../
   $ make
 
 If you want to check the code with the ''sparse'' static analysis tool you
   $ make
 
 If you want to check the code with the ''sparse'' static analysis tool you
@@ -19,6 +19,35 @@ can run:
 
   $ mkdir build
   $ cd build
 
   $ mkdir build
   $ cd build
-  $ cmake ../ -DCMAKE_C_COMPILER=cgcc
+  $ cmake -D CMAKE_C_COMPILER=cgcc ../
   $ make
 
   $ make
 
+=== Cross Builds
+
+If you want to build for MS Windows:
+
+  $ sudo aptitude install mingw-w64
+  $ mkdir build
+  $ cd build
+  $ wget -nv http://sourceforge.net/projects/libusbx/files/releases/1.0.11/Windows/libusbx-1.0.11-win.7z
+  $ 7z -olibusbx-1.0.11-win x libusbx-1.0.11-win.7z
+  $ cmake  \
+          -D GNU_HOST=i686-w64-mingw32 \
+          -D CMAKE_TOOLCHAIN_FILE=../cmake_modules/mingw_cross_toolchain.cmake \
+          -D CMAKE_INSTALL_PREFIX=libam7xxx-win/ \
+          -D LIBUSB_1_INCLUDE_DIR=libusbx-1.0.11-win/include/libusbx-1.0 \
+          -D LIBUSB_1_LIBRARY=libusbx-1.0.11-win/MinGW32/dll/libusb-1.0.dll \
+          -D BUILD_AM7XXX-PLAY:BOOL=FALSE \
+          ../
+  $ make
+
+After that you will find libam7xxx.dll in lib/ and picoproj.exe in the bin/
+directory.
+
+=== Valgrind
+
+You can run the test program under the http://valgrind.org/[valgrind]
+dynamic analyzer by using a command like:
+
+  $ valgrind --leak-check=full --show-reachable=yes --track-origins=yes \
+    ./bin/picoproj -W 800 -H 480 -f my_image.jpg