mirror of
https://gitlab.freedesktop.org/dbus/dbus.git
synced 2026-05-05 00:37:59 +02:00
Cleaned up windows related README's.
This commit is contained in:
parent
d0da9218de
commit
30213f4b7d
4 changed files with 108 additions and 237 deletions
|
|
@ -1,67 +0,0 @@
|
|||
On 2009-10-21 I (Tor Lillqvist <tml@iki.fi>) 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
|
||||
107
README.win
Normal file
107
README.win
Normal file
|
|
@ -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 <build-root>\test\data
|
||||
|
||||
- bus daemon check
|
||||
bin\bus-test.exe <build-root>\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:<username>".
|
||||
Also the dbus installer should start a session bus on user login.
|
||||
169
README.windbus
169
README.windbus
|
|
@ -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 <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
|
||||
|
|
@ -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.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue