[Patch] fix compile kdeui with msvc
Ralf Habacker
ralf.habacker at freenet.de
Mon Oct 31 15:27:05 CET 2005
Am Sonntag, 30. Oktober 2005 19:50 schrieb Thiago Macieira:
> Ralf Habacker wrote:
> >This isn't easy as it looks in the first case and have to worked out
> > more.
> >
> >For example if you are compiling libDCOP -DMAKE_DCOP_LIB should be
> > defined. If you compile dcopserver it should not although it is in the
> > same dir.
> >
> >If you compile a shared library in a subdir, which depends on another
> > lib in the same subdir, i can no image when to set this define or not
> > automatically.
> >
> >I think setting it manually it currently the only way.:-)
>
> It can't be that difficult.
>
> If you're building $(lib_prefix)FOO.$(lib_suffix), you define
> MAKE_FOO_LIB. If you're not building it, you don't define it.
>
> So dcopserver doesn't define MAKE_DCOP_LIB, even though it is in the same
> dir. And convenience libraries vanish, being replaced by simple
> compilation of the objects into the final library, even if they are in
> different dirs.
>
> (e.g., kdecore/network/*.cpp are compiled just as if they were in kdecore/
> itself)
okay.
> Convenience libraries are supported in a handful of platforms anyways, so
> we solve the problem by getting rid of them entirely.
Append is a patch for this, does anyhave see any problem ?
One question is if this should be activated by default ?
Index: generic.py
===================================================================
--- generic.py (revision 476063)
+++ generic.py (working copy)
@@ -285,6 +285,9 @@
if self.libprefix != '' and self.target[:len(self.libprefix)]
== self.libprefix:
self.target = self.target[len(self.libprefix):]
+ if self.type in ['shlib','kioslave','module']:
+ self.env.AppendUnique( CCFLAGS =
['-DMAKE_'+self.target.upper()+'_LIB'] )
+
if not self.p_localtarget: self.p_localtarget =
self.joinpath(self.target)
if not self.p_localsource: self.p_localsource =
self.joinpath(self.env.make_list(self.source))
More information about the Kde-buildsystem
mailing list