Commit 390dd5a9 authored by silvia's avatar silvia

Added Windows nmake Makefile support for liboggz.

Updated the README files.

Made one change in oggzinfo.c where <inttypes.h> was
not available under Windows.


git-svn-id: http://svn.annodex.net/liboggz/trunk@402 8158c8cd-e7e1-0310-9fa4-c5954c97daef
parent 272f1fa5
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE ORGANISATION OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
## Process this file with automake to produce Makefile.in
SUBDIRS = doc include src
EXTRA_DIST = oggz.pc.in
EXTRA_DIST = oggz.pc.in win32 README.win32
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = oggz.pc
liboggz is a library that provides simple parsing and seeking of files
and streams based on the Ogg file format. liboggz requires libogg to
work.
liboggz knows about Ogg speex, Ogg vorbis, Ogg theora, and the Ogg
based Annodex formats, thus allows parsing (though not decoding) of
these files. For getting decoding and encoding functionality you will
require in addition libspeex, libvorbis, libtheora, and libannodex
respectively.
The src/ directory contains the source code.
The src/liboggz/ directory has the library source code.
The src/tools/ directory has some command line tools for analysing
ogg files.
The include/ directory contains the oggz include files that will
be installed into the system include directory.
The doc/ directory contains some documentation for oggz. The
subdirectory liboggz is autocreated by doxygen from comments contained
in the source code.
The win32/ directory contains the files necessary to compile the
library for MS Windows.
This library is installed using the standard configure, make, make
install sequence. Full details in the file INSTALL.
Read the file README.win32 for installing under MS Windows.
The /Win32 directory contains everything necessary to compile liboggz
under windows and create:
- liboggz.dll
- oggzdump.exe
- oggzinfo.exe
- oggzed.exe
Building with the Makefile
==========================
Here's what you need to do:
1) Install libogg.dll.
(you can get it from http://www.xiph.org/ogg/vorbis/ ).
2) cd win32 subdirectory
3) Use "nmake" to create library and executable.
4) Install oggzdump, oggzinfo, oggzed, liboggz.dll and the
include files from the /include/oggz/ directory.
Visual Studio.NET 2003 Installation
===================================
IMPORTANT: The solution files were built for VS.NET 2003 and can't be
opened by VS.NET 2002. If you use VS.NET 2002 you should use the VS6
workspace files and they will be automatically converted to the new
format.
Also included in the solution is a setup and deployment project that
will package and create an installer for the binary output of this
project.
You will need to install the libogg library separately. If you wish to
create a debug build and wish to have the debugger load the symbols
for this library, you should also include the project source files. By
default the compiler and linker will look for them in the same parent
directory as liboggz. However you can install them wherever you choose
and must modify the include directories for the linker and compiler in
your projects properties.
Visual Studio Version 6 Installation
====================================
There is also a Visual C++ V 6.0 workspace file in the Win32 directory
in case you have not upgraded to Visual Studio.NET.
......@@ -32,9 +32,15 @@
#include <stdio.h>
#include <stdlib.h>
#include <inttypes.h>
#include <oggz/oggz.h>
#ifndef WIN32
#include <inttypes.h>
#else
#define PRId64 "ld"
#endif
static int got_an_eos = 0;
static int
......
# Set the value of $(MSVCDir) for your installation.
# Please note that none of the directory names are allowed to have spaces
# in them. You must use the short name
#
# "C:\Program Files\Microsoft Visual Studio\VC98" will not work.
# "C:\Progra~1\Micros~1\VC98" will work.
MSVCDir="C:\PROGRA~1\MICROS~1.NET\Vc7"
# MSVCDir="C:\PROGRA~1\Micros~4\VC98"
CPP=cl.exe
LINK32=link.exe
LINK32_FLAGS=ogg.lib /nologo /dll /incremental:no /libpath:"$(MSVCDir)\Lib" /implib:".\liboggz.lib" /machine:I386 /out:".\liboggz.dll"
PROG_LINK_FLAGS=/nologo /incremental:no /libpath:"$(MSVCDir)\Lib" /machine:I386 /exetype:dynamic
CFLAGS=/nologo /MD /W1 /GX /O2 /I"." /I"..\src\liboggz" /I"..\include" /I"$(MSVCDir)\Include" /D "WIN32" /D "_USRDLL" /YX /FD
#====================================================================
# Targets
ALL : "attgetopt.obj" "liboggz.dll" "oggzdump.exe" "oggzinfo.exe" "oggzed.exe"
CLEAN:
-@erase ".\*.obj"
-@erase ".\vc60.idb"
-@erase ".\liboggz.dll"
-@erase ".\liboggz.exp"
-@erase ".\liboggz.lib"
#====================================================================
LINK32_OBJS= \
".\oggz.obj" \
".\oggz_io.obj" \
".\oggz_read.obj" \
".\oggz_write.obj" \
".\oggz_auto.obj" \
".\oggz_table.obj" \
".\oggz_vector.obj"
"liboggz.dll" : $(LINK32_OBJS) ".\liboggz.def"
$(LINK32) $(LINK32_FLAGS) /def:".\liboggz.def" $(LINK32_OBJS)
"oggzdump.exe" : "..\src\tools\oggzdump.c"
$(CPP) $(CFLAGS) /Fo".\oggzdump.obj" /c "..\src\tools\oggzdump.c"
$(LINK32) $(PROG_LINK_FLAGS) /out:"oggzdump.exe" ".\oggzdump.obj" ".\attgetopt.obj" liboggz.lib
"oggzinfo.exe" : "..\src\tools\oggzinfo.c"
$(CPP) $(CFLAGS) /Fo".\oggzinfo.obj" /c "..\src\tools\oggzinfo.c"
$(LINK32) $(PROG_LINK_FLAGS) /out:"oggzinfo.exe" ".\oggzinfo.obj" ".\attgetopt.obj" liboggz.lib
"oggzed.exe" : "..\src\tools\oggzed.c"
$(CPP) $(CFLAGS) /Fo".\oggzed.obj" /c "..\src\tools\oggzed.c"
$(LINK32) $(PROG_LINK_FLAGS) /out:"oggzed.exe" ".\oggzed.obj" ".\attgetopt.obj" liboggz.lib
#====================================================================
# C files in src
".\oggz.obj" \
".\oggz_io.obj" \
".\oggz_read.obj" \
".\oggz_write.obj" \
".\oggz_auto.obj" \
".\oggz_table.obj" \
".\oggz_vector.obj"
.\oggz.obj:
$(CPP) $(CFLAGS) /Fo".\oggz.obj" /c "..\src\liboggz\oggz.c"
.\oggz_io.obj:
$(CPP) $(CFLAGS) /Fo".\oggz_io.obj" /c "..\src\liboggz\oggz_io.c"
.\oggz_read.obj:
$(CPP) $(CFLAGS) /Fo".\oggz_read.obj" /c "..\src\liboggz\oggz_read.c"
.\oggz_write.obj:
$(CPP) $(CFLAGS) /Fo".\oggz_write.obj" /c "..\src\liboggz\oggz_write.c"
.\oggz_auto.obj:
$(CPP) $(CFLAGS) /Fo".\oggz_auto.obj" /c "..\src\liboggz\oggz_auto.c"
.\oggz_table.obj:
$(CPP) $(CFLAGS) /Fo".\oggz_table.obj" /c "..\src\liboggz\oggz_table.c"
.\oggz_vector.obj:
$(CPP) $(CFLAGS) /Fo".\oggz_vector.obj" /c "..\src\liboggz\oggz_vector.c"
.\attgetopt.obj:
$(CPP) $(CFLAGS) /Fo".\attgetopt.obj" /c ".\attgetopt.c"
# End of Makefile
#====================================================================
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment