mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Add support for a minimal distribution mode where only release binaries and resources are packaged.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1197 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
@ -120,7 +120,13 @@ parser.add_option('--no-release-build',
|
||||
help="don't perform the CEF release build")
|
||||
parser.add_option('--no-distrib',
|
||||
action='store_true', dest='nodistrib', default=False,
|
||||
help="don't create the CEF binary distribution")
|
||||
help="don't create any CEF binary distribution")
|
||||
parser.add_option('--minimal-distrib',
|
||||
action='store_true', dest='minimaldistrib', default=False,
|
||||
help='create a minimal CEF binary distribution')
|
||||
parser.add_option('--minimal-distrib-only',
|
||||
action='store_true', dest='minimaldistribonly', default=False,
|
||||
help='create a minimal CEF binary distribution only')
|
||||
parser.add_option('--ninja-build',
|
||||
action='store_true', dest='ninjabuild', default=False,
|
||||
help="build using ninja")
|
||||
@ -134,6 +140,11 @@ if options.downloaddir is None:
|
||||
parser.print_help(sys.stderr)
|
||||
sys.exit()
|
||||
|
||||
if options.noreleasebuild and (options.minimaldistrib or options.minimaldistribonly):
|
||||
print 'Invalid combination of options'
|
||||
parser.print_help(sys.stderr)
|
||||
sys.exit()
|
||||
|
||||
# script directory
|
||||
script_dir = os.path.dirname(__file__)
|
||||
|
||||
@ -412,10 +423,23 @@ if any_changed or options.forcebuild:
|
||||
# make CEF Release build
|
||||
run(path+' Release', cef_tools_dir, depot_tools_dir)
|
||||
|
||||
if any_changed or options.forcedistrib:
|
||||
if not options.nodistrib:
|
||||
# make CEF binary distribution
|
||||
if (any_changed or options.forcedistrib) and not options.nodistrib:
|
||||
# make a CEF binary distribution
|
||||
make_minimal = options.minimaldistrib or options.minimaldistribonly
|
||||
path = os.path.join(cef_tools_dir, 'make_distrib'+script_ext)
|
||||
if options.ninjabuild:
|
||||
path = path + ' --ninja-build'
|
||||
if options.nodebugbuild or options.noreleasebuild or make_minimal:
|
||||
path = path + ' --allow-partial'
|
||||
|
||||
if not options.minimaldistribonly:
|
||||
# create the full distribution
|
||||
run(path, cef_tools_dir, depot_tools_dir)
|
||||
|
||||
if make_minimal:
|
||||
# create the minimial distribution
|
||||
path = path + ' --minimal'
|
||||
if not options.minimaldistribonly:
|
||||
# don't create the symbol archive twice
|
||||
path = path + ' --no-symbols'
|
||||
run(path, cef_tools_dir, depot_tools_dir)
|
||||
|
@ -169,6 +169,9 @@ parser.add_option('--no-symbols',
|
||||
parser.add_option('--ninja-build',
|
||||
action='store_true', dest='ninjabuild', default=False,
|
||||
help='build was created using ninja')
|
||||
parser.add_option('--minimal',
|
||||
action='store_true', dest='minimal', default=False,
|
||||
help='include only release build binary files')
|
||||
parser.add_option('-q', '--quiet',
|
||||
action='store_true', dest='quiet', default=False,
|
||||
help='do not output detailed status information')
|
||||
@ -215,15 +218,17 @@ elif sys.platform.startswith('linux'):
|
||||
platform = 'linux'
|
||||
|
||||
# output directory
|
||||
output_dir = os.path.abspath(os.path.join(options.outputdir, \
|
||||
'cef_binary_'+cef_ver+'_'+platform))
|
||||
output_dir_name = 'cef_binary_'+cef_ver+'_'+platform
|
||||
if options.minimal:
|
||||
output_dir_name = output_dir_name + '_minimal'
|
||||
output_dir = os.path.abspath(os.path.join(options.outputdir, output_dir_name))
|
||||
remove_dir(output_dir, options.quiet)
|
||||
make_dir(output_dir, options.quiet)
|
||||
|
||||
if not options.nosymbols:
|
||||
# symbol directory
|
||||
symbol_dir = os.path.abspath(os.path.join(options.outputdir, \
|
||||
'cef_binary_'+cef_ver+'_'+platform+'_symbols'))
|
||||
symbol_dir_name = output_dir_name + '_symbols'
|
||||
symbol_dir = os.path.abspath(os.path.join(options.outputdir, symbol_dir_name))
|
||||
remove_dir(symbol_dir, options.quiet)
|
||||
make_dir(symbol_dir, options.quiet)
|
||||
|
||||
@ -238,6 +243,7 @@ cef_paths = cef_paths['variables']
|
||||
cef_paths2 = eval_file(os.path.join(cef_dir, 'cef_paths2.gypi'))
|
||||
cef_paths2 = cef_paths2['variables']
|
||||
|
||||
if not options.minimal:
|
||||
# create the include directory
|
||||
include_dir = os.path.join(output_dir, 'include')
|
||||
make_dir(include_dir, options.quiet)
|
||||
@ -292,6 +298,7 @@ if platform == 'windows':
|
||||
create_readme(os.path.join(script_dir, 'distrib/win/README.txt'), output_dir, cef_url, \
|
||||
cef_rev, cef_ver, chromium_url, chromium_rev, chromium_ver, date)
|
||||
|
||||
if not options.minimal:
|
||||
# transfer include files
|
||||
transfer_gypi_files(cef_dir, cef_paths2['includes_win'], \
|
||||
'include/', include_dir, options.quiet)
|
||||
@ -307,6 +314,7 @@ if platform == 'windows':
|
||||
out_dir = os.path.join(src_dir, 'build')
|
||||
libcef_dll_file = 'lib/libcef.lib'
|
||||
|
||||
if not options.minimal:
|
||||
# transfer build/Debug files
|
||||
build_dir = os.path.join(out_dir, 'Debug');
|
||||
if not options.allowpartial or path_exists(os.path.join(build_dir, 'cefclient.exe')):
|
||||
@ -335,6 +343,7 @@ if platform == 'windows':
|
||||
make_dir(dst_dir, options.quiet)
|
||||
copy_files(os.path.join(script_dir, 'distrib/win/*.dll'), dst_dir, options.quiet)
|
||||
copy_files(os.path.join(build_dir, '*.dll'), dst_dir, options.quiet)
|
||||
if not options.minimal:
|
||||
copy_file(os.path.join(build_dir, 'cefclient.exe'), dst_dir, options.quiet)
|
||||
copy_file(os.path.join(build_dir, 'cef.pak'), dst_dir, options.quiet)
|
||||
copy_file(os.path.join(build_dir, 'devtools_resources.pak'), dst_dir, options.quiet)
|
||||
@ -353,6 +362,7 @@ if platform == 'windows':
|
||||
else:
|
||||
sys.stderr.write("No Release build files.\n")
|
||||
|
||||
if not options.minimal:
|
||||
# generate doc files
|
||||
os.popen('make_cppdocs.bat '+cef_rev)
|
||||
|
||||
@ -377,6 +387,7 @@ elif platform == 'macosx':
|
||||
create_readme(os.path.join(script_dir, 'distrib/mac/README.txt'), output_dir, cef_url, \
|
||||
cef_rev, cef_ver, chromium_url, chromium_rev, chromium_ver, date)
|
||||
|
||||
if not options.minimal:
|
||||
# transfer include files
|
||||
transfer_gypi_files(cef_dir, cef_paths2['includes_mac'], \
|
||||
'include/', include_dir, options.quiet)
|
||||
@ -398,6 +409,7 @@ elif platform == 'macosx':
|
||||
|
||||
valid_build_dir = None
|
||||
|
||||
if not options.minimal:
|
||||
# transfer xcodebuild/Debug files
|
||||
build_dir = os.path.join(out_dir, 'Debug')
|
||||
if not options.allowpartial or path_exists(os.path.join(build_dir, 'cefclient.app')):
|
||||
@ -433,6 +445,7 @@ elif platform == 'macosx':
|
||||
copy_files(os.path.join(build_dir, 'cefclient.app/Contents/Frameworks/Chromium Embedded Framework.framework/Resources/*.*'), \
|
||||
dst_dir, options.quiet)
|
||||
|
||||
if not options.minimal:
|
||||
# transfer additional files, if any
|
||||
transfer_files(cef_dir, script_dir, os.path.join(script_dir, 'distrib/mac/transfer.cfg'), \
|
||||
output_dir, options.quiet)
|
||||
@ -464,6 +477,7 @@ elif platform == 'linux':
|
||||
|
||||
valid_build_dir = None
|
||||
|
||||
if not options.minimal:
|
||||
# transfer out/Debug files
|
||||
build_dir = os.path.join(out_dir, 'Debug');
|
||||
if not options.allowpartial or path_exists(os.path.join(build_dir, 'cefclient')):
|
||||
@ -493,6 +507,7 @@ elif platform == 'linux':
|
||||
copy_file(os.path.join(build_dir, 'devtools_resources.pak'), dst_dir, options.quiet)
|
||||
copy_dir(os.path.join(build_dir, 'locales'), os.path.join(dst_dir, 'locales'), options.quiet)
|
||||
|
||||
if not options.minimal:
|
||||
# transfer include files
|
||||
transfer_gypi_files(cef_dir, cef_paths2['includes_linux'], \
|
||||
'include/', include_dir, options.quiet)
|
||||
@ -533,14 +548,14 @@ elif platform == 'linux':
|
||||
fix_make_projects()
|
||||
|
||||
# Create an archive of the output directory
|
||||
zip_file = os.path.split(output_dir)[1] + '.zip'
|
||||
zip_file = output_dir_name + '.zip'
|
||||
if not options.quiet:
|
||||
sys.stdout.write('Creating '+zip_file+"...\n")
|
||||
create_archive(output_dir, os.path.join(output_dir, os.pardir, zip_file))
|
||||
|
||||
if not options.nosymbols:
|
||||
# Create an archive of the symbol directory
|
||||
zip_file = os.path.split(symbol_dir)[1] + '.zip'
|
||||
zip_file = symbol_dir_name + '.zip'
|
||||
if not options.quiet:
|
||||
sys.stdout.write('Creating '+zip_file+"...\n")
|
||||
create_archive(symbol_dir, os.path.join(symbol_dir, os.pardir, zip_file))
|
||||
|
Reference in New Issue
Block a user