• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

build-aux/H02-Jul-2020-17,07412,772

bus/H02-Jul-2020-38,02828,252

cmake/H03-May-2022-1,3821,172

dbus/H03-May-2022-95,22759,581

doc/H03-May-2022-14,02812,588

m4/H02-Jul-2020-9,8488,890

test/H02-Jul-2020-31,38625,778

tools/H03-May-2022-8,3366,305

AUTHORSH A D30-Oct-20174.6 KiB123122

CONTRIBUTING.mdH A D04-Dec-201815.5 KiB393280

COPYINGH A D30-Oct-201728.5 KiB553457

ChangeLogH A D30-Oct-2017215 64

ChangeLog.pre-1-0H A D30-Oct-2017509.5 KiB15,14710,603

ChangeLog.pre-1-2H A D30-Oct-201771 KiB2,0281,382

Doxyfile.inH A D30-Oct-20176.9 KiB182176

INSTALLH A D30-Oct-20179.7 KiB249192

Makefile.amH A D13-May-20191.3 KiB5545

Makefile.inH A D03-May-202244.8 KiB1,2431,072

NEWSH A D02-Jul-2020121.8 KiB3,1892,329

NEWS.pre-1-0H A D30-Oct-201722.2 KiB615555

NEWS.pre-1-2H A D30-Oct-20176.5 KiB154122

READMEH A D04-Dec-20187.1 KiB186138

README.cmakeH A D30-Oct-20175.6 KiB194147

README.cygwinH A D30-Oct-2017165 74

README.launchdH A D30-Oct-20173 KiB6249

README.valgrindH A D30-Oct-2017831 2516

README.winH A D30-Oct-20173.9 KiB11582

README.winceH A D30-Oct-20172.7 KiB8259

aclocal.m4H A D02-Jul-202094.9 KiB2,5682,349

aminclude_static.amH A D02-Jul-20206.6 KiB127108

autogen.shH A D30-Oct-20172.4 KiB10982

cleanup-man-pages.shH A D30-Oct-20173.8 KiB8751

config.h.inH A D02-Jul-202013.1 KiB545375

configureH A D02-Jul-2020915.3 KiB31,39826,101

configure.acH A D02-Jul-202061.9 KiB1,8701,615

dbus-1-uninstalled.pc.inH A D30-Oct-2017633 2119

dbus-1.pc.inH A D30-Oct-2017659 2220

README

