gbs incremental build support
[platform/upstream/dbus.git] / README.win
1 -----------------------------------------
2 Windows port of the freedesktop.org D-Bus
3 -----------------------------------------
4
5 Features and completeness
6 -------------------------
7 The windows port of dbus provides the dbus-1 library and mostly
8 applications which are already available on unix. These applications
9 are: dbus-daemon, dbus-launch, dbus-monitor and dbus-send.
10 DBus comes with a test suite which is used on unix to guarantate
11 production quality and this test suite runs mostly. There are some
12 test not running yet and there is help needed to get them running.
13
14 Supported compilers
15 -------------------
16 On windows Microsoft Visual Studio 2010 (Express and professional variants)
17 and mingw-w64|32 are known to work.
18
19 Building
20 --------
21 DBus can be built on windows using automake or cmake. See the
22 file INSTALL for more information.
23
24 windbus and dbus4win Ports
25 --------------------------
26 The Windows ports from the windbus and dbus4win projects has been merged
27 into the freedesktop git master branch, as applicable. The spec has been
28 updated with windows specific stuff.
29
30
31 Tests
32 -----
33  - run complete test suite
34      make check
35    or
36      ctest [-V]
37
38  - dbus library check
39     ctest [-V] -R test-dbus
40
41  - bus daemon check
42     ctest [-V] -R test-bus
43
44  - check available names
45     ctest [-V] -R test-names
46
47  - check if dbus-daemon is accessable
48     bin\dbus-send.exe --session --type=method_call --print-reply --dest=org.freedesktop.DBus / org.freedesktop.DBus.ListNames method return sender=org.freedesktop.DBus -> dest=:1.4 array [ string "org.freedesktop.DBus"string ":1.4"]
49
50  - start session dbus-daemon
51     either by running
52         bin\dbus-launch
53     or
54         start bin\dbus-daemon --session
55
56     Before running these commands you may execute
57         set DBUS_VERBOSE=1
58     for getting debug infos
59
60
61  - call function registerd in dbus
62     bin\dbus-send.exe  --dest=org.freedesktop.DBus --print-reply --type=method_call / org.freedesktop.DBus.StartServiceByName string:org.freedesktop.DBus.TestSuiteEchoService  uint32:455 method return sender=org.freedesktop.DBus -> dest=:1.8 uint32 2
63
64     note: When building with the Visual C++ IDE the *.exe files are in
65           the bin/Debug and bin/Release folder, not in the bin folder.
66
67
68 FAQ
69 ---
70
71 - How far is WinDBus from being usable for production ?
72
73   dbus comes with a test suite which is used on unix to guarantate
74   production quality and this test suite runs mostly. There are some
75   test not running and we need help to get them running.
76   In the pratice I and some other people are using dbus for at least more
77   than four years in conjunction with kde on windows without any problems.
78
79 - On UNIX D-Bus uses UNIX sockets to communicate (correct me if I'm wrong).
80   What is used on Windows ?
81
82   tcp sockets, there are some efforts to get named pipe running, but some
83   design problems of the win32 api, we are not able to solve without
84   bigger changes to the dbus code base let us stop this effort.
85
86 - Do you have any clue if dbus-win32 can run in a Windows CE environment?
87
88   dbus has been ported to wince, see README.wince for more information
89
90 - Do you know if the C++ binding made by OpenWengo will be easily portable to Windows?
91
92   The OpenWengo dbus-c++ binding has been ported to windows see in WinDBus svn
93   (http://sf.net/projects/windbus)
94   The related test applications are running well.
95
96
97 TODO
98 ----
99
100 October 2010:
101
102 - the code wrapped with DBUS_WIN_FIXME should be inspected if it required for windows
103
104 - create a dbus setup installer
105
106 - implement system bus and system bus service starter
107   see http://windbus.svn.sourceforge.net/viewvc/windbus/trunk/bus/bus-service-win.c
108   for a starting point
109
110 - implement a real login session bus
111   The scope parameter of the autolaunch meta protocol could be extended to support user
112   specific session busses (like already done with the amarok bundled dbus which use a
113   shared memory area named "DBusDaemonAddressInfo:<username>".
114   Also the dbus installer should start a session bus on user login.