Re: [Evolution-hackers] Evolution-2.4 Mac Problems/ Release etc

2005-09-12 Thread Not Zed

The factory is in mail-component-factory.c.  mail-component would be one
of the library files.

Don't make it more complicated than it needs to be.  You don't need to
create a new directory for it, just a new makefile entry for a
different .so.

Being lazy I would probably create a new makefile entry for the
component, but leave the old libevolution-mail.so alone, and then just
change the name in the .server.in.in file.

Otherwise you're going to have to fix up all the plugin makefiles too.

On Sat, 2005-09-10 at 13:32 +0530, Shreyas Sriniavasan wrote:
> On Fri, 2005-09-09 at 21:17 +0800, Not Zed wrote:
> > Basically iirc, all of the components are setup in a pretty similar
> > manner.   There is a -component or -component-factory.c file which has
> > the bonobo module init stuff.  I think ... that just needs to be the
> > only file in the bonobo-server's .so file, which links to everything
> > which is just in a library with a different name than it is now.  So it
> > should actually be very little work.
> > 
> > Assuming it will actually work, but i guess it should.
> > 
> Hmm.. So when i actually got down to doing it. This is what i found
> 
> so i moved mail-component.c mail-component.h and
> mail-component-factory.c to a new
> directory /evolution/component/ and was about to write a Makefile which
> would build 
> a new dynamically loadable module (lets call it
> libevolution-mail-component.la)  which can link to the
> libevolution-mail.so (a shared library and not a dynamically loadable
> module) but thats when "reality bit me"
> 
> a simple grep for mail-component.h in mail/ shows a bunch of files
> #including the file mail-component.h and ofcourse needless to say you
> cant have libevolution-mail.so linking against
> libevolution-mail-component.la as that was the original demon we tried
> to kill anyway.
> 
> So the alternative is to move these files into
> libevolution-mail-component.la which would make
> them inaccessible to the most plugins. And to evaluate which plugins
> were to break would be an other task. Clearly my analysis so far have
> been only till the 1st node, i havent bothered looking into what files
> include the files which include mail-component.h and so,
> 
> The aim of the whole exercise to move all the bonobo interfaces to
> libevolution-mail-component.la and all the other stuff to
> libevolution-mail.so. Clearly the two seem to be rather intertwined. 
> 
> Am I misinterpreting something or "houston we have a problem" ?
> 
> Thanks,
> Shreyas
-- 
adfa(evolution-2.4:20087): gtkhtml-WARNING **: cannot find icon:
'stock_insert-url' in gnome 

___
Evolution-hackers mailing list
Evolution-hackers@gnome.org
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Evolution-2.4 Mac Problems/ Release etc

2005-09-10 Thread Shreyas Sriniavasan
On Fri, 2005-09-09 at 21:17 +0800, Not Zed wrote:
> Basically iirc, all of the components are setup in a pretty similar
> manner.   There is a -component or -component-factory.c file which has
> the bonobo module init stuff.  I think ... that just needs to be the
> only file in the bonobo-server's .so file, which links to everything
> which is just in a library with a different name than it is now.  So it
> should actually be very little work.
> 
> Assuming it will actually work, but i guess it should.
> 
Hmm.. So when i actually got down to doing it. This is what i found

so i moved mail-component.c mail-component.h and
mail-component-factory.c to a new
directory /evolution/component/ and was about to write a Makefile which
would build 
a new dynamically loadable module (lets call it
libevolution-mail-component.la)  which can link to the
libevolution-mail.so (a shared library and not a dynamically loadable
module) but thats when "reality bit me"

a simple grep for mail-component.h in mail/ shows a bunch of files
#including the file mail-component.h and ofcourse needless to say you
cant have libevolution-mail.so linking against
libevolution-mail-component.la as that was the original demon we tried
to kill anyway.

So the alternative is to move these files into
libevolution-mail-component.la which would make
them inaccessible to the most plugins. And to evaluate which plugins
were to break would be an other task. Clearly my analysis so far have
been only till the 1st node, i havent bothered looking into what files
include the files which include mail-component.h and so,

The aim of the whole exercise to move all the bonobo interfaces to
libevolution-mail-component.la and all the other stuff to
libevolution-mail.so. Clearly the two seem to be rather intertwined. 

Am I misinterpreting something or "houston we have a problem" ?

Thanks,
Shreyas
___
Evolution-hackers mailing list
Evolution-hackers@gnome.org
http://mail.gnome.org/mailman/listinfo/evolution-hackers


Re: [Evolution-hackers] Evolution-2.4 Mac Problems/ Release etc

2005-09-09 Thread Not Zed

Basically iirc, all of the components are setup in a pretty similar
manner.   There is a -component or -component-factory.c file which has
the bonobo module init stuff.  I think ... that just needs to be the
only file in the bonobo-server's .so file, which links to everything
which is just in a library with a different name than it is now.  So it
should actually be very little work.

Assuming it will actually work, but i guess it should.

