[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