| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Closes #549.
|
|
|
|
|
|
|
| |
This script can generate manifests that are suitable for submitting to
flathub for publishing to their repository. It can also be used for
generating manifests suitable for building local flatpak bundles and is
used during 'make pkg.create.flatpak'
|
|
|
|
|
| |
lzma may be used by the ffmpeg tiff decoder which can be used in
matroska files.
|
|
|
|
| |
Builds x265 three times, once for each bit depth. Then merges the static libs into one library that HandBrake can statically link against.
|
|
|
|
| |
Closes #356.
|
|
|
|
| |
- remove configure --df-exhaust-url
|
|
|
|
|
|
|
| |
- moved common python code to lib/hb_distfile.py
- beautified tmpfile creation
- added stack-style resource management to df-fetch
- fixed contrib assumptions about single URL
|
|
|
|
|
| |
New target sits between extract and fetch. Thus every build ensures that
exach tarball is not corrupt before extract.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fetch is now python-based and runs on the same version as does
configure. The source script is make/fetch.py. New features:
MD5 hash tracking for tarballs. Data values for all contribs added.
Upon download, the file will be verified, and only then will it be moved
into place inside downloads/ . Files that exist before the build system
does a fetch will not be md5-checked.
Multiple URLs for tarballs. Each module may specify one or more URLs and
by convention the official HandBrake should be first when possible. Each
URL is tried in sequence, and if it fails for any reason, the next URL
is tried. If no URL succeeds, a hard-error is reported.
Network fetching may be disabled via configure options. --disable-fetch
will hard-error if a fetch is attempted. --accept-fetch-url=SPEC and
--deny-fetch-url=SPEC offer an ACL-style mechanism using regex to match
against URLs. For example, --accept-fecth-url='.*/download.handbrake.fr/.*'
would skip any non-matching URLs.
Build dependencies have been lightened. wget and curl are no longer
required. TODO: GTK packaging should also be able to remove those deps.
|
|
|
|
|
|
| |
* build: add ability to set c++ standard
* fdk-aac: Fix building with g++ 6, set c++98 standard
|
|
|
|
| |
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6166 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
| |
Thanks to Matthew Harvey for this patch
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6165 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
| |
This is the right thing to do, and also happens to fix building
with MinGW-w64 in a non-Linux environment such as e.g. Cygwin.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@6104 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
| |
Required for proper POSIX behaviour on Solaris.
Patch by icchan. Thanks!
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5915 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the mingw environment has duplicates of some of the contrib
libraries that we build, the mingw system lib or header was being
used instead of our contrib version.
Also, some dependencies were missing which would cause parallel builds to
randomly fail because a necessary contrib hadn't been built yet.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@5000 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
| |
Remove mingw+test dependency on libiberty.
Add build system support for propagating compiler DEFINES to contrib configure.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4942 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Primarily necessary for OSX platform after Xcode 4.2.x, but also useful for
any platform which is missing or has obsolete versions.
1. add configure option: --enable-local-autotools
2. --enable-local-autotools is automatically TRUE when any of { autoconf, automake, libtool } are not found in path.
3. --enable-local-autotools causes contribs of { m4, autoconf, automake, lib tool } to be built
4. add m4 to contrib (prerequisite for autoconf)
5. add autoconf to contrib (prerequisite for automaker and many contribs)
6. add automake to contrib (prerequisite for many contribs)
7. add libtool to contrib (prerequisite for many contribs)
8. All contribs (except the autotools themselves) automatically mark autotools as a prerequisite.
9. $(AUTOTOOL_MODULES) is available if other non-contrib modules need to mark as prerequisite.
10. PATH is automatically prefixed with contrib/bin for all modules, all targets.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4933 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
| |
New patch for a52dec has a dependency on another patch and must be
applied after it. Patches appeared to be getting applied in whatever
order the filesystem presented the files in.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4886 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
| |
Enhances portability.
configure.py already added these to the GNUmakefile output, but the
values did not get incorporated into compile or link commands.
Thanks to Fabian Greffrath and Rogerio Brito for this patch
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4742 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
| |
To enable, "configure --enable-local-yasm"
Ubuntu 10.04 LTS (lucid) has yasm 0.8 which is no longer compatible with
x264. This change allows us to build yasm as a contrib and use it for
building both Libav and x264 which require yasm.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4314 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
| |
optimizations=none
except for ffmpeg on darwin i386 which fails to build when optimizations
are disabled due to gcc running out of registers.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4103 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Linking the gtk gui uses libtool. The *.la files libtool uses specify
the dependency libraries that libraries are built against. Our
libbluray contrib was being built against the system libxml2 due to
dependencies that were not set in our build system and PKG_CONFIG_PATH
not being set when configuring.
Note that on fedora (and possibly other systems) the ${cross}-pkg-config
script provided is broken and explicitely sets PKG_CONFIG_PATH="". You
need to replace this script with something like this:
PKG_CONFIG_LIBDIR=$(${cross}-gcc --print-sysroot)/mingw/lib/pkgconfig pkg-config $*
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3858 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
| |
offset ffmpeg seeks by value of initial timestamp since it can be non-zero
catch pix fmt that is unsupported by swscale, log it, skip the track
use new ffmpeg avg_frame_rate for more accurate framerate estimate
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3267 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
| |
To configure for building Leopard target from Snow Leopard:
configure --sysroot /Developer/SDKs/MacOSX10.5.sdk --minver 10.5
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2806 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
| |
- a 'space' snuck it's way into EXTRACT.tarbase default setting.
- solution is to strip value of leading/trailing whitespace.
- tested against a full-build.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2426 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
| |
extensions.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2425 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
produce native win32 binaries. The main benefits are the binary does not have
any Cygwin runtime requirements and various host platforms can be leveraged
to build HandBrake.
Cross-compilation toolchains are complex to setup and recommended for experts
only; but once setup it can build at speeds similar to native builds,
on Darwin or Linux.
BUILD INSTRUCTIONS:
Add mingw32 toolchain to beginning of your path and take the toolchain
prefix from gcc (eg: i386-mingw32-gcc) and pass to configure:
./configure --cross=i386-ming32
PRODUCTS:
- hb.lib (static library)
- HandBrakeCLI.exe
DOWNLOADS:
Contrib downloads need to be seeded with:
- pthreads-w32-2-8-0-release.tar.gz (new)
- xvidcore-20090311.tar.gz
SUMMARY:
Specifically, all GUI trees are not impacted.
configure
- added --cross=PREFIX
- reworked search for gcc and cross-compile related tools to use prefix
contrib/
- sub-patches added as needed for mingw
contrib/xvidcore/
- bumped from 1.1.3 -> 1.2.1+ (daily 20090311)
- reconstituted P01-cygwin.patch
- created new P00-darwin.patch needed for macho64 asm flag on x86_64 arch
libhb/
- uint -> uint32_t
- remaining changes guarded by mingw32 macro.
test/
- modified to support pthread-compatibility library attach/detach.
- all changes guarded by mingw32 macro.
BRANCHES:
source: https://hbfork.googlecode.com/svn/branches/mingw@28
target: svn://svn.handbrake.fr/HandBrake/trunk@2325
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2326 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
| |
- added -N flag to contrib usage of patch to ignore patches which appear already applied.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2269 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
*** NOTICE:
This changeset requires a clean build directory. Please issue 'make xclean' inside
build dir(s) after 'svn up'. This will help ensure there are no unexpected results.
*** GENERAL:
- renamed makevar PROJECT/ -> SRC/ for clarity.
- renamed makevar PREFIX.install/ -> PREFIX/ for clarity.
- split custom GNUmakefile overrides into defs/rules files.
- inserted optional level of make customization at SRC/ level; see docs.
- dropped HB.repo.wcversion (svnversion is no longer used).
- corrected several 'rm' usages to use -f flag which avoids some build errors.
- refreshed generated 00-Building.*.txt docs; work still in progress on the wiki front.
*** CONFIGURE:
- made configure more robust; configure may now be run outside of build directory!
- adding log recording of configure activities.
- improved readability of default options for configure
- added:
--force overwrite existing build config
--src=DIR specify top-level source dir [.]
--build=DIR specify build scratch/output dir [.]
--prefix=DIR specify install dir for products [/Applications]
- dropped --launch-force (replaced by --force)
- dropped --launch-dir (replaced by --build)
- dropped --launch-log
*** XCODE:
- renamed pbxproj definition EXTERNAL_PROJECT -> EXTERNAL_SRC for clarity.
- fixed all configurations to default to EXTERNAL_JOBS=1 .
- enabled Xcode internal parallelization (libhb, HandBrakeCLI and HandBrake benefit).
- make now tickles Xcode build files to cause Info.plist regeneration and posting to HandBrake.app output;
ie: svn up; click build and HandBrake.app's about panel will reflect the new repository rev.
*** DARWIN:
- added support to build universal binaries; see docs.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2242 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- changed behavior (which was introduced in r2223) of what MODULE target (phase) is dirtied
when one of the contrib modules it depends upon is changed; eg: cleaned or build:
old: MODULE.extract
new: MODULE.configure
- example of new (corrected) behavior:
1. svn update brings in a new change on faad2 module which has new version (url)
2. make
3. result: faad2 runs the guantlet: fetch->extract->patch->configure->build->install (FXPCBI for short)
4. result: ffmpeg has a dependency on faad2 and runs: CBI
5. result: libhb depends on all contrib modules and recompiles all .o and creates .a
6. result: [no xcode] HandBrakeCLI depends on libhb and recompiles all .o and relinks.
7. result: [xcode] HandBrakeCLI and HandBrake may need to be 'cleaned' to force them to recompile as opposed to just relinking.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2225 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
| |
- fixed race condition where bzip2,xvidcore may fail on missing contrib/{lib,include} dirs.
- replaced literal command uses with var in bzip2,xvidcore .
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2224 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- increased inter-contrib module rebuild sanity;
ie: if an svn update is done and a new x264 tarball is available, the system will fetch
it and proceed to extract->patch->configure->build->install and because it is utterly
dangerous (undefined results can easily occur) to re-extract over an existing extract,
the appropriate steps are taken to first rm -fr the tarball extraction directory.
This is generally good practice but I'm explaining it here in detail in case some
developers are taking risks like editing files in the build/ tree and erroneously
assuming they will not be overwritten by either this new build system or contrib
(foreign) build systems.
- added contrib touch/untouch targets; see doc.
- updated docs accordingly.
- fixed typo for GCCargs.g.max which caused --debug=max to not operate properly.
- unofficial builds will no longer rebrand naming to 'NoNameBrand'
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2223 b64f7644-9d1e-0410-96f1-a4d463321fa5
|
|
KNOWN ISSUES:
1. OSX + Xcode builds do not support parallel builds; attempting to
use them may cause unbounded number of jobs. However, disabling
via configure --disable-xcode avoids the issue.
2. OSX ppc binary produces binary which has audio-scan problems.
3. OSX ppc64 binary has not been runtime tested.
ADDED:
00-BuildUserGuide.txt
contrib/*/module.*
doc/
make/
libhb/module.*
test/module.*
macos/module.*
gtk/module.*
DROPPED:
BUILD
BuildContribDarwin.sh
DownloadMacOsXContribBinaries.sh
Jamfile
Jamrules
MacOsXContribBinariesVersion.txt
Makefile
Makefile.config
jam
libhb/Jamefile
libhb/Makefile
test/BUILDSHARED
test/Makefile
contrib/Jamfile
contrib/Makefile
contrib/patch-ffmpeg.patch
contrib/patch-x264-idr.patch
contrib/patch-x264-linux.patch
RENAMED:
contrib/*.patch -> contrib/MODULE/[AP]??-*.patch
macosx/HandBrake.plist -> macosx/Info.plist
MODIFIED: libhb/decavcodec.c
Patched to use cleaner include "libavcodec/audioconvert".
Second part to support this cleanup is ffmpeg A02-audioconvert.patch .
MODIFIED: libhb/hb.c
MODIFIED: libhb/hb.h
MODIFIED: libhb/muxmkv.c
MODIFIED: libhb/muxmp4.c
MODIFIED: libhb/update.c
Patched to use "project.h" for project metadata.
Renamed HB_BUILD -> HB_PROJECT_BUILD.
Renamed HB_VERSION -> HB_PROJECT_VERSION.
MODIFIED: test/test.c:
Patched HandBrakeCLI to support I/O on Mac OS X ZFS filesystems.
Reference r1803 as similar patch for HandBrake.app .
Unpatched behavior is crash/buserror when using ZFS.
MODIFIED: macosx/Growl.framework/
Upgraded 0.7.6 (i386,ppc) -> 1.1.2 (i386,x86_64,ppc,ppc64).
New architectures facilitate x86_64 and ppc64 builds.
MODIFIED: macosx/HandBrake.xcodeproj/
Bumped compatibilty mode from 2.4 -> 3.1 .
Dumped old configurations Deployment, Developer.
Added configurations standard, sebug as replacements.
Added standard.i386, standard.x86_64, standard.ppc, standard.ppc64 .
for explicit architecture build.
All configurations settings cleaned up and normalized.
Build output directories adjusted to support new build system.
git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2180 b64f7644-9d1e-0410-96f1-a4d463321fa5
|