On Fri, 2005-09-09 at 17:14 +0530, Shreyas Sriniavasan wrote:
> Hey guys,
> 
> I have been working on releasing Evolution-2.4 for Mac OS X on and off
> for some time now. 
> I have a basic setup up and working but there are a few problems with
> porting the Plugins 
> architecture to the MAC. 
> 
> Plugins in Evolution are typically Shared Libraries and some of them
> (exchange, groupwise) link to the components (libevolution-mail,
> libevolution-calnedar.so) which  are Dynamically loadable modules. On
> the MAC / BSD (?) platforms this is not portable, Dynamically loadable
> modules cannot be linked against. Hence linking of shared libraries
> against dynamically loadable modules
> would not build. This issue is not visible on Linux cos Dynamically
> loadable modules and Shared Libraries are treated as same by the linker.
> 
> Further explanations of the same can be found here
> 
> http://fink.sourceforge.net/doc/porting/shared.php?phpLang=en#lib-and-mod
> 
> I have been talking to NotZed about how we could go about fixing these.
> One solution which
> both of us found acceptable was to split all the components (dynamically
> loadable modules) into 
> a dynamically loadable module and a shared library. And since whenever
> dynamically loadable modules are loaded into memory all the stuff they
> are linked against also get loaded anyway.
> 
> Please note that dynamically loadable modules can link to shared objects
> and not vice versa.
> 
> So considering that we already know what the solution is (phew) i need
> to see the time frame
> needed to fix the issue. I have been looking at the mailer code and i am
> fairly confident of 
> how to do it but ofcourse the task would be beyond just fixing the
> mailer. And as people have 
> been busy with the gnome-2.12 release this has taken bit of a back seat.
> I would love to hear from the maintainers of each of the components as
> to how the split should happen. This requires
> detailed knowledge of the code and sadly my knowledge however meagre
> would be limited to the mailer. So for a thorough fix and a closure of
> this problem i would love to hear from all the
> maintainers.
> 
> The plugins which is most hampered by these problems is Exchange and
> Groupwise. For groupwise
> only a small functionality would be missing but exchange would be
> *despairingly crippled* without the fix. So i am going to make a
> evolution-2.4 mac release in the next one week without exchange then
> make a dot release later with exchange as and when we get this fixed.
> 
> Any thoughts/ inferences and suggestions are welcome.
> 
> Regards,
> Shreyas
> 
> 
> 
> ___
> Evolution-hackers mailing list
> Evolution-hackers@gnome.org
> http://mail.gnome.org/mailman/listinfo/evolution-hackers
-- 
adfa(evolution-2.4:20087): gtkhtml-WARNING **: cannot find icon:
'stock_insert-url' in gnome 

___
Evolution-hackers mailing list
Evolution-hackers@gnome.org
http://mail.gnome.org/mailman/listinfo/evolution-hackers


[Evolution-hackers] Evolution-2.4 Mac Problems/ Release etc

2005-09-09 Thread Shreyas Sriniavasan
Hey guys,

I have been working on releasing Evolution-2.4 for Mac OS X on and off
for some time now. 
I have a basic setup up and working but there are a few problems with
porting the Plugins 
architecture to the MAC. 

Plugins in Evolution are typically Shared Libraries and some of them
(exchange, groupwise) link to the components (libevolution-mail,
libevolution-calnedar.so) which  are Dynamically loadable modules. On
the MAC / BSD (?) platforms this is not portable, Dynamically loadable
modules cannot be linked against. Hence linking of shared libraries
against dynamically loadable modules
would not build. This issue is not visible on Linux cos Dynamically
loadable modules and Shared Libraries are treated as same by the linker.

Further explanations of the same can be found here

http://fink.sourceforge.net/doc/porting/shared.php?phpLang=en#lib-and-mod

I have been talking to NotZed about how we could go about fixing these.
One solution which
both of us found acceptable was to split all the components (dynamically
loadable modules) into 
a dynamically loadable module and a shared library. And since whenever
dynamically loadable modules are loaded into memory all the stuff they
are linked against also get loaded anyway.

Please note that dynamically loadable modules can link to shared objects
and not vice versa.

So considering that we already know what the solution is (phew) i need
to see the time frame
needed to fix the issue. I have been looking at the mailer code and i am
fairly confident of 
how to do it but ofcourse the task would be beyond just fixing the
mailer. And as people have 
been busy with the gnome-2.12 release this has taken bit of a back seat.
I would love to hear from the maintainers of each of the components as
to how the split should happen. This requires
detailed knowledge of the code and sadly my knowledge however meagre
would be limited to the mailer. So for a thorough fix and a closure of
this problem i would love to hear from all the
maintainers.

The plugins which is most hampered by these problems is Exchange and
Groupwise. For groupwise
only a small functionality would be missing but exchange would be
*despairingly crippled* without the fix. So i am going to make a
evolution-2.4 mac release in the next one week without exchange then
make a dot release later with exchange as and when we get this fixed.

Any thoughts/ inferences and suggestions are welcome.

Regards,
Shreyas



___
Evolution-hackers mailing list
Evolution-hackers@gnome.org
http://mail.gnome.org/mailman/listinfo/evolution-hackers