Re: [AD] Allegro plug-in system (was: Is there a licensing reason why PNG isn't built-in to Allegro?)

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


So we should get a plug-in system which comes with the standard
plug-ins plugged on by default, so newbies won't need to struggle on
how plug everything together. The experienced users could turn them
on/off easily.

About the DLL hell, we should think a way to workaround this. I have
seven ideas:

1. Simply static-link everything, and no DLLs anymore!
2. Bind the core and the choosen plug-ins in the same DLL.
3. The DLL would be a fat, enourmous thing with every standard plug-in
inside.
4. Put the core in a DLL, static-link everything else.
5. Let anything as is.
6. Let the user choose which plugins are static linked and which goes
to the DLL.
7. Let the user choose beetween idea 3 and idea 4.

The first is the simplest and avoid the problems in getting things out
of sync (which occurs even with a single one DLL, eg: 4.1.12 vs
4.1.18), however it says goodbye to any sort of sharing.

The second is very hard and I don't know that it is even possible. This
could make each allegro DLL so unique that it would be dangerous to
share it (API and ABI compatibility issues).

The third would work, however it will make the DLL get bigger and
bigger to each thing we add to it. The good side is that every program
which uses just standard plug-ins would link against that and no more.
The bad side is that if the user want to be minimalist static-link
would be the unique solution.

The forth looks reasonable, but the plug-ins code wouldn't be shared,
which isn't the ideal solution.

The fifth would keep the actual problems, non-core things inside the
core even if unwanted and linked to each allegro program, every
third-party plug-in with their DLLs which goes to a DLL hell.

The sixth is like the second, but worse, since the user would need to
know who is and who isn't in the DLL.

The seven is a fairly good idea, however we will get a skinny DLL and a
fat DLL, the user should choose between these two. If we have
intermediate things probably we will go into idea 2.

Or maybe someone has other ideas?

Victor Williams Stafusa da Silva


		
_______________________________________________________ 
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale o discador agora! 
http://br.acesso.yahoo.com




Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/