From 30213f4b7dfd00b34b359a85d0f50369814cda55 Mon Sep 17 00:00:00 2001 From: Ralf Habacker Date: Tue, 12 Oct 2010 14:45:12 +0200 Subject: [PATCH] Cleaned up windows related README's. --- README.dbus4win | 67 -------------------- README.win | 107 +++++++++++++++++++++++++++++++ README.windbus | 169 ------------------------------------------------- cmake/readme-cmake.txt | 2 +- 4 files changed, 108 insertions(+), 237 deletions(-) delete mode 100644 README.dbus4win create mode 100644 README.win delete mode 100644 README.windbus diff --git a/README.dbus4win b/README.dbus4win deleted file mode 100644 index 5a26fea..0000000 --- a/README.dbus4win +++ /dev/null @@ -1,67 +0,0 @@ -On 2009-10-21 I (Tor Lillqvist ) cherry-picked a bunch of -commits from the dbus4win-noncetcp branch of the dbus4win repository -to (my clone of) dbus upstream's master branch. - -The dbus4win repository is at least currently at -git://repo.or.cz/dbus4win.git - -I went through the commits done to the dbus4win-noncetcp branch since -the dbus-1.2.14 tag, i.e. commit f719d454329a1a54ff2d569feaf10ceee7cead50. - -The following commits were left out because they either 0) were -already upstream, 1) seemed broken, or 2) seemed pointless to me, -especially if the commit message didn't say much. For each commit left -out, below is three lines: its id, the first log comment line, and an -explanation why I left it out. - -f719d454329a1a54ff2d569feaf10ceee7cead50 -configure.in: not all gccs support -Wno-pointer-sign -already upstream - -6eddb6e1229b617ad44c8d61107983229dc7d589 -configure.in: fail abstract socket test gracefully when cross-compilin -already upstream - -c54dd9eefa5ed0d54be3b09cf30c12f05130fda1 -r783: one ifdef lesser -probably pointless - -93c288ca3e86e7760d3ac3fa6490257c1b6dc544 -r783: compile if ENOMEM or EINTR is undefined. -huh, ENOMEM and EINTR is defined in the Microsoft C library - -4f4ba13357da15c35a9d4ad111bf972a5d0d5db0 -r783: introduced _dbus_daemon_release() function called in _dbus_loop_quit()... -this can't be right, there can be nested dbus loops afaik - -124eb334324472a10de2c7e0a1455d353431f08f -unix build fixes against windbus-svn -can't be right to make a char* const when the code below then assigns through it - -594bd19a0c45822d8763871e3491d99beb4d22cb -introduce DBUS_DIR_SEPERATOR and make use of it. On windows, disable some system service tests -"forward" slashes work fine on Windows, no need to uglify code with DBUS_DIR_SEPARATOR - -cd2cdb3457f72cf058d5b19796ee691ceca6b52c -r783: introduced DBUS_CLEANUP_OLD_SERVICES that does cleanup prev zombie-instances... -unsure about this. something specific to KDE-on-Windows? - -eeedba5b2f5b008819619764943caddd52441adf -build fixes for OS X, xcode 3.1.2, gcc 4.2.1 -doesn't apply, seems to be upstream? - -7dc7f71cf3003e006f6e177b5460d14a7cdbf2de -configure.in: fix pthread detection -doesn't apply - -05b37fa87b1f6aa670de9007879f53a8198a7a89 -configure.in: suppress -fPIC, -fPIE for W32 -doesn't apply - -b0d14fed92d9f539cd3478e72dc2f3ea75f3941a -configure.in: only check for wspiapi.h on Windows -nah, no harm checking for it on UNIX too - -1724fc10e516e2d570537d522d8608abba90be5e -prototypes cleanup -related to cd2cdb3457f72cf058d5b19796ee691ceca6b52c which was skipped above diff --git a/README.win b/README.win new file mode 100644 index 0000000..a871f96 --- /dev/null +++ b/README.win @@ -0,0 +1,107 @@ +----------------------------------------- +Windows port of the freedesktop.org D-Bus +----------------------------------------- + +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. + + +Building +-------- +DBus could be build on windows using automake or cmake. See the +file README for more informations. +Special cmake build instructions could be found in cmake/readme-cmake.txt + + +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 +----- + - 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 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 + + 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. + + +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. + +- Do you have any clue if dbus-win32 can run in a Windows CE environment? + + dbus has been ported to wince, see README.wince for more informations + +- Do you know if the C++ binding made by OpenWengo will be easily portable to Windows? + + The OpenWengo dbus-c++ binding has been ported to windows see in WinDBus svn + (http://sf.net/projects/windbus) + The related test applicationa are running well. + + +TODO +---- + +Oktober 2010: + +- the code wrapped with DBUS_WIN_FIXME should be inspected if it required for windows + +- 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 + +- 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. diff --git a/README.windbus b/README.windbus deleted file mode 100644 index 1dde5c8..0000000 --- a/README.windbus +++ /dev/null @@ -1,169 +0,0 @@ -This README.windbus file below originates from the "windbus" fork. It -does not reflect reality here. Changes from both windbus and the -separate "dbus4win" fork have been merged into this code repository, -as applicable. - ----------------------------------------- -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 /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 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" ..\\cmake - - for Visual C++ - cmake ..\\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 diff --git a/cmake/readme-cmake.txt b/cmake/readme-cmake.txt index 93fb5d4..4056d3c 100644 --- a/cmake/readme-cmake.txt +++ b/cmake/readme-cmake.txt @@ -35,5 +35,5 @@ win32-msvc 6. make 7. make install -A list of all build options could be find in the file ../README. +A list of all available build options could be find in the file ../README. -- 2.7.4