From 9cd3be4166fe45c2ba446cdeef4a30ebc161206a Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Sun, 21 Sep 2014 08:18:05 -0700 Subject: [PATCH] Improve the build instructions a bit --- README.md | 35 ++++++++++++++++++++++++++--------- 1 file changed, 26 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 8df961de2..01d6313c5 100644 --- a/README.md +++ b/README.md @@ -26,17 +26,34 @@ All other dependencies are either stored in the repository or are included as su Building: -1. Clone Aegisub's repository recursively to fetch it and all submodules: `git clone --recursive git@github.com:Aegisub/Aegisub.git` +1. Clone Aegisub's repository recursively to fetch it and all submodules: `git clone --recursive git@github.com:Aegisub/Aegisub.git` This will take quite a while and requires about 2.5 GB of disk space. 2. Open Aegisub.sln -3. Build the solution. -4. Copy the contents of an existing Aegisub install into the aegisub/aegisub/bin directory (not strictly required, but you'll be missing a lot of functionality otherwise). +3. Build the BuildTasks project. +4. Build the entire solution. -For actual development work you will probably want to mostly use the -"Debug-MinDep" configuration (which disables building most of the projects), as -the dependency checking is pretty slow. +You should now have a `bin` directory in your Aegisub directory which contains `aegisub32d.exe`, along with a pile of other files. + +The Aegisub installer includes some files not built as part of Aegisub (such as Avisynth and VSFilter), so for a fully functional copy of Aegisub you now need to copy all of the files from an installed copy of Aegisub into your `bin` directory (and don't overwrite any of the files already there). +You'll also either need to copy the `automation` directory into the `bin` directory, or edit your automation search paths to include the `automation` directory in the source tree. + +After building the solution once, you'll want to switch to the Debug-MinDep configuration, which skips checking if the dependencies are out of date, as that takes a while. + +### OS X + +A vaguely recent version of Xcode and the corresponding command-line tools are required. +Nothing older than Xcode 5 has been tested recently, but it is likely that some later versions of Xcode 4 are good enough. + +For personal usage, you can use homebrew to install almost all of Aegisub's dependencies: + + brew install boost --c++11 --with-icu + brew install autoconf ffmpeg fontconfig freetype2 fftw3 fribidi libass wxmac + +[ffms2](http://github.com/FFMS/ffms2) currently does not have a homebrew formula, but with ffmpeg installed should be a simple `./configure && make && make install` to install. + +Once the dependencies are installed, build Aegisub with `autoreconf && ./configure && make && make osx-bundle`. +`autoreconf` should be skipped if you are building from a source tarball rather than `git`. ## License -All source files in this repository are licensed under either 3-clause BSD or -ISC licenses. In practice, Aegisub binaries are usually GPL licensed due to the -dependencies. +All files in this repository are licensed under various GPL-compatible BSD-style licenses; see LICENCE and the individual source files for more information. +The official Windows and OS X builds are GPLv2 due to including fftw3.