Page 1 of 1

List of used libraries?

Posted: Thu Nov 18, 2010 7:31 am
by pheonixstorm
Looking for a list of actual libraries used by the latest codebase (Vegastrike). There are a lot of seemingly unused dlls that I want to eliminate as well as any excess code/libs

Trying to update all of the libraries but not sure which are no longer used and which are current.

Some of em I'm not even sure where to find them.

Re: List of used libraries?

Posted: Fri Nov 19, 2010 12:53 am
by strook
The boost thread Lib should become anew.
But i wouldn't delete Parts of boost alt all, i don't Know what sideeffects it has on the remaining ones.
But i think the shipped boost 1.28 and boost 1.35 is out of Date.

Re: List of used libraries?

Posted: Fri Nov 19, 2010 6:20 am
by pheonixstorm
Boost isn't an issue. Neither is SDL, GLUT, etc. its the other like avcodec.dll which is not a dependency of anything. Same with a handful of other that cause clutter.

Re: List of used libraries?

Posted: Fri Nov 19, 2010 11:16 am
by strook
You Need SDL.
You Need glew, too since it is à Part of OpenGL and there is some Code handled with it in vs.
If you Run cmake for configuring vs it says it needs the avcodec Lib, it's à dependency of ffmpeg which is à Video Streaming Lib i think. I suppose without it you have nö Sound.( i haven't installed it correctly and have nö Sound.)

Re: List of used libraries?

Posted: Fri Nov 19, 2010 3:48 pm
by charlieg
strook wrote:The boost thread Lib should become anew.
But i wouldn't delete Parts of boost alt all, i don't Know what sideeffects it has on the remaining ones.
But i think the shipped boost 1.28 and boost 1.35 is out of Date.
I think avcodec.dll is created by ffmpeg, IIRC.

FFMPEG
http://www.ffmpeg.org/

http://www.ffmpeg.org/legal.html -> mentions avcodec.dll
16. Do not rename FFmpeg dlls to some obfuscated name, but adding a suffix or prefix is fine (renaming "avcodec.dll" to "MyProgDec.dll" is not fine, but to "avcodec-MyProg.dll" is).

Re: List of used libraries?

Posted: Fri Nov 19, 2010 3:53 pm
by charlieg
Somebody really should update this page:
http://vegastrike.sourceforge.net/wiki/ ... pendencies

Re: List of used libraries?

Posted: Fri Nov 19, 2010 4:00 pm
by pheonixstorm
DLLs in win32/bin

avcodec-51.dll - not used
avdevice-52.dll - notused
avformat-52.dll - not used
avutil-49.dll - not used
EaxAc3.dll - not used
expat.dll - used by mesher
gdk-1.3.dll - used by setup.exe
glib-1.3.dll - used by setup.exe
glut32.dll - used by vegastrike
gmodule-1.3.dll - used by setup.exe
gnu-int.dll - used by setup.exe
gtk-1.3.dll - used by setup.exe
iconv-1.3.dll - used by setup.exe
libfreetype-6.dll - not used
libImlib2-2.dll - not used
libjpeg.dll - not used
libjpegd.dll - not used
libpng2.dll - not used
libpng3.dll - not used
libpng3d.dll - not used
libpng-3.dll - not used
libtiff-3.dll - not used
libungif-4.dll - not used
MSPDB60.dll - ?
ogg.dll - not used
ogg_d.dll - not used
OpenAL32.dll - used by vegastrike
pthreadGC2.dll - not used
python24.dll - not used
python25.dll - used by vegaserver (should be using python26 by now)
python26.dll - used by vegastrike
SDL98.dll - not used
SDL.sll - used by vegastrike
SDL_mixer.dll - not used
SDLncbm.sll - not used
vorbis.dll - not used
vorbisfile.dll - not used
wrap_oal.dll - not used
xmlparse.dll - used by vegaserver, vegastrike
zlib.dll - not used

this does not include the dll files from the imlib2 or vhook folders . Neither folder contains a dll in use by vegastrike, vegaserver, setup, or mesher.

So, as far as the dlls are concerned most of them can be deleted.

