Bug 4313 - dbus build fixes for Cygwin
Summary: dbus build fixes for Cygwin
Status: RESOLVED FIXED
Alias: None
Product: dbus
Classification: Unclassified
Component: core (show other bugs)
Version: unspecified
Hardware: x86 (IA32) other
: high normal
Assignee: Havoc Pennington
QA Contact:
URL: ftp://sunsite.dk/projects/cygwinports...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-08-30 16:45 UTC by Yaakov Selkowitz
Modified: 2006-08-01 10:26 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
dbus-0.36.1 Cygwin build fixes (7.18 KB, patch)
2005-08-30 16:45 UTC, Yaakov Selkowitz
Details | Splinter Review

Description Yaakov Selkowitz 2005-08-30 16:45:02 UTC
I'm attaching a patch which fixes some build issues on Cygwin.

* configure.in:
  don't make qt support dependent on libkdecore;

* dbus/Makefile.am, glib/Makefile.am, qt/Makefile.am:
  add -no-undefined to libdbus*_1_la_LDFLAGS;

* gcj/org/freedesktop/dbus/Makefile.am:
  add $(INCLUDES) to the .java.lo rule;
  add -no-undefined to libdbus_gcj_1_la_LDFLAGS;
  use gcj in libdbus_gcj_1_la_LINK;

* tools/Makefile.am:
  add $(EXEEXT) to the special make rules, so that dependencies are built correctly;

One outstanding issue is the python bindings; if there's a way to properly
define PYTHON_LIBS, then it needs to be added to LIBADD and -no-undefined to
LDFLAGS in python/Makefile.am.

Binaries are available at the indicated URL; a screenshot of dbus-viewer running
on Cygwin is at:

http://cygwinports.dotsrc.org/screenshots/dbus-viewer.jpg

Thanks for your work on D-BUS!
Comment 1 Yaakov Selkowitz 2005-08-30 16:45:45 UTC
Created attachment 3128 [details] [review]
dbus-0.36.1 Cygwin build fixes
Comment 2 John (J5) Palmieri 2005-09-06 13:13:58 UTC
Patch should be in CVS and the next release.  Python modules don't link against
a lib, it gets all of it symbols from the interpreter.
Comment 3 Yaakov Selkowitz 2005-09-06 14:04:08 UTC
On Cygwin (and MinGW), all shared libraries (including modules) must have all
symbols resolved at link time.  In the case of Python modules,
'-lpython$(PYTHON_VERSION)' must be included in the link (and due to our python
package layout, '-L/usr/lib/python$(PYTHON_VERSION)/config' needs to be
prepended, but I know that, for example, in Gentoo libpython2.4.so is in /usr/lib).

This problem with linking autotool-based python modules is common, as it is not
handled by python.m4.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.