I have written some short documentation for Win32 developers who want
to build the source distribution. If anyone has any additions, corrections
or whatnot, please contribute them after this has been added to CVS.
I have not added this to CVS because I don't know where it should go
(new file or add to an existing file), so I would like somebody else
to do this for me. Thanks.
I hope this is of some help to new developers.
-chad
-----snip-------snip-------snip--------
How to compile the Freeamp MSVC Projects on Windows 32
1) Download and install a source distribution.
2) Download and install NASM (http://www.web-sites.co.uk/nasm/).
3) The NASM Win32 executable is named NASMW.EXE, but the project
references the executable as NASM (for widest compatibility
I suppose). There are two solutions:
a) Copy/move NASMW.EXE to NASM.EXE (best for Windows 95/98)
b) Create a batch file called NASM.BAT containing the following:
------------snip--------------snip-------------------snip-----------
@REM Call NASMW.EXE with all command line arguments (percent star)
@REM This may only work under Windows NT
@nasmw %*
------------snip--------------snip-------------------snip-----------
This will allow anyone referencing NASM (without a file extension) to
automatically invoke NASM.BAT, which will call NASMW.EXE.
4) Run Developer Studio and open the Freeamp workspace located at:
freeamp\base\win32\prj\freeamp.dsw
5) Put NASM on your path. Choose "Tools | Options" in DevStudio and
go to the "Directories" tab. Choose "Show Directories For" and
select "Executable Files". Then add the directory where you have
NASM.BAT.
6) The workspace is set up so that DevStudio automatically calculates
dependencies between projects. This means that building the top
level project (called simply "freeamp") will automatically build
all the other projects you need to run the product. Set freeamp
as your active project.
7) Build the freeamp project, and then run freeamp.exe. If you
installed a shipping version of Freeamp somewhere else, the first
time you run the development version of Freeamp, it will ask
you whether you want to associate .MP3 files with the development
version. It's up to you, I find it's nice to associate them with
the development version.
OTHER NOTES
###########
Setting Breakpoints
-------------------
You may have trouble setting breakpoints when freeamp is not
currently being debugged. This is because you cannot set breakpoints
in DLLs for which DevStudio hasn't loaded the debug symbols. This is
common when you want to debug something that happens early in Freeamp's
startup.
Once Freeamp is completely up and running, all of the DLLs and debug
symbols are loaded and you can set breakpoints anywhere, but before that
time, not all the DLLs have loaded and you can't set breakpoints in some
files. You can fix this situation by telling DevStudio about the
DLLs you want to debug. Go to the "Project | Settings"
dialog for the "freeamp" project and choose the "Debug" tab.
Select "Additional DLLs" in the "Category" list and then enter
each DLL that you want to debug. Note that Freeamp DLL files
do not end in .DLL -- they have funky names like something.ppp
and something.ppo. Most of them live in the freeamp\plugins
directory, and it wouldn't hurt to add them ALL to the "Additional
DLLs" category -- this will cause DevStudio to load the debug
symbols ahead of time, and you can set breakpoints before you
start debugging.
Building From the Command Line
------------------------------
You can automate the build (for those of you who don't like using
the DevStudio GUI) by exporting all the makefiles (select
"Project | Export Makefile" and then running Microsoft's NMAKE.EXE
on the freeamp makefile. You may need to twiddle a little bit
to get it to work, but it's not difficult.
Using Visual C++ 6.x
--------------------
All the projects and whatnot are in v5.0 format, but I have tested
building with v6.0 and there were no problems. The directions are
exactly the same.
NOTE: If you use v6.0, it will convert all your projects and
workspaces to v6.0 format, which is not backwards compatible.
Please DO NOT CHECK THEM INTO THE CVS SERVER or you will break
all the 5.0 users.
[end of file]
_______________________________________________
[EMAIL PROTECTED]
http://www.freeamp.org/mailman/listinfo/freeamp-dev