Skip to content

Commit

Permalink
HandBrake 0.6.0-test1
Browse files Browse the repository at this point in the history
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@10 b64f7644-9d1e-0410-96f1-a4d463321fa5
  • Loading branch information
handbrake committed Jan 14, 2006
1 parent 4beb6a8 commit dc8de40
Show file tree
Hide file tree
Showing 121 changed files with 10,924 additions and 5,985 deletions.
18 changes: 18 additions & 0 deletions AUTHORS
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
$Id: AUTHORS,v 1.1 2003/12/26 20:19:38 titer Exp $

Eric Petit <[email protected]>
+ Core (construct, multithreading, BeOS/OS X/Linux ports)
+ MPEG demuxer
+ MPEG-2 and AC3 decoders (w/ libmpeg2/liba52)
+ MPEG-4, MP3 and AAC encoders (w/ libavcodec/libxvidcore/libmp3lame/
libfaac)
+ AVI muxer
+ MP4 muxer (w/ libmp4v2)
+ BeOS interface
+ OS X interface

Laurent Aimar <[email protected]>
+ H264 and Vorbis encoders (w/ libx264/libvorbis)
+ OGG/OGM muxer (w/ libogg)
+ Gtk2 interface

30 changes: 30 additions & 0 deletions BUILD
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
$Id: BUILD,v 1.2 2004/02/13 13:45:50 titer Exp $

BUILD file for HandBrake <http://handbrake.m0k.org/>

Building HandBrake
==================

Step 1: get jam
===============

Jam <http://www.perforce.com/jam/jam.html> is a make replacement.
Get it for your operating system:
+ OS X: get <http://handbrake.m0k.org/files/jam-2.5rc3-OSX.zip> and
copy jam to /usr/local/bin/. Do not use the modified jam shipped with
the developer tools (/Developer/Private/jam).
+ Debian: `apt-get install jam'
Or get the sources from the link above and compile it yourself.

Step 2 (optional): set custom compiler flags
============================================

If you want to optimize the build for a specific CPU, edit the Jamrules
file and modify the "OPTIM = ..." line by adding the needed flags.

Step 3: build
=============

Run `jam'. This will build every library HandBrake requires, then
HandBrake itself.

35 changes: 34 additions & 1 deletion CREDITS
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
HandBrake uses a lot of cool libraries from the GNU/Linux world. Thank
their authors !
their authors!

liba52 authors:
Aaron Holtzman
Expand Down Expand Up @@ -59,6 +59,14 @@ libdvdplay authors:
Martin Norb�ck
St�phane Borel

libfaac authors:
M. Bakker
Tony Lenox
RageOMatic
thebard
Ivan Dimkovic
Krzysztof Nikiel

libmp3lame authors:
Mike Cheng
Robert Hegemann
Expand Down Expand Up @@ -86,6 +94,22 @@ libmp3lame authors:
Acy Stapp
Roel VdB

libmp4v2 authors:
Dave Mackie
Alix Marchandise-Franquet
Bill May
Massimo Villari
Waqar Mohsin
Richard Chen
Rob Arnold
Howdy Pierce
Steven Schultz
[email protected]
Sean Gilligan
Michael Rossberg
Luis F. Ramirez
Petter Reinholdtsen

libmpeg2 authors:
Aaron Holtzman
Michel Lespinasse
Expand All @@ -109,6 +133,15 @@ libmpeg2 authors:
Martin Vogt
Fredrik Vraalsen

libogg authors:
Christopher Montgomery

libvorbis authors:
Christopher Montgomery

libx264 authors:
Laurent Aimar

libxvidcore authors:
Christoph Lampert
Michael Militzer
Expand Down
135 changes: 51 additions & 84 deletions Jamfile
Original file line number Diff line number Diff line change
@@ -1,104 +1,71 @@
# $Id: Jamfile,v 1.10 2003/11/13 02:09:14 titer Exp $
# $Id: Jamfile,v 1.39 2004/02/18 17:21:00 titer Exp $
#
# This file is part of the HandBrake source code.
# Homepage: <http://handbrake.m0k.org/>.
# It may be used under the terms of the GNU General Public License.

HB_VERSION = 0.5.2 ;
SubDir TOP ;

# Compilers
CC = gcc ;
C++ = g++ ;
LINK = gcc ;
HB_PACKAGES = ;

# Flags
CCFLAGS = $(CFLAGS) ;
CCFLAGS += -g -Wall -Werror ;
CCFLAGS += -DVERSION=\\\"$(HB_VERSION)\\\" -DSYS_$(OS) ;
C++FLAGS = $(CPPFLAGS) ;
C++FLAGS += -g -Wall -Werror ;
C++FLAGS += -DVERSION=\\\"$(HB_VERSION)\\\" -DSYS_$(OS) ;
LINKFLAGS = $(LDFLAGS) ;
HDRS = core ;

# Optims
CCFLAGS += -funroll-loops ;
C++FLAGS += -funroll-loops ;
OPTIM = -O3 ;

# Libs
LINKLIBS = -ldvdplay -ldvdread -ldvdcss -lmpeg2 -lavcodec -la52
-lmp3lame -lxvidcore ;
# CLI app
ObjectCcFlags test/test.c : -I$(TOP)/core -g -Wall ;
LinkLibraries HBTest :
libhb.a liba52.a libavcodec.a libdvdplay.a libdvdread.a libdvdcss.a
libfaac.a libmp3lame.a libmp4v2.a libmpeg2.a libvorbis.a
libvorbisenc.a libogg.a libx264.a libxvidcore.a ;
Main HBTest : test/test.c ;

# OS specific
# BeOS
if $(OS) = BEOS
{
CCFLAGS += -Wno-multichar ;
C++FLAGS += -Wno-multichar ;
LINKLIBS += -lbe -ltracker ;
}
else if $(OS) = LINUX
{
LINKLIBS += -lpthread ;
}
else if $(OS) = MACOSX
{
CCFLAGS += -no-cpp-precomp ;
C++FLAGS += -no-cpp-precomp ;
LINKFLAGS += -multiply_defined suppress ;

# needed to clean HandBrake.app
RM = rm -rf ;
}
else if $(OS) = CYGWIN
{
CCFLAGS += -mno-cygwin ;
C++FLAGS += -mno-cygwin ;
LINKFLAGS += -mno-cygwin ;
SOURCES_BEOS = beos/HBApp.cpp beos/HBWindow.cpp ;
ObjectC++Flags $(SOURCES_BEOS) :
-I$(TOP)/core -I$(TOP)/beos/liblayout -g -Wall ;
LINKLIBS on HandBrake = $(LINKLIBS) -L$(TOP)/lib -llayout -lbe ;
LinkLibraries HandBrake :
libhb.a liba52.a libavcodec.a libdvdplay.a libdvdread.a libdvdcss.a
libfaac.a libmp3lame.a libmp4v2.a libmpeg2.a libvorbis.a
libvorbisenc.a libogg.a libx264.a libxvidcore.a ;
Main HandBrake : $(SOURCES_BEOS) ;
}

# Do not remove temporary object files
# There MUST be a cleaner way to do this
actions quietly updated piecemeal together RmTemps
{
}

# Build HandBrake.app using Xcode
rule OSXApp
# OS X
if $(OS) = MACOSX
{
Clean clean : $(1) macosx/build ;
BuildOSXApp $(1) ;
# Build the app
OSXApp HandBrake.app ;
Depends HandBrake.app :
libhb.a liba52.a libavcodec.a libdvdplay.a libdvdread.a
libdvdcss.a libfaac.a libmp3lame.a libmp4v2.a libmpeg2.a
libvorbis.a libvorbisenc.a libogg.a libx264.a libxvidcore.a ;
Depends all : HandBrake.app ;

# Package
OSXPackage HandBrake-$(HB_VERSION)-OSX.zip ;
Depends HandBrake-$(HB_VERSION)-OSX.zip : HandBrake.app ;
HB_PACKAGES += HandBrake-$(HB_VERSION)-OSX.zip ;
}

actions BuildOSXApp
# GTK2
if $(OS) = LINUX
{
$(RM) HandBrake.app ;
( cd macosx && xcodebuild ) && cp -r macosx/build/HandBrake.app . ;
SOURCES_GTK2 = gtk2/main.c gtk2/callbacks.c gtk2/interface.c
gtk2/support.c ;
ObjectCcFlags $(SOURCES_GTK2) :
-I$(TOP)/core `pkg-config gtk+-2.0 --cflags` ;
LINKLIBS on gtk2HB = $(LINKLIBS) `pkg-config gtk+-2.0 --libs` ;
LinkLibraries gtk2HB :
libhb.a liba52.a libavcodec.a libdvdplay.a libdvdread.a libdvdcss.a
libfaac.a libmp3lame.a libmp4v2.a libmpeg2.a libvorbis.a
libvorbisenc.a libogg.a libx264.a libxvidcore.a ;
Main gtk2HB : $(SOURCES_GTK2) ;
}

Library core/libhb : core/Ac3Dec.c core/AviMux.c
core/Utils.c core/DVDRead.c core/Fifo.c
core/HandBrake.c core/Mp3Enc.c
core/Mpeg2Dec.c core/FfmpegEnc.c
core/MadDec.c core/Scale.c
core/Scan.c core/Thread.c core/Work.c
core/XvidEnc.c core/XvidVbr.c ;

LinkLibraries HBTest : core/libhb.a ;
Main HBTest : test/test.c ;
# Packages
NotFile package ;
Depends package : $(HB_PACKAGES) ;

if $(OS) = BEOS
{
LinkLibraries HandBrake : core/libhb.a ;
Main HandBrake : beos/HBApp.cpp beos/MainWindow.cpp
beos/PictureWin.cpp beos/ScanView.cpp
beos/RipView.cpp ;
}

if $(OS) = MACOSX
{
OSXApp HandBrake.app ;
Depends HandBrake.app : core/libhb.a ;
Depends all : HandBrake.app ;
}
SubInclude TOP contrib ;
SubInclude TOP core ;

126 changes: 126 additions & 0 deletions Jamrules
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
# Compilers & flags
CC = gcc ;
C++ = g++ ;
CCFLAGS = $(CFLAGS) ;
C++FLAGS = $(CFLAGS) ;
AS = nasm -f elf ;
LINK = g++ ;
OPTIM = -O3 -funroll-loops ;

# HandBrake defines
HB_VERSION = 0.6.0-test1 ;
DEFINES = HB_$(OS) HB_VERSION=\\\"$(HB_VERSION)\\\" ;
#DEFINES += HB_NOMMX ;

# OS-specific
if $(OS) = BEOS
{
CCFLAGS += -Wno-multichar ;
C++FLAGS += -Wno-multichar ;
}
else if $(OS) = LINUX
{
LINKLIBS = -lpthread ;
}
else if $(OS) = MACOSX
{
RM = rm -rf ;
}

# Contrib* rules: mostly the same than Jambase rules, except
# * Targets aren't cleaned by jam clean (to prevent from deleting
# every contrib library by accident)
# * ContribObject handles *.asm files
# * Temporary *.o files aren't removed
rule ContribObject
{
MakeLocate $(<) : $(LOCATE_TARGET) ;
SEARCH on $(>) = $(SEARCH_SOURCE) ;
HDRS on $(<) = $(SEARCH_SOURCE) $(SUBDIRHDRS) $(HDRS) ;
HDRRULE on $(>) = HdrRule ;
HDRSCAN on $(>) = $(HDRPATTERN) ;
HDRSEARCH on $(>) =
$(SEARCH_SOURCE:E) $(SUBDIRHDRS) $(HDRS) $(STDHDRS) ;
HDRGRIST on $(>) = $(HDRGRIST) ;
DEFINES on $(<) += $(DEFINES) ;
switch $(>:S)
{
case .asm : As $(<) : $(>) ;
case .nas : As $(<) : $(>) ;
case .c : Cc $(<) : $(>) ;
case .C : C++ $(<) : $(>) ;
case .cc : C++ $(<) : $(>) ;
case .cpp : C++ $(<) : $(>) ;
case .f : Fortran $(<) : $(>) ;
case .l : Cc $(<) : $(<:S=.c) ;
Lex $(<:S=.c) : $(>) ;
case .s : As $(<) : $(>) ;
case .y : Cc $(<) : $(<:S=$(YACCGEN)) ;
Yacc $(<:S=$(YACCGEN)) : $(>) ;
case * : UserObject $(<) : $(>) ;
}
}
rule ContribObjects
{
local _i ;
for _i in [ FGristFiles $(<) ]
{
ContribObject $(_i:S=$(SUFOBJ)) : $(_i) ;
Depends obj : $(_i:S=$(SUFOBJ)) ;
}
}
rule ContribLibrary
{
local _l _s ;
_s = [ FGristFiles $(>:S=$(SUFOBJ)) ] ;
_l = $(<:S=$(SUFLIB)) ;
ContribObjects $(>) ;
Depends obj : $(_s) ;
MakeLocate $(_l) $(_l)($(_s:BS)) : $(LOCATE_TARGET) ;
Depends $(_l) : $(_s) ;
Archive $(_l) : $(_s) ;
if $(RANLIB) { Ranlib $(_l) ; }
Depends lib : $(_l) ;
}

# Custom Library rule: same as ContribLibrary, except 'jam clean'
# removes built objects
rule Library
{
ContribLibrary $(<) : $(>) ;
Clean clean : [ FGristFiles $(>:S=$(SUFOBJ)) ] ;
Clean clean : $(<:S=$(SUFLIB)) ;
}

# Build HandBrake.app using Xcode
rule OSXApp
{
Clean clean : $(1) macosx/build ;
BuildOSXApp $(1) ;
}
actions BuildOSXApp
{
$(RM) $(1) ;
( cd macosx && xcodebuild ) && \
cp -r macosx/build/HandBrake.app $(1) && \
for i in French German; do \
( cd $(1)/Contents/Resources && \
cp -r English.lproj $i.lproj && \
cp ../../../macosx/i18n/$i.strings \
$i.lproj/Localizable.strings ) \
done ;
}
rule OSXPackage
{
BuildOSXPackage $(1) ;
}
actions BuildOSXPackage
{
rm -rf $(1) "HandBrake $(HB_VERSION)" && \
mkdir "HandBrake $(HB_VERSION)" && \
cp -r AUTHORS COPYING CREDITS HandBrake.app \
"HandBrake $(HB_VERSION)" && \
zip -9 -r $(1) "HandBrake $(HB_VERSION)" && \
rm -rf "HandBrake $(HB_VERSION)"
}

Loading

0 comments on commit dc8de40

Please sign in to comment.