FireFly Media Server › Firefly Media Server Forums › Firefly Media Server › Nightlies Feedback › HOWTO: Win32 Compilation
- This topic has 7 replies, 4 voices, and was last updated 16 years, 9 months ago by bedrock.
-
AuthorPosts
-
25/07/2006 at 9:20 AM #465Charly86Participant
Hi Ron,
I missed something in source code. Could you explain us how do you do to compile win32 target. Do you compile under Linux or directly on Windows ?
If so what compilator are you using. I’ll try do configure compilation files for with Visual Studio 6.
Thank’s
25/07/2006 at 1:29 PM #5643rpeddeParticipant@Charly86 wrote:
Hi Ron,
I missed something in source code. Could you explain us how do you do to compile win32 target. Do you compile under Linux or directly on Windows ?
If so what compilator are you using. I’ll try do configure compilation files for with Visual Studio 6.
Thank’s
I use VS 2003. Generally, to build the whole thing, including the installation package, this is what you need:
1. Visual Studio. You can compile the server with express, but not the tray applet (although you could use the existing tray applet with a custom binary of firefly, unless you were actively developing on the tray applet).
2. Nullsoft’s NSIS (Only for installer)
3. The nsSCM service control plugin (Only for installer)
4. Microsoft’s Windows Media Format SDK 9.5
5. Tortoise SVN (You should be building from svn, plus, some header files and assemblies are version-stamped using a tool from TortoiseSVN).
6. Headers and link-libraries for:
– avcodec/avformat/avutil (ffmpeg)
– gnu_regex
– libFLAC
– pthreads for win32
– sqlite3
– sqlite2
– zlib
– libid3tag
– libogg/libvorbisSeems like the ones I had to compile myself were ffmpeg, flac, ogg, vorbis, and zlib.
Wherever you put these, the headers and libs need to be added to your VS includes and libs.
In my setup, I have a directory structure like this:
c:workingprojectswin32
c:workingprojectswin32lib
c:workingprojectswin32include
c:workingprojectswin32redist
c:workingprojectswin32dll
c:workingprojectsmt-daapdThe redist has the redist msvc dlls that the tray icon requires, while the dll has the dlls that are required for the package (gnu_regex, libflac, etc)
You are, of course, welcome to arrange stuff however you want, but the build scripts for the package expects a layout like this.
To make things easier, if you don’t want to build the binaries for all the other assorted stuff, I have a zip of whole win32 directory (as above) that I’m currently using for builds at http://www.fireflymediaserver.org/win32.zip.
To get the svn stuff, use tortoise to do a checkout of https://svn.sourceforge.net/svnroot/mt-daapd/trunk into a directory called “mt-daapd” that is a peer to the win32 directory as illustrated above.
There is a vs 2003 .sln file in mt-daapd/win32. You’ll need to run mt-daapd/win32/versionize.bat to create the stamped/versionized assemblies. Then compile and go crazy.
I’ll take patches that are to current svn, aren’t hugely intrusive (unless hugely functional) and are enableable/disableable through a config value.
I’m going to sticky this, any comments or questions about building for win32, post ’em here.
— Ron
26/07/2006 at 10:21 AM #5644Charly86ParticipantWell,
thank you Ron it can’t be more explained. Great job๐ฎ
07/11/2006 at 8:58 AM #5645FireflyManiacGuestThe link at http://www.fireflymediaserver.org/win32.zip is no longer valid. Ron, can you please re-upload those files? Thanks a lot!
08/11/2006 at 4:52 AM #5646rpeddeParticipant@FireflyManiac wrote:
The link at http://www.fireflymediaserver.org/win32.zip is no longer valid. Ron, can you please re-upload those files? Thanks a lot!
Ooops. Changed hosts. Should be good now. I’m going to put up a svn repo for those soonish, along with the files I’m using for packaging debian packages and ipks, so I’ll post here when that’s up.
— Ron
03/01/2008 at 5:10 PM #5647bedrockParticipantHi Ron,
I’ve finally got my backside in gear and setup SVN, and done a checkout, i’ve used your win32.zip for depenencies so far, but i am having problems building the code from SVN, specificaly around sqlite stuff
mt-daapsrcdb-sql-sqlite3.c(99) : warning C4013: 'db_sqlite3_set_error' undefined; assuming extern returning int
mt-daapsrcdb-sql-sqlite3.c(117) : error C2371: 'db_sqlite3_set_error' : redefinition; different basic types
I assume i’ve missed something from the howto: build win32 guide, but i don’t know what ๐
any pointers?
as soon as i get an SVN build of all the binaries in there output location i’ll start on some WiX code ๐
—
Nic08/01/2008 at 7:13 AM #5648rpeddeParticipant@bedrock wrote:
Hi Ron,
I’ve finally got my backside in gear and setup SVN, and done a checkout, i’ve used your win32.zip for depenencies so far, but i am having problems building the code from SVN, specificaly around sqlite stuff
mt-daapsrcdb-sql-sqlite3.c(99) : warning C4013: 'db_sqlite3_set_error' undefined; assuming extern returning int
mt-daapsrcdb-sql-sqlite3.c(117) : error C2371: 'db_sqlite3_set_error' : redefinition; different basic types
I assume i’ve missed something from the howto: build win32 guide, but i don’t know what ๐
any pointers?
as soon as i get an SVN build of all the binaries in there output location i’ll start on some WiX code ๐
—
NicAh, crap. Right now you’ll have to take sqlite3.c out of the project. Svn is moderately broken at this point. Everything compiles on osx, but I haven’t verified it working on windows, so there might be some breakage. Not sure.
I’m thiiiiis close to starting work on the win32 side though.
If you wanted to work on that, though, the file locations and whatnot are all going to be the same as an earlier build. So you could do a checkout (svn switch) to -r1586 and build from that. that builds cleanly (modulo some warnings), and you’ll have a project in the same “shape” as what svn will be soonish.
— Ron
08/01/2008 at 1:03 PM #5649bedrockParticipantOk, thanks for the info Ron, i’ll get a build and start looking at WiX ๐
-
AuthorPosts
- The forum ‘Nightlies Feedback’ is closed to new topics and replies.