summaryrefslogtreecommitdiffstats
path: root/make/include/main.rules
Commit message (Collapse)AuthorAgeFilesLines
* BuildSystem: Mac OS X - transition to Xcode4konablend2012-01-041-12/+7
| | | | | | | | | | | | | | | | | | | | | | | | - transition from Xcode3 to Xcode4 - overhaul HandBrake.xcodeproj file - simplify down to 2 configurations: debug, release - add xcconfig for useful variants: osx106.i386, osx106.x86_64, osx107.i386, osx107.x86_64 - add configure --xcode-config as preferred method to choose OSX minimum version and SDK - overhaul Info.plist generation to use m4 instead of cpp - remove use of direct static libraries on command line - Xcode4 now enables -search_paths_first by default - reference external build static libraries project file - greatly simplifying project file maintenance - update universal build targets to use --xcode-config - update ffmpeg hack to build on i386 in both debug and optimized modes - update ffmpeg build to show compile verbosity - enable local yasm when yasm probe fails - remove unused GCC.ldsysroot - remove unused GCC.ldminver - enhance xcodemake to use --sysroot, --minver - update/regenerate docs accordingly - add support for configure-time repo probe when svn repo is incompatible format to Xcode via .svn/HANDBRAKE_REPO_PROBE - replaced make/test/build.matrix.darwin with make/test/build.matrix git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@4395 b64f7644-9d1e-0410-96f1-a4d463321fa5
* LinGui: improved rpm buildingjstebbins2010-04-121-0/+1
| | | | | | | | | | | | | | | Resulting rpms have fewer warnings and no errors according to rpmlint. No need to pre-build binaries. Just configure and "make pkg.create.rpm" Standard fedora rpms can be found in: build/stage/rpm/RPMS and SRPMS Binary packages are renamed according to handbrake naming convention in: build/pkg git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@3220 b64f7644-9d1e-0410-96f1-a4d463321fa5
* BuildSystem: fix darwin/xcode to avoid double-configure/build after svn upkonablend2009-04-191-3/+4
| | | | | | | | | | | - build system automagically rebuilds certain files from libhb upwards after an svn up to maintain accurate repository information in binaries; if building with xcode the process was inadvertantly repeated on subsequent 'make'. - enhanced make/xcodemake to record the user's environment when shunted through xcode. this should help in diagnosing build issues from Xcode.app in the future. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2344 b64f7644-9d1e-0410-96f1-a4d463321fa5
* This patch adds mingw32 cross-compilation support to HandBrake trunk tokonablend2009-04-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | produce native win32 binaries. The main benefits are the binary does not have any Cygwin runtime requirements and various host platforms can be leveraged to build HandBrake. Cross-compilation toolchains are complex to setup and recommended for experts only; but once setup it can build at speeds similar to native builds, on Darwin or Linux. BUILD INSTRUCTIONS: Add mingw32 toolchain to beginning of your path and take the toolchain prefix from gcc (eg: i386-mingw32-gcc) and pass to configure: ./configure --cross=i386-ming32 PRODUCTS: - hb.lib (static library) - HandBrakeCLI.exe DOWNLOADS: Contrib downloads need to be seeded with: - pthreads-w32-2-8-0-release.tar.gz (new) - xvidcore-20090311.tar.gz SUMMARY: Specifically, all GUI trees are not impacted. configure - added --cross=PREFIX - reworked search for gcc and cross-compile related tools to use prefix contrib/ - sub-patches added as needed for mingw contrib/xvidcore/ - bumped from 1.1.3 -> 1.2.1+ (daily 20090311) - reconstituted P01-cygwin.patch - created new P00-darwin.patch needed for macho64 asm flag on x86_64 arch libhb/ - uint -> uint32_t - remaining changes guarded by mingw32 macro. test/ - modified to support pthread-compatibility library attach/detach. - all changes guarded by mingw32 macro. BRANCHES: source: https://hbfork.googlecode.com/svn/branches/mingw@28 target: svn://svn.handbrake.fr/HandBrake/trunk@2325 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2326 b64f7644-9d1e-0410-96f1-a4d463321fa5
* BuildSystem: darwin + Xcode dependencies and enhancementskonablend2009-03-111-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | This changeset focuses on a disconnect between Xcode targets HandBrakeCLI and HandBrake.app when changest to external dependencies are made. The use case is to touch any .c file in libhb which then builds .o and re-creates libhb.a; next the Xcode targets should at least re-link. This did not happen because link-flags are used to add libhb.a and contrib libraries in Xcode; which effectively hides them from Xcode. The solution removes libhb.a from link-flags mechanism and places libhb.a as a framework library known to Xcode; and the expected re-linking occurs. contrib libraries will continue to use link-flags but since libhb.a has coarse-grained dependencies on contrib modules this will also cause Xcode targets to re-link. Further enhancements made to Xcode project: - Xcode now scans any .c files for .h file dependencies; will help with Xcode sources; the effect against libhb.a is moot; libhb.a will be rebuilt by external system anyways. - libbz2 and libz are now treated as framework libraries; it's more correct than listing all libraries as link-flags. - moved FRAMEWORK_SEARCH_PATHS to project-level for consistency in future targets. - moved LIBRARY_SEARCH_PATHS to project-level for conistency. - enabled GCC_WARN_TYPECHECK_CALLS_TO_PRINTF at project-level. [this changeset should not be a factor for other platforms; no side effects are expected] git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2257 b64f7644-9d1e-0410-96f1-a4d463321fa5
* BuildSystem: initial _skeleton_ asm support for libhb.konablend2009-03-101-1/+1
| | | | | | | | | - asm disposition is DISABLED. - it can only be enabled via a hidden configure option (--enable-asm) but will only be useful once asm code is checked-in. - this is checked-in early to not lose some internal configure enhancements made during asm build support impl. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2251 b64f7644-9d1e-0410-96f1-a4d463321fa5
* BuildSystem: general, configure and Xcode updates.konablend2009-03-081-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | *** NOTICE: This changeset requires a clean build directory. Please issue 'make xclean' inside build dir(s) after 'svn up'. This will help ensure there are no unexpected results. *** GENERAL: - renamed makevar PROJECT/ -> SRC/ for clarity. - renamed makevar PREFIX.install/ -> PREFIX/ for clarity. - split custom GNUmakefile overrides into defs/rules files. - inserted optional level of make customization at SRC/ level; see docs. - dropped HB.repo.wcversion (svnversion is no longer used). - corrected several 'rm' usages to use -f flag which avoids some build errors. - refreshed generated 00-Building.*.txt docs; work still in progress on the wiki front. *** CONFIGURE: - made configure more robust; configure may now be run outside of build directory! - adding log recording of configure activities. - improved readability of default options for configure - added: --force overwrite existing build config --src=DIR specify top-level source dir [.] --build=DIR specify build scratch/output dir [.] --prefix=DIR specify install dir for products [/Applications] - dropped --launch-force (replaced by --force) - dropped --launch-dir (replaced by --build) - dropped --launch-log *** XCODE: - renamed pbxproj definition EXTERNAL_PROJECT -> EXTERNAL_SRC for clarity. - fixed all configurations to default to EXTERNAL_JOBS=1 . - enabled Xcode internal parallelization (libhb, HandBrakeCLI and HandBrake benefit). - make now tickles Xcode build files to cause Info.plist regeneration and posting to HandBrake.app output; ie: svn up; click build and HandBrake.app's about panel will reflect the new repository rev. *** DARWIN: - added support to build universal binaries; see docs. git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2242 b64f7644-9d1e-0410-96f1-a4d463321fa5
* BuildSystem:konablend2009-03-031-2/+3
| | | | | | | | | - added global uninstall target; the inverse of install - $PREFIX/bin/HandBrakeCLI longer paritipates in clean - added target test.uninstall to remove $PREFIX/bin/HandBrakeCLI git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2212 b64f7644-9d1e-0410-96f1-a4d463321fa5
* BuildSystem:konablend2009-03-031-0/+2
| | | | | | | | - minor fix for report targets; aggregates were not included after splitting to rules file - fixed bug where non-darwin platforms caused all rules to be disabled because FEATURE.xcode was erroneously set to 1 git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2207 b64f7644-9d1e-0410-96f1-a4d463321fa5
* BuildSystem:konablend2009-03-031-1/+15
| | | | | | | | | | | | | - fixed OSX + Xcode to support parallel builds - enhanced OSX + Xcode to use proper pass-thru for all make targets - added global target --> install - added install: test.install - added install: gtk.install - updated pre-generated building guides (these will go away when wiki is updated) - updated xml2wiki script to spit out heading git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2205 b64f7644-9d1e-0410-96f1-a4d463321fa5
* BuildSystem:konablend2009-03-021-1/+1
| | | | | | | | | | | | | | | | - changed HandBrakeCLI to use project.h when showing version in hblog - changed macosx/Info.h.m4 to supply correct version; eg: MacGUI about-panel - HandBrakeCLI hblog now displays architecture; eg: Darwin i386 - HandBrake.app about-panel now displays architecture; eg: i386 - updated all versioning to reflect project policies: a. HB_PROJECT_VERSION now behave as old HB_VERSION b. HB_PROJECT_BUILD now behaves as old HB_BUILD c. dropped HB_PROJECT_VERSION_FORMAL as it is no longer referenced - renamed HOST.proc -> HOST.machine for clarity - renamed BUILD.proc -> BUILD.machine for clarity git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2192 b64f7644-9d1e-0410-96f1-a4d463321fa5
* BuildSystem:konablend2009-03-011-1/+1
| | | | | | | | - trivial fix to allow make/include/PLATFORM.rules to be optional - this glitch resulted from adding darwin.rules for UB fat binary targets git-svn-id: svn://svn.handbrake.fr/HandBrake/trunk@2182 b64f7644-9d1e-0410-96f1-a4d463321fa5
* BuildSystem: conversion from jam-based to make-based system.konablend2009-03-011-0/+39
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