summaryrefslogtreecommitdiff
path: root/tools/windows_packaging/README
diff options
context:
space:
mode:
Diffstat (limited to 'tools/windows_packaging/README')
-rw-r--r--tools/windows_packaging/README64
1 files changed, 51 insertions, 13 deletions
diff --git a/tools/windows_packaging/README b/tools/windows_packaging/README
index cb01c5675f..4a766685c5 100644
--- a/tools/windows_packaging/README
+++ b/tools/windows_packaging/README
@@ -1,15 +1,15 @@
Building Ardour for Windows
The windows build is compiled and tested with the MinGW compiler that is
-packaged in Fedora, Currently using Fedora 16. There are many cross compiled
-"mingw" libraries that Ardour requires that are also available on Fedora but
+packaged in Fedora, Currently using Fedora 19. There are many cross compiled
+"mingw" libraries that Ardour requires that are available on Fedora but
not all are yet.
Prerequisites
-Follow instructions in Fedora-16.txt to build and/or install the required
-packages.
+For setting up the required packages to build Ardour refer to the README
+file located at https://github.com/mojofunk/fedora-mingw-ardour
Configuring
@@ -28,6 +28,8 @@ These scripts both source the mingw-env.sh script to setup the appropriate
environment variables and then call waf with a specific set of parameters
that are appropriate to configure for the windows build.
+There is also configure-distcc-debug.sh and configure-distcc-release.sh that
+configure to use distcc for building.
Building
@@ -44,6 +46,14 @@ windows executable. This could probably be done in the waf scripts specifically
for the windows build but I felt it simpler to do it in the packaging script
for now.
+--------- NOTE --------------------
+
+package_win32.sh is an updated/extended version of package.sh from Valeriy. It
+should probably be merged with package.sh at some point. It uses a number of
+additional resources located under mingw64/
+
+-----------------------------------
+
The packaging script then copies the JACK deamon and all the required mingw
shared libraries from the host system into the packaging directory. The
shared libraries or dll's are placed in the same directory as the Ardour
@@ -73,8 +83,8 @@ in a separate terminal(Command Prompt) before starting Ardour so that they are
not both writing to the same terminal. This will probably be fixed at some point
so when jackd is started by Ardour the output is redirected etc.
-The cptovm.sh and startvm.sh scripts are intended for testing Ardour in a
-Windows XP virt image and may need to be altered to be used successfully.
+The cptovmshare.sh script will copy the package to a directory specified in the
+ARDOUR_VM_SHARE_DIR for testing in a virtual machine.
Testing
@@ -82,6 +92,8 @@ Testing
When configured for debugging there are a number of test programs(prefixed with
test_) included in the package.
+The tests for libpbd, libevoral and libardour can be run under wine from the
+windows packaging directory using the wine-*-tests.sh scripts
Debugging
@@ -92,17 +104,43 @@ When configured for debugging the package contains gdb along with a .gdbinit
file to automatically set the source directory so that the "list" gdb command
will show the source code corresponding to the current stack frame.
-Use break `Somenamespace::somepartialsymbolname + tab to list symbols, then remove
-` to set break. If you press tab with when there are thousands of possible
-matching symbols be prepared to wait a long time(this can also cause gdb to use a
-lot of memory).
+New versions of gdb will not load a .gdbinit file unless it is located in the directory
+set in the HOME environment variable and auto-load safe-path is set appropriately.
+
+So the gdbinit_home file needs to be moved to directory set in %USERPROFILE% and
+gdb started via gdb.bat for source file listing to work.
+
+The gdb batch scripts cannot be used if the package directory is on a network share
+so the package will need to be copied to a local drive first.
+
+When starting gdb using gdb.bat the Ardour executable needs to be set as the program
+to be debugged with the "file" command
+
+e.g (gdb) file ardour-3.5.exe
+
+You can then set a break point at main() with the "break" command as usual
+
+e.g (gdb) break main
+
+To set a breakpoint in a dll/shared library like libardour you need to wait for
+the symbols to be loaded which only occurs once the program has been executed using
+the "run" command
+
+You can set a breakpoint at a function
+
+e.g break `Somenamespace::somepartialsymbolname + tab to list symbols
+
+then remove ` to set the breakpoint.
-For reasons I've yet to determine many symbols are not accessible so the best way
-to set a breakpoint is by using filename and line number.
+If you press tab with when there are thousands of possible matching symbols be
+prepared to wait a long time(this can also cause gdb to use a lot of memory).
+For this reason I prefer to set breakpoints by specifying the source file and line
+number.
e.g (gdb) break audiosource.cc:976
-but this seems to only work after running Ardour at least once.
+using "catch throw" or "catch catch" can be useful to break at points where exceptions
+are thrown or caught.
They are a number of glib debugging options see