dbus remaining windows port issues was Re: moving file descriptor passing into a header

Ralf Habacker ralf.habacker at freenet.de
Thu Apr 22 03:33:09 PDT 2010


Fridrich Strba schrieb:
> My dearest :)
>
> On Thu, 2010-04-22 at 10:44 +0300, Tor Lillqvist wrote: 
>   
>> Is the current situation such that using a configure && make way to
>> build is totally broken if building for Windows? (Or maybe just if
>> cross-compiling for Windows?) That's what I used last time I built
>> dbus master on Windows, but yeah, it certainly was not
>> straightforward, and I don't know/remember if any required changes to
>> the configury/makefilery have been upstreamed.
>>     
>
> No, the configure build is actually working just fine right now with the
> recent master after some fixes went in. I just needed to build the cmake
> build to be sure that my de-kde-ification patch did not break anything
> there and also run the unit tests there. And since I don't use windows
> for builds, I cross-compiled it and then run the tests in a vmware where
> the unix file-system was a shared folder. That is where I got these two
> issues and considered worthy to report in case someone knows how to
> handle the cross-compiling situation the standard way with cmake. The
> macro I attached is a macro that I use for some libraries/applications
> in my repositories where there is no other choice but to use it and it
> works generally well, but in this case.
>   
Thanks for contributing this script. I added this to dbus cmake and 
extended it a bit to fit into my working environment. See 
http://cgit.freedesktop.org/dbus/dbus/commit/?id=dfd525d602b794484d534275ead98d6856a5adf2
>   
>> (Also, as far as I recall, some macro assignments passed on the
>> command line differ in the cmake and a "normal" configure&&make build,
>> so there might be an even higher risk of non-interoperability with the
>> cmake/"kde" style build on Windows then...)
>>     
>
> Yeah, apart the directory layout that is a bit different, I was just
> wondering whether it would not be worthy to check and unify other things
> that can be done. Like which socket is used in cmake and in autofoo
> build ...
>   
See the README for some difference:

...
When using autools the dbus-specific configuration flags that can be 
given to
the ./configure program are these

  --enable-tests             enable unit test code
  --enable-verbose-mode      support verbose debug mode
  --enable-asserts           include assertion checks
  --enable-checks            include sanity checks on public API
  --enable-xml-docs          build XML documentation (requires xmlto)
  --enable-doxygen-docs      build DOXYGEN documentation (requires Doxygen)
  --enable-gcov              compile with coverage profiling 
instrumentation (gcc only)
  --enable-abstract-sockets  use abstract socket namespace (linux only)
  --enable-selinux           build with SELinux support
  --enable-dnotify           build with dnotify support (linux only)
  --enable-kqueue            build with kqueue support (*BSD only)
  --with-xml=libxml/expat           XML library to use
  --with-init-scripts=redhat        Style of init scripts to install
  --with-session-socket-dir=dirname Where to put sockets for the 
per-login-session message bus
  --with-test-socket-dir=dirname    Where to put sockets for make check
  --with-system-pid-file=pidfile    PID file for systemwide daemon
  --with-system-socket=filename     UNIX domain socket for systemwide daemon
  --with-console-auth-dir=dirname   directory to check for console ownerhip
  --with-dbus-user=<user>           User for running the DBUS daemon 
(messagebus)
  --with-gnu-ld                     assume the C compiler uses GNU ld 
[default=no]
  --with-tags[=TAGS]                include additional configurations 
[automatic]
  --with-x                          use the X Window System

When using the cmake build system the dbus-specific configuration flags 
that can be given
to the cmake program are these (use -D<key>=<value> on command line)

    CMAKE_BUILD_TYPE                   set dbus build mode - one of 
Debug|Release|RelWithDebInfo|MinSizeRel
    DBUS_BUILD_TESTS                   enable unit test code  default=ON
    DBUS_BUILD_X11                     Build X11-dependent code default=ON
    HAVE_CONSOLE_OWNER_FILE            enable console owner file 
(solaris only) ) default=ON
    DBUS_DISABLE_ASSERTS               Disable assertion checking 
default=OFF
    DBUS_DISABLE_CHECKS                Disable public API sanity 
checking default=OFF
    DBUS_ENABLE_ABSTRACT_SOCKETS       enable support for abstract 
sockets (linux only) default=ON
    DBUS_ENABLE_ANSI                   enable -ansi -pedantic gcc flags 
default=OFF
    DBUS_ENABLE_DNOTIFY                build with dnotify support (linux 
only) default=ON
    DBUS_ENABLE_VERBOSE_MODE           support verbose debug mode default=ON
    DBUS_ENABLE_DOXYGEN_DOCS           build DOXYGEN documentation 
(requires Doxygen) default=ON
    DBUS_GCOV_ENABLED                  compile with coverage profiling 
instrumentation (gcc only) default=OFF
    DBUS_INSTALL_SYSTEM_LIBS           install required system libraries 
default (windows only) =OFF
    DBUS_USE_EXPAT                     Use expat (== ON) or libxml2 
(==OFF) default=ON [1]
    DBUS_USE_NONCE_TCP_DEFAULT_ADDRESS Use nonce tcp default address 
default=OFF
    DBUS_USE_OUTPUT_DEBUG_STRING       enable win32 debug port for 
message output default=OFF
   
    [1] requires installed development package of the related dependency

Ralf



More information about the dbus mailing list