1Sections in this file describe:
2 - introduction and overview
3 - low-level vs. high-level API
4 - version numbers
5 - options to the configure script
6 - ABI stability policy
7
8Introduction
9===
10
11D-Bus is a simple system for interprocess communication and coordination.
12
13The "and coordination" part is important; D-Bus provides a bus daemon that does things like:
14 - notify applications when other apps exit
15 - start services on demand
16 - support single-instance applications
17
18See http://www.freedesktop.org/software/dbus/ for lots of documentation,
19mailing lists, etc.
20
21See also the file CONTRIBUTING.md for notes of interest to developers
22working on D-Bus.
23
24If you're considering D-Bus for use in a project, you should be aware
25that D-Bus was designed for a couple of specific use cases, a "system
26bus" and a "desktop session bus." These are documented in more detail
27in the D-Bus specification and FAQ available on the web site.
28
29If your use-case isn't one of these, D-Bus may still be useful, but
30only by accident; so you should evaluate carefully whether D-Bus makes
31sense for your project.
32
33Security
34==
35
36If you find a security vulnerability that is not known to the public,
37please report it privately to dbus-security@lists.freedesktop.org
38or by reporting a freedesktop.org bug that is marked as
39restricted to the "D-BUS security group" (you might need to "Show
40Advanced Fields" to have that option).
41
42On Unix systems, the system bus (dbus-daemon --system) is designed
43to be a security boundary between users with different privileges.
44
45On Unix systems, the session bus (dbus-daemon --session) is designed
46to be used by a single user, and only accessible by that user.
47
48We do not currently consider D-Bus on Windows to be security-supported,
49and we do not recommend allowing untrusted users to access Windows
50D-Bus via TCP.
51
52Note: low-level API vs. high-level binding APIs
53===
54
55A core concept of the D-Bus implementation is that "libdbus" is
56intended to be a low-level API. Most programmers are intended to use
57the bindings to GLib, Qt, Python, Mono, Java, or whatever. These
58bindings have varying levels of completeness and are maintained as
59separate projects from the main D-Bus package. The main D-Bus package
60contains the low-level libdbus, the bus daemon, and a few command-line
61tools such as dbus-launch.
62
63If you use the low-level API directly, you're signing up for some
64pain. Think of the low-level API as analogous to Xlib or GDI, and the
65high-level API as analogous to Qt/GTK+/HTML.
66
67Version numbers
68===
69
70D-Bus uses the common "Linux kernel" versioning system, where
71even-numbered minor versions are stable and odd-numbered minor
72versions are development snapshots.
73
74So for example, development snapshots: 1.1.1, 1.1.2, 1.1.3, 1.3.4
75Stable versions: 1.0, 1.0.1, 1.0.2, 1.2.1, 1.2.3
76
77All pre-1.0 versions were development snapshots.
78
79Development snapshots make no ABI stability guarantees for new ABI
80introduced since the last stable release. Development snapshots are
81likely to have more bugs than stable releases, obviously.
82
83Configuration
84===
85
86dbus could be build by using autotools or cmake.
87
88When using autotools the configure step is initiated by running ./configure
89with or without additional configuration flags. dbus requires GNU Make
90(on BSD systems, this is typically called gmake) or a "make" implementation
91with compatible extensions.
92
93When using cmake the configure step is initiated by running the cmake
94program with or without additional configuration flags.
95
96Configuration flags
97===
98
99When using autotools, run "./configure --help" to see the possible
100configuration options and environment variables.
101
102When using cmake, inspect README.cmake to see the possible
103configuration options and environment variables.
104
105API/ABI Policy
106===
107
108Now that D-Bus has reached version 1.0, the objective is that all
109applications dynamically linked to libdbus will continue working
110indefinitely with the most recent system and session bus daemons.
111
112 - The protocol will never be broken again; any message bus should
113   work with any client forever. However, extensions are possible
114   where the protocol is extensible.
115
116 - If the library API is modified incompatibly, we will rename it
117   as in http://ometer.com/parallel.html - in other words,
118   it will always be possible to compile against and use the older
119   API, and apps will always get the API they expect.
120
121Interfaces can and probably will be _added_. This means both new
122functions and types in libdbus, and new methods exported to
123applications by the bus daemon.
124
125The above policy is intended to make D-Bus as API-stable as other
126widely-used libraries (such as GTK+, Qt, Xlib, or your favorite
127example). If you have questions or concerns they are very welcome on
128the D-Bus mailing list.
129
130NOTE ABOUT DEVELOPMENT SNAPSHOTS AND VERSIONING
131
132Odd-numbered minor releases (1.1.x, 1.3.x, 2.1.x, etc. -
133major.minor.micro) are devel snapshots for testing, and any new ABI
134they introduce relative to the last stable version is subject to
135change during the development cycle.
136
137Any ABI found in a stable release, however, is frozen.
138
139ABI will not be added in a stable series if we can help it. i.e. the
140ABI of 1.2.0 and 1.2.5 you can expect to be the same, while the ABI of
1411.4.x may add more stuff not found in 1.2.x.
142
143NOTE ABOUT STATIC LINKING
144
145We are not yet firmly freezing all runtime dependencies of the libdbus
146library. For example, the library may read certain files as part of
147its implementation, and these files may move around between versions.
148
149As a result, we don't yet recommend statically linking to
150libdbus. Also, reimplementations of the protocol from scratch might
151have to work to stay in sync with how libdbus behaves.
152
153To lock things down and declare static linking and reimplementation to
154be safe, we'd like to see all the internal dependencies of libdbus
155(for example, files read) well-documented in the specification, and
156we'd like to have a high degree of confidence that these dependencies
157are supportable over the long term and extensible where required.
158
159NOTE ABOUT HIGH-LEVEL BINDINGS
160
161Note that the high-level bindings are _separate projects_ from the
162main D-Bus package, and have their own release cycles, levels of
163maturity, and ABI stability policies. Please consult the documentation
164for your binding.
165
166Bootstrapping D-Bus on new platforms
167===
168
169A full build of D-Bus, with all regression tests enabled and run, has some
170dependencies which themselves depend on D-Bus, either for compilation or
171for some of *their* regression tests: GLib, dbus-glib and dbus-python are
172currently affected.
173
174To avoid circular dependencies, when bootstrapping D-Bus for the first time
175on a new OS or CPU architecture, you can either cross-compile some of
176those components, or choose the build order and options carefully:
177
178* build and install D-Bus without tests
179  - do not use the --enable-modular-tests=yes configure option
180  - do not use the --enable-tests=yes configure option
181* build and install GLib, again without tests
182* use those versions of libdbus and GLib to build and install dbus-glib
183* ... and use those to install dbus-python
184* rebuild libdbus; this time you can run all of the tests
185* rebuild GLib; this time you can run all of the tests
186

README.cmake

1This file describes how to compile dbus using the cmake build system
2
3Requirements
4------------
5- cmake version >= 2.6.0 see http://www.cmake.org
6- installed libexpat see http://sourceforge.net/projects/expat/
7    unsupported RelWithDebInfo builds could be fetched
8    from http://sourceforge.net/projects/kde-windows/files/expat/
9
10Building
11--------
12
13Win32 MinGW-w64|32
141. install mingw-w64 from http://sourceforge.net/projects/mingw-w64/
152. install cmake and libexpat
163. get dbus sources
174. unpack dbus sources into a sub directory (referred as <dbus-src-root> later)
185. mkdir dbus-build
196. cd dbus-build
207. run
21    cmake -G "MinGW Makefiles" [<options, see below>] <dbus-src-root>/cmake
22    mingw32-make
23    mingw32-make install
24
25Win32 Microsoft nmake
261. install MSVC 2010 Express Version from http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express
272. install cmake and libexpat
283. get dbus sources
294. unpack dbus sources into a sub directory (referred as <dbus-src-root> later)
305. mkdir dbus-build
316. cd dbus-build
327. run
33    cmake -G "NMake Makefiles" [<options, see below>] <dbus-src-root>/cmake
34    nmake
35    nmake install
36
37Win32 Visual Studio 2010 Express IDE
381. install MSVC 2010 Express Version from http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express
392. install cmake and libexpat
403. get dbus sources
414. unpack dbus sources into a sub directory (referred as <dbus-src-root> later)
425. mkdir dbus-build
436. cd dbus-build
447. run
45      cmake -G "Visual Studio 10" [<options, see below>] <dbus-src-root>/cmake
468a. open IDE with
47      vcexpress dbus.sln
488b. for immediate build run
49      vcexpress dbus.sln /build
50
51Win32 Visual Studio 2010 Professional IDE
521. install MSVC 2010 Professional Version
532. install cmake and libexpat
543. get dbus sources
554. unpack dbus sources into a sub directory (referred as <dbus-src-root> later)
565. mkdir dbus-build
576. cd dbus-build
587. run
59      cmake -G "Visual Studio 10" [<options, see below>] <dbus-src-root>/cmake
608a. open IDE with
61      devenv dbus.sln
628b. for immediate build run
63      devenv dbus.sln /build
64
65Linux
661. install cmake and libexpat
672. get dbus sources
683. unpack dbus sources into a sub directory (referred as <dbus-src-root> later)
694. mkdir dbus-build
705. cd dbus-build
716. run
72    cmake -G "<for available targets, see cmake --help for a list>" [<options, see below>] <dbus-src-root>/cmake
73    make
74    make install
75
76For other compilers see cmake --help in the Generators section
77
78Configuration flags
79-------------------
80
81When using the cmake build system the dbus-specific configuration flags that can be given
82to the cmake program are these (use -D<key>=<value> on command line). The listed values
83are the defaults (in a typical build - some are platform-specific).
84
85// Choose the type of build, options are: None(CMAKE_CXX_FLAGS or
86// CMAKE_C_FLAGS used) Debug Release RelWithDebInfo MinSizeRel.
87CMAKE_BUILD_TYPE:STRING=Debug
88
89// Include path for 3rdparty packages
90CMAKE_INCLUDE_PATH:PATH=
91
92// Library path for 3rdparty packages
93CMAKE_LIBRARY_PATH:PATH=
94
95// Install path prefix, prepended onto install directories.
96CMAKE_INSTALL_PREFIX:PATH=C:/Program Files/dbus
97
98
99// enable unit test code
100DBUS_BUILD_TESTS:BOOL=ON
101
102// The name of the dbus daemon executable
103DBUS_DAEMON_NAME:STRING=dbus-daemon
104
105// Disable assertion checking
106DBUS_DISABLE_ASSERT:BOOL=OFF
107
108// Disable public API sanity checking
109DBUS_DISABLE_CHECKS:BOOL=OFF
110
111// enable -ansi -pedantic gcc flags
112DBUS_ENABLE_ANSI:BOOL=OFF
113
114// build DOXYGEN documentation (requires Doxygen)
115DBUS_ENABLE_DOXYGEN_DOCS:BOOL=OFF
116
117// enable bus daemon usage statistics
118DBUS_ENABLE_STATS:BOOL=OFF
119
120// support verbose debug mode
121DBUS_ENABLE_VERBOSE_MODE:BOOL=ON
122
123// build XML  documentation (requires xmlto or meinproc4)
124DBUS_ENABLE_XML_DOCS:BOOL=ON
125
126// install required system libraries
127DBUS_INSTALL_SYSTEM_LIBS:BOOL=OFF
128
129// session bus default listening address
130DBUS_SESSION_BUS_LISTEN_ADDRESS:STRING=autolaunch:
131
132// session bus fallback address for clients
133DBUS_SESSION_BUS_CONNECT_ADDRESS:STRING=autolaunch:
134
135// system bus default address (only useful on Unix)
136DBUS_SYSTEM_BUS_DEFAULT_ADDRESS:STRING=unix:path=/var/run/dbus/system_bus_socket
137
138win32 only:
139// enable win32 debug port for message output
140DBUS_USE_OUTPUT_DEBUG_STRING:BOOL=OFF
141
142gcc only:
143// compile with coverage profiling instrumentation
144DBUS_GCOV_ENABLED:BOOL=OFF
145
146solaris only:
147// enable console owner file
148HAVE_CONSOLE_OWNER_FILE:BOOL=ON
149
150// Directory to check for console ownership
151DBUS_CONSOLE_OWNER_FILE:STRING=/dev/console
152
153// Linux only:
154// enable inotify as dir watch backend
155DBUS_BUS_ENABLE_INOTIFY:BOOL=ON
156
157*BSD only:
158// enable kqueue as dir watch backend
159DBUS_BUS_ENABLE_KQUEUE:BOOL=ON
160
161x11 only:
162// Build with X11 auto launch support
163DBUS_BUILD_X11:BOOL=ON
164
165
166Note: The above mentioned options could be extracted after
167configuring from the output of running "<maketool> help-options"
168in the build directory. The related entries start with
169CMAKE_ or DBUS_.
170
171
172How to compile in dbus into clients with cmake
173----------------------------------------------
174
175To compile dbus library into a client application with cmake
176the following cmake commands are required:
177
1781. call find_package to find dbus package
179
180find_package(DBus1)
181
1822. after specifing targets link dbus into target
183
184add_executable(test test.c)
185target_link_libraries(test ${DBus1_LIBRARIES})
186
187Adding ${DBus1_LIBRARIES} to targets also adds required dbus
188include dirs and compiler definitions by default. There is
189no need to add them with include_directories and add_definitions.
190
191To compile against dbus installed in a non standard location
192specify -DDBus1_DIR=<dbus-install-root>/lib[64]/cmake/DBus1
193on cmake command line.
194

README.cygwin

1The cygwin dbus port is included in master branch of
2dbus git repository since 1.3.1.
3
4The cygwin port of dbus is maintained by:
5
6http://sourceware.org/cygwinports/
7

README.launchd

1Launchd[1,2] replaces init, inetd and cron on Mac OS X since 10.4 "Tiger".
2dbus uses this service to provide a common session bus address for each user
3and so deprecates the X11 enabled dbus-launcher.
4
5[1] http://developer.apple.com/MacOsX/launchd.html
6[2] http://launchd.macosforge.org/
7
8
9Setup
10===
11
12Configure with --enable-launchd and --without-x (X11 should not harm but it's
13simply not necessary any more)
14After installation, to prevent a reboot, load the dbus session starter into
15launchd by executing:
16$ launchctl load /Library/LaunchAgents/org.freedesktop.dbus-session.plist
17
18You can change the launch agent dir via configure, but it's not recommended.
19Make sure to execute the above line as the actual user for which you want to
20use a session bus since launchd manages its agents on a per user basis.
21
22
23How it works
24===
25
26Launchd allocates a socket and provides the unix path to it via the variable
27DBUS_LAUNCHD_SESSION_BUS_SOCKET in launchd's environment. Every process
28spawned by launchd (or dbus-daemon, if stared by launchd) can access it through
29its own environment. Other processes can query launchd for it by executing:
30$ launchctl getenv DBUS_LAUNCHD_SESSION_BUS_SOCKET
31However, this is normally done by the dbus client lib for you.
32
33If launchd start dbus-daemon with a config file containing a "launchd:env=FOO"
34address, as the default session config does with env=DBUS_LAUNCHD_SESSION_BUS_SOCKET,
35the daemon will get the file descriptor from launchd and start listening on it.
36The environment variable is used to get the actual socket path which is passed
37to every service spawned by dbus-daemon as a result from autolaunch messages.
38Please note that it's not possible to start dbus-daemon manually when using a
39"launchd:" address. Only child processes of launchd can access the above
40mentioned file descriptor!
41
42To create custom buses just set up an other launch agent. As a quick start copy
43/Library/LaunchAgents/org.freedesktop.dbus-session.plist, change the label
44to i.e. "org.freedesktop.dbus-foo" and change the SecureSocketWithKey value,
45i.e. to "DBUS_LAUNCHD_FOO_BUS_SOCKET". This environment variable has to be set
46in the config file for your new bus in the <listen> element (see session.config).
47Then edit your /Library/LaunchAgents/org.freedesktop.dbus-foo.plist to start
48dbus-daemon with "--config-file=/opt/local/etc/dbus-1/foo.conf" instead of
49"--session". Now load the new plist onto launchd as described in the setup
50section of this document.
51Executing "launchctl export" should now give you two sockets, one in
52DBUS_LAUNCHD_SESSION_BUS_SOCKET and the new DBUS_LAUNCHD_FOO_BUS_SOCKET.
53To connect to this new bus use "launchd:env=DBUS_LAUNCHD_FOO_BUS_SOCKET".
54
55Since Mac OS X 10.5 "Leopard" you can also configure launchd to start
56dbus-daemon on demand as soon as some process connects to the socket. Since
57it's broken on 10.4 this feature is disabled per default. Look at
58/Library/LaunchAgents/org.freedesktop.dbus-session.plist to change it.
59
60On the client side, the envvar DBUS_SESSION_BUS_ADDRESS can be normally used
61but if it's not set, launchd is queried for the session bus socket.
62

README.valgrind

1Running D-Bus clients with Valgrind
2====
3
4When running programs using libdbus in Valgrind, some special care needs to be
5taken so as to avoid incorrect detection of leaks in libdbus. To avoid these
6false positives, do the following:
7
8* Grab a copy of the D-Bus source code
9
10* Run configure with the --enable-developer and --with-valgrind options
11
12* Run make
13
14* Either make sure your code calls dbus_shutdown() (at least while running in
15  Valgrind) or set DBUS_MESSAGE_CACHE=0 in your environment
16
17* Run Valgrind on your program with the /path/to/dbus/source/dbus/.libs in your
18  LD_LIBRARY_PATH
19
20Your Valgrind log should now be free of any (spurious) libdbus-related leaks.
21
22For the curious, the DBUS_MESSAGE_CACHE=0 is required because by
23default, libdbus uses a recyclable pool of message structs. These help
24performance a bit.
25

README.win

1-----------------------------------------
2Windows port of the freedesktop.org D-Bus
3-----------------------------------------
4
5Features and completeness
6-------------------------
7The windows port of dbus provides the dbus-1 library and mostly
8applications which are already available on unix. These applications
9are: dbus-daemon, dbus-launch, dbus-monitor and dbus-send.
10DBus comes with a test suite which is used on unix to guarantate
11production quality and this test suite runs mostly. There are some
12test not running yet and there is help needed to get them running.
13
14Supported compilers
15-------------------
16On windows Microsoft Visual Studio 2010 (Express and professional variants)
17and mingw-w64|32 are known to work.
18
19Building
20--------
21DBus can be built on windows using automake or cmake. See the
22file INSTALL for more information.
23
24windbus and dbus4win Ports
25--------------------------
26The Windows ports from the windbus and dbus4win projects has been merged
27into the freedesktop git master branch, as applicable. The spec has been
28updated with windows specific stuff.
29
30
31Tests
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
68FAQ
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
97TODO
98----
99
100October 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.
115

README.wince

1DBus Daemon for Windows CE/Windows Mobile 6.5
2=============================================
3
4Bugs in upstream for any window version:
5* MoveFileExA < 0 result check bug
6* double dbus_free somewhere I forgot where (check in -ugly)
7* alignment issue
8* CreateProcess process information handle leak
9* _dbus_getsid NULL vs INVALID_HANDLE_VALUE
10* win_account_to_sid
11
12Customisation
13=============
14
151) At installation, the following registry value should be set to the
16installation directory of the dbus installation (the directory
17containing the bin, etc, share folders):
18
19HKLM\Software\freedesktop\DBus\Install Directory
20
212) Instead of environment variable DBUS_VERBOSE, use
22HKLM\Software\freedesktop\DBus\Verbose
23
242) The keyring directory is MYDOCUMENTS\dbus-keyrings, not
25HOMEPATH\.dbus-keyrings.
26
27
28Compilation
29===========
30
31./configure --host=arm-mingw32ce CPPFLAGS=-I/path/to/expat/include LDFLAGS=-L/path/to/expat/lib
32
33A recent version of libtool is required, with this change:
34
352010-02-28  Pierre Ossman  <ossman@ossman.lkpg.cendio.se>  (tiny change)
36            Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
37
38       Fix deplibs check fallback for 64-bit Windows and Windows CE.
39       * libltdl/m4/libtool.m4 (_LT_CHECK_MAGIC_METHOD): Accept file formats
40       'pe-arm-wince' and 'pe-x86-64'.  Add note about consistency with ...
41       * libltdl/config/ltmain.m4sh (func_win32_libid): ... the respective
42       pattern here; sync pattern from the former.
43       * tests/deplibs-mingw.at (deplibs without file command): New
44       file, new test.
45       * Makefile.am (TESTSUITE_AT): Update.
46       * NEWS: Update.
47
48
49MB vs WCHAR
50===========
51
52Windows CE only supports the Unicode interface, while DBus Daemon uses
53the Multi-Byte interface on Windows by default.  The glue code does
54not support multibyte in all cases.  In particular, the _mbsrchr
55function is not correctly implemented.  It could be correctly
56implemented, or dbus daemon could use the wchar interface more
57consistently on all Windows targets.  For now, the Windows CE port
58will only work for filesystems without some weird characters in file
59names.  Is this a serious limitation?
60
61
62Known Issues
63============
64
65Autolaunch is broken so far.
66
67Environment variables are faked.  Some are punted to the registry, but
68in any case they can not be used reliably for IPC.
69
70The test suite is not ported yet.
71
72dbus-pipe.c:
73 * Uses libc file descriptors.  Needed for --print-address and
74   --print-pid which probably don't work yet.
75
76dbus-sysdeps-win.c:
77 * Backtraces have been disabled.
78 * _dbus_fd_set_close_on_exec Not supported, maybe we should disable
79   the warning.
80 * SearchPathA: Uses HKLM\\Software\\freedesktop\\DBus\\Install Directory
81   to locate binaries.
82