Update libav submodule
[mplayer-build.git] / init
blobe4318b01db4103eb58f96b66eac0cf3d2342ba9e
1 #!/usr/bin/env python
3 import os
4 from os import path
5 import sys
6 from optparse import OptionParser
7 from subprocess import check_call
9 from script.helpers import run_command, GitWrapper
11 option_helptext = \
12 """# Place each option on its own line. Empty lines and lines starting with '#'
13 # are ignored. The options do not need quoting, so you can have for example
14 # --extra-libs=-lfoo -lbar
15 # (and NOT --extra-libs='-lfoo -lbar').
16 """
18 mplayer_options = \
19 """# You can place options for MPlayer configure in this file.
21 """ + option_helptext
23 libav_options = \
24 """# You can place options for Libav configure in this file.
26 """ + option_helptext
28 common_options = \
29 """# You can place options common for both MPlayer and Libav configure in
30 # this file. This mainly makes sense for generic things like --cc.
32 # NOTE: Several people used --prefix here for some reason. Don't do that!
33 # The internal Libav library created during the build is installed under
34 # the build tree by default and should not be placed anywhere else!
35 # If you want to specify a custom location for the final install that
36 # should be done in mplayer_options.
38 """ + option_helptext
40 def create_helpfile(filename, text):
41 if not path.exists(filename):
42 f = open(filename, 'w')
43 f.write(text)
44 f.close()
46 def main():
47 usage = 'usage: %prog [options]'
48 parser = OptionParser(usage=usage)
49 parser.add_option('-s', '--shallow', action='store_true',
50 help='only shallow git clone (uses less bandwidth)')
51 parser.add_option('--init-optionfiles-only', action='store_true',
52 help='do nothing but create initial option files')
53 parser.set_defaults(shallow=False, init_optionfiles_only=False)
54 opts, args = parser.parse_args()
55 if args:
56 parser.print_help()
57 sys.exit(1)
59 create_helpfile('mplayer_options', mplayer_options)
60 create_helpfile('libav_options', libav_options)
61 create_helpfile('common_options', common_options)
62 if opts.init_optionfiles_only:
63 return
65 git = GitWrapper()
66 git.shallow = opts.shallow
68 check_call('git submodule init'.split())
69 git.submodule_clone('mplayer')
70 git.submodule_clone('libav')
71 git.submodule_clone('libass')
73 main()