diff options
author | Tor Lillqvist <tml@iki.fi> | 2009-10-21 21:07:31 +0300 |
---|---|---|
committer | Ralf Habacker <ralf.habacker@freenet.de> | 2009-12-01 09:20:28 +0100 |
commit | dfbf2050f666bf384703f4fd0173ecc242ff0721 (patch) | |
tree | 4a40ec9ac875ced3779a4e131ffe2e7827027e5b /README.windbus | |
parent | 22e434ab67fe431e0bd23f10eae430955f4d3daf (diff) | |
download | dbus-dfbf2050f666bf384703f4fd0173ecc242ff0721.tar.gz |
Rename README.win to README.windbus to match its origin
Also add it to EXTRA_DIST.
Diffstat (limited to 'README.windbus')
-rw-r--r-- | README.windbus | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/README.windbus b/README.windbus new file mode 100644 index 00000000..76469748 --- /dev/null +++ b/README.windbus @@ -0,0 +1,164 @@ +---------------------------------------- +Windows port of the freedesktop.org D-Bus +---------------------------------------- + +Requirements +------------ +- cmake version >= 2.4.4 see http://www.cmake.org +- installed libxml2 or libexpat from http://82.149.170.66/kde-windows/win32libs + +Build +----- + +unix +1. install cmake and libxml or libexpat +2. get dbus sources +3. mkdir dbus-build +4. cd dbus-build +5. cmake <dbus-src-root>/cmake or cmake -DDBUS_USE_EXPAT=on <dbus-src-root>/cmake in case libexpat should de used +5. make +6. make install + +win32 +1. Install your prefered compiler + - Mingw from www.mingw.org + - Visual C++ 2005 Express/Studio + +2. Install libxml2 or libexpat packages from + http://82.149.170.66/kde-windows/win32libs + into a subdir win32libs in your program installation eg + - german => "c:\Programme\win32libs" + - english => "c:\Program Files\win32libs" + +3. download and install the most recent CMake version from http://www.cmake.org/files/ + +4. apply dbus-win.patch: 'patch -p0 -i dbus-win.patch' + +5. open command shell and run in the created build folder which resides side by side + to the D-Bus sources: + - for mingw: + cmake -G "MinGW Makefiles" <options> ..\<dbus-source-root>\cmake + - for Visual C++ + cmake ..\<dbus-source-root>\cmake + +7. build + + +Tests +----- +(when build with the Visual C++ IDE the *.exe files are +in the bin/Debug and bin/Release folder) + + - dbus library check + bin\dbus-test.exe .\test\data + + - bus daemon check + bin\bus-test.exe .\test\data + + - check available names + bin\test_names.exe + + - check if dbus-daemon is accessable + 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"] + + - start dbus-daemon + * set DBUS_VERBOSE=0 (=1 for getting debug infos) + * start bin\dbus-daemon --session + * 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 + + + +Some build options +------------- + key description default value + --- ----------- ------------- +DBUS_USE_EXPAT "Use expat (== ON) or libxml2 (==OFF) OFF +DBUS_DISABLE_ASSERTS "Disable assertion checking" OFF +DBUS_BUILD_TESTS "enable unit test code" ON +DBUS_ENABLE_ANSI "enable -ansi -pedantic gcc flags" OFF +DBUS_ENABLE_GCOV "compile with coverage profiling + instrumentation (gcc only)" OFF +DBUS_ENABLE_VERBOSE_MODE "support verbose debug mode" ON +DBUS_DISABLE_CHECKS "Disable public API sanity checking" OFF +DBUS_INSTALL_SYSTEM_LIBS "install required system libraries + (mingw: libxml2, libiconv, mingw10)" OFF +CMAKE_BUILD_TYPE "build type (== debug) or (== release) release + + + +Developers +---------- + +Running the tests in Visual Studio: + + To successfully run the tests by the IDE you must add + the FULL patch to test\data in your build directory + (e.g. c:\dbus\build\test\data) + in something like + -> Project Settings + -> Debugging + -> Command line arguments + + + +FAQ +--- + +- How much work remains till DBUS win32 can be merged with the main project? + +There are some patches outstanding and the most effort is required in +discussions with the main dbus team how to implement some parts. One of +the main dbus team estimated the open work to one fulltime week. +http://lists.freedesktop.org/archives/dbus/2006-November/006264.html + +I assume they will answer ALL your questions, and they are very +interested in fully supporting win32. + +- How far is WinDBus from being usable for production ? +dbus comes with a test suite which is used on unix to guarantate +production quality and this test suite runs mostly. There are some +test not running and we need help to get them running. + +In the pratice I and some other people are using dbus for at least more +than a half year in conjunction with kde on windows without any problems. + + +- On UNIX D-Bus uses UNIX sockets to communicate (correct me if I'm wrong). + What is used on Windows ? + +tcp sockets, there are some efforts to get named pipe running, but some +design problems of the win32 api, we are not able to solve without +bigger changes to the dbus code base let us stop this effort. + + +- Do you have any clue if dbus-win32 can run in a Windows CE environment? + +I was told that windows ce does not have posix function +open/close/select/... and dbus code uses such function in some area. + + +- Do you know if the C++ binding made by OpenWengo will be easily portable to Windows? + +We have already ported the OpenWengo dbus-c++ binding, see in WinDBus svn (http://sf.net/projects/windbus) +The related test applicationa are running well. + + +TODO +---- + +February 2007: + +- all changes of dbus-win.patch should become part of the official D-Bus code + +- all code currently disabled by DBUS_WIN_FIXME should work + +- clean up: + * bus/bus-service-win.c + * bus/dir-watch.c + * dbus/dbus-spawn-win.c + * dbus/dbus-sysdeps-util-win.c + * dbus/dbus-sysdeps-win.c + + +see also: +http://lists.freedesktop.org/archives/dbus/2006-July/005076.html |