X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=README.win;h=4e4f757400eb8fb77305cf3d81646e4a692672a3;hb=dd9deec53b9429ad52100479b76c560ed249e645;hp=b941a0882146e2e4fe58a44de488a0b24a2d1684;hpb=51e88a912a893ffc45298cc0ddca3b556193570f;p=platform%2Fupstream%2Fdbus.git diff --git a/README.win b/README.win index b941a08..4e4f757 100644 --- a/README.win +++ b/README.win @@ -1,158 +1,111 @@ ----------------------------------------- +----------------------------------------- Windows port of the freedesktop.org D-Bus ----------------------------------------- +----------------------------------------- -Requirements ------------- -- cmake version >= 2.4.4 see http://www.cmake.org -- installed libxml2 or libexpat +Features and completeness +------------------------- +The windows port of dbus provides the dbus-1 library and mostly +applications which are already available on unix. These applications +are: dbus-daemon, dbus-launch, dbus-monitor and dbus-send. +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 yet and there is help needed to get them running. + +Supported compilers +------------------- +On windows Microsoft Visual Studio 2010 (Express and professional variants) +and mingw-w64|32 are known to work. + +Building +-------- +DBus can be built on windows using automake or cmake. See the +file README for more information. +Special cmake build instructions can be found in cmake/readme-cmake.txt -Build ------ -unix -1. install cmake and libxml or libexpat -2. get dbus sources -3. mkdir dbus-build -4. cd dbus-build -5. cmake /cmake or cmake -DDBUS_USE_EXPAT=on /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 win32libs packages from - http://www.abi-neuhaus.de/chris/win32libs/ - into a subdir win32libs in your program installation eg c:\Programme\win32libs (german) - or "c:\Program Files\win32libs" (english) -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" ..\\cmake - - for Visual C++ - cmake ..\\cmake -7. build +windbus and dbus4win Ports +-------------------------- +The Windows ports from the windbus and dbus4win projects has been merged +into the freedesktop git master branch, as applicable. The spec has been +updated with windows specific stuff. 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 ---- + - dbus library check + bin\dbus-test.exe \test\data -- How much work remains till DBUS win32 can be merged with the main project? + - bus daemon check + bin\bus-test.exe \test\data -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 + - check available names + bin\test_names.exe -I assume they will answer ALL your questions, and they are very -interested in fully supporting win32. + - 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"] -- 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. + - start session dbus-daemon + either by running + bin\dbus-launch + or + start bin\dbus-daemon --session + + Before running these commands you may execute + set DBUS_VERBOSE=1 + for getting debug infos + + + - call function registerd in dbus + 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 -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. + note: When building with the Visual C++ IDE the *.exe files are in + the bin/Debug and bin/Release folder, not in the bin folder. -- On UNIX D-Bus uses UNIX sockets to communicate (correct me if I'm wrong). +FAQ +--- + +- 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 four years 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. + 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. - + dbus has been ported to wince, see README.wince for more information - 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. + The OpenWengo dbus-c++ binding has been ported to windows see in WinDBus svn + (http://sf.net/projects/windbus) + The related test applications are running well. TODO ---- -February 2007: +October 2010: + +- the code wrapped with DBUS_WIN_FIXME should be inspected if it required for windows -- 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 +- create a dbus setup installer +- implement system bus and system bus service starter + see http://windbus.svn.sourceforge.net/viewvc/windbus/trunk/bus/bus-service-win.c + for a starting point -see also: -http://lists.freedesktop.org/archives/dbus/2006-July/005076.html +- implement a real login session bus + The scope parameter of the autolaunch meta protocol could be extended to support user + specific session busses (like already done with the amarok bundled dbus which use a + shared memory area named "DBusDaemonAddressInfo:". + Also the dbus installer should start a session bus on user login.