2009-03-08 22:50:57 +00:00
###############################################################################
##
2019-02-25 07:03:28 -05:00
## This script is coded for Python 2.7 through Python 3.x
2009-03-08 22:50:57 +00:00
##
## Authors: konablend
##
###############################################################################
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
import fnmatch
2012-01-04 09:41:11 +00:00
import glob
2015-10-27 17:52:39 -04:00
import json
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
import os
import platform
2015-10-29 17:25:58 -04:00
import random
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
import re
2015-10-29 17:25:58 -04:00
import string
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
import subprocess
import sys
import time
2015-08-28 11:16:56 -07:00
from datetime import datetime , timedelta
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2019-04-05 05:11:10 -04:00
import argparse
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
from sys import stderr
from sys import stdout
2009-03-08 22:50:57 +00:00
class AbortError ( Exception ) :
def __init__ ( self , format , * args ) :
self . value = format % args
def __str__ ( self ) :
return self . value
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
###############################################################################
2009-03-08 22:50:57 +00:00
##
## Main configure object.
##
## dir = containing this configure script
## cwd = current working dir at time of script launch
##
class Configure ( object ) :
OUT_QUIET = 0
OUT_INFO = 1
OUT_VERBOSE = 2
def __init__ ( self , verbose ) :
self . _log_info = [ ]
self . _log_verbose = [ ]
self . _record = False
self . verbose = verbose
self . dir = os . path . dirname ( sys . argv [ 0 ] )
self . cwd = os . getcwd ( )
self . build_dir = ' . '
## compute src dir which is 2 dirs up from this script
self . src_dir = os . path . normpath ( sys . argv [ 0 ] )
for i in range ( 2 ) :
self . src_dir = os . path . dirname ( self . src_dir )
if len ( self . src_dir ) == 0 :
self . src_dir = os . curdir
def _final_dir ( self , chdir , dir ) :
dir = os . path . normpath ( dir )
if not os . path . isabs ( dir ) :
if os . path . isabs ( chdir ) :
dir = os . path . normpath ( os . path . abspath ( dir ) )
else :
dir = os . path . normpath ( self . relpath ( dir , chdir ) )
return dir
## output functions
def infof ( self , format , * args ) :
line = format % args
self . _log_verbose . append ( line )
2015-10-27 17:52:39 -04:00
if self . verbose > = Configure . OUT_INFO :
2009-03-08 22:50:57 +00:00
self . _log_info . append ( line )
stdout . write ( line )
def verbosef ( self , format , * args ) :
line = format % args
self . _log_verbose . append ( line )
2015-10-27 17:52:39 -04:00
if self . verbose > = Configure . OUT_VERBOSE :
2009-03-08 22:50:57 +00:00
stdout . write ( line )
## doc is ready to be populated
def doc_ready ( self ) :
## compute final paths as they are after chdir into build
self . build_final = os . curdir
self . src_final = self . _final_dir ( self . build_dir , self . src_dir )
self . prefix_final = self . _final_dir ( self . build_dir , self . prefix_dir )
2019-04-15 13:55:49 -06:00
if build_tuple . match ( ' *-*-darwin* ' ) :
2016-12-22 00:42:42 -05:00
self . xcode_prefix_final = self . _final_dir ( self . build_dir , self . xcode_prefix_dir )
2009-03-08 22:50:57 +00:00
2015-10-27 17:52:39 -04:00
self . infof ( ' compute: makevar SRC/ = %s \n ' , self . src_final )
self . infof ( ' compute: makevar BUILD/ = %s \n ' , self . build_final )
self . infof ( ' compute: makevar PREFIX/ = %s \n ' , self . prefix_final )
2019-04-15 13:55:49 -06:00
if build_tuple . match ( ' *-*-darwin* ' ) :
2016-12-22 00:42:42 -05:00
self . infof ( ' compute: makevar XCODE.prefix/ = %s \n ' , self . xcode_prefix_final )
2009-03-08 22:50:57 +00:00
## perform chdir and enable log recording
def chdir ( self ) :
if os . path . abspath ( self . build_dir ) == os . path . abspath ( self . src_dir ) :
2023-03-11 17:48:44 +00:00
raise AbortError ( ' build (scratch) directory must not be the same as top-level source root! ' )
2009-03-08 22:50:57 +00:00
if self . build_dir != os . curdir :
if os . path . exists ( self . build_dir ) :
if not options . force :
2023-03-11 17:48:44 +00:00
raise AbortError ( ' build directory already exists: %s (use --force to overwrite) ' , self . build_dir )
2009-03-08 22:50:57 +00:00
else :
self . mkdirs ( self . build_dir )
self . infof ( ' chdir: %s \n ' , self . build_dir )
os . chdir ( self . build_dir )
## enable logging
self . _record = True
def mkdirs ( self , dir ) :
if len ( dir ) and not os . path . exists ( dir ) :
self . infof ( ' mkdir: %s \n ' , dir )
os . makedirs ( dir )
def open ( self , * args ) :
dir = os . path . dirname ( args [ 0 ] )
if len ( args ) > 1 and args [ 1 ] . find ( ' w ' ) != - 1 :
self . mkdirs ( dir )
2023-10-15 21:58:06 +01:00
m = re . match ( r ' ^(.*) \ .tmp \ .. {8} $ ' , args [ 0 ] )
2009-03-08 22:50:57 +00:00
if m :
self . infof ( ' write: %s \n ' , m . group ( 1 ) )
else :
self . infof ( ' write: %s \n ' , args [ 0 ] )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
try :
return open ( * args )
2019-02-25 07:03:28 -05:00
except Exception as x :
2023-03-11 17:48:44 +00:00
raise AbortError ( ' open failure: %s ' , x )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
def record_log ( self ) :
if not self . _record :
return
2023-03-11 17:48:44 +00:00
regex = re . compile ( r ' \ x1b \ [[0-9A-Fa-f]*m ' )
2009-03-08 22:50:57 +00:00
self . _record = False
self . verbose = Configure . OUT_QUIET
2017-01-08 11:23:45 +01:00
log_info_file = self . open ( ' log/config.info.txt ' , ' w ' )
2009-03-08 22:50:57 +00:00
for line in self . _log_info :
2023-03-11 17:48:44 +00:00
line = regex . sub ( ' ' , line )
2017-01-08 11:23:45 +01:00
log_info_file . write ( line )
log_info_file . close ( )
log_verbose_file = self . open ( ' log/config.verbose.txt ' , ' w ' )
2009-03-08 22:50:57 +00:00
for line in self . _log_verbose :
2023-03-11 17:48:44 +00:00
line = regex . sub ( ' ' , line )
2017-01-08 11:23:45 +01:00
log_verbose_file . write ( line )
log_verbose_file . close ( )
2009-03-08 22:50:57 +00:00
## Find executable by searching path.
## On success, returns full pathname of executable.
## On fail, returns None.
def findExecutable ( self , name ) :
if len ( os . path . split ( name ) [ 0 ] ) :
if os . access ( name , os . X_OK ) :
return name
return None
2015-08-25 09:48:14 -07:00
2017-01-08 11:23:45 +01:00
path = os . getenv ( ' PATH ' ) or os . defpath
2009-03-08 22:50:57 +00:00
for dir in path . split ( os . pathsep ) :
f = os . path . join ( dir , name )
if os . access ( f , os . X_OK ) :
return f
return None
## taken from python2.6 -- we need it
def relpath ( self , path , start = os . curdir ) :
""" Return a relative version of a path """
if not path :
raise ValueError ( " no path specified " )
start_list = os . path . abspath ( start ) . split ( os . sep )
path_list = os . path . abspath ( path ) . split ( os . sep )
# Work out how much of the filepath is shared by start and path.
i = len ( os . path . commonprefix ( [ start_list , path_list ] ) )
rel_list = [ os . pardir ] * ( len ( start_list ) - i ) + path_list [ i : ]
if not rel_list :
return os . curdir
return os . path . join ( * rel_list )
## update with parsed cli options
def update_cli ( self , options ) :
self . src_dir = os . path . normpath ( options . src )
self . build_dir = os . path . normpath ( options . build )
self . prefix_dir = os . path . normpath ( options . prefix )
2019-04-15 13:55:49 -06:00
if build_tuple . match ( ' *-*-darwin* ' ) and options . cross is None :
2016-12-22 00:42:42 -05:00
self . xcode_prefix_dir = os . path . normpath ( options . xcode_prefix )
2009-09-04 21:22:41 +00:00
if options . sysroot != None :
self . sysroot_dir = os . path . normpath ( options . sysroot )
else :
self . sysroot_dir = " "
2019-04-13 11:55:13 -04:00
try :
2009-09-04 21:22:41 +00:00
self . minver = options . minver
2019-04-13 11:55:13 -04:00
except :
2009-09-04 21:22:41 +00:00
self . minver = " "
2009-03-08 22:50:57 +00:00
## special case if src == build: add build subdir
if os . path . abspath ( self . src_dir ) == os . path . abspath ( self . build_dir ) :
self . build_dir = os . path . join ( self . build_dir , ' build ' )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2015-10-29 17:25:58 -04:00
## generate a temporary filename - not worried about race conditions
def mktmpname ( self , filename ) :
return filename + ' .tmp. ' + ' ' . join ( random . choice ( string . ascii_lowercase + string . digits ) for _ in range ( 8 ) )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
###############################################################################
##
2009-03-08 22:50:57 +00:00
## abstract action
##
## pretext = text which immediately follows 'probe:' output prefix
## abort = if true configure will exit on probe fail
## head = if true probe session is stripped of all but first line
## session = output from command, including stderr
## fail = true if probe failed
##
class Action ( object ) :
actions = [ ]
def __init__ ( self , category , pretext = ' unknown ' , abort = False , head = False ) :
if self not in Action . actions :
Action . actions . append ( self )
self . category = category
self . pretext = pretext
self . abort = abort
self . head = head
self . session = None
self . run_done = False
self . fail = True
2023-03-11 17:48:44 +00:00
self . msg_fail = print_red ( ' fail ' )
self . msg_pass = print_green ( ' pass ' )
2009-03-08 22:50:57 +00:00
self . msg_end = ' end '
def _actionBegin ( self ) :
cfg . infof ( ' %s : %s ... ' , self . category , self . pretext )
def _actionEnd ( self ) :
if self . fail :
cfg . infof ( ' ( %s ) %s \n ' , self . msg_fail , self . msg_end )
if self . abort :
self . _dumpSession ( cfg . infof )
2023-03-11 17:48:44 +00:00
raise AbortError ( ' configure is unable to continue. ' )
2009-03-08 22:50:57 +00:00
self . _dumpSession ( cfg . verbosef )
2014-01-27 23:14:59 +00:00
self . _failSession ( )
2009-03-08 22:50:57 +00:00
else :
cfg . infof ( ' ( %s ) %s \n ' , self . msg_pass , self . msg_end )
self . _dumpSession ( cfg . verbosef )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
def _dumpSession ( self , printf ) :
if self . session and len ( self . session ) :
for line in self . session :
printf ( ' : %s \n ' , line )
else :
printf ( ' : <NO-OUTPUT> \n ' )
def _parseSession ( self ) :
pass
2014-01-27 23:14:59 +00:00
def _failSession ( self ) :
pass
2009-03-08 22:50:57 +00:00
def run ( self ) :
if self . run_done :
return
self . run_done = True
self . _actionBegin ( )
self . _action ( )
if not self . fail :
self . _parseSession ( )
self . _actionEnd ( )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
###############################################################################
##
## base probe: anything which runs in shell.
##
## pretext = text which immediately follows 'probe:' output prefix
## command = full command and arguments to pipe
## abort = if true configure will exit on probe fail
## head = if true probe session is stripped of all but first line
## session = output from command, including stderr
## fail = true if probe failed
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
##
2009-03-08 22:50:57 +00:00
class ShellProbe ( Action ) :
def __init__ ( self , pretext , command , abort = False , head = False ) :
super ( ShellProbe , self ) . __init__ ( ' probe ' , pretext , abort , head )
self . command = command
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
def _action ( self ) :
## pipe and redirect stderr to stdout; effects communicate result
pipe = subprocess . Popen ( self . command , shell = True , stdout = subprocess . PIPE , stderr = subprocess . STDOUT )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
## read data into memory buffers, only first element (stdout) data is used
data = pipe . communicate ( )
self . fail = pipe . returncode != 0
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
if data [ 0 ] :
self . session = data [ 0 ] . splitlines ( )
else :
self . session = [ ]
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
if pipe . returncode :
self . msg_end = ' code %d ' % ( pipe . returncode )
def _dumpSession ( self , printf ) :
printf ( ' + %s \n ' , self . command )
super ( ShellProbe , self ) . _dumpSession ( printf )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2010-05-23 15:38:21 +00:00
###############################################################################
##
## Compile test probe: determine if compile time feature is supported
##
## returns true if feature successfully compiles
##
2015-08-25 09:48:14 -07:00
##
2010-05-23 15:38:21 +00:00
class CCProbe ( Action ) :
def __init__ ( self , pretext , command , test_file ) :
super ( CCProbe , self ) . __init__ ( ' probe ' , pretext )
self . command = command
self . test_file = test_file
def _action ( self ) :
## write program file
2017-01-08 11:23:45 +01:00
with open ( ' conftest.c ' , ' w ' ) as out_file :
out_file . write ( self . test_file )
2010-05-23 15:38:21 +00:00
## pipe and redirect stderr to stdout; effects communicate result
pipe = subprocess . Popen ( ' %s -c -o conftest.o conftest.c ' % self . command , shell = True , stdout = subprocess . PIPE , stderr = subprocess . STDOUT )
## read data into memory buffers, only first element (stdout) data is used
data = pipe . communicate ( )
self . fail = pipe . returncode != 0
if data [ 0 ] :
self . session = data [ 0 ] . splitlines ( )
else :
self . session = [ ]
if pipe . returncode :
self . msg_end = ' code %d ' % ( pipe . returncode )
os . remove ( ' conftest.c ' )
if not self . fail :
os . remove ( ' conftest.o ' )
def _dumpSession ( self , printf ) :
printf ( ' + %s \n ' , self . command )
super ( CCProbe , self ) . _dumpSession ( printf )
2019-04-15 12:12:08 -06:00
###############################################################################
##
## Compile test probe: determine if compile time feature is supported
##
## returns true if feature successfully compiles
##
##
2019-04-16 07:54:02 -06:00
def PkgConfigTest ( args , lib ) :
msg_end = ' '
if Tools . pkgconfig . fail :
fail = True
session = [ ]
msg_end = ' No pkg-config '
return fail , msg_end , session
## pipe and redirect stderr to stdout; effects communicate result
pipe = subprocess . Popen ( ' %s %s %s ' %
( Tools . pkgconfig . pathname , args , lib ) ,
shell = True , stdout = subprocess . PIPE , stderr = subprocess . STDOUT )
## read data into memory buffers, only first element (stdout)
## data is used
data = pipe . communicate ( )
fail = pipe . returncode != 0
if data [ 0 ] :
session = data [ 0 ] . splitlines ( )
else :
session = [ ]
if pipe . returncode :
msg_end = ' code %d ' % ( pipe . returncode )
return fail , msg_end , session
2019-04-15 12:12:08 -06:00
class PkgConfigProbe ( Action ) :
def __init__ ( self , pretext , args , lib ) :
super ( PkgConfigProbe , self ) . __init__ ( ' probe ' , pretext )
self . args = args
self . lib = lib
def _action ( self ) :
2019-04-16 07:54:02 -06:00
self . fail , self . msg_end , self . session = PkgConfigTest ( self . args ,
self . lib )
2019-04-15 12:12:08 -06:00
def _dumpSession ( self , printf ) :
printf ( ' + %s %s \n ' , Tools . pkgconfig . pathname , self . args )
super ( PkgConfigProbe , self ) . _dumpSession ( printf )
2010-05-23 15:38:21 +00:00
###############################################################################
##
## Compile test probe: determine if compile time feature is supported
##
## returns true if feature successfully compiles
##
2015-08-25 09:48:14 -07:00
##
2019-04-16 07:54:02 -06:00
def LDTest ( command , lib , test_file ) :
## write program file
with open ( ' conftest.c ' , ' w ' ) as out_file :
out_file . write ( test_file )
## pipe and redirect stderr to stdout; effects communicate result
pipe = subprocess . Popen ( ' %s -o conftest conftest.c %s ' % ( command , lib ) , shell = True , stdout = subprocess . PIPE , stderr = subprocess . STDOUT )
## read data into memory buffers, only first element (stdout) data is used
data = pipe . communicate ( )
fail = pipe . returncode != 0
if data [ 0 ] :
session = data [ 0 ] . splitlines ( )
else :
session = [ ]
msg_end = ' '
if pipe . returncode :
msg_end = ' code %d ' % ( pipe . returncode )
os . remove ( ' conftest.c ' )
if not fail :
try :
os . remove ( ' conftest.exe ' )
except :
pass
try :
os . remove ( ' conftest ' )
except :
pass
return ( fail , msg_end , session )
2010-05-23 15:38:21 +00:00
class LDProbe ( Action ) :
def __init__ ( self , pretext , command , lib , test_file ) :
super ( LDProbe , self ) . __init__ ( ' probe ' , pretext )
self . command = command
self . test_file = test_file
self . lib = lib
def _action ( self ) :
2019-04-16 07:54:02 -06:00
self . fail , self . msg_end , self . session = LDTest (
self . command , self . lib , self . test_file )
2010-05-23 15:38:21 +00:00
def _dumpSession ( self , printf ) :
printf ( ' + %s \n ' , self . command )
super ( LDProbe , self ) . _dumpSession ( printf )
2019-04-15 12:12:08 -06:00
###############################################################################
##
## Basic library existence check
##
## returns true if feature successfully compiles
##
##
class ChkLib ( Action ) :
2019-04-16 07:54:02 -06:00
def __init__ ( self , pretext , command , lib , test_file , abort = False ) :
super ( ChkLib , self ) . __init__ ( ' probe ' , pretext , abort = abort )
2019-04-15 12:12:08 -06:00
self . command = command
self . test_file = test_file
self . lib = lib
def _action ( self ) :
## First try pkg-config
if not Tools . pkgconfig . fail :
2019-04-16 07:54:02 -06:00
self . fail , self . msg_end , self . session = PkgConfigTest (
' --libs ' , self . lib )
if not self . fail :
2019-04-15 12:12:08 -06:00
return
2019-04-16 07:54:02 -06:00
## If pkg-config fails, try compiling and linking test file
self . fail , self . msg_end , session = LDTest (
self . command , ' -l %s ' % self . lib , self . test_file )
self . session . append ( session )
2019-04-15 12:12:08 -06:00
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
###############################################################################
2009-03-08 22:50:57 +00:00
##
2019-04-15 13:55:49 -06:00
## GNU build tuple probe: determine canonical platform type
2009-03-08 22:50:57 +00:00
##
## example results from various platforms:
##
2019-06-20 21:55:46 +02:00
## x86_64-apple-darwin15.6.0 (Mac OS X 10.11.6 Intel)
## x86_64-apple-darwin16.6.0 (macOS 10.12.6 Intel)
2009-03-08 22:50:57 +00:00
## i686-pc-cygwin (Cygwin, Microsoft Vista)
## x86_64-unknown-linux-gnu (Linux, Fedora 10 x86_64)
##
2019-04-15 13:55:49 -06:00
class BuildTupleProbe ( ShellProbe , list ) :
2009-04-14 20:10:57 +00:00
GNU_TUPLE_RE = ' ([^-]+)-?([^-]*)-([^0-9-]+)([^-]*)-?([^-]*) '
2009-03-08 22:50:57 +00:00
def __init__ ( self ) :
2019-04-15 13:55:49 -06:00
super ( BuildTupleProbe , self ) . __init__ ( ' build tuple ' , ' %s /config.guess ' % ( cfg . dir ) , abort = True , head = True )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
def _parseSession ( self ) :
2019-02-25 07:03:28 -05:00
self . spec = self . session [ 0 ] . decode ( ' utf-8 ' ) if self . session else ' '
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2019-04-15 13:55:49 -06:00
## grok GNU build tuples
m = re . match ( BuildTupleProbe . GNU_TUPLE_RE , self . spec )
2009-03-08 22:50:57 +00:00
if not m :
self . fail = True
2019-04-15 13:55:49 -06:00
self . msg_end = ' invalid build tuple: %s ' % ( self . spec )
2009-03-08 22:50:57 +00:00
return
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
self . msg_end = self . spec
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
## assign tuple from regex
self [ : ] = m . groups ( )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
## for clarity
self . machine = self [ 0 ]
self . vendor = self [ 1 ]
self . system = self [ 2 ]
self . release = self [ 3 ]
self . extra = self [ 4 ]
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2020-08-01 09:13:07 -04:00
## special mapping for Apple Silicon
## config.guess returns aarch64, we need arm64
2020-08-01 09:23:25 -04:00
if self . vendor == ' apple ' and self . system == ' darwin ' :
if self . machine == ' aarch64 ' :
2020-08-01 09:13:07 -04:00
self [ 0 ] = self . machine = ' arm64 '
2009-03-08 22:50:57 +00:00
## nice formal name for 'system'
self . systemf = platform . system ( )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
if self . match ( ' *-*-cygwin* ' ) :
self . systemf = self [ 2 ] [ 0 ] . upper ( ) + self [ 2 ] [ 1 : ]
2015-08-25 09:48:14 -07:00
2009-03-08 22:50:57 +00:00
## glob-match against spec
2009-03-10 07:05:42 +00:00
def match ( self , * specs ) :
for spec in specs :
if fnmatch . fnmatch ( self . spec , spec ) :
return True
return False
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
###############################################################################
2019-04-15 13:55:49 -06:00
class HostTupleAction ( Action , list ) :
2020-10-30 13:48:43 +01:00
def __init__ ( self , cross = None , arch_gcc = None , xcode_opts = None ) :
2019-04-15 13:55:49 -06:00
super ( HostTupleAction , self ) . __init__ ( ' compute ' , ' host tuple ' , abort = True )
# Initialize, but allow to be reset by options
2020-10-30 13:48:43 +01:00
self . setHost ( cross , arch_gcc , xcode_opts )
2009-03-08 22:50:57 +00:00
2020-10-30 13:48:43 +01:00
def setHost ( self , cross = None , arch_gcc = None , xcode_opts = None ) :
2009-04-14 20:10:57 +00:00
## check if --cross spec was used; must maintain 5-tuple compatibility with regex
2020-10-30 13:48:43 +01:00
## special mapping for Apple Silicon
## config.guess returns aarch64, we need arm64
if build_tuple . vendor == ' apple ' and build_tuple . system == ' darwin ' :
if build_tuple . spec . startswith ( ' aarch64 ' ) :
build_tuple . spec = ' arm64 ' + build_tuple . spec . lstrip ( ' aarch64 ' )
2019-04-15 14:43:02 -06:00
if cross is not None :
2019-04-15 14:36:26 -06:00
self . spec = os . path . basename ( cross ) . rstrip ( ' - ' )
2020-10-30 13:48:43 +01:00
elif arch_gcc is not None :
self . spec = arch_gcc + build_tuple . spec . lstrip ( build_tuple . machine )
elif xcode_opts is not None and xcode_opts [ ' config ' ] is not None and not xcode_opts [ ' disabled ' ] :
self . spec = xcode_opts [ ' config ' ] . split ( " . " ) [ - 1 ] + build_tuple . spec . lstrip ( build_tuple . machine )
2009-04-14 20:10:57 +00:00
else :
2019-04-15 13:55:49 -06:00
self . spec = build_tuple . spec
2009-03-08 22:50:57 +00:00
2019-04-15 13:55:49 -06:00
## grok GNU build tuples
m = re . match ( BuildTupleProbe . GNU_TUPLE_RE , self . spec )
2009-03-08 22:50:57 +00:00
if not m :
2019-04-15 13:55:49 -06:00
self . msg_end = ' invalid build tuple: %s ' % ( self . spec )
2009-03-08 22:50:57 +00:00
return
self . msg_end = self . spec
## assign tuple from regex
self [ : ] = m . groups ( )
## for clarity
self . machine = self [ 0 ]
self . vendor = self [ 1 ]
self . system = self [ 2 ]
self . release = self [ 3 ]
self . extra = self [ 4 ]
2019-04-15 13:55:49 -06:00
self . systemf = build_tuple . systemf
try :
self . machine = arch . mode . mode
except NameError :
pass
2009-03-08 22:50:57 +00:00
2009-04-14 20:10:57 +00:00
## when cross we need switch for platforms
2019-04-15 14:43:02 -06:00
if cross is not None :
2009-04-14 20:10:57 +00:00
if self . match ( ' *mingw* ' ) :
self . systemf = ' MinGW '
elif self . systemf :
2017-03-02 21:21:40 +01:00
self . systemf = self . systemf . capitalize ( )
2019-04-15 13:55:49 -06:00
self . title = ' %s %s ' % ( self . systemf , self . machine )
2009-03-08 22:50:57 +00:00
self . fail = False
2019-04-15 14:36:26 -06:00
self . spec = ( ' %s - %s - %s %s - %s ' % ( self . machine , self . vendor , self . system ,
self . release , self . extra ) ) . rstrip ( ' - ' )
def _action ( self ) :
try :
2020-10-30 13:48:43 +01:00
self . setHost ( options . cross , arch_gcc , xcode_opts )
2019-04-15 14:36:26 -06:00
except NameError :
2020-10-30 13:48:43 +01:00
self . setHost ( )
2019-04-15 13:55:49 -06:00
2009-03-10 07:05:42 +00:00
## glob-match against spec
def match ( self , * specs ) :
for spec in specs :
if fnmatch . fnmatch ( self . spec , spec ) :
return True
return False
2009-03-08 22:50:57 +00:00
###############################################################################
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
##
2019-07-31 07:27:27 +02:00
## value wrapper; value is accepted only if one of host specs matches
2009-03-10 07:05:42 +00:00
## otherwise it is None (or a keyword-supplied val)
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
##
2009-03-10 07:05:42 +00:00
## result is attribute 'value'
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
##
2009-03-08 22:50:57 +00:00
class IfHost ( object ) :
2009-03-10 07:05:42 +00:00
def __init__ ( self , value , * specs , * * kwargs ) :
self . value = kwargs . get ( ' none ' , None )
2009-03-08 22:50:57 +00:00
for spec in specs :
2019-04-15 13:55:49 -06:00
if host_tuple . match ( spec ) :
self . value = value
break
def __nonzero__ ( self ) :
return self . value != None
def __str__ ( self ) :
return self . value
class IfBuild ( object ) :
def __init__ ( self , value , * specs , * * kwargs ) :
self . value = kwargs . get ( ' none ' , None )
for spec in specs :
if build_tuple . match ( spec ) :
2009-03-08 22:50:57 +00:00
self . value = value
break
def __nonzero__ ( self ) :
2009-03-10 07:05:42 +00:00
return self . value != None
2015-08-25 09:48:14 -07:00
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
def __str__ ( self ) :
2009-03-08 22:50:57 +00:00
return self . value
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
###############################################################################
##
## platform conditional value; loops through list of tuples comparing
## to first host match and sets value accordingly; the first value is
## always default.
##
class ForHost ( object ) :
def __init__ ( self , default , * tuples ) :
self . value = default
for tuple in tuples :
2019-04-15 13:55:49 -06:00
if host_tuple . match ( tuple [ 1 ] ) :
2009-03-08 22:50:57 +00:00
self . value = tuple [ 0 ]
break
def __str__ ( self ) :
return self . value
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
###############################################################################
2009-03-08 22:50:57 +00:00
class ArchAction ( Action ) :
def __init__ ( self ) :
super ( ArchAction , self ) . __init__ ( ' compute ' , ' available architectures ' , abort = True )
2019-04-15 13:55:49 -06:00
self . mode = SelectMode ( ' architecture ' , ( host_tuple . machine , host_tuple . spec ) )
2009-03-08 22:50:57 +00:00
def _action ( self ) :
self . fail = False
2015-08-25 09:48:14 -07:00
## some match on system should be made here; otherwise we signal a warning.
2019-04-15 13:55:49 -06:00
if host_tuple . match ( ' *-*-cygwin* ' ) :
2009-03-08 22:50:57 +00:00
pass
2019-04-15 15:50:16 -06:00
elif host_tuple . match ( ' *-*-mingw* ' ) :
pass
2019-04-15 13:55:49 -06:00
elif host_tuple . match ( ' *-*-darwin* ' ) :
2020-08-01 09:13:07 -04:00
self . mode [ ' arm64 ' ] = ' arm64-apple-darwin %s ' % ( host_tuple . release )
self . mode [ ' x86_64 ' ] = ' x86_64-apple-darwin %s ' % ( host_tuple . release )
2019-04-15 13:55:49 -06:00
elif host_tuple . match ( ' *-*-linux* ' ) :
2009-03-08 22:50:57 +00:00
pass
2019-04-15 13:55:49 -06:00
elif host_tuple . match ( ' *-*-solaris* ' ) :
2012-11-15 17:57:29 +00:00
pass
2019-04-15 17:03:27 -06:00
elif host_tuple . match ( ' *-*-freebsd* ' ) :
2019-04-15 13:55:49 -06:00
self . mode [ ' i386 ' ] = ' i386-portsbuild-freebsd %s ' % ( host_tuple . release )
2023-03-19 02:08:44 +00:00
self . mode [ ' amd64 ' ] = ' amd64-portsbuild-freebsd %s ' % ( host_tuple . release )
2022-09-04 04:51:39 -04:00
elif host_tuple . match ( ' *-*-openbsd* ' ) :
self . mode [ ' i386 ' ] = ' i386-unknown-openbsd %s ' % ( host_tuple . release )
2023-03-19 02:08:44 +00:00
self . mode [ ' amd64 ' ] = ' amd64-unknown-openbsd %s ' % ( host_tuple . release )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
else :
2009-03-08 22:50:57 +00:00
self . msg_pass = ' WARNING '
self . msg_end = self . mode . toString ( )
## glob-match against spec
def match ( self , spec ) :
return fnmatch . fnmatch ( self . spec , spec )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
###############################################################################
2009-03-08 22:50:57 +00:00
class CoreProbe ( Action ) :
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
def __init__ ( self ) :
2009-03-08 22:50:57 +00:00
super ( CoreProbe , self ) . __init__ ( ' probe ' , ' number of CPU cores ' )
self . count = 1
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
def _action ( self ) :
if self . fail :
## good for darwin9.6.0 and linux
try :
self . count = os . sysconf ( ' SC_NPROCESSORS_ONLN ' )
if self . count < 1 :
self . count = 1
self . fail = False
except :
pass
if self . fail :
## windows
try :
self . count = int ( os . environ [ ' NUMBER_OF_PROCESSORS ' ] )
if self . count < 1 :
self . count = 1
self . fail = False
except :
pass
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
## clamp
if self . count < 1 :
self . count = 1
2016-05-24 16:58:32 -04:00
elif self . count > 64 :
self . count = 64
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
if options . launch :
if options . launch_jobs == 0 :
self . jobs = core . count
2009-03-04 00:54:53 +00:00
else :
2009-03-08 22:50:57 +00:00
self . jobs = options . launch_jobs
else :
self . jobs = core . count
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
self . msg_end = str ( self . count )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
###############################################################################
2019-04-12 14:19:43 -06:00
class StoreCallbackAction ( argparse . Action ) :
def __init__ ( self , option_strings , dest , nargs = None , * * kwargs ) :
self . callback = kwargs . pop ( ' callback ' , None )
super ( StoreCallbackAction , self ) . __init__ (
option_strings , dest , nargs , * * kwargs )
def __call__ ( self , parser , namespace , values , option_string = None ) :
setattr ( namespace , self . dest , values )
if self . callback != None :
self . callback ( self , values )
2009-03-08 22:50:57 +00:00
class SelectMode ( dict ) :
def __init__ ( self , descr , * modes , * * kwargs ) :
super ( SelectMode , self ) . __init__ ( modes )
2012-01-04 09:41:11 +00:00
self . descr = descr
self . modes = modes
self . what = kwargs . get ( ' what ' , ' mode ' )
if modes :
self . default = kwargs . get ( ' default ' , modes [ 0 ] [ 0 ] )
else :
self . default = None
self . mode = self . default
2009-03-08 22:50:57 +00:00
2019-04-05 05:11:10 -04:00
def cli_add_argument ( self , parser , option ) :
2019-04-12 14:19:43 -06:00
parser . add_argument ( option , nargs = ' ? ' , metavar = ' MODE ' ,
default = self . mode , const = self . mode ,
2012-01-04 09:41:11 +00:00
help = ' select %s %s : %s ' % ( self . descr , self . what , self . toString ( ) ) ,
2019-04-12 14:19:43 -06:00
action = StoreCallbackAction , callback = self . cli_callback )
2009-03-08 22:50:57 +00:00
2019-04-12 14:19:43 -06:00
def cli_callback ( self , action , value ) :
2009-03-08 22:50:57 +00:00
if value not in self :
2019-04-12 14:19:43 -06:00
raise argparse . ArgumentError ( action ,
' invalid %s %s : %s (choose from: %s ) '
% ( self . descr , self . what , value , self . toString ( True ) ) )
2009-03-08 22:50:57 +00:00
self . mode = value
def toString ( self , nodefault = False ) :
2019-02-25 07:03:28 -05:00
keys = list ( self . copy ( ) . keys ( ) )
2009-03-08 22:50:57 +00:00
keys . sort ( )
if len ( self ) == 1 :
value = self . mode
elif nodefault :
value = ' ' . join ( keys )
else :
value = ' %s [ %s ] ' % ( ' ' . join ( keys ) , self . mode )
return value
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
###############################################################################
2009-03-08 22:50:57 +00:00
##
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
## Repository object.
## Holds information gleaned from subversion working dir.
##
## Builds are classed into one of the following types:
##
## release
2015-08-25 09:48:14 -07:00
## must be built from official git at version tag
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
## developer
2015-08-25 09:48:14 -07:00
## must be built from official git but is not a release
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
##
2009-03-08 22:50:57 +00:00
class RepoProbe ( ShellProbe ) :
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
def __init__ ( self ) :
2015-08-25 09:48:14 -07:00
# Find script that creates repo info
2012-01-04 09:41:11 +00:00
try :
2015-08-25 09:48:14 -07:00
repo_info = os . path . join ( cfg . src_dir , ' scripts ' , ' repo-info.sh ' )
2012-01-04 09:41:11 +00:00
except :
2023-03-11 17:48:44 +00:00
raise AbortError ( ' Missing required script repo-info.sh ' )
if not os . path . isfile ( repo_info ) :
raise AbortError ( ' Missing required script %s ' , repo_info )
2012-01-04 09:41:11 +00:00
2015-08-25 09:48:14 -07:00
super ( RepoProbe , self ) . __init__ ( ' repo info ' , ' %s %s ' %
( repo_info , cfg . src_dir ) )
2009-03-08 22:50:57 +00:00
2015-08-25 09:48:14 -07:00
self . url = ' git://nowhere.com/project/unknown '
self . tag = ' '
2015-08-28 11:16:56 -07:00
self . tag_hash = ' deadbeaf '
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
self . branch = ' unknown '
2015-08-25 09:48:14 -07:00
self . remote = ' unknown '
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
self . rev = 0
2015-08-25 09:48:14 -07:00
self . hash = ' deadbeaf '
self . shorthash = ' deadbea '
2016-12-26 17:07:43 -05:00
self . date = None
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
self . official = 0
2015-08-25 09:48:14 -07:00
self . type = ' developer '
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
def _parseSession ( self ) :
for line in self . session :
2019-02-27 22:09:24 +00:00
if isinstance ( line , bytes ) :
line = line . decode ( ' utf-8 ' )
2019-02-25 07:03:28 -05:00
2009-03-08 22:50:57 +00:00
## grok fields
2023-10-15 21:58:06 +01:00
m = re . match ( r ' ([^=]+)=(.*) ' , line )
2009-03-08 22:50:57 +00:00
if not m :
continue
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
( name , value ) = m . groups ( )
2015-08-25 09:48:14 -07:00
if name == ' URL ' and value != ' ' :
2009-03-08 22:50:57 +00:00
self . url = value
2015-08-25 09:48:14 -07:00
elif name == ' TAG ' :
self . tag = value
2015-08-28 11:16:56 -07:00
elif name == ' TAG_HASH ' :
self . tag_hash = value
2015-08-25 09:48:14 -07:00
elif name == ' BRANCH ' :
self . branch = value
elif name == ' REMOTE ' :
self . remote = value
elif name == ' REV ' :
2009-03-08 22:50:57 +00:00
self . rev = int ( value )
2015-08-25 09:48:14 -07:00
elif name == ' DATE ' :
2015-08-28 11:16:56 -07:00
self . date = datetime . strptime ( value [ 0 : 19 ] , " % Y- % m- %d % H: % M: % S " )
# strptime can't handle UTC offset
2023-10-15 21:58:06 +01:00
m = re . match ( r ' ^([-+]?[0-9] {2} )([0-9] {2} )$ ' , value [ 20 : ] )
2015-08-28 11:16:56 -07:00
( hh , mn ) = m . groups ( )
utc_off_hour = int ( hh )
utc_off_minute = int ( mn )
if utc_off_hour > = 0 :
utc_off = utc_off_hour * 60 + utc_off_minute
else :
utc_off = utc_off_hour * 60 - utc_off_minute
delta = timedelta ( minutes = utc_off )
self . date = self . date - delta
2015-08-25 09:48:14 -07:00
elif name == ' HASH ' :
self . hash = value
2020-05-03 12:33:42 -04:00
elif name == ' SHORTHASH ' :
if value != ' ' :
self . shorthash = value
else :
self . shorthash = self . hash
2015-08-25 09:48:14 -07:00
# type-classification via repository URL
2016-12-26 17:07:43 -05:00
if self . url == project . url_repo_ssh :
self . url = project . url_repo # official repo, SSH to HTTPS
2015-08-25 09:48:14 -07:00
2016-12-26 17:07:43 -05:00
if self . url == project . url_repo :
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
self . official = 1
2015-08-28 11:16:56 -07:00
if not options . snapshot and self . hash == self . tag_hash :
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
self . type = ' release '
else :
self . type = ' developer '
2009-03-08 22:50:57 +00:00
self . msg_end = self . url
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2014-01-27 23:14:59 +00:00
def _failSession ( self ) :
2015-08-25 09:48:14 -07:00
# Look for repo info in version file.
2014-01-27 23:14:59 +00:00
#
# Version file would be created manually by source packager.
# e.g.
2015-08-25 09:48:14 -07:00
# $ HandBrake/scripts/repo-info.sh HandBrake > HandBrake/version.txt
# $ tar -czf handbrake-source.tgz --exclude .git HandBrake
2014-01-27 23:14:59 +00:00
cfg . infof ( ' probe: version.txt... ' )
try :
hvp = os . path . join ( cfg . src_dir , ' version.txt ' )
if os . path . isfile ( hvp ) and os . path . getsize ( hvp ) > 0 :
2017-01-08 11:23:45 +01:00
with open ( hvp , ' r ' ) as in_file :
self . session = in_file . readlines ( )
2014-01-27 23:14:59 +00:00
if self . session :
self . _parseSession ( )
2019-02-27 22:09:24 +00:00
if self . hash and self . hash != ' deadbeaf ' :
2023-03-11 17:48:44 +00:00
cfg . infof ( ' ( %s ) \n ' % print_green ( ' pass ' ) )
2014-01-27 23:14:59 +00:00
else :
2023-03-11 17:48:44 +00:00
cfg . infof ( ' ( %s ) \n ' % print_red ( ' fail ' ) )
2014-01-27 23:14:59 +00:00
except :
2023-03-11 17:48:44 +00:00
cfg . infof ( ' ( %s ) \n ' % print_red ( ' fail ' ) )
2014-01-27 23:14:59 +00:00
2009-03-08 22:50:57 +00:00
###############################################################################
##
## project object.
##
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
## Contains manually updated version numbers consistent with HB releases
## and other project metadata.
##
2009-03-08 22:50:57 +00:00
class Project ( Action ) :
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
def __init__ ( self ) :
2009-03-08 22:50:57 +00:00
super ( Project , self ) . __init__ ( ' compute ' , ' project data ' )
2009-03-05 06:57:31 +00:00
self . name = ' HandBrake '
self . acro_lower = ' hb '
self . acro_upper = ' HB '
2014-11-21 19:47:47 +00:00
self . url_website = ' https://handbrake.fr '
2016-12-26 17:07:43 -05:00
self . url_repo = ' https://github.com/HandBrake/HandBrake.git '
self . url_repo_ssh = ' git@github.com:HandBrake/HandBrake.git '
2014-11-21 19:47:47 +00:00
self . url_community = ' https://forum.handbrake.fr '
2009-03-05 06:57:31 +00:00
self . url_irc = ' irc://irc.freenode.net/handbrake '
2009-03-02 03:35:10 +00:00
self . name_lower = self . name . lower ( )
self . name_upper = self . name . upper ( )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
self . vmajor = 0
2015-08-25 09:48:14 -07:00
self . vminor = 0
2014-11-21 19:47:47 +00:00
self . vpoint = 0
2015-08-28 11:16:56 -07:00
self . spoint = 0
self . suffix = ' '
self . special = ' '
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
def _action ( self ) :
2009-06-18 20:48:07 +00:00
## add architecture to URL only for Mac
2019-04-15 13:55:49 -06:00
if fnmatch . fnmatch ( host_tuple . spec , ' *-*-darwin* ' ) :
2009-06-18 20:48:07 +00:00
url_arch = ' . %s ' % ( arch . mode . mode )
else :
url_arch = ' '
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2016-12-26 17:07:43 -05:00
if repo . date is None :
2023-03-11 17:48:44 +00:00
raise AbortError ( ' %s is missing version information it needs to build properly. \n Clone the official git repository at %s \n or download an official source archive from %s \n ' , self . name , self . url_repo , self . url_website )
2016-12-26 17:07:43 -05:00
2015-08-25 09:48:14 -07:00
if repo . tag != ' ' :
2023-10-15 21:58:06 +01:00
m = re . match ( r ' ^([0-9]+) \ .([0-9]+) \ .([0-9]+)-?(.+)?$ ' , repo . tag )
2015-08-25 09:48:14 -07:00
if not m :
2023-03-11 17:48:44 +00:00
raise AbortError ( ' Invalid repo tag format %s \n ' , repo . tag )
2015-08-28 11:16:56 -07:00
( vmajor , vminor , vpoint , suffix ) = m . groups ( )
2015-08-25 09:48:14 -07:00
self . vmajor = int ( vmajor )
self . vminor = int ( vminor )
self . vpoint = int ( vpoint )
2016-12-18 16:26:54 -05:00
if suffix :
self . suffix = suffix
2015-08-25 09:48:14 -07:00
2015-08-28 11:16:56 -07:00
if repo . type != ' release ' or options . snapshot :
self . version = repo . date . strftime ( " % Y % m %d % H % M % S " )
self . version + = ' - %s ' % ( repo . shorthash )
2015-08-25 09:48:14 -07:00
if repo . branch != ' ' :
2015-08-28 11:16:56 -07:00
self . version + = ' - %s ' % ( repo . branch )
self . debversion = repo . date . strftime ( " % Y % m %d % H % M % S " )
self . debversion + = ' - %s ' % ( repo . shorthash )
if repo . branch != ' ' :
self . debversion + = ' - %s ' % ( repo . branch )
2009-06-18 21:11:41 +00:00
url_ctype = ' _unstable '
url_ntype = ' unstable '
2016-09-08 20:43:40 +01:00
self . build = time . strftime ( ' % Y % m %d ' , now ) + ' 01 '
2015-08-25 09:48:14 -07:00
self . title = ' %s %s ( %s ) ' % ( self . name , self . version , self . build )
2015-08-28 11:16:56 -07:00
else :
2023-10-15 21:58:06 +01:00
m = re . match ( r ' ^([a-zA-Z]+) \ .([0-9]+)$ ' , self . suffix )
2015-08-28 11:16:56 -07:00
if not m :
# Regular release
self . version = ' %d . %d . %d ' % ( self . vmajor , self . vminor , self . vpoint )
self . debversion = ' %d . %d . %d ' % ( self . vmajor , self . vminor , self . vpoint )
url_ctype = ' '
url_ntype = ' stable '
else :
( special , spoint , ) = m . groups ( )
self . special = special
self . spoint = int ( spoint )
self . version = ' %d . %d . %d - %s . %d ' % ( self . vmajor , self . vminor , self . vpoint , self . special , self . spoint )
self . debversion = ' %d . %d . %d ~ %s . %d ' % ( self . vmajor , self . vminor , self . vpoint , self . special , self . spoint )
url_ctype = ' _unstable '
url_ntype = ' unstable '
2016-09-08 20:43:40 +01:00
self . build = time . strftime ( ' % Y % m %d ' , now ) + ' 00 '
2015-08-28 11:16:56 -07:00
self . title = ' %s %s ( %s ) ' % ( self . name , self . version , self . build )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2014-08-19 11:46:48 +00:00
self . url_appcast = ' https://handbrake.fr/appcast %s %s .xml ' % ( url_ctype , url_arch )
self . url_appnote = ' https://handbrake.fr/appcast/ %s .html ' % ( url_ntype )
2009-06-18 20:48:07 +00:00
2009-03-08 22:50:57 +00:00
self . msg_end = ' %s ( %s ) ' % ( self . name , repo . type )
self . fail = False
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
###############################################################################
2009-03-08 22:50:57 +00:00
class ToolProbe ( Action ) :
tools = [ ]
2019-04-17 16:23:20 -06:00
def __init__ ( self , var , option , * names , * * kwargs ) :
2009-03-08 22:50:57 +00:00
super ( ToolProbe , self ) . __init__ ( ' find ' , abort = kwargs . get ( ' abort ' , True ) )
if not self in ToolProbe . tools :
ToolProbe . tools . append ( self )
self . var = var
2019-04-17 16:23:20 -06:00
self . option = option
2009-03-08 22:50:57 +00:00
self . names = [ ]
self . kwargs = kwargs
for name in names :
2019-02-25 07:03:28 -05:00
try :
name = str ( name )
except :
name = None
if name is not None :
self . names . append ( name )
2009-03-08 22:50:57 +00:00
self . name = self . names [ 0 ]
self . pretext = self . name
self . pathname = self . names [ 0 ]
2019-09-27 13:16:55 -04:00
self . abort = kwargs . get ( ' abort ' , True )
self . versionopt = kwargs . get ( ' versionopt ' , ' --version ' )
2013-01-25 17:59:50 +00:00
self . minversion = kwargs . get ( ' minversion ' , None )
2019-09-27 13:16:55 -04:00
self . rexpr = kwargs . get ( ' rexpr ' , None )
2009-03-08 22:50:57 +00:00
def _action ( self ) :
self . session = [ ]
for i , name in enumerate ( self . names ) :
self . session . append ( ' name[ %d ] = %s ' % ( i , name ) )
for name in self . names :
f = cfg . findExecutable ( name )
if f :
self . pathname = f
self . fail = False
self . msg_end = f
break
if self . fail :
self . msg_end = ' not found '
2013-01-25 17:59:50 +00:00
elif self . minversion :
2019-09-27 13:16:55 -04:00
self . version = VersionProbe ( self . name , [ self . pathname , self . versionopt ] , abort = self . abort , minversion = self . minversion , rexpr = self . rexpr )
2009-03-08 22:50:57 +00:00
2019-04-05 05:11:10 -04:00
def cli_add_argument ( self , parser ) :
2019-04-17 16:23:20 -06:00
parser . add_argument ( ' -- ' + self . option , nargs = 1 , metavar = ' PROG ' ,
2009-03-08 22:50:57 +00:00
help = ' [ %s ] ' % ( self . pathname ) ,
2019-04-12 14:19:43 -06:00
action = StoreCallbackAction , callback = self . cli_callback )
2009-03-08 22:50:57 +00:00
2019-04-12 14:19:43 -06:00
def cli_callback ( self , action , value ) :
# set pool to include only the user specified tool
2019-04-17 16:23:20 -06:00
self . __init__ ( self . var , self . option , value [ 0 ] )
2009-03-08 22:50:57 +00:00
self . run ( )
def doc_add ( self , doc ) :
doc . add ( self . var , self . pathname )
###############################################################################
2013-01-25 17:59:50 +00:00
###############################################################################
##
## version probe: passes --version to command and only cares about first line
## of output. If probe fails, a default version of '0.0.0' results.
## The default rexpr is useful for some very simple version strings. A Custom
## expression would be required for more complex version strings.
##
## command = full command and arguments to pipe
## rexpr = a regular expression which must return named subgroups:
## name: mandatory. The tool name.
## svers: mandatory. The whole version tuple to be represented as string.
## i0: mandatory. First element of version tuple to be parsed as int.
## i1: optional. Second element of version tuple to be parsed as int.
## i2: optional. Third element of version tuple to be parsed as int.
## All matching is case-insensitive.
## abort = if true configure will exit on probe fail
## session = result. array of lines (stdout/stderr) from command
## fail = result. true if probe failed
## svers = result. string of version tuple
## ivers = result. int[3] of version tuple
##
class VersionProbe ( Action ) :
2019-09-27 13:16:55 -04:00
def __init__ ( self , name , command , minversion = None , rexpr = None , abort = False ) :
super ( VersionProbe , self ) . __init__ ( ' version probe ' , ' %s %s ' % ( os . path . basename ( command [ 0 ] ) , ' . ' . join ( [ str ( i ) for i in minversion ] ) ) , abort )
self . name = name
2013-01-25 17:59:50 +00:00
self . command = command
2019-09-27 13:16:55 -04:00
self . abort = abort
2013-01-25 17:59:50 +00:00
self . minversion = minversion
2023-10-15 21:58:06 +01:00
self . rexprs = [ r ' (?P<name>[^.]+) \ s+(?P<svers>(?P<i0> \ d+)( \ .(?P<i1> \ d+))?( \ .(?P<i2> \ d+))?) ' ,
r ' (?P<svers>(?P<i0> \ d+)( \ .(?P<i1> \ d+))?( \ .(?P<i2> \ d+))?) ' ]
2019-09-27 13:16:55 -04:00
if rexpr :
self . rexprs . insert ( 0 , rexpr )
2013-01-25 17:59:50 +00:00
def _action ( self ) :
2021-12-31 09:25:26 +01:00
with open ( os . devnull , ' w ' ) as devnull :
## pipe and redirect stderr to dev/null; effects communicate result
pipe = subprocess . Popen ( self . command , stdout = subprocess . PIPE , stderr = devnull )
2013-01-25 17:59:50 +00:00
## read data into memory buffers
data = pipe . communicate ( )
self . fail = pipe . returncode != 0
2017-01-08 11:23:45 +01:00
self . session = data [ 0 ] . splitlines ( ) if data [ 0 ] else [ ]
2013-01-25 17:59:50 +00:00
self . svers = ' 0.0.0 '
self . ivers = [ 0 , 0 , 0 ]
try :
if not self . fail and self . session and len ( self . session ) :
self . fail = True
self . _parse ( )
self . fail = False
self . msg_end = self . svers
2019-02-25 07:03:28 -05:00
except Exception as x :
2013-01-25 17:59:50 +00:00
self . svers = ' 0.0.0 '
self . ivers = [ 0 , 0 , 0 ]
self . msg_end = str ( x )
2019-09-27 13:16:55 -04:00
if self . inadequate ( ) :
self . fail = True
if self . abort is True :
2024-01-10 19:20:01 +00:00
print ( f ' ( { self . msg_fail } ) { self . svers } ' )
2019-09-27 13:16:55 -04:00
raise AbortError ( ' minimum required %s version is %s and %s is %s \n ' % ( self . name , ' . ' . join ( [ str ( i ) for i in self . minversion ] ) , self . command [ 0 ] , self . svers ) )
2013-01-25 17:59:50 +00:00
def _dumpSession ( self , printf ) :
printf ( ' + %s \n ' , ' ' . join ( self . command ) )
super ( VersionProbe , self ) . _dumpSession ( printf )
def _parse ( self ) :
2019-09-27 13:16:55 -04:00
for expression in self . rexprs :
mo = re . match ( expression , self . session [ 0 ] . decode ( ' utf-8 ' ) , re . IGNORECASE )
if mo is None :
continue
md = mo . groupdict ( )
self . svers = md [ ' svers ' ]
if ' i0 ' in md and md [ ' i0 ' ] :
self . ivers [ 0 ] = int ( md [ ' i0 ' ] )
if ' i1 ' in md and md [ ' i1 ' ] :
self . ivers [ 1 ] = int ( md [ ' i1 ' ] )
if ' i2 ' in md and md [ ' i2 ' ] :
self . ivers [ 2 ] = int ( md [ ' i2 ' ] )
break
2013-01-25 17:59:50 +00:00
def inadequate ( self ) :
if not self . minversion :
return False
return self . lesser ( self . minversion )
def lesser ( self , ivers ) :
for i in range ( 0 , 3 ) :
if self . ivers [ i ] < ivers [ i ] :
return True
elif self . ivers [ i ] > ivers [ i ] :
return False
return False
2009-03-08 22:50:57 +00:00
###############################################################################
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
##
2009-03-08 22:50:57 +00:00
## config object used to output gnu-make or gnu-m4 output.
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
##
2009-03-08 22:50:57 +00:00
## - add() to add NAME/VALUE pairs suitable for both make/m4.
## - addBlank() to add a linefeed for both make/m4.
## - addMake() to add a make-specific line.
## - addM4() to add a m4-specific line.
##
class ConfigDocument :
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
def __init__ ( self ) :
2009-03-08 22:50:57 +00:00
self . _elements = [ ]
2017-01-08 11:23:45 +01:00
def _outputMake ( self , out_file , namelen , name , value , append ) :
2009-03-10 07:05:42 +00:00
if append :
2009-04-14 20:10:57 +00:00
if value == None or len ( str ( value ) ) == 0 :
2017-01-08 11:23:45 +01:00
out_file . write ( ' %-*s += \n ' % ( namelen , name ) )
2009-04-14 20:10:57 +00:00
else :
2017-01-08 11:23:45 +01:00
out_file . write ( ' %-*s += %s \n ' % ( namelen , name , value ) )
2009-03-10 07:05:42 +00:00
else :
2009-04-14 20:10:57 +00:00
if value == None or len ( str ( value ) ) == 0 :
2017-01-08 11:23:45 +01:00
out_file . write ( ' %-*s = \n ' % ( namelen , name ) )
2009-04-14 20:10:57 +00:00
else :
2017-01-08 11:23:45 +01:00
out_file . write ( ' %-*s = %s \n ' % ( namelen , name , value ) )
2009-03-08 22:50:57 +00:00
2017-01-08 11:23:45 +01:00
def _outputM4 ( self , out_file , namelen , name , value ) :
2009-03-08 22:50:57 +00:00
namelen + = 7
name = ' <<__ %s >>, ' % name . replace ( ' . ' , ' _ ' )
2017-01-08 11:23:45 +01:00
out_file . write ( ' define( %-*s << %s >>)dnl \n ' % ( namelen , name , value ) )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-10 07:05:42 +00:00
def add ( self , name , value , append = False ) :
self . _elements . append ( [ name , value , append ] )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
def addBlank ( self ) :
2009-03-08 22:50:57 +00:00
self . _elements . append ( None )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
def addComment ( self , format , * args ) :
self . addMake ( ' ## ' + format % args )
self . addM4 ( ' dnl ' + format % args )
def addMake ( self , line ) :
2009-03-08 22:50:57 +00:00
self . _elements . append ( ( ' ?make ' , line ) )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
def addM4 ( self , line ) :
2009-03-08 22:50:57 +00:00
self . _elements . append ( ( ' ?m4 ' , line ) )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2017-01-08 11:23:45 +01:00
def output ( self , out_file , type ) :
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
namelen = 0
2009-03-08 22:50:57 +00:00
for item in self . _elements :
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
if item == None or item [ 0 ] . find ( ' ? ' ) == 0 :
continue
if len ( item [ 0 ] ) > namelen :
namelen = len ( item [ 0 ] )
2009-03-08 22:50:57 +00:00
for item in self . _elements :
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
if item == None :
if type == ' m4 ' :
2017-01-08 11:23:45 +01:00
out_file . write ( ' dnl \n ' )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
else :
2017-01-08 11:23:45 +01:00
out_file . write ( ' \n ' )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
continue
if item [ 0 ] . find ( ' ? ' ) == 0 :
if item [ 0 ] . find ( type , 1 ) == 1 :
2017-01-08 11:23:45 +01:00
out_file . write ( ' %s \n ' % ( item [ 1 ] ) )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
continue
if type == ' m4 ' :
2017-01-08 11:23:45 +01:00
self . _outputM4 ( out_file , namelen , item [ 0 ] , item [ 1 ] )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
else :
2017-01-08 11:23:45 +01:00
self . _outputMake ( out_file , namelen , item [ 0 ] , item [ 1 ] , item [ 2 ] )
2009-03-10 07:05:42 +00:00
def update ( self , name , value ) :
for item in self . _elements :
if item == None :
continue
if item [ 0 ] == name :
item [ 1 ] = value
return
raise ValueError ( ' element not found: %s ' % ( name ) )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
def write ( self , type ) :
if type == ' make ' :
fname = ' GNUmakefile '
elif type == ' m4 ' :
fname = os . path . join ( ' project ' , project . name_lower + ' .m4 ' )
else :
2019-02-25 07:03:28 -05:00
raise ValueError ( ' unknown file type: ' + type )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2015-10-29 17:25:58 -04:00
ftmp = cfg . mktmpname ( fname )
2009-03-08 22:50:57 +00:00
try :
try :
2017-01-08 11:23:45 +01:00
out_file = cfg . open ( ftmp , ' w ' )
self . output ( out_file , type )
2009-03-08 22:50:57 +00:00
finally :
try :
2017-01-08 11:23:45 +01:00
out_file . close ( )
2009-03-08 22:50:57 +00:00
except :
pass
2019-02-25 07:03:28 -05:00
except Exception as x :
2009-03-08 22:50:57 +00:00
try :
os . remove ( ftmp )
2019-02-25 07:03:28 -05:00
except Exception as x :
2009-03-08 22:50:57 +00:00
pass
2023-03-11 17:48:44 +00:00
raise AbortError ( ' failed writing to %s \n %s ' , ftmp , x )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
try :
os . rename ( ftmp , fname )
2019-02-25 07:03:28 -05:00
except Exception as x :
2023-03-11 17:48:44 +00:00
raise AbortError ( ' failed writing to %s \n %s ' , fname , x )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2015-10-27 17:52:39 -04:00
###############################################################################
2015-10-29 17:25:58 -04:00
def encodeDistfileConfig ( ) :
fname = ' distfile.cfg '
ftmp = cfg . mktmpname ( fname )
data = {
' disable-fetch ' : options . disable_df_fetch ,
' disable-verify ' : options . disable_df_verify ,
2016-05-24 16:47:48 -04:00
' jobs ' : options . df_jobs ,
2015-10-29 17:25:58 -04:00
' verbosity ' : options . df_verbosity ,
' accept-url ' : options . df_accept_url ,
' deny-url ' : options . df_deny_url ,
}
2015-10-27 17:52:39 -04:00
try :
try :
2017-01-08 11:23:45 +01:00
out_file = cfg . open ( ftmp , ' w ' )
json . dump ( data , out_file )
out_file . write ( ' \n ' )
2015-10-27 17:52:39 -04:00
finally :
try :
2017-01-08 11:23:45 +01:00
out_file . close ( )
2015-10-27 17:52:39 -04:00
except :
pass
2019-02-25 07:03:28 -05:00
except Exception as x :
2015-10-27 17:52:39 -04:00
try :
os . remove ( ftmp )
2019-02-25 07:03:28 -05:00
except Exception as x :
2015-10-27 17:52:39 -04:00
pass
2023-03-11 17:48:44 +00:00
raise AbortError ( ' failed writing to %s \n %s ' , ftmp , x )
2015-10-27 17:52:39 -04:00
try :
os . rename ( ftmp , fname )
2019-02-25 07:03:28 -05:00
except Exception as x :
2023-03-11 17:48:44 +00:00
raise AbortError ( ' failed writing to %s \n %s ' , fname , x )
2015-10-27 17:52:39 -04:00
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
###############################################################################
2009-03-08 22:50:57 +00:00
##
## create cli parser
##
2019-04-05 05:11:10 -04:00
def createCLI ( cross = None ) :
cli = argparse . ArgumentParser ( usage = ' %s [OPTIONS...] [TARGETS...] ' % os . path . basename ( __file__ ) , description = ' Configure %s build system ' % project . name )
2009-03-08 22:50:57 +00:00
## add hidden options
2019-04-05 05:11:10 -04:00
cli . add_argument ( ' --xcode-driver ' , default = ' bootstrap ' , action = ' store ' , help = argparse . SUPPRESS )
2015-10-27 17:52:39 -04:00
## add general options
2019-04-05 05:11:10 -04:00
grp = cli . add_argument_group ( ' General Options ' )
grp . add_argument ( ' --force ' , default = False , action = ' store_true ' , help = ' overwrite existing build config ' )
grp . add_argument ( ' --verbose ' , default = False , action = ' store_true ' , help = ' increase verbosity ' )
2009-03-08 22:50:57 +00:00
2015-10-29 17:25:58 -04:00
## add distfile options
2019-04-05 05:11:10 -04:00
grp = cli . add_argument_group ( ' Distfile Options ' )
grp . add_argument ( ' --disable-df-fetch ' , default = False , action = ' store_true ' , help = ' disable distfile downloads ' )
grp . add_argument ( ' --disable-df-verify ' , default = False , action = ' store_true ' , help = ' disable distfile data verification ' )
grp . add_argument ( ' --df-jobs ' , action = ' store ' , metavar = ' N ' , type = int , help = ' allow N distfile downloads at once ' )
grp . add_argument ( ' --df-verbose ' , action = ' count ' , dest = ' df_verbosity ' , help = ' increase distfile tools verbosity ' )
grp . add_argument ( ' --df-accept-url ' , default = [ ] , action = ' append ' , metavar = ' SPEC ' , help = ' accept URLs matching regex pattern ' )
grp . add_argument ( ' --df-deny-url ' , default = [ ] , action = ' append ' , metavar = ' SPEC ' , help = ' deny URLs matching regex pattern ' )
cli . add_argument_group ( grp )
2015-10-27 17:52:39 -04:00
2019-08-21 22:55:27 -04:00
## add tool locations
grp = cli . add_argument_group ( ' Tool Basenames and Locations ' )
for tool in ToolProbe . tools :
tool . cli_add_argument ( grp )
cli . add_argument_group ( grp )
## add directory options
2019-04-05 05:11:10 -04:00
grp = cli . add_argument_group ( ' Directory Locations ' )
2019-08-21 22:55:27 -04:00
h = ' specify Xcode SDK sysroot (macOS only) ' if ( build_tuple . match ( ' *-*-darwin* ' ) and cross is None ) else argparse . SUPPRESS
2019-04-05 05:11:10 -04:00
grp . add_argument ( ' --sysroot ' , default = None , action = ' store ' , metavar = ' DIR ' ,
2009-09-04 21:22:41 +00:00
help = h )
2019-04-05 05:11:10 -04:00
grp . add_argument ( ' --src ' , default = cfg . src_dir , action = ' store ' , metavar = ' DIR ' ,
2009-03-08 22:50:57 +00:00
help = ' specify top-level source dir [ %s ] ' % ( cfg . src_dir ) )
2019-04-05 05:11:10 -04:00
grp . add_argument ( ' --build ' , default = cfg . build_dir , action = ' store ' , metavar = ' DIR ' ,
2009-03-08 22:50:57 +00:00
help = ' specify build scratch/output dir [ %s ] ' % ( cfg . build_dir ) )
2019-04-05 05:11:10 -04:00
grp . add_argument ( ' --prefix ' , default = cfg . prefix_dir , action = ' store ' , metavar = ' DIR ' ,
2009-03-08 22:50:57 +00:00
help = ' specify install dir for products [ %s ] ' % ( cfg . prefix_dir ) )
2019-04-05 05:11:10 -04:00
cli . add_argument_group ( grp )
2009-03-08 22:50:57 +00:00
2019-08-21 22:55:27 -04:00
## add build options
grp = cli . add_argument_group ( ' Build Options ' )
grp . add_argument ( ' --snapshot ' , default = False , action = ' store_true ' , help = ' Force a snapshot build ' )
2023-03-19 02:08:44 +00:00
h = IfHost ( ' Build extra contribs for flatpak packaging ' , ' *-*-linux* ' , none = argparse . SUPPRESS ) . value
2019-08-21 22:55:27 -04:00
grp . add_argument ( ' --flatpak ' , default = False , action = ' store_true ' , help = h )
cli . add_argument_group ( grp )
## add compiler options
grp = cli . add_argument_group ( ' Compiler Options ' )
debugMode . cli_add_argument ( grp , ' --debug ' )
optimizeMode . cli_add_argument ( grp , ' --optimize ' )
arch . mode . cli_add_argument ( grp , ' --arch ' )
2022-06-12 19:41:33 -04:00
cpuMode . cli_add_argument ( grp , ' --cpu ' )
2022-06-12 21:13:43 -04:00
ltoMode . cli_add_argument ( grp , ' --lto ' )
2019-08-21 22:55:27 -04:00
grp . add_argument ( ' --cross ' , default = None , action = ' store ' , metavar = ' SPEC ' ,
help = ' specify GCC cross-compilation spec ' )
cli . add_argument_group ( grp )
## add security options
grp = cli . add_argument_group ( ' Security Options ' )
2020-11-08 15:58:49 -05:00
h = IfHost ( ' hardening to protect against buffer overflows ' , ' *-*-* ' , none = argparse . SUPPRESS ) . value
grp . add_argument ( ' --harden ' , dest = " enable_harden " , default = True , action = ' store_true ' , help = ( ( ' enable %s ' % h ) if h != argparse . SUPPRESS else h ) )
grp . add_argument ( ' --no-harden ' , dest = " enable_harden " , action = ' store_false ' , help = ( ( ' disable %s ' % h ) if h != argparse . SUPPRESS else h ) )
h = IfHost ( ' sandboxing to limit host system access (macOS only) ' , ' *-*-darwin* ' , none = argparse . SUPPRESS ) . value
grp . add_argument ( ' --sandbox ' , dest = " enable_sandbox " , default = True , action = ' store_true ' , help = ( ( ' enable %s ' % h ) if h != argparse . SUPPRESS else h ) )
grp . add_argument ( ' --no-sandbox ' , dest = " enable_sandbox " , action = ' store_false ' , help = ( ( ' disable %s ' % h ) if h != argparse . SUPPRESS else h ) )
2019-08-21 22:55:27 -04:00
cli . add_argument_group ( grp )
## add Xcode options
if ( build_tuple . match ( ' *-*-darwin* ' ) and cross is None ) :
grp = cli . add_argument_group ( ' Xcode Options (macOS only) ' )
grp . add_argument ( ' --disable-xcode ' , default = False , action = ' store_true ' ,
help = ' disable Xcode ' )
grp . add_argument ( ' --xcode-prefix ' , default = cfg . xcode_prefix_dir , action = ' store ' , metavar = ' DIR ' ,
help = ' specify install dir for Xcode products [ %s ] ' % ( cfg . xcode_prefix_dir ) )
grp . add_argument ( ' --xcode-symroot ' , default = ' xroot ' , action = ' store ' , metavar = ' DIR ' ,
help = ' specify root of the directory hierarchy that contains product files and intermediate build files ' )
xcconfigMode . cli_add_argument ( grp , ' --xcode-config ' )
grp . add_argument ( ' --minver ' , default = None , action = ' store ' , metavar = ' VER ' ,
help = ' specify deployment target for Xcode builds ' )
cli . add_argument_group ( grp )
2009-03-08 22:50:57 +00:00
## add feature options
2019-04-05 05:11:10 -04:00
grp = cli . add_argument_group ( ' Feature Options ' )
2009-03-10 07:05:42 +00:00
2019-04-05 05:11:10 -04:00
h = IfHost ( ' enable assembly code in non-contrib modules ' , ' NOMATCH*-*-darwin* ' , ' NOMATCH*-*-linux* ' , none = argparse . SUPPRESS ) . value
grp . add_argument ( ' --enable-asm ' , default = False , action = ' store_true ' , help = h )
2009-03-10 07:05:42 +00:00
2023-07-03 15:25:58 +01:00
# GTK GUI is enabled by default on Linux and BSD
2023-07-13 23:08:57 +01:00
gtk_default = host_tuple . match ( ' *-*-linux* ' , ' *-*-*bsd* ' )
h = ' enable GTK GUI ' if gtk_supported else argparse . SUPPRESS
grp . add_argument ( ' --enable-gtk ' , dest = " enable_gtk " , default = gtk_default , action = ' store_true ' , help = h )
h = ' disable GTK GUI ' if gtk_supported else argparse . SUPPRESS
2023-03-19 03:14:46 +00:00
grp . add_argument ( ' --disable-gtk ' , dest = " enable_gtk " , action = ' store_false ' , help = h )
2017-06-21 02:01:09 -04:00
2024-01-23 17:53:47 +00:00
# Options deprecated
2023-03-10 23:51:04 +00:00
grp . add_argument ( ' --disable-gtk-update-checks ' , default = False , action = ' store_true ' , help = argparse . SUPPRESS )
2024-01-23 17:53:47 +00:00
grp . add_argument ( ' --disable-gst ' , default = False , action = ' store_true ' , help = argparse . SUPPRESS )
2009-03-10 07:05:42 +00:00
2019-04-05 05:11:10 -04:00
h = IfHost ( ' x265 video encoder ' , ' *-*-* ' , none = argparse . SUPPRESS ) . value
grp . add_argument ( ' --enable-x265 ' , dest = " enable_x265 " , default = True , action = ' store_true ' , help = ( ( ' enable %s ' % h ) if h != argparse . SUPPRESS else h ) )
grp . add_argument ( ' --disable-x265 ' , dest = " enable_x265 " , action = ' store_false ' , help = ( ( ' disable %s ' % h ) if h != argparse . SUPPRESS else h ) )
2015-08-25 09:48:14 -07:00
2019-04-15 17:01:45 -06:00
h = IfHost ( ' x265 NUMA support ' , ' *-*-linux* ' , none = argparse . SUPPRESS ) . value
2019-04-15 16:04:25 -06:00
grp . add_argument ( ' --enable-numa ' , dest = " enable_numa " , default = IfHost ( True , ' *-*-linux* ' , none = False ) . value , action = ' store_true ' , help = ( ( ' enable %s ' % h ) if h != argparse . SUPPRESS else h ) )
2019-04-15 10:48:56 -06:00
grp . add_argument ( ' --disable-numa ' , dest = " enable_numa " , action = ' store_false ' , help = ( ( ' disable %s ' % h ) if h != argparse . SUPPRESS else h ) )
2019-04-05 05:11:10 -04:00
h = IfHost ( ' FDK AAC audio encoder ' , ' *-*-* ' , none = argparse . SUPPRESS ) . value
grp . add_argument ( ' --enable-fdk-aac ' , dest = " enable_fdk_aac " , default = False , action = ' store_true ' , help = ( ( ' enable %s ' % h ) if h != argparse . SUPPRESS else h ) )
grp . add_argument ( ' --disable-fdk-aac ' , dest = " enable_fdk_aac " , action = ' store_false ' , help = ( ( ' disable %s ' % h ) if h != argparse . SUPPRESS else h ) )
2018-06-03 16:21:09 -04:00
2019-04-15 13:55:49 -06:00
h = ' FFmpeg AAC audio encoder ' if ( host_tuple . match ( ' *-*-darwin* ' ) ) else argparse . SUPPRESS
grp . add_argument ( ' --enable-ffmpeg-aac ' , dest = " enable_ffmpeg_aac " , default = not host_tuple . match ( ' *-*-darwin* ' ) , action = ' store_true ' , help = ( ( ' enable %s ' % h ) if h != argparse . SUPPRESS else h ) )
2019-04-05 05:11:10 -04:00
grp . add_argument ( ' --disable-ffmpeg-aac ' , dest = " enable_ffmpeg_aac " , action = ' store_false ' , help = ( ( ' disable %s ' % h ) if h != argparse . SUPPRESS else h ) )
2014-02-10 17:41:56 +00:00
2023-07-13 23:08:57 +01:00
h = ' MediaFoundation video encoder ' if mf_supported else argparse . SUPPRESS
2021-02-19 09:57:52 -05:00
grp . add_argument ( ' --enable-mf ' , dest = " enable_mf " , default = False , action = ' store_true ' , help = ( ( ' enable %s ' % h ) if h != argparse . SUPPRESS else h ) )
2021-02-15 07:56:39 -05:00
grp . add_argument ( ' --disable-mf ' , dest = " enable_mf " , action = ' store_false ' , help = ( ( ' disable %s ' % h ) if h != argparse . SUPPRESS else h ) )
2023-07-13 23:08:57 +01:00
h = ' Nvidia NVENC video encoder ' if nvenc_supported else argparse . SUPPRESS
grp . add_argument ( ' --enable-nvenc ' , dest = " enable_nvenc " , default = True , action = ' store_true ' , help = ( ( ' enable %s ' % h ) if h != argparse . SUPPRESS else h ) )
2019-04-05 05:11:10 -04:00
grp . add_argument ( ' --disable-nvenc ' , dest = " enable_nvenc " , action = ' store_false ' , help = ( ( ' disable %s ' % h ) if h != argparse . SUPPRESS else h ) )
2024-10-19 09:22:39 +02:00
2023-07-13 23:08:57 +01:00
h = ' Nvidia NVDEC video decoder ' if nvenc_supported else argparse . SUPPRESS
2022-09-26 18:35:02 +01:00
grp . add_argument ( ' --enable-nvdec ' , dest = " enable_nvdec " , default = False , action = ' store_true ' , help = ( ( ' enable %s ' % h ) if h != argparse . SUPPRESS else h ) )
grp . add_argument ( ' --disable-nvdec ' , dest = " enable_nvdec " , action = ' store_false ' , help = ( ( ' disable %s ' % h ) if h != argparse . SUPPRESS else h ) )
2024-10-19 09:22:39 +02:00
2023-07-13 23:08:57 +01:00
h = ' Intel QSV video encoder/decoder ' if qsv_supported else argparse . SUPPRESS
2023-03-26 22:21:00 +01:00
grp . add_argument ( ' --enable-qsv ' , dest = " enable_qsv " , default = IfHost ( True , " x86_64-w64-mingw32* " , none = False ) . value , action = ' store_true ' , help = ( ( ' enable %s ' % h ) if h != argparse . SUPPRESS else h ) )
2019-04-05 05:11:10 -04:00
grp . add_argument ( ' --disable-qsv ' , dest = " enable_qsv " , action = ' store_false ' , help = ( ( ' disable %s ' % h ) if h != argparse . SUPPRESS else h ) )
2013-06-15 17:24:35 +00:00
2023-07-13 23:08:57 +01:00
h = ' AMD VCE video encoder ' if vce_supported else argparse . SUPPRESS
2023-03-26 22:21:00 +01:00
grp . add_argument ( ' --enable-vce ' , dest = " enable_vce " , default = IfHost ( True , ' x86_64-w64-mingw32* ' , none = False ) . value , action = ' store_true ' , help = ( ( ' enable %s ' % h ) if h != argparse . SUPPRESS else h ) )
2019-04-05 05:11:10 -04:00
grp . add_argument ( ' --disable-vce ' , dest = " enable_vce " , action = ' store_false ' , help = ( ( ' disable %s ' % h ) if h != argparse . SUPPRESS else h ) )
2018-06-29 19:48:26 +01:00
2023-02-06 15:44:58 +01:00
h = IfHost ( ' libdovi ' , ' *-*-* ' , none = argparse . SUPPRESS ) . value
grp . add_argument ( ' --enable-libdovi ' , dest = " enable_libdovi " , default = not Tools . cargo . fail and not Tools . cargoc . fail , action = ' store_true ' , help = ( ( ' enable %s ' % h ) if h != argparse . SUPPRESS else h ) )
grp . add_argument ( ' --disable-libdovi ' , dest = " enable_libdovi " , action = ' store_false ' , help = ( ( ' disable %s ' % h ) if h != argparse . SUPPRESS else h ) )
2019-08-20 21:42:34 +02:00
cli . add_argument_group ( grp )
2018-06-29 19:48:26 +01:00
2009-03-08 22:50:57 +00:00
## add launch options
2019-04-05 05:11:10 -04:00
grp = cli . add_argument_group ( ' Launch Options ' )
grp . add_argument ( ' --launch ' , default = False , action = ' store_true ' ,
2009-03-08 22:50:57 +00:00
help = ' launch build, capture log and wait for completion ' )
2019-04-05 05:11:10 -04:00
grp . add_argument ( ' --launch-jobs ' , default = 1 , action = ' store ' , metavar = ' N ' , type = int ,
2009-03-08 22:50:57 +00:00
help = ' allow N jobs at once; 0 to match CPU count [1] ' )
2019-04-05 05:11:10 -04:00
grp . add_argument ( ' --launch-args ' , default = None , action = ' store ' , metavar = ' ARGS ' ,
2009-03-08 22:50:57 +00:00
help = ' specify additional ARGS for launch command ' )
2019-04-05 05:11:10 -04:00
grp . add_argument ( ' --launch-quiet ' , default = False , action = ' store_true ' ,
2009-03-10 07:05:42 +00:00
help = ' do not echo build output while waiting ' )
2019-04-05 05:11:10 -04:00
cli . add_argument_group ( grp )
2009-03-08 22:50:57 +00:00
return cli
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
###############################################################################
##
## launcher - used for QuickStart method; launch; build and capture log.
##
class Launcher :
def __init__ ( self , targets ) :
# open build logfile
self . _file = cfg . open ( ' log/build.txt ' , ' w ' )
cmd = ' %s -j %d ' % ( Tools . gmake . pathname , core . jobs )
if options . launch_args :
cmd + = ' ' + options . launch_args
if len ( targets ) :
cmd + = ' ' + ' ' . join ( targets )
## record begin
timeBegin = time . time ( )
self . infof ( ' time begin: %s \n ' , time . asctime ( ) )
self . infof ( ' launch: %s \n ' , cmd )
if options . launch_quiet :
2024-01-10 19:20:01 +00:00
print ( f ' building to { os . path . abspath ( cfg . build_final ) } ... ' )
2009-03-08 22:50:57 +00:00
else :
2024-01-10 19:20:01 +00:00
print ( ' - ' * 79 )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
## launch/pipe
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
try :
2023-10-14 14:31:41 +01:00
pipe = subprocess . Popen ( cmd , shell = True , stdout = subprocess . PIPE , stderr = subprocess . STDOUT )
2019-02-25 07:03:28 -05:00
except Exception as x :
2023-03-11 17:48:44 +00:00
raise AbortError ( ' launch failure: %s ' , x )
2023-04-21 13:55:59 +01:00
2009-03-08 22:50:57 +00:00
for line in pipe . stdout :
2019-03-28 21:28:02 -04:00
if not isinstance ( line , str ) :
line = line . decode ( )
2009-03-08 22:50:57 +00:00
self . echof ( ' %s ' , line )
pipe . wait ( )
2023-10-12 13:08:46 +01:00
self . returncode = pipe . returncode
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
## record end
timeEnd = time . time ( )
elapsed = timeEnd - timeBegin
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2023-04-21 13:55:59 +01:00
if self . returncode :
result = ' %s (code %d ) ' % ( print_red ( ' FAILURE ' ) , self . returncode )
2009-03-08 22:50:57 +00:00
else :
2023-03-11 17:48:44 +00:00
result = print_green ( ' SUCCESS ' )
2009-03-08 22:50:57 +00:00
## present duration in decent format
seconds = elapsed
hours = int ( seconds / 3600 )
seconds - = hours * 3600
minutes = int ( seconds / 60 )
seconds - = minutes * 60
segs = [ ]
duration = ' '
if hours == 1 :
segs . append ( ' %d hour ' % hours )
elif hours > 1 :
segs . append ( ' %d hours ' % hours )
if len ( segs ) or minutes == 1 :
segs . append ( ' %d minute ' % minutes )
elif len ( segs ) or minutes > 1 :
segs . append ( ' %d minutes ' % minutes )
if seconds == 1 :
segs . append ( ' %d second ' % seconds )
else :
segs . append ( ' %d seconds ' % seconds )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
if not options . launch_quiet :
2024-01-10 19:20:01 +00:00
print ( ' - ' * 79 )
2009-03-08 22:50:57 +00:00
self . infof ( ' time end: %s \n ' , time . asctime ( ) )
self . infof ( ' duration: %s ( %.2f s) \n ' , ' , ' . join ( segs ) , elapsed )
self . infof ( ' result: %s \n ' , result )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
## cleanup
self . _file . close ( )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
def echof ( self , format , * args ) :
line = format % args
self . _file . write ( line )
if not options . launch_quiet :
stdout . write ( ' : %s ' % line )
stdout . flush ( )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2009-03-08 22:50:57 +00:00
def infof ( self , format , * args ) :
line = format % args
self . _file . write ( line )
cfg . infof ( ' %s ' , line )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2023-03-11 17:48:44 +00:00
###############################################################################
##
## Functions for color terminal output
##
def print_color ( text : string , color : int ) - > string :
if os . environ . get ( ' CLICOLOR_FORCE ' ) or \
( os . isatty ( sys . stdout . fileno ( ) ) and os . isatty ( sys . stderr . fileno ( ) ) and os . environ . get ( ' TERM ' ) != ' dumb ' ) :
output = ( ' \x1b [ %x m \x1b [1m %s \x1b [0m ' % ( color , text ) )
else :
output = text
return output
def print_bold ( text : string ) - > string :
return print_color ( text , 0 )
def print_red ( text : string ) - > string :
return print_color ( text , 0x31 )
def print_green ( text : string ) - > string :
return print_color ( text , 0x32 )
def print_blue ( text : string ) - > string :
return print_color ( text , 0x34 )
2009-03-08 22:50:57 +00:00
###############################################################################
##
## main program
##
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
try :
2009-03-08 22:50:57 +00:00
## we need to pre-check argv for -h or --help or --verbose to deal with
## initializing Configure correctly.
verbose = Configure . OUT_INFO
for arg in sys . argv :
if arg == ' -h ' or arg == ' --help ' :
verbose = Configure . OUT_QUIET
break
if arg == ' --verbose ' :
verbose = Configure . OUT_VERBOSE
2016-09-08 20:43:40 +01:00
now = time . gmtime ( int ( os . environ . get ( ' SOURCE_DATE_EPOCH ' , time . time ( ) ) ) )
2009-03-08 22:50:57 +00:00
## create main objects; actions/probes run() is delayed.
## if any actions must be run earlier (eg: for configure --help purposes)
2019-07-31 07:27:27 +02:00
## then run() must be invoked earlier. subsequent run() invocations
2009-03-08 22:50:57 +00:00
## are ignored.
2019-04-15 13:55:49 -06:00
cfg = Configure ( verbose )
build_tuple = BuildTupleProbe ( ) ; build_tuple . run ( )
2009-03-08 22:50:57 +00:00
2016-12-22 00:42:42 -05:00
cfg . prefix_dir = ' /usr/local '
2019-04-15 13:55:49 -06:00
if build_tuple . match ( ' *-*-darwin* ' ) :
2016-12-22 00:42:42 -05:00
cfg . xcode_prefix_dir = ' /Applications '
2009-03-08 22:50:57 +00:00
## create remaining main objects
core = CoreProbe ( )
repo = RepoProbe ( )
project = Project ( )
2019-09-27 13:16:55 -04:00
# options is created by parse_known_args(), which is called directly after
2020-08-01 21:53:36 -04:00
# createCLI(). we need some options info earlier and cannot parse args
2020-10-30 13:48:43 +01:00
# twice, so extract the info we need here from sys.argv
arch_gcc = None
cross = None
xcode_opts = { ' disabled ' : False , ' config ' : None }
2019-09-27 13:16:55 -04:00
for i in range ( len ( sys . argv ) ) :
2023-10-15 21:58:06 +01:00
if re . match ( r ' ^--arch=(.+)$ ' , sys . argv [ i ] ) :
2020-10-30 13:48:43 +01:00
arch_gcc = sys . argv [ i ] [ 7 : ]
continue
2023-10-15 21:58:06 +01:00
elif re . match ( r ' ^--arch$ ' , sys . argv [ i ] ) and ( ( i + 1 ) < len ( sys . argv ) ) :
2020-10-30 13:48:43 +01:00
arch_gcc = sys . argv [ i + 1 ]
arch_gcc = None if arch_gcc == ' ' else arch_gcc
i = i + 1
continue
2023-10-15 21:58:06 +01:00
elif re . match ( r ' ^--cross=(.+)$ ' , sys . argv [ i ] ) :
2019-09-27 13:16:55 -04:00
cross = sys . argv [ i ] [ 8 : ]
continue
2023-10-15 21:58:06 +01:00
elif re . match ( r ' ^--cross$ ' , sys . argv [ i ] ) and ( ( i + 1 ) < len ( sys . argv ) ) :
2019-09-27 13:16:55 -04:00
cross = sys . argv [ i + 1 ]
cross = None if cross == ' ' else cross
2020-08-01 21:53:36 -04:00
i = i + 1
continue
2023-10-15 21:58:06 +01:00
elif re . match ( r ' ^--xcode-config=(.+)$ ' , sys . argv [ i ] ) :
2020-10-30 13:48:43 +01:00
xcode_opts [ ' config ' ] = sys . argv [ i ] [ 15 : ]
continue
2023-10-15 21:58:06 +01:00
elif re . match ( r ' ^--xcode-config$ ' , sys . argv [ i ] ) and ( ( i + 1 ) < len ( sys . argv ) ) :
2020-10-30 13:48:43 +01:00
xcode_opts [ ' config ' ] = sys . argv [ i + 1 ]
xcode_opts [ ' config ' ] = None if xcode_opts [ ' config ' ] == ' ' else xcode_opts [ ' config ' ]
i = i + 1
continue
2023-10-15 21:58:06 +01:00
elif re . match ( r ' ^--disable-xcode$ ' , sys . argv [ i ] ) :
2020-10-30 13:48:43 +01:00
xcode_opts [ ' disabled ' ] = True
2019-09-27 13:16:55 -04:00
continue
2009-03-08 22:50:57 +00:00
## create tools in a scope
class Tools :
2019-04-17 16:23:20 -06:00
ar = ToolProbe ( ' AR.exe ' , ' ar ' , ' ar ' , abort = True )
cp = ToolProbe ( ' CP.exe ' , ' cp ' , ' cp ' , abort = True )
2019-09-27 13:16:55 -04:00
m4 = ToolProbe ( ' M4.exe ' , ' m4 ' , ' gm4 ' , ' m4 ' , abort = True )
mkdir = ToolProbe ( ' MKDIR.exe ' , ' mkdir ' , ' mkdir ' , abort = True )
patch = ToolProbe ( ' PATCH.exe ' , ' patch ' , ' gpatch ' , ' patch ' , abort = True )
rm = ToolProbe ( ' RM.exe ' , ' rm ' , ' rm ' , abort = True )
ranlib = ToolProbe ( ' RANLIB.exe ' , ' ranlib ' , ' ranlib ' , abort = True )
strip = ToolProbe ( ' STRIP.exe ' , ' strip ' , ' strip ' , abort = True )
tar = ToolProbe ( ' TAR.exe ' , ' tar ' , ' gtar ' , ' tar ' , abort = True )
python = ToolProbe ( ' PYTHON.exe ' , ' python ' , os . path . basename ( sys . executable ) , abort = True )
2019-04-17 16:23:20 -06:00
gcc_tools = [ ' GCC.gcc ' ,
' cc ' ,
os . environ . get ( ' CC ' , None ) ,
' gcc ' ,
2023-03-19 02:08:44 +00:00
IfBuild ( ' clang ' , ' *-*-*bsd* ' ) ,
2019-04-17 16:23:20 -06:00
IfBuild ( ' gcc-4 ' , ' *-*-cygwin* ' ) ]
gcc = ToolProbe ( * filter ( None , gcc_tools ) )
2019-04-15 13:55:49 -06:00
if build_tuple . match ( ' *-*-darwin* ' ) :
2019-04-17 16:23:20 -06:00
gmake = ToolProbe ( ' GMAKE.exe ' , ' make ' , ' make ' , ' gmake ' , abort = True )
2009-03-08 22:50:57 +00:00
else :
2019-04-17 16:23:20 -06:00
gmake = ToolProbe ( ' GMAKE.exe ' , ' make ' , ' gmake ' , ' make ' , abort = True )
2022-01-05 23:31:59 -05:00
autoconf = ToolProbe ( ' AUTOCONF.exe ' , ' autoconf ' , ' autoconf ' , abort = True , minversion = ( [ 2 , 71 , 0 ] if build_tuple . match ( ' *-*-darwin* ' ) else [ 2 , 69 , 0 ] ) )
2020-03-26 13:15:47 -04:00
automake = ToolProbe ( ' AUTOMAKE.exe ' , ' automake ' , ' automake ' , abort = True , minversion = [ 1 , 13 , 0 ] )
2019-10-04 15:19:21 -04:00
libtool = ToolProbe ( ' LIBTOOL.exe ' , ' libtool ' , ' libtool ' , abort = True )
2019-04-17 16:23:20 -06:00
lipo = ToolProbe ( ' LIPO.exe ' , ' lipo ' , ' lipo ' , abort = False )
2020-03-26 13:15:47 -04:00
pkgconfig = ToolProbe ( ' PKGCONFIG.exe ' , ' pkgconfig ' , ' pkg-config ' , abort = True , minversion = [ 0 , 27 , 0 ] )
2023-09-17 13:46:50 +01:00
meson = ToolProbe ( ' MESON.exe ' , ' meson ' , ' meson ' , abort = True , minversion = [ 0 , 51 , 0 ] )
2019-09-27 13:16:55 -04:00
nasm = ToolProbe ( ' NASM.exe ' , ' asm ' , ' nasm ' , abort = True , minversion = [ 2 , 13 , 0 ] )
ninja = ToolProbe ( ' NINJA.exe ' , ' ninja ' , ' ninja-build ' , ' ninja ' , abort = True )
2023-02-06 15:44:58 +01:00
cargo = ToolProbe ( ' CARGO.exe ' , ' cargo ' , ' cargo ' , abort = False )
cargoc = ToolProbe ( ' CARGO-C.exe ' , ' cargo-cbuild ' , ' cargo-cbuild ' , abort = False )
2019-09-27 13:16:55 -04:00
2020-10-30 13:48:43 +01:00
xcodebuild = ToolProbe ( ' XCODEBUILD.exe ' , ' xcodebuild ' , ' xcodebuild ' , abort = ( True if ( not xcode_opts [ ' disabled ' ] and ( build_tuple . match ( ' *-*-darwin* ' ) and cross is None ) ) else False ) , versionopt = ' -version ' , minversion = [ 10 , 3 , 0 ] )
2009-03-08 22:50:57 +00:00
## run tool probes
for tool in ToolProbe . tools :
tool . run ( )
2012-01-04 09:41:11 +00:00
## find xcconfig values
xcconfigMode = SelectMode ( ' xcconfig ' , ( ' none ' , None ) , what = ' ' )
2019-04-15 13:55:49 -06:00
if build_tuple . match ( ' *-*-darwin* ' ) :
2012-01-04 09:41:11 +00:00
for xc in glob . glob ( os . path . join ( cfg . dir , ' ../macosx/xcconfig/*.xcconfig ' ) ) :
bname = os . path . basename ( xc )
xname = os . path . splitext ( bname )
if xname and xname [ 0 ] :
xcconfigMode [ xname [ 0 ] ] = bname
if not ' native ' in xcconfigMode :
raise Exception ( ' native xcconfig not found ' )
xcconfigMode . default = ' native '
xcconfigMode . mode = xcconfigMode . default
2019-04-13 11:33:20 -04:00
## re-run tools with cross-compilation needs
if cross :
for tool in ( Tools . ar , Tools . gcc , Tools . ranlib , Tools . strip ) :
2019-04-17 16:23:20 -06:00
tool . __init__ ( tool . var , tool . option , ' %s - %s ' % ( cross , tool . name ) , * * tool . kwargs )
2019-04-13 11:33:20 -04:00
tool . run ( )
2020-01-16 21:20:04 -05:00
debugMode = SelectMode ( ' debug ' , ( ' none ' , ' none ' ) , ( ' min ' , ' min ' ) , ( ' std ' , ' std ' ) , ( ' max ' , ' max ' ) )
Oz_check_command = ' %s -Oz -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ' % Tools . gcc . pathname
Oz_check = ShellProbe ( ' checking for -Oz ' , ' %s ' % Oz_check_command )
Oz_check . run ( )
if Oz_check . fail is False :
optimizeMode = SelectMode ( ' optimize ' , ( ' none ' , ' none ' ) , ( ' speed ' , ' speed ' ) , ( ' size ' , ' size ' ) , ( ' size-aggressive ' , ' size-aggressive ' ) , default = ' speed ' )
else :
optimizeMode = SelectMode ( ' optimize ' , ( ' none ' , ' none ' ) , ( ' speed ' , ' speed ' ) , ( ' size ' , ' size ' ) , default = ' speed ' )
2022-06-12 19:41:33 -04:00
cpuMode = SelectMode ( ' cpu ' , ( ' none ' , ' none ' ) , ( ' native ' , ' native ' ) )
2022-06-12 21:13:43 -04:00
ltoMode = SelectMode ( ' lto ' , ( ' none ' , ' none ' ) , ( ' off ' , ' off ' ) , ( ' on ' , ' on ' ) , ( ' thin ' , ' thin ' ) )
2022-06-12 19:41:33 -04:00
2019-09-27 13:16:55 -04:00
# run host tuple and arch actions
2020-10-30 13:48:43 +01:00
host_tuple = HostTupleAction ( cross , arch_gcc , xcode_opts )
2019-04-15 15:50:16 -06:00
arch = ArchAction ( ) ; arch . run ( )
2023-07-13 23:08:57 +01:00
# set whether features can be enabled
gtk_supported = host_tuple . match ( ' *-*-linux* ' , ' *-*-mingw* ' , ' *-*-*bsd* ' )
qsv_supported = host_tuple . match ( ' *-*-linux* ' , ' x86_64-w64-mingw32* ' , ' *-*-freebsd* ' )
nvenc_supported = host_tuple . match ( ' *-*-linux* ' , ' x86_64-w64-mingw32* ' )
vce_supported = host_tuple . match ( ' *-*-linux* ' , ' x86_64-w64-mingw32* ' )
mf_supported = host_tuple . match ( ' aarch64-w64-mingw32* ' )
2019-09-27 13:16:55 -04:00
# create CLI and parse
2019-04-05 05:11:10 -04:00
cli = createCLI ( cross )
options , args = cli . parse_known_args ( )
2009-03-08 22:50:57 +00:00
2023-03-10 23:51:04 +00:00
if options . disable_gtk_update_checks :
raise AbortError ( ' The --disable-gtk-update-checks flag is no longer required or supported ' )
2009-03-08 22:50:57 +00:00
## update cfg with cli directory locations
cfg . update_cli ( options )
## prepare list of targets and NAME=VALUE args to pass to make
targets = [ ]
exports = [ ]
2023-10-15 21:58:06 +01:00
rx_exports = re . compile ( r ' ([^=-]+)=(.*) ' )
2009-03-08 22:50:57 +00:00
for arg in args :
m = rx_exports . match ( arg )
if m :
exports . append ( m . groups ( ) )
else :
targets . append ( arg )
## run delayed actions
for action in Action . actions :
action . run ( )
2019-04-15 17:01:45 -06:00
## Sanitize options
2019-08-21 22:55:27 -04:00
# Sandboxing is currently only implemented on macOS
options . enable_sandbox = IfHost ( options . enable_sandbox , ' *-*-darwin* ' ,
none = False ) . value
2019-04-15 17:40:06 -06:00
# Require FFmpeg AAC on Linux and Windows
2019-04-15 17:01:45 -06:00
options . enable_ffmpeg_aac = IfHost ( options . enable_ffmpeg_aac , ' *-*-darwin* ' ,
none = True ) . value
2019-04-15 17:40:06 -06:00
# NUMA is linux only and only needed with x265
2019-04-15 17:01:45 -06:00
options . enable_numa = ( IfHost ( options . enable_numa , ' *-*-linux* ' ,
none = False ) . value
and options . enable_x265 )
2021-02-20 15:26:18 -05:00
# Only allow these features on supported platforms
2023-07-13 23:08:57 +01:00
options . enable_mf = options . enable_mf if mf_supported else False
options . enable_nvenc = options . enable_nvenc if nvenc_supported else False
options . enable_nvdec = options . enable_nvdec if nvenc_supported else False
options . enable_qsv = options . enable_qsv if qsv_supported else False
options . enable_vce = options . enable_vce if vce_supported else False
options . enable_gtk = options . enable_gtk if gtk_supported else False
2019-08-19 21:38:24 +02:00
2019-09-27 13:16:55 -04:00
#####################################
## Additional library and tool checks
#####################################
2021-09-20 14:28:41 +01:00
# Requires oneVPL which requires CMake 3.16.3 or later
Tools . cmake = ToolProbe ( ' CMAKE.exe ' , ' cmake ' , ' cmake ' , abort = True , minversion = [ 3 , 16 , 3 ] )
2019-09-27 13:16:55 -04:00
Tools . cmake . __init__ ( Tools . cmake . var , Tools . cmake . option , Tools . cmake . name , * * Tools . cmake . kwargs )
Tools . cmake . run ( )
for action in Action . actions :
action . run ( )
2018-01-10 02:43:36 -05:00
2019-04-16 08:02:20 -06:00
#########################################
## MinGW specific library and tool checks
#########################################
2019-04-15 13:55:49 -06:00
if host_tuple . system == ' mingw ' :
2010-05-23 15:38:21 +00:00
dlfcn_test = """
#include <dlfcn.h>
#include <stdio.h>
void fnord ( ) { int i = 42 ; }
int main ( )
{
void * self = dlopen ( 0 , RTLD_GLOBAL | RTLD_NOW ) ;
int status = 1 ;
if ( self )
{
if ( dlsym ( self , " fnord " ) ) status = 0 ;
else if ( dlsym ( self , " _fnord " ) ) status = 0 ;
/ * dlclose ( self ) ; * /
}
else
puts ( dlerror ( ) ) ;
return status ;
}
"""
dlfcn = LDProbe ( ' static dlfcn ' , ' %s -static ' % Tools . gcc . pathname , ' -ldl ' , dlfcn_test )
dlfcn . run ( )
pthread_test = """
#include <stdio.h>
#include <pthread.h>
int main ( )
{
pthread_t thread ;
pthread_create ( & thread , NULL , NULL , NULL ) ;
return 0 ;
}
"""
2015-01-18 17:25:51 +00:00
pthread = LDProbe ( ' static pthread ' , ' %s -static ' % Tools . gcc . pathname , ' -lpthread ' , pthread_test )
2010-05-23 15:38:21 +00:00
pthread . run ( )
bz2_test = """
#include <stdio.h>
#include <bzlib.h>
int main ( )
{
BZ2_bzReadOpen ( NULL , NULL , 0 , 0 , NULL , 0 ) ;
return 0 ;
}
"""
bz2 = LDProbe ( ' static bz2 ' , ' %s -static ' % Tools . gcc . pathname , ' -lbz2 ' , bz2_test )
bz2 . run ( )
libz_test = """
#include <stdio.h>
#include <zlib.h>
int main ( )
{
compress ( NULL , NULL , NULL , 0 ) ;
return 0 ;
}
"""
libz = LDProbe ( ' static zlib ' , ' %s -static ' % Tools . gcc . pathname , ' -lz ' , libz_test )
libz . run ( )
2018-05-29 12:50:22 -07:00
xz_test = """
#include <stdio.h>
#include <lzma.h>
int main ( )
{
lzma_stream_decoder ( NULL , 0 , 0 ) ;
return 0 ;
}
"""
xz = LDProbe ( ' static xz ' , ' %s -static ' % Tools . gcc . pathname , ' -llzma ' , xz_test )
xz . run ( )
2010-05-23 15:38:21 +00:00
iconv_test = """
#include <stdio.h>
#include <iconv.h>
int main ( )
{
iconv_open ( NULL , NULL ) ;
return 0 ;
}
"""
iconv = LDProbe ( ' static iconv ' , ' %s -static ' % Tools . gcc . pathname , ' -liconv ' , iconv_test )
iconv . run ( )
2014-10-15 23:32:41 +00:00
regex_test = """
#include <stdio.h>
#include <regex.h>
int match ( regex_t * x , char * s )
{
regmatch_t matches [ 1 ] ;
return regexec ( x , s , 1 , matches , 0 ) ;
}
int main ( )
{
int rv ;
regex_t exp ;
2016-03-13 12:18:25 -06:00
rv = regcomp ( & exp , " ^[0-9]+$ " , REG_EXTENDED ) ;
2014-10-15 23:32:41 +00:00
if ( rv != 0 ) {
return 1 ;
}
if ( match ( & exp , " 7 " ) != 0 )
{
return 1 ;
}
if ( match ( & exp , " foo " ) == 0 )
{
return 1 ;
}
regfree ( & exp ) ;
return 0 ;
}
"""
regex = LDProbe ( ' static regex ' , ' %s -static ' % Tools . gcc . pathname , ' -lregex ' , regex_test )
regex . run ( )
2015-04-10 14:56:27 +00:00
strtok_r_test = """
#include <string.h>
int main ( )
{
char * saveptr ;
strtok_r ( " String tok string " , " tok " , & saveptr ) ;
return 0 ;
}
"""
strtok_r = LDProbe ( ' static strtok_r ' , ' %s -static ' % Tools . gcc . pathname , ' ' , strtok_r_test )
strtok_r . run ( )
2019-04-16 08:02:20 -06:00
#########################################
## Linux specific library and tool checks
#########################################
2019-04-15 13:55:49 -06:00
if host_tuple . system == ' linux ' :
2019-04-15 12:12:08 -06:00
if options . enable_numa :
numa_test = """
#include <numa.h>
int main ( )
{
struct bitmask * bm = numa_allocate_cpumask ( ) ;
return 0 ;
}
"""
numa = ChkLib ( ' numa ' , ' %s ' % Tools . gcc . pathname ,
2019-04-16 07:54:02 -06:00
' numa ' , numa_test , abort = True )
2019-04-15 12:12:08 -06:00
numa . run ( )
2019-04-16 08:02:20 -06:00
#########################################
## Common library and tool checks
#########################################
strerror_r_test = """
#include <string.h>
int main ( )
{
/ * some implementations fail if buf is less than 80 characters
so size it appropriately * /
char errstr [ 128 ] ;
/ * some implementations fail if err == 0 * /
strerror_r ( 1 , errstr , 127 ) ;
return 0 ;
}
"""
strerror_r = LDProbe ( ' strerror_r ' , ' %s ' % Tools . gcc . pathname , ' ' , strerror_r_test )
strerror_r . run ( )
2019-04-15 12:12:08 -06:00
2019-09-10 00:02:38 -04:00
#########################################
## Compiler option checks
#########################################
gcc_w_extra = [ ]
Wno_format_truncation_command = ' %s -O2 -Werror -Wno-format-truncation -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ' % Tools . gcc . pathname
Wno_format_truncation = ShellProbe ( ' checking for -Wno-format-truncation ' , ' %s ' % Wno_format_truncation_command )
Wno_format_truncation . run ( )
if Wno_format_truncation . fail is False :
gcc_w_extra . append ( ' no-format-truncation ' )
2009-03-08 22:50:57 +00:00
## cfg hook before doc prep
cfg . doc_ready ( )
## create document object
doc = ConfigDocument ( )
doc . addComment ( ' generated by configure on %s ' , time . strftime ( ' %c ' ) )
## add configure line for reconfigure purposes
doc . addBlank ( )
2019-04-13 11:20:18 -04:00
conf_args = [ ]
for arg in sys . argv [ 1 : ] :
2023-10-15 21:58:06 +01:00
if re . match ( r ' ^--(force|launch).*$ ' , arg ) :
2019-04-13 11:20:18 -04:00
continue
conf_args . append ( arg )
doc . add ( ' CONF.args ' , ' ' . join ( conf_args ) . replace ( ' $ ' , ' $$ ' ) )
2009-03-08 22:50:57 +00:00
doc . addBlank ( )
2009-06-18 20:48:07 +00:00
doc . add ( ' HB.title ' , project . title )
doc . add ( ' HB.name ' , project . name )
doc . add ( ' HB.name.lower ' , project . name_lower )
doc . add ( ' HB.name.upper ' , project . name_upper )
doc . add ( ' HB.acro.lower ' , project . acro_lower )
doc . add ( ' HB.acro.upper ' , project . acro_upper )
doc . add ( ' HB.url.website ' , project . url_website )
doc . add ( ' HB.url.community ' , project . url_community )
doc . add ( ' HB.url.irc ' , project . url_irc )
doc . add ( ' HB.url.appcast ' , project . url_appcast )
2009-06-18 21:11:41 +00:00
doc . add ( ' HB.url.appnote ' , project . url_appnote )
2009-03-08 22:50:57 +00:00
doc . add ( ' HB.version.major ' , project . vmajor )
doc . add ( ' HB.version.minor ' , project . vminor )
doc . add ( ' HB.version.point ' , project . vpoint )
2015-08-28 11:16:56 -07:00
doc . add ( ' HB.version.suffix ' , project . suffix )
2009-03-08 22:50:57 +00:00
doc . add ( ' HB.version ' , project . version )
2015-08-28 11:16:56 -07:00
doc . add ( ' HB.debversion ' , project . debversion )
2009-03-08 22:50:57 +00:00
doc . add ( ' HB.version.hex ' , ' %04x %02x %02x %08x ' % ( project . vmajor , project . vminor , project . vpoint , repo . rev ) )
doc . add ( ' HB.build ' , project . build )
doc . add ( ' HB.repo.url ' , repo . url )
2015-08-25 09:48:14 -07:00
doc . add ( ' HB.repo.tag ' , repo . tag )
2009-03-08 22:50:57 +00:00
doc . add ( ' HB.repo.rev ' , repo . rev )
2015-08-25 09:48:14 -07:00
doc . add ( ' HB.repo.hash ' , repo . hash )
doc . add ( ' HB.repo.shorthash ' , repo . shorthash )
doc . add ( ' HB.repo.branch ' , repo . branch )
doc . add ( ' HB.repo.remote ' , repo . remote )
2009-03-08 22:50:57 +00:00
doc . add ( ' HB.repo.type ' , repo . type )
2015-08-25 09:48:14 -07:00
doc . add ( ' HB.repo.official ' , repo . official )
2015-08-28 11:16:56 -07:00
doc . add ( ' HB.repo.date ' , repo . date . strftime ( " % Y- % m- %d % H: % M: % S " ) )
2009-03-08 22:50:57 +00:00
doc . addBlank ( )
2019-04-16 11:31:29 -06:00
doc . add ( ' BUILD.spec ' , build_tuple . spec )
doc . add ( ' BUILD.machine ' , build_tuple . machine )
doc . add ( ' BUILD.vendor ' , build_tuple . vendor )
doc . add ( ' BUILD.system ' , build_tuple . system )
doc . add ( ' BUILD.systemf ' , build_tuple . systemf )
doc . add ( ' BUILD.release ' , build_tuple . release )
doc . add ( ' BUILD.extra ' , build_tuple . extra )
doc . add ( ' BUILD.title ' , ' %s %s ' % ( build_tuple . systemf , arch . mode . default ) )
doc . add ( ' BUILD.ncpu ' , core . count )
2019-04-17 11:23:41 -06:00
doc . add ( ' BUILD.jobs ' , core . jobs )
2019-04-16 11:31:29 -06:00
doc . add ( ' BUILD.date ' , time . strftime ( ' %c ' , now ) ) ,
2009-03-08 22:50:57 +00:00
doc . addBlank ( )
2019-04-16 11:31:29 -06:00
doc . add ( ' HOST.spec ' , host_tuple . spec )
doc . add ( ' HOST.machine ' , host_tuple . machine )
doc . add ( ' HOST.vendor ' , host_tuple . vendor )
doc . add ( ' HOST.system ' , host_tuple . system )
doc . add ( ' HOST.systemf ' , host_tuple . systemf )
doc . add ( ' HOST.release ' , host_tuple . release )
doc . add ( ' HOST.extra ' , host_tuple . extra )
doc . add ( ' HOST.title ' , host_tuple . title )
2009-03-08 22:50:57 +00:00
2020-10-30 13:48:43 +01:00
doc . add ( ' HOST.cross ' , int ( options . cross != None or arch . mode . mode != arch . mode . default or build_tuple . machine != host_tuple . machine ) )
2009-04-14 20:10:57 +00:00
if options . cross :
2019-04-16 11:31:29 -06:00
doc . add ( ' HOST.cross.prefix ' , ' %s - ' % ( options . cross ) )
2009-04-14 20:10:57 +00:00
else :
2019-04-16 11:31:29 -06:00
doc . add ( ' HOST.cross.prefix ' , ' ' )
2009-04-14 20:10:57 +00:00
2019-04-16 11:31:29 -06:00
doc . add ( ' HOST.arch ' , arch . mode . mode )
2009-03-08 22:50:57 +00:00
doc . addBlank ( )
doc . add ( ' SRC ' , cfg . src_final )
doc . add ( ' SRC/ ' , cfg . src_final + os . sep )
doc . add ( ' BUILD ' , cfg . build_final )
doc . add ( ' BUILD/ ' , cfg . build_final + os . sep )
doc . add ( ' PREFIX ' , cfg . prefix_final )
doc . add ( ' PREFIX/ ' , cfg . prefix_final + os . sep )
2015-08-25 09:48:14 -07:00
2019-09-09 18:11:54 +02:00
doc . addBlank ( )
doc . add ( ' SECURITY.sandbox ' , int ( options . enable_sandbox ) )
doc . add ( ' SECURITY.harden ' , int ( options . enable_harden ) )
2009-03-08 22:50:57 +00:00
doc . addBlank ( )
2019-04-17 09:50:39 -06:00
doc . add ( ' FEATURE.asm ' , int ( 0 ) )
2019-04-04 20:01:14 -04:00
doc . add ( ' FEATURE.fdk_aac ' , int ( options . enable_fdk_aac ) )
doc . add ( ' FEATURE.ffmpeg_aac ' , int ( options . enable_ffmpeg_aac ) )
2016-08-30 09:51:05 -07:00
doc . add ( ' FEATURE.flatpak ' , int ( options . flatpak ) )
2023-03-19 03:14:46 +00:00
doc . add ( ' FEATURE.gtk ' , int ( options . enable_gtk ) )
2021-02-15 07:56:39 -05:00
doc . add ( ' FEATURE.mf ' , int ( options . enable_mf ) )
2019-04-04 20:01:14 -04:00
doc . add ( ' FEATURE.nvenc ' , int ( options . enable_nvenc ) )
2022-09-26 18:35:02 +01:00
doc . add ( ' FEATURE.nvdec ' , int ( options . enable_nvdec ) )
2013-08-22 20:33:35 +00:00
doc . add ( ' FEATURE.qsv ' , int ( options . enable_qsv ) )
2018-06-03 16:21:09 -04:00
doc . add ( ' FEATURE.vce ' , int ( options . enable_vce ) )
2014-02-10 17:41:56 +00:00
doc . add ( ' FEATURE.x265 ' , int ( options . enable_x265 ) )
2019-04-15 16:04:25 -06:00
doc . add ( ' FEATURE.numa ' , int ( options . enable_numa ) )
2023-02-06 15:44:58 +01:00
doc . add ( ' FEATURE.libdovi ' , int ( options . enable_libdovi ) )
2019-08-20 21:42:34 +02:00
2019-04-15 13:55:49 -06:00
if build_tuple . match ( ' *-*-darwin* ' ) and options . cross is None :
2019-04-13 07:35:23 -04:00
doc . add ( ' FEATURE.xcode ' , int ( not ( Tools . xcodebuild . fail or options . disable_xcode ) ) )
if not Tools . xcodebuild . fail and not options . disable_xcode :
doc . addBlank ( )
doc . add ( ' XCODE.prefix ' , cfg . xcode_prefix_final )
doc . add ( ' XCODE.prefix/ ' , cfg . xcode_prefix_final + os . sep )
doc . add ( ' XCODE.driver ' , options . xcode_driver )
if os . path . isabs ( options . xcode_symroot ) :
doc . add ( ' XCODE.symroot ' , options . xcode_symroot )
else :
doc . add ( ' XCODE.symroot ' , os . path . abspath ( os . path . join ( cfg . build_dir , options . xcode_symroot ) ) )
doc . add ( ' XCODE.xcconfig ' , xcconfigMode [ xcconfigMode . mode ] )
2009-03-08 22:50:57 +00:00
2019-04-15 13:55:49 -06:00
if host_tuple . system == ' mingw ' :
2012-01-04 09:41:11 +00:00
doc . addBlank ( )
2010-05-23 15:38:21 +00:00
if not dlfcn . fail :
doc . add ( ' HAS.dlfcn ' , 1 )
2020-07-22 18:43:37 -04:00
if not pthread . fail :
2015-01-19 17:09:39 +00:00
doc . add ( ' HAS.pthread ' , 1 )
2010-05-23 15:38:21 +00:00
if not bz2 . fail :
doc . add ( ' HAS.bz2 ' , 1 )
if not libz . fail :
doc . add ( ' HAS.libz ' , 1 )
2018-05-29 12:50:22 -07:00
if not xz . fail :
doc . add ( ' HAS.xz ' , 1 )
2010-05-23 15:38:21 +00:00
if not iconv . fail :
doc . add ( ' HAS.iconv ' , 1 )
2014-10-15 23:32:41 +00:00
if not regex . fail :
doc . add ( ' HAS.regex ' , 1 )
2015-04-10 14:56:27 +00:00
if strtok_r . fail :
doc . add ( ' COMPAT.strtok_r ' , 1 )
2017-12-25 16:13:30 +09:00
2016-07-10 16:00:16 -04:00
else :
doc . addBlank ( )
2022-09-04 04:51:39 -04:00
if host_tuple . system in ( ' freebsd ' , ' netbsd ' , ' openbsd ' ) :
2017-12-25 16:13:30 +09:00
doc . add ( ' HAS.pthread ' , 1 )
2016-07-10 16:00:16 -04:00
if not strerror_r . fail :
doc . add ( ' HAS.strerror_r ' , 1 )
2010-05-23 15:38:21 +00:00
2009-03-08 22:50:57 +00:00
doc . addMake ( ' ' )
2022-06-12 19:41:33 -04:00
doc . addMake ( ' ## define these before other includes ' )
doc . addMake ( ' ## since they are tested in some module.defs ' )
2010-03-11 18:33:57 +00:00
doc . add ( ' GCC.g ' , debugMode . mode )
2011-07-11 15:36:16 +00:00
doc . add ( ' GCC.O ' , optimizeMode . mode )
2022-06-12 19:41:33 -04:00
doc . add ( ' GCC.cpu ' , cpuMode . mode )
2022-06-12 21:13:43 -04:00
doc . add ( ' GCC.lto ' , ltoMode . mode )
2010-03-11 18:33:57 +00:00
doc . addBlank ( )
2009-03-08 22:50:57 +00:00
doc . addMake ( ' ## include definitions ' )
doc . addMake ( ' include $(SRC/)make/include/main.defs ' )
doc . addBlank ( )
for tool in ToolProbe . tools :
tool . doc_add ( doc )
doc . addBlank ( )
2015-01-30 23:24:17 +00:00
doc . add ( ' GCC.archs ' , arch . mode . mode )
2019-04-15 13:55:49 -06:00
if host_tuple . match ( ' *-*-darwin* ' ) :
2009-09-04 21:22:41 +00:00
doc . add ( ' GCC.sysroot ' , cfg . sysroot_dir )
doc . add ( ' GCC.minver ' , cfg . minver )
2009-03-08 22:50:57 +00:00
else :
2009-09-04 21:22:41 +00:00
doc . add ( ' GCC.sysroot ' , ' ' )
doc . add ( ' GCC.minver ' , ' ' )
2019-09-10 00:02:38 -04:00
doc . add ( ' GCC.W.extra ' , " " . join ( gcc_w_extra ) )
2009-03-08 22:50:57 +00:00
2019-04-15 13:55:49 -06:00
if host_tuple . match ( ' i?86-* ' ) :
2014-02-15 16:31:11 +00:00
doc . add ( ' LIBHB.GCC.D ' , ' ARCH_X86_32 ' , append = True )
2019-04-15 13:55:49 -06:00
elif host_tuple . match ( ' x86_64-* ' ) :
2014-02-15 16:31:11 +00:00
doc . add ( ' LIBHB.GCC.D ' , ' ARCH_X86_64 ' , append = True )
2019-04-15 13:55:49 -06:00
elif host_tuple . match ( ' amd64-* ' ) :
2017-12-25 16:13:30 +09:00
doc . add ( ' LIBHB.GCC.D ' , ' ARCH_X86_64 ' , append = True )
2014-02-15 16:31:11 +00:00
2018-06-01 17:08:13 -04:00
if options . enable_asm and ( not Tools . nasm . fail ) :
2009-03-10 07:05:42 +00:00
asm = ' '
2019-04-15 13:55:49 -06:00
if host_tuple . match ( ' i?86-* ' ) :
2009-03-10 07:05:42 +00:00
asm = ' x86 '
doc . add ( ' LIBHB.GCC.D ' , ' HAVE_MMX ' , append = True )
2019-04-15 13:55:49 -06:00
elif host_tuple . match ( ' x86_64-* ' ) or host_tuple . match ( ' amd64-* ' ) :
2009-03-10 07:05:42 +00:00
asm = ' x86 '
doc . add ( ' LIBHB.GCC.D ' , ' HAVE_MMX ARCH_X86_64 ' , append = True )
doc . update ( ' FEATURE.asm ' , asm )
2009-03-08 22:50:57 +00:00
## add exports to make
if len ( exports ) :
doc . addBlank ( )
doc . addComment ( ' overrides via VARIABLE=VALUE on command-line ' )
for nv in exports :
doc . add ( nv [ 0 ] , nv [ 1 ] )
doc . addMake ( ' ' )
doc . addMake ( ' ## include custom definitions ' )
doc . addMake ( ' -include $(SRC/)custom.defs ' )
doc . addMake ( ' -include $(BUILD/)GNUmakefile.custom.defs ' )
doc . addMake ( ' ' )
doc . addMake ( ' ## include rules ' )
doc . addMake ( ' include $(SRC/)make/include/main.rules ' )
doc . addMake ( ' -include $(SRC/)custom.rules ' )
doc . addMake ( ' -include $(BUILD/)GNUmakefile.custom.rules ' )
## chdir
cfg . chdir ( )
## perform
doc . write ( ' make ' )
doc . write ( ' m4 ' )
2015-10-29 17:25:58 -04:00
encodeDistfileConfig ( )
2015-10-27 17:52:39 -04:00
2024-01-10 19:20:01 +00:00
note_required = ' (required on target platform) '
note_unsupported = ' (not supported on target platform) '
print ( ' - ' * 79 )
print ( f ' Build system: { build_tuple . spec . rstrip ( " - " ) } ' )
print ( f ' Host system: { host_tuple . spec . rstrip ( " - " ) } ' )
print ( f ' Target platform: { host_tuple . system } ' + ( ' (cross-compile) ' if options . cross or build_tuple . machine != host_tuple . machine else ' ' ) )
print ( f ' Harden: { options . enable_harden } ' )
print ( f ' Sandbox: { options . enable_sandbox } ' + ( ' ' if host_tuple . system == ' darwin ' else note_unsupported ) )
print ( f ' Enable FDK-AAC: { options . enable_fdk_aac } ' )
print ( f ' Enable FFmpeg AAC: { options . enable_ffmpeg_aac } ' + ( ' ' if host_tuple . system == ' darwin ' else note_required ) )
print ( f ' Enable MediaFound.: { options . enable_mf } ' + ( ' ' if mf_supported else note_unsupported ) )
print ( f ' Enable NVENC: { options . enable_nvenc } ' + ( ' ' if nvenc_supported else note_unsupported ) )
print ( f ' Enable NVDEC: { options . enable_nvdec } ' + ( ' ' if nvenc_supported else note_unsupported ) )
print ( f ' Enable QSV: { options . enable_qsv } ' + ( ' ' if qsv_supported else note_unsupported ) )
print ( f ' Enable VCE: { options . enable_vce } ' + ( ' ' if vce_supported else note_unsupported ) )
print ( f ' Enable libdovi: { options . enable_libdovi } ' )
print ( f ' Enable GTK GUI: { options . enable_gtk } ' + ( ' ' if gtk_supported else note_unsupported ) )
2023-03-11 18:24:35 +00:00
if len ( targets ) > 0 :
2024-10-19 09:22:39 +02:00
print ( print_blue ( ' Note: ' ) , ' passthru arguments: ' , * targets )
2023-03-11 18:24:35 +00:00
if len ( exports ) > 0 :
print ( print_blue ( ' Note: ' ) , ' exported variables: ' , end = ' ' )
for export in exports :
print ( ' %s = %s ' % ( export [ 0 ] , export [ 1 ] ) , end = ' ' )
print ( )
2023-02-06 15:44:58 +01:00
2019-02-25 06:12:37 -05:00
if options . launch :
2024-01-10 19:20:01 +00:00
print ( ' - ' * 79 )
2023-04-21 13:55:59 +01:00
launcher = Launcher ( targets )
2019-02-25 06:12:37 -05:00
cfg . record_log ( )
if os . path . normpath ( cfg . build_dir ) == os . curdir :
nocd = True
else :
nocd = False
2024-01-10 19:20:01 +00:00
print ( ' - ' * 79 )
2009-03-08 22:50:57 +00:00
if options . launch :
2024-01-10 19:20:01 +00:00
print ( print_bold ( ' Build is finished! ' ) )
2009-03-08 22:50:57 +00:00
if nocd :
2024-01-10 19:20:01 +00:00
print ( ' You may now examine the output. ' )
2009-03-08 22:50:57 +00:00
else :
2024-01-10 19:20:01 +00:00
print ( f ' You may now cd into { cfg . build_dir } and examine the output. ' )
2023-10-12 13:11:29 +01:00
sys . exit ( launcher . returncode )
2009-03-08 22:50:57 +00:00
else :
2024-01-10 19:20:01 +00:00
print ( print_bold ( ' Build is configured! ' ) )
2009-03-08 22:50:57 +00:00
if nocd :
2024-01-10 19:20:01 +00:00
print ( f ' You may now run make ( { Tools . gmake . pathname } ). ' )
2009-03-08 22:50:57 +00:00
else :
2024-01-10 19:20:01 +00:00
print ( f ' You may now cd into { cfg . build_dir } and run make ( { Tools . gmake . pathname } ). ' )
2023-10-12 13:11:29 +01:00
sys . exit ( 0 )
BuildSystem: conversion from jam-based to make-based system.
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
2009-03-01 17:03:11 +00:00
2019-02-25 07:03:28 -05:00
except AbortError as x :
2024-01-10 19:20:01 +00:00
stderr . write ( ' \n ' + print_red ( f ' ERROR: { x } ' ) + ' \n \n ' )
2009-03-08 22:50:57 +00:00
try :
cfg . record_log ( )
except :
2015-08-25 09:48:14 -07:00
pass
sys . exit ( 1 )