When compiling though, there are a number of libs that I am unsure about that may just be static rather than dynamic. Still leaves me with the question of whats still getting used.

Why do we have xmlparse.dll and expat.dll when they are the same thing??

Re: List of used libraries?

Posted: Fri Nov 19, 2010 7:37 pm
by shenle
According to InspectExe the following libraries are loaded from the bin direcory when launching vegastrike.exe:

OpenAL32.dll
glut32.dll
SDL.dll
xmlparse.dll
python26.dll

That's all, the rest are system binaries.

Re: List of used libraries?

Posted: Fri Nov 19, 2010 8:23 pm
by pheonixstorm
yeah, I used dependency walker to make that list. Is the program you mention included with Visual Studio or a free program off the net?

Im checking all the libs used right now. So far it doesn't look like SDL_mixer.lib or SDL_main.lib are needed anymore. I think both of those are long gone.

So, here are the libs to sort out
USED openal32.lib
USED glut32.lib
USED sdl.lib
GONE sdlmain.lib
USED vorbis_static.lib
????? vorbisfile_static.lib
USED? ogg_static.lib
USED expat.lib
????? libpng.lib
????? glib-1.3.lib
USED? alut.lib
GONE SDL_mixer.lib
USED wsock32.lib
????? zlib.lib
TWICE SDL.lib
USED python26.lib

Re: List of used libraries?

Posted: Fri Nov 19, 2010 9:53 pm
by shenle
pheonixstorm wrote:yeah, I used dependency walker to make that list. Is the program you mention included with Visual Studio or a free program off the net?
http://www.silurian.com/inspect/index.htm

Are you sure about all of those libs? Some of them could be static, which would explain why the corresponding dll isn't used anymore.

Re: List of used libraries?

Posted: Fri Nov 19, 2010 11:17 pm
by strook
I can't agree to this. Maybe you have compiled without support for this libs etc, etc, there may be many reasons why a _dynamic_ link lib isn't loaded. You're going to break your running version of vs.

Re: List of used libraries?

Posted: Sat Nov 20, 2010 12:00 am
by pheonixstorm
Break it? No. Fix it? Yes. Or at least clean it up a bit. These excess lib depedencies are just adding unused code to the game and may (though probably not) be causing other bugs to pop up.

I checked the current source code and there are no references to sdl_mixer.lib or sdlmain.lib Those can both go. SDL98 was probably something used when the game was first started up and windows 98 will no longer be supported anyway. At least not supported officially.

*EDIT* sdl_mixer.h and sdl_main.h should be sdl_mixer.lib and sdlmain.lib. This is now corrected.

Re: List of used libraries?

Posted: Sat Nov 20, 2010 9:41 am
by strook
unused code can be used at a later time. dynamic link libs can be loaded at any time of execution.
if there are deprecated libs they should go i agree, but i have no time for this (sorry).

Re: List of used libraries?

Posted: Sat Nov 20, 2010 11:20 am
by pheonixstorm
If the exe isn't linked to the dll its just taking up space and confusing the programmer that has to take over at a later date. Unused code is generally unused for a reason. SDL_mixer was dropped for something else. Much of the OpenAL includes are now part of other includes and so no longer needed. Leaving clutter around like this makes the codebase harder to maintain.

Side note, SDLmain is still being used until the 1.3 release of SDL so it will stay and has been renamed to SDLmain_static.lib to show its purpose.

Re: List of used libraries?

Posted: Wed Dec 08, 2010 2:34 am
by klauss
avcodec, avformat, avutil and other "av" stuff are part of ffmpeg.

ffmpeg is optional for VS, but without it you won't have support for video streams in the binary, which will ultimately be necessary by datasets. So best thing is to try to build with ffmpeg support.

There are a couple of defines (can't remember them, probably something like HAVE_FFMPEG) that you can toy with to enable/disable ffmpeg code (making it build with and without ffmpeg libraries).

Re: List of used libraries?

Posted: Wed Dec 08, 2010 4:24 am
by pheonixstorm
yeah, I ran across that when I went snooping around the ffmpeg cpp file. Since you weren't around at the time and I didn't know the current status of ffmpeg I left it out of the build until I could get an update from you.