make_distrib improvements:
- Windows: Change the directory and build structure to match other platforms. - Windows: Create archives of both Debug and Release symbols. - Windows: Create a separate archive for documentation. - Add a new "client" mode flag that creates a distribution of cefclient. - Add "no-docs" and "no-archive" flags. - Break README.txt files into separate components that can be shared between platforms and distribution modes. git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@1212 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
parent
35c03f7b5a
commit
b18edbac6f
|
@ -127,6 +127,18 @@ parser.add_option('--minimal-distrib',
|
||||||
parser.add_option('--minimal-distrib-only',
|
parser.add_option('--minimal-distrib-only',
|
||||||
action='store_true', dest='minimaldistribonly', default=False,
|
action='store_true', dest='minimaldistribonly', default=False,
|
||||||
help='create a minimal CEF binary distribution only')
|
help='create a minimal CEF binary distribution only')
|
||||||
|
parser.add_option('--client-distrib',
|
||||||
|
action='store_true', dest='clientdistrib', default=False,
|
||||||
|
help='create a client CEF binary distribution')
|
||||||
|
parser.add_option('--client-distrib-only',
|
||||||
|
action='store_true', dest='clientdistribonly', default=False,
|
||||||
|
help='create a client CEF binary distribution only')
|
||||||
|
parser.add_option('--no-distrib-docs',
|
||||||
|
action='store_true', dest='nodistribdocs', default=False,
|
||||||
|
help="don't create CEF documentation")
|
||||||
|
parser.add_option('--no-distrib-archive',
|
||||||
|
action='store_true', dest='nodistribarchive', default=False,
|
||||||
|
help="don't create archives for output directories")
|
||||||
parser.add_option('--ninja-build',
|
parser.add_option('--ninja-build',
|
||||||
action='store_true', dest='ninjabuild', default=False,
|
action='store_true', dest='ninjabuild', default=False,
|
||||||
help="build using ninja")
|
help="build using ninja")
|
||||||
|
@ -140,7 +152,9 @@ if options.downloaddir is None:
|
||||||
parser.print_help(sys.stderr)
|
parser.print_help(sys.stderr)
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
if options.noreleasebuild and (options.minimaldistrib or options.minimaldistribonly):
|
if (options.noreleasebuild and (options.minimaldistrib or options.minimaldistribonly or \
|
||||||
|
options.clientdistrib or options.clientdistribonly)) or \
|
||||||
|
(options.minimaldistribonly and options.clientdistribonly):
|
||||||
print 'Invalid combination of options'
|
print 'Invalid combination of options'
|
||||||
parser.print_help(sys.stderr)
|
parser.print_help(sys.stderr)
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
@ -424,22 +438,43 @@ if any_changed or options.forcebuild:
|
||||||
run(path+' Release', cef_tools_dir, depot_tools_dir)
|
run(path+' Release', cef_tools_dir, depot_tools_dir)
|
||||||
|
|
||||||
if (any_changed or options.forcedistrib) and not options.nodistrib:
|
if (any_changed or options.forcedistrib) and not options.nodistrib:
|
||||||
# make a CEF binary distribution
|
# determine the requested distribution types
|
||||||
make_minimal = options.minimaldistrib or options.minimaldistribonly
|
distrib_types = []
|
||||||
path = os.path.join(cef_tools_dir, 'make_distrib'+script_ext)
|
if options.minimaldistribonly:
|
||||||
if options.ninjabuild:
|
distrib_types.append('minimal')
|
||||||
path = path + ' --ninja-build'
|
elif options.clientdistribonly:
|
||||||
if options.nodebugbuild or options.noreleasebuild or make_minimal:
|
distrib_types.append('client')
|
||||||
path = path + ' --allow-partial'
|
else:
|
||||||
|
distrib_types.append('standard')
|
||||||
|
if options.minimaldistrib:
|
||||||
|
distrib_types.append('minimal')
|
||||||
|
if options.clientdistrib:
|
||||||
|
distrib_types.append('client')
|
||||||
|
|
||||||
if not options.minimaldistribonly:
|
first_type = True
|
||||||
# create the full distribution
|
|
||||||
run(path, cef_tools_dir, depot_tools_dir)
|
|
||||||
|
|
||||||
if make_minimal:
|
# create the requested distribution types
|
||||||
# create the minimial distribution
|
for type in distrib_types:
|
||||||
path = path + ' --minimal'
|
path = os.path.join(cef_tools_dir, 'make_distrib'+script_ext)
|
||||||
if not options.minimaldistribonly:
|
if options.nodebugbuild or options.noreleasebuild or type != 'standard':
|
||||||
# don't create the symbol archive twice
|
path = path + ' --allow-partial'
|
||||||
path = path + ' --no-symbols'
|
if options.ninjabuild:
|
||||||
|
path = path + ' --ninja-build'
|
||||||
|
|
||||||
|
if type == 'minimal':
|
||||||
|
path = path + ' --minimal'
|
||||||
|
elif type == 'client':
|
||||||
|
path = path + ' --client'
|
||||||
|
|
||||||
|
if first_type:
|
||||||
|
if options.nodistribdocs:
|
||||||
|
path = path + ' --no-docs'
|
||||||
|
if options.nodistribarchive:
|
||||||
|
path = path + ' --no-archive'
|
||||||
|
first_type = False
|
||||||
|
else:
|
||||||
|
# don't create the symbol archives or documentation more than once
|
||||||
|
path = path + ' --no-symbols --no-docs'
|
||||||
|
|
||||||
|
# create the distribution
|
||||||
run(path, cef_tools_dir, depot_tools_dir)
|
run(path, cef_tools_dir, depot_tools_dir)
|
||||||
|
|
|
@ -0,0 +1,12 @@
|
||||||
|
CONTENTS
|
||||||
|
--------
|
||||||
|
|
||||||
|
Release Contains a release build of the cefclient sample application.
|
||||||
|
|
||||||
|
|
||||||
|
USAGE
|
||||||
|
-----
|
||||||
|
|
||||||
|
Please visit the CEF Website for additional usage information.
|
||||||
|
|
||||||
|
http://code.google.com/p/chromiumembedded
|
|
@ -0,0 +1,8 @@
|
||||||
|
LICENSING
|
||||||
|
---------
|
||||||
|
|
||||||
|
The CEF project is BSD licensed. Please read the LICENSE.txt file included with
|
||||||
|
this binary distribution for licensing terms and conditions. Other software
|
||||||
|
included in this distribution is provided under other licenses. Please visit
|
||||||
|
"about:credits" in a CEF-based application for complete Chromium and third-party
|
||||||
|
licensing information.
|
|
@ -0,0 +1,12 @@
|
||||||
|
Chromium Embedded Framework (CEF) $DISTRIB_TYPE$ Binary Distribution for $PLATFORM$
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Date: $DATE$
|
||||||
|
|
||||||
|
CEF Version: $CEF_VER$
|
||||||
|
CEF URL: $CEF_URL$@$CEF_REV$
|
||||||
|
|
||||||
|
Chromium Verison: $CHROMIUM_VER$
|
||||||
|
Chromium URL: $CHROMIUM_URL$@$CHROMIUM_REV$
|
||||||
|
|
||||||
|
$DISTRIB_DESC$
|
|
@ -59,6 +59,34 @@
|
||||||
},
|
},
|
||||||
'conditions': [
|
'conditions': [
|
||||||
['OS=="win"', {
|
['OS=="win"', {
|
||||||
|
'actions': [
|
||||||
|
{
|
||||||
|
'action_name': 'copy_resources',
|
||||||
|
'msvs_cygwin_shell': 0,
|
||||||
|
'inputs': [],
|
||||||
|
'outputs': [
|
||||||
|
'<(PRODUCT_DIR)/copy_resources.stamp',
|
||||||
|
],
|
||||||
|
'action': [
|
||||||
|
'xcopy /efy',
|
||||||
|
'Resources\*',
|
||||||
|
'$(OutDir)',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
{
|
||||||
|
'action_name': 'copy_libraries',
|
||||||
|
'msvs_cygwin_shell': 0,
|
||||||
|
'inputs': [],
|
||||||
|
'outputs': [
|
||||||
|
'<(PRODUCT_DIR)/copy_resources.stamp',
|
||||||
|
],
|
||||||
|
'action': [
|
||||||
|
'xcopy /efy',
|
||||||
|
'$(ConfigurationName)\*.dll',
|
||||||
|
'$(OutDir)',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
],
|
||||||
'msvs_settings': {
|
'msvs_settings': {
|
||||||
'VCLinkerTool': {
|
'VCLinkerTool': {
|
||||||
# Set /SUBSYSTEM:WINDOWS.
|
# Set /SUBSYSTEM:WINDOWS.
|
||||||
|
@ -73,7 +101,7 @@
|
||||||
'-lrpcrt4.lib',
|
'-lrpcrt4.lib',
|
||||||
'-lopengl32.lib',
|
'-lopengl32.lib',
|
||||||
'-lglu32.lib',
|
'-lglu32.lib',
|
||||||
'-llib/$(ConfigurationName)/libcef.lib'
|
'-l$(ConfigurationName)/libcef.lib'
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
'sources': [
|
'sources': [
|
||||||
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
CONTENTS
|
||||||
|
--------
|
||||||
|
|
||||||
|
Release Contains libcef.so and other components required to run the release
|
||||||
|
version of CEF-based applications. By default these files should be
|
||||||
|
placed in the same directory as the executable.
|
||||||
|
|
||||||
|
Resources Contains resources required by libcef.so. By default these files
|
||||||
|
should be placed in the same directory as libcef.so.
|
||||||
|
|
||||||
|
|
||||||
|
USAGE
|
||||||
|
-----
|
||||||
|
|
||||||
|
Please visit the CEF Website for additional usage information.
|
||||||
|
|
||||||
|
http://code.google.com/p/chromiumembedded
|
|
@ -0,0 +1,31 @@
|
||||||
|
REDISTRIBUTION
|
||||||
|
--------------
|
||||||
|
|
||||||
|
This binary distribution contains the below components. Components listed under
|
||||||
|
the "required" section must be redistributed with all applications using CEF.
|
||||||
|
Components listed under the "optional" section may be excluded if the related
|
||||||
|
features will not be used.
|
||||||
|
|
||||||
|
Required components:
|
||||||
|
|
||||||
|
* CEF core library
|
||||||
|
libcef.so
|
||||||
|
|
||||||
|
Optional components:
|
||||||
|
|
||||||
|
* Localized resources
|
||||||
|
locales/
|
||||||
|
Note: Contains localized strings for WebKit UI controls. A .pak file is loaded
|
||||||
|
from this folder based on the value of environment variables which are read
|
||||||
|
with the following precedence order: LANGUAGE, LC_ALL, LC_MESSAGES and LANG.
|
||||||
|
Only configured locales need to be distributed. If no locale is configured the
|
||||||
|
default locale of "en-US" will be used. Locale file loading can be disabled
|
||||||
|
completely using CefSettings.pack_loading_disabled. The locales folder path
|
||||||
|
can be customized using CefSettings.locales_dir_path.
|
||||||
|
|
||||||
|
* Other resources
|
||||||
|
cef.pak
|
||||||
|
devtools_resources.pak
|
||||||
|
Note: Contains WebKit image and inspector resources. Pack file loading can be
|
||||||
|
disabled completely using CefSettings.pack_loading_disabled. The resources
|
||||||
|
directory path can be customized using CefSettings.resources_dir_path.
|
|
@ -0,0 +1,34 @@
|
||||||
|
CONTENTS
|
||||||
|
--------
|
||||||
|
|
||||||
|
cefclient Contains the cefclient sample application configured to build
|
||||||
|
using the files in this distribution.
|
||||||
|
|
||||||
|
Debug Contains libcef.so and other components required to run the debug
|
||||||
|
version of CEF-based applications. By default these files should be
|
||||||
|
placed in the same directory as the executable and will be copied
|
||||||
|
there as part of the build process.
|
||||||
|
|
||||||
|
include Contains all required CEF header files.
|
||||||
|
|
||||||
|
libcef_dll Contains the source code for the libcef_dll_wrapper static library
|
||||||
|
that all applications using the CEF C++ API must link against.
|
||||||
|
|
||||||
|
Release Contains libcef.so and other components required to run the release
|
||||||
|
version of CEF-based applications. By default these files should be
|
||||||
|
placed in the same directory as the executable and will be copied
|
||||||
|
there as part of the build process.
|
||||||
|
|
||||||
|
Resources Contains resources required by libcef.so. By default these files
|
||||||
|
should be placed in the same directory as libcef.so and will be
|
||||||
|
copied there as part of the build process.
|
||||||
|
|
||||||
|
|
||||||
|
USAGE
|
||||||
|
-----
|
||||||
|
|
||||||
|
Run 'build.sh Debug' to build the cefclient target in Debug mode.
|
||||||
|
|
||||||
|
Please visit the CEF Website for additional usage information.
|
||||||
|
|
||||||
|
http://code.google.com/p/chromiumembedded
|
|
@ -1,96 +0,0 @@
|
||||||
Chromium Embedded Framework (CEF) Binary Distribution
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
Date: $DATE$
|
|
||||||
|
|
||||||
CEF Version: $CEF_VER$
|
|
||||||
CEF URL: $CEF_URL$@$CEF_REV$
|
|
||||||
|
|
||||||
Chromium Verison: $CHROMIUM_VER$
|
|
||||||
Chromium URL: $CHROMIUM_URL$@$CHROMIUM_REV$
|
|
||||||
|
|
||||||
|
|
||||||
This distribution contains all components necessary to build and distribute an
|
|
||||||
application using CEF. Please see the LICENSING section of this document for
|
|
||||||
licensing terms and conditions.
|
|
||||||
|
|
||||||
|
|
||||||
CONTENTS
|
|
||||||
--------
|
|
||||||
|
|
||||||
cefclient Contains the cefclient sample application configured to build
|
|
||||||
using the files in this distribution.
|
|
||||||
|
|
||||||
Debug Contains libcef.so and other components required to run the debug
|
|
||||||
version of CEF-based applications. By default these files should be
|
|
||||||
placed in the same directory as the executable and will be copied
|
|
||||||
there as part of the build process.
|
|
||||||
|
|
||||||
docs Contains C++ API documentation generated from the CEF header files.
|
|
||||||
|
|
||||||
include Contains all required CEF header files.
|
|
||||||
|
|
||||||
libcef_dll Contains the source code for the libcef_dll_wrapper static library
|
|
||||||
that all applications using the CEF C++ API must link against.
|
|
||||||
|
|
||||||
Release Contains libcef.so and other components required to run the release
|
|
||||||
version of CEF-based applications. By default these files should be
|
|
||||||
placed in the same directory as the executable and will be copied
|
|
||||||
there as part of the build process.
|
|
||||||
|
|
||||||
Resources Contains resources required by libcef.so. By default these files
|
|
||||||
should be placed in the same directory as libcef.so and will be
|
|
||||||
copied there as part of the build process.
|
|
||||||
|
|
||||||
|
|
||||||
USAGE
|
|
||||||
-----
|
|
||||||
|
|
||||||
Run 'build.sh Debug' to build the cefclient target in Debug mode.
|
|
||||||
|
|
||||||
Please visit the CEF Website for additional usage information.
|
|
||||||
|
|
||||||
http://code.google.com/p/chromiumembedded
|
|
||||||
|
|
||||||
|
|
||||||
REDISTRIBUTION
|
|
||||||
--------------
|
|
||||||
|
|
||||||
This binary distribution contains the below components. Components listed under
|
|
||||||
the "required" section must be redistributed with all applications using CEF.
|
|
||||||
Components listed under the "optional" section may be excluded if the related
|
|
||||||
features will not be used.
|
|
||||||
|
|
||||||
Required components:
|
|
||||||
|
|
||||||
* CEF core library
|
|
||||||
libcef.so
|
|
||||||
|
|
||||||
Optional components:
|
|
||||||
|
|
||||||
* Localized resources
|
|
||||||
locales/
|
|
||||||
Note: Contains localized strings for WebKit UI controls. A .pak file is loaded
|
|
||||||
from this folder based on the value of environment variables which are read
|
|
||||||
with the following precedence order: LANGUAGE, LC_ALL, LC_MESSAGES and LANG.
|
|
||||||
Only configured locales need to be distributed. If no locale is configured the
|
|
||||||
default locale of "en-US" will be used. Locale file loading can be disabled
|
|
||||||
completely using CefSettings.pack_loading_disabled. The locales folder path
|
|
||||||
can be customized using CefSettings.locales_dir_path.
|
|
||||||
|
|
||||||
* Other resources
|
|
||||||
cef.pak
|
|
||||||
devtools_resources.pak
|
|
||||||
Note: Contains WebKit image and inspector resources. Pack file loading can be
|
|
||||||
disabled completely using CefSettings.pack_loading_disabled. The resources
|
|
||||||
directory path can be customized using CefSettings.resources_dir_path.
|
|
||||||
|
|
||||||
|
|
||||||
LICENSING
|
|
||||||
---------
|
|
||||||
|
|
||||||
The CEF project is BSD licensed. Please read the LICENSE.txt file included with
|
|
||||||
this binary distribution for licensing terms and conditions. Other software
|
|
||||||
included in this distribution is provided under other licenses. Please visit
|
|
||||||
"about:credits" in a CEF-based application for complete Chromium and third-party
|
|
||||||
licensing information.
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
CONTENTS
|
||||||
|
--------
|
||||||
|
|
||||||
|
Release Contains libcef.dylib and other components required to run the
|
||||||
|
release version of CEF-based applications.
|
||||||
|
|
||||||
|
Resources Contains images and resources required by applications using CEF.
|
||||||
|
The contents of this folder should be transferred to the
|
||||||
|
Contents/Resources folder in the app bundle.
|
||||||
|
|
||||||
|
|
||||||
|
USAGE
|
||||||
|
-----
|
||||||
|
|
||||||
|
Please visit the CEF Website for additional usage information.
|
||||||
|
|
||||||
|
http://code.google.com/p/chromiumembedded
|
|
@ -0,0 +1,37 @@
|
||||||
|
REDISTRIBUTION
|
||||||
|
--------------
|
||||||
|
|
||||||
|
This binary distribution contains the below components. Components listed under
|
||||||
|
the "required" section must be redistributed with all applications using CEF.
|
||||||
|
Components listed under the "optional" section may be excluded if the related
|
||||||
|
features will not be used.
|
||||||
|
|
||||||
|
Required components:
|
||||||
|
|
||||||
|
* CEF core library
|
||||||
|
libcef.dylib
|
||||||
|
|
||||||
|
* Cursor resources
|
||||||
|
Resources/*.png
|
||||||
|
Resources/*.tiff
|
||||||
|
|
||||||
|
Optional components:
|
||||||
|
|
||||||
|
* Localized resources
|
||||||
|
Resources/*.lproj/
|
||||||
|
Note: Contains localized strings for WebKit UI controls. A .pak file is loaded
|
||||||
|
from this folder based on the CefSettings.locale value. Only configured
|
||||||
|
locales need to be distributed. If no locale is configured the default locale
|
||||||
|
of "en" will be used. Locale file loading can be disabled completely using
|
||||||
|
CefSettings.pack_loading_disabled.
|
||||||
|
|
||||||
|
* Other resources
|
||||||
|
Resources/cef.pak
|
||||||
|
Resources/devtools_resources.pak
|
||||||
|
Note: Contains WebKit image and inspector resources. Pack file loading can be
|
||||||
|
disabled completely using CefSettings.pack_loading_disabled. The resources
|
||||||
|
directory path can be customized using CefSettings.resources_dir_path.
|
||||||
|
|
||||||
|
* FFmpeg audio and video support
|
||||||
|
ffmpegsumo.so
|
||||||
|
Note: Without this component HTML5 audio and video will not function.
|
|
@ -0,0 +1,36 @@
|
||||||
|
CONTENTS
|
||||||
|
--------
|
||||||
|
|
||||||
|
cefclient Contains the cefclient sample application configured to build
|
||||||
|
using the files in this distribution.
|
||||||
|
|
||||||
|
Debug Contains libcef.dylib and other components required to run the debug
|
||||||
|
version of CEF-based applications.
|
||||||
|
|
||||||
|
include Contains all required CEF header files.
|
||||||
|
|
||||||
|
libcef_dll Contains the source code for the libcef_dll_wrapper static library
|
||||||
|
that all applications using the CEF C++ API must link against.
|
||||||
|
|
||||||
|
Release Contains libcef.dylib and other components required to run the
|
||||||
|
release version of CEF-based applications.
|
||||||
|
|
||||||
|
Resources Contains images and resources required by applications using CEF.
|
||||||
|
The contents of this folder should be transferred to the
|
||||||
|
Contents/Resources folder in the app bundle.
|
||||||
|
|
||||||
|
tools Scripts that perform post-processing on Mac release targets.
|
||||||
|
|
||||||
|
|
||||||
|
USAGE
|
||||||
|
-----
|
||||||
|
|
||||||
|
Xcode 3 and 4: Open the cefclient.xcodeproj project and build.
|
||||||
|
|
||||||
|
When using Xcode 4.2 or newer you will need to change the "Compiler for
|
||||||
|
C/C++/Objective-C" setting to "LLVM GCC 4.2" under "Build Settings" for
|
||||||
|
each target.
|
||||||
|
|
||||||
|
Please visit the CEF Website for additional usage information.
|
||||||
|
|
||||||
|
http://code.google.com/p/chromiumembedded
|
|
@ -1,104 +0,0 @@
|
||||||
Chromium Embedded Framework (CEF) Binary Distribution
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
Date: $DATE$
|
|
||||||
|
|
||||||
CEF Version: $CEF_VER$
|
|
||||||
CEF URL: $CEF_URL$@$CEF_REV$
|
|
||||||
|
|
||||||
Chromium Verison: $CHROMIUM_VER$
|
|
||||||
Chromium URL: $CHROMIUM_URL$@$CHROMIUM_REV$
|
|
||||||
|
|
||||||
|
|
||||||
This distribution contains all components necessary to build and distribute an
|
|
||||||
application using CEF. Please see the LICENSING section of this document for
|
|
||||||
licensing terms and conditions.
|
|
||||||
|
|
||||||
|
|
||||||
CONTENTS
|
|
||||||
--------
|
|
||||||
|
|
||||||
cefclient Contains the cefclient sample application configured to build
|
|
||||||
using the files in this distribution.
|
|
||||||
|
|
||||||
Debug Contains libcef.dylib and other components required to run the debug
|
|
||||||
version of CEF-based applications.
|
|
||||||
|
|
||||||
docs Contains C++ API documentation generated from the CEF header files.
|
|
||||||
|
|
||||||
include Contains all required CEF header files.
|
|
||||||
|
|
||||||
libcef_dll Contains the source code for the libcef_dll_wrapper static library
|
|
||||||
that all applications using the CEF C++ API must link against.
|
|
||||||
|
|
||||||
Release Contains libcef.dylib and other components required to run the
|
|
||||||
release version of CEF-based applications.
|
|
||||||
|
|
||||||
Resources Contains images and resources required by applications using CEF.
|
|
||||||
The contents of this folder should be transferred to the
|
|
||||||
Contents/Resources folder in the app bundle.
|
|
||||||
|
|
||||||
tools Scripts that perform post-processing on Mac release targets.
|
|
||||||
|
|
||||||
|
|
||||||
USAGE
|
|
||||||
-----
|
|
||||||
|
|
||||||
Xcode 3 and 4: Open the cefclient.xcodeproj project and build.
|
|
||||||
|
|
||||||
When using Xcode 4.2 or newer you will need to change the "Compiler for
|
|
||||||
C/C++/Objective-C" setting to "LLVM GCC 4.2" under "Build Settings" for
|
|
||||||
each target.
|
|
||||||
|
|
||||||
Please visit the CEF Website for additional usage information.
|
|
||||||
|
|
||||||
http://code.google.com/p/chromiumembedded
|
|
||||||
|
|
||||||
|
|
||||||
REDISTRIBUTION
|
|
||||||
--------------
|
|
||||||
|
|
||||||
This binary distribution contains the below components. Components listed under
|
|
||||||
the "required" section must be redistributed with all applications using CEF.
|
|
||||||
Components listed under the "optional" section may be excluded if the related
|
|
||||||
features will not be used.
|
|
||||||
|
|
||||||
Required components:
|
|
||||||
|
|
||||||
* CEF core library
|
|
||||||
libcef.dylib
|
|
||||||
|
|
||||||
* Cursor resources
|
|
||||||
Resources/*.png
|
|
||||||
Resources/*.tiff
|
|
||||||
|
|
||||||
Optional components:
|
|
||||||
|
|
||||||
* Localized resources
|
|
||||||
Resources/*.lproj/
|
|
||||||
Note: Contains localized strings for WebKit UI controls. A .pak file is loaded
|
|
||||||
from this folder based on the CefSettings.locale value. Only configured
|
|
||||||
locales need to be distributed. If no locale is configured the default locale
|
|
||||||
of "en" will be used. Locale file loading can be disabled completely using
|
|
||||||
CefSettings.pack_loading_disabled.
|
|
||||||
|
|
||||||
* Other resources
|
|
||||||
Resources/cef.pak
|
|
||||||
Resources/devtools_resources.pak
|
|
||||||
Note: Contains WebKit image and inspector resources. Pack file loading can be
|
|
||||||
disabled completely using CefSettings.pack_loading_disabled. The resources
|
|
||||||
directory path can be customized using CefSettings.resources_dir_path.
|
|
||||||
|
|
||||||
* FFmpeg audio and video support
|
|
||||||
ffmpegsumo.so
|
|
||||||
Note: Without this component HTML5 audio and video will not function.
|
|
||||||
|
|
||||||
|
|
||||||
LICENSING
|
|
||||||
---------
|
|
||||||
|
|
||||||
The CEF project is BSD licensed. Please read the LICENSE.txt file included with
|
|
||||||
this binary distribution for licensing terms and conditions. Other software
|
|
||||||
included in this distribution is provided under other licenses. Please visit
|
|
||||||
"about:credits" in a CEF-based application for complete Chromium and third-party
|
|
||||||
licensing information.
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
CONTENTS
|
||||||
|
--------
|
||||||
|
|
||||||
|
Release Contains libcef.dll, libcef.lib and other components required to
|
||||||
|
build and run the release version of CEF-based applications. By
|
||||||
|
default these files should be placed in the same directory as the
|
||||||
|
executable.
|
||||||
|
|
||||||
|
Resources Contains resources required by libcef.dll. By default these files
|
||||||
|
should be placed in the same directory as libcef.dll. By default
|
||||||
|
these files should be placed in the same directory as libcef.dll.
|
||||||
|
|
||||||
|
|
||||||
|
USAGE
|
||||||
|
-----
|
||||||
|
|
||||||
|
Please visit the CEF Website for additional usage information.
|
||||||
|
|
||||||
|
http://code.google.com/p/chromiumembedded
|
|
@ -0,0 +1,45 @@
|
||||||
|
REDISTRIBUTION
|
||||||
|
--------------
|
||||||
|
|
||||||
|
This binary distribution contains the below components. Components listed under
|
||||||
|
the "required" section must be redistributed with all applications using CEF.
|
||||||
|
Components listed under the "optional" section may be excluded if the related
|
||||||
|
features will not be used.
|
||||||
|
|
||||||
|
Required components:
|
||||||
|
|
||||||
|
* CEF core library
|
||||||
|
libcef.dll
|
||||||
|
|
||||||
|
* Unicode support
|
||||||
|
icudt.dll
|
||||||
|
|
||||||
|
Optional components:
|
||||||
|
|
||||||
|
* Localized resources
|
||||||
|
locales/
|
||||||
|
Note: Contains localized strings for WebKit UI controls. A .pak file is loaded
|
||||||
|
from this folder based on the CefSettings.locale value. Only configured
|
||||||
|
locales need to be distributed. If no locale is configured the default locale
|
||||||
|
of "en-US" will be used. Locale file loading can be disabled completely using
|
||||||
|
CefSettings.pack_loading_disabled. The locales folder path can be customized
|
||||||
|
using CefSettings.locales_dir_path.
|
||||||
|
|
||||||
|
* Other resources
|
||||||
|
cef.pak
|
||||||
|
devtools_resources.pak
|
||||||
|
Note: Contains WebKit image and inspector resources. Pack file loading can be
|
||||||
|
disabled completely using CefSettings.pack_loading_disabled. The resources
|
||||||
|
directory path can be customized using CefSettings.resources_dir_path.
|
||||||
|
|
||||||
|
* FFmpeg audio and video support
|
||||||
|
ffmpegsumo.dll
|
||||||
|
Note: Without this component HTML5 audio and video will not function.
|
||||||
|
|
||||||
|
* Angle and Direct3D support
|
||||||
|
d3dcompiler_43.dll (required for Windows XP)
|
||||||
|
d3dcompiler_46.dll (required for Windows Vista and newer)
|
||||||
|
libEGL.dll
|
||||||
|
libGLESv2.dll
|
||||||
|
Note: Without these components HTML5 accelerated content like 2D canvas, 3D
|
||||||
|
CSS and WebGL will not function.
|
|
@ -0,0 +1,46 @@
|
||||||
|
CONTENTS
|
||||||
|
--------
|
||||||
|
|
||||||
|
cefclient Contains the cefclient sample application configured to build
|
||||||
|
using the files in this distribution.
|
||||||
|
|
||||||
|
Debug Contains libcef.dll, libcef.lib and other components required to
|
||||||
|
build and run the debug version of CEF-based applications. By
|
||||||
|
default these files should be placed in the same directory as the
|
||||||
|
executable and will be copied there as part of the build process.
|
||||||
|
|
||||||
|
include Contains all required CEF header files.
|
||||||
|
|
||||||
|
libcef_dll Contains the source code for the libcef_dll_wrapper static library
|
||||||
|
that all applications using the CEF C++ API must link against.
|
||||||
|
|
||||||
|
Release Contains libcef.dll, libcef.lib and other components required to
|
||||||
|
build and run the release version of CEF-based applications. By
|
||||||
|
default these files should be placed in the same directory as the
|
||||||
|
executable and will be copied there as part of the build process.
|
||||||
|
|
||||||
|
Resources Contains resources required by libcef.dll. By default these files
|
||||||
|
should be placed in the same directory as libcef.dll. By default
|
||||||
|
these files should be placed in the same directory as libcef.dll
|
||||||
|
and will be copied there as part of the build process.
|
||||||
|
|
||||||
|
|
||||||
|
USAGE
|
||||||
|
-----
|
||||||
|
|
||||||
|
Visual Studio 2012 and Visual Studio 2010:
|
||||||
|
Open the cefclient2010.sln solution in Visual Studio and build.
|
||||||
|
|
||||||
|
Visual Studio 2008:
|
||||||
|
Open the cefclient2008.sln solution in Visual Studio and build.
|
||||||
|
|
||||||
|
Visual Studio 2005:
|
||||||
|
1. Open the cefclient.vcproj and libcef_dll_wrapper.vcproj files in a text
|
||||||
|
editor. Change Version="9.00" to Version="8.00".
|
||||||
|
2. Open the cefclient2005.sln file in a text editor. Change "Version 9.00" to
|
||||||
|
"Version 8.00".
|
||||||
|
3. Open the cefclient2005.sln solution in Visual Studio and build.
|
||||||
|
|
||||||
|
Please visit the CEF Website for additional usage information.
|
||||||
|
|
||||||
|
http://code.google.com/p/chromiumembedded
|
|
@ -1,118 +0,0 @@
|
||||||
Chromium Embedded Framework (CEF) Binary Distribution
|
|
||||||
-------------------------------------------------------------------------------
|
|
||||||
|
|
||||||
Date: $DATE$
|
|
||||||
|
|
||||||
CEF Version: $CEF_VER$
|
|
||||||
CEF URL: $CEF_URL$@$CEF_REV$
|
|
||||||
|
|
||||||
Chromium Verison: $CHROMIUM_VER$
|
|
||||||
Chromium URL: $CHROMIUM_URL$@$CHROMIUM_REV$
|
|
||||||
|
|
||||||
|
|
||||||
This distribution contains all components necessary to build and distribute an
|
|
||||||
application using CEF. Please see the LICENSING section of this document for
|
|
||||||
licensing terms and conditions.
|
|
||||||
|
|
||||||
|
|
||||||
CONTENTS
|
|
||||||
--------
|
|
||||||
|
|
||||||
cefclient Contains the cefclient sample application configured to build
|
|
||||||
using the files in this distribution.
|
|
||||||
|
|
||||||
Debug Contains libcef.dll and other components required to run the debug
|
|
||||||
version of CEF-based applications. Also acts as the build target for
|
|
||||||
the Debug build of cefclient.
|
|
||||||
|
|
||||||
docs Contains C++ API documentation generated from the CEF header files.
|
|
||||||
|
|
||||||
include Contains all required CEF header files.
|
|
||||||
|
|
||||||
lib Contains Debug and Release versions of the libcef.lib library file
|
|
||||||
that all CEF-based applications must link against.
|
|
||||||
|
|
||||||
libcef_dll Contains the source code for the libcef_dll_wrapper static library
|
|
||||||
that all applications using the CEF C++ API must link against.
|
|
||||||
|
|
||||||
Release Contains libcef.dll and other components required to run the release
|
|
||||||
version of CEF-based applications. Also acts as the build target for
|
|
||||||
the Release build of cefclient.
|
|
||||||
|
|
||||||
|
|
||||||
USAGE
|
|
||||||
-----
|
|
||||||
|
|
||||||
Visual Studio 2012 and Visual Studio 2010:
|
|
||||||
Open the cefclient2010.sln solution in Visual Studio and build.
|
|
||||||
|
|
||||||
Visual Studio 2008:
|
|
||||||
Open the cefclient2008.sln solution in Visual Studio and build.
|
|
||||||
|
|
||||||
Visual Studio 2005:
|
|
||||||
1. Open the cefclient.vcproj and libcef_dll_wrapper.vcproj files in a text
|
|
||||||
editor. Change Version="9.00" to Version="8.00".
|
|
||||||
2. Open the cefclient2005.sln file in a text editor. Change "Version 9.00" to
|
|
||||||
"Version 8.00".
|
|
||||||
3. Open the cefclient2005.sln solution in Visual Studio and build.
|
|
||||||
|
|
||||||
Please visit the CEF Website for additional usage information.
|
|
||||||
|
|
||||||
http://code.google.com/p/chromiumembedded
|
|
||||||
|
|
||||||
|
|
||||||
REDISTRIBUTION
|
|
||||||
--------------
|
|
||||||
|
|
||||||
This binary distribution contains the below components. Components listed under
|
|
||||||
the "required" section must be redistributed with all applications using CEF.
|
|
||||||
Components listed under the "optional" section may be excluded if the related
|
|
||||||
features will not be used.
|
|
||||||
|
|
||||||
Required components:
|
|
||||||
|
|
||||||
* CEF core library
|
|
||||||
libcef.dll
|
|
||||||
|
|
||||||
* Unicode support
|
|
||||||
icudt.dll
|
|
||||||
|
|
||||||
Optional components:
|
|
||||||
|
|
||||||
* Localized resources
|
|
||||||
locales/
|
|
||||||
Note: Contains localized strings for WebKit UI controls. A .pak file is loaded
|
|
||||||
from this folder based on the CefSettings.locale value. Only configured
|
|
||||||
locales need to be distributed. If no locale is configured the default locale
|
|
||||||
of "en-US" will be used. Locale file loading can be disabled completely using
|
|
||||||
CefSettings.pack_loading_disabled. The locales folder path can be customized
|
|
||||||
using CefSettings.locales_dir_path.
|
|
||||||
|
|
||||||
* Other resources
|
|
||||||
cef.pak
|
|
||||||
devtools_resources.pak
|
|
||||||
Note: Contains WebKit image and inspector resources. Pack file loading can be
|
|
||||||
disabled completely using CefSettings.pack_loading_disabled. The resources
|
|
||||||
directory path can be customized using CefSettings.resources_dir_path.
|
|
||||||
|
|
||||||
* FFmpeg audio and video support
|
|
||||||
ffmpegsumo.dll
|
|
||||||
Note: Without this component HTML5 audio and video will not function.
|
|
||||||
|
|
||||||
* Angle and Direct3D support
|
|
||||||
d3dcompiler_43.dll (required for Windows XP)
|
|
||||||
d3dcompiler_46.dll (required for Windows Vista and newer)
|
|
||||||
libEGL.dll
|
|
||||||
libGLESv2.dll
|
|
||||||
Note: Without these components HTML5 accelerated content like 2D canvas, 3D
|
|
||||||
CSS and WebGL will not function.
|
|
||||||
|
|
||||||
|
|
||||||
LICENSING
|
|
||||||
---------
|
|
||||||
|
|
||||||
The CEF project is BSD licensed. Please read the LICENSE.txt file included with
|
|
||||||
this binary distribution for licensing terms and conditions. Other software
|
|
||||||
included in this distribution is provided under other licenses. Please visit
|
|
||||||
"about:credits" in a CEF-based application for complete Chromium and third-party
|
|
||||||
licensing information.
|
|
|
@ -28,10 +28,47 @@ def create_archive(input_dir, zip_file):
|
||||||
addDir(input_dir)
|
addDir(input_dir)
|
||||||
zf.close()
|
zf.close()
|
||||||
|
|
||||||
def create_readme(src, output_dir, cef_url, cef_rev, cef_ver, chromium_url, \
|
def create_output_dir(name, parent_dir):
|
||||||
chromium_rev, chromium_ver, date):
|
""" Creates an output directory and adds the path to the archive list. """
|
||||||
|
output_dir = os.path.abspath(os.path.join(parent_dir, name))
|
||||||
|
remove_dir(output_dir, options.quiet)
|
||||||
|
make_dir(output_dir, options.quiet)
|
||||||
|
archive_dirs.append(output_dir)
|
||||||
|
return output_dir
|
||||||
|
|
||||||
|
def get_readme_component(name):
|
||||||
|
""" Loads a README file component. """
|
||||||
|
paths = []
|
||||||
|
# platform directory
|
||||||
|
if platform == 'windows':
|
||||||
|
platform_cmp = 'win'
|
||||||
|
elif platmform == 'macosx':
|
||||||
|
platform_cmp = 'mac'
|
||||||
|
elif platform == 'linux':
|
||||||
|
platform_cmp = 'linux'
|
||||||
|
paths.append(os.path.join(script_dir, 'distrib', platform_cmp))
|
||||||
|
|
||||||
|
# shared directory
|
||||||
|
paths.append(os.path.join(script_dir, 'distrib'))
|
||||||
|
|
||||||
|
# load the file if it exists
|
||||||
|
for path in paths:
|
||||||
|
file = os.path.join(path, 'README.' +name + '.txt')
|
||||||
|
if path_exists(file):
|
||||||
|
return read_file(file)
|
||||||
|
|
||||||
|
raise Exception('Readme component not found: ' + name)
|
||||||
|
|
||||||
|
def create_readme():
|
||||||
""" Creates the README.TXT file. """
|
""" Creates the README.TXT file. """
|
||||||
data = read_file(src)
|
# gather the components
|
||||||
|
header_data = get_readme_component('header')
|
||||||
|
mode_data = get_readme_component(mode)
|
||||||
|
redistrib_data = get_readme_component('redistrib')
|
||||||
|
footer_data = get_readme_component('footer')
|
||||||
|
|
||||||
|
# format the file
|
||||||
|
data = header_data + '\n\n' + mode_data + '\n\n' + redistrib_data + '\n\n' + footer_data
|
||||||
data = data.replace('$CEF_URL$', cef_url)
|
data = data.replace('$CEF_URL$', cef_url)
|
||||||
data = data.replace('$CEF_REV$', cef_rev)
|
data = data.replace('$CEF_REV$', cef_rev)
|
||||||
data = data.replace('$CEF_VER$', cef_ver)
|
data = data.replace('$CEF_VER$', cef_ver)
|
||||||
|
@ -39,6 +76,35 @@ def create_readme(src, output_dir, cef_url, cef_rev, cef_ver, chromium_url, \
|
||||||
data = data.replace('$CHROMIUM_REV$', chromium_rev)
|
data = data.replace('$CHROMIUM_REV$', chromium_rev)
|
||||||
data = data.replace('$CHROMIUM_VER$', chromium_ver)
|
data = data.replace('$CHROMIUM_VER$', chromium_ver)
|
||||||
data = data.replace('$DATE$', date)
|
data = data.replace('$DATE$', date)
|
||||||
|
|
||||||
|
if platform == 'windows':
|
||||||
|
platform_str = 'Windows'
|
||||||
|
elif platmform == 'macosx':
|
||||||
|
platform_str = 'Mac OS-X'
|
||||||
|
elif platform == 'linux':
|
||||||
|
platform_str = 'Linux'
|
||||||
|
|
||||||
|
data = data.replace('$PLATFORM$', platform_str)
|
||||||
|
|
||||||
|
if mode == 'standard':
|
||||||
|
distrib_type = 'Standard'
|
||||||
|
distrib_desc = 'This distribution contains all components necessary to build and distribute an\n' \
|
||||||
|
'application using CEF on the ' + platform_str + ' platform. Please see the LICENSING\n' \
|
||||||
|
'section of this document for licensing terms and conditions.'
|
||||||
|
elif mode == 'minimal':
|
||||||
|
distrib_type = 'Minimal'
|
||||||
|
distrib_desc = 'This distribution contains only the components required to distribute an\n' \
|
||||||
|
'application using CEF on the ' + platform_str + ' platform. Please see the LICENSING\n' \
|
||||||
|
'section of this document for licensing terms and conditions.'
|
||||||
|
elif mode == 'client':
|
||||||
|
distrib_type = 'Client'
|
||||||
|
distrib_desc = 'This distribution contains a release build of the cefclient sample application\n' \
|
||||||
|
'for the ' + platform_str + ' platform. Please see the LICENSING section of this document for\n' \
|
||||||
|
'licensing terms and conditions.'
|
||||||
|
|
||||||
|
data = data.replace('$DISTRIB_TYPE$', distrib_type)
|
||||||
|
data = data.replace('$DISTRIB_DESC$', distrib_desc)
|
||||||
|
|
||||||
write_file(os.path.join(output_dir, 'README.txt'), data)
|
write_file(os.path.join(output_dir, 'README.txt'), data)
|
||||||
if not options.quiet:
|
if not options.quiet:
|
||||||
sys.stdout.write('Creating README.TXT file.\n')
|
sys.stdout.write('Creating README.TXT file.\n')
|
||||||
|
@ -108,8 +174,13 @@ def generate_msvs_projects(version):
|
||||||
move_file(os.path.relpath(os.path.join(output_dir, 'cefclient.sln')), \
|
move_file(os.path.relpath(os.path.join(output_dir, 'cefclient.sln')), \
|
||||||
os.path.relpath(os.path.join(output_dir, 'cefclient'+version+'.sln')))
|
os.path.relpath(os.path.join(output_dir, 'cefclient'+version+'.sln')))
|
||||||
|
|
||||||
def fix_msvs_projects():
|
def create_msvs_projects():
|
||||||
""" Fix the output directory path in all .vcproj and .vcxproj files. """
|
""" Create MSVS project files. """
|
||||||
|
generate_msvs_projects('2005');
|
||||||
|
generate_msvs_projects('2008');
|
||||||
|
generate_msvs_projects('2010');
|
||||||
|
|
||||||
|
# Fix the output directory path in all .vcproj and .vcxproj files.
|
||||||
files = []
|
files = []
|
||||||
for file in get_files(os.path.join(output_dir, '*.vcproj')):
|
for file in get_files(os.path.join(output_dir, '*.vcproj')):
|
||||||
files.append(file)
|
files.append(file)
|
||||||
|
@ -117,12 +188,52 @@ def fix_msvs_projects():
|
||||||
files.append(file)
|
files.append(file)
|
||||||
for file in files:
|
for file in files:
|
||||||
data = read_file(file)
|
data = read_file(file)
|
||||||
data = data.replace('../../..\\build\\', '')
|
# fix the build directory path
|
||||||
data = data.replace('..\\..\\..\\build\\', '')
|
data = data.replace('../../..\\build\\', 'out\\')
|
||||||
|
data = data.replace('..\\..\\..\\build\\', 'out\\')
|
||||||
|
# fix xcopy arguments
|
||||||
|
data = data.replace('xcopy \\', 'xcopy /')
|
||||||
write_file(file, data)
|
write_file(file, data)
|
||||||
|
|
||||||
def fix_make_projects():
|
def create_xcode_projects():
|
||||||
""" Fix the output directory path in Makefile all .mk files. """
|
""" Create Xcode project files. """
|
||||||
|
sys.stdout.write('Generating Xcode project files...')
|
||||||
|
os.environ['GYP_GENERATORS'] = 'xcode'
|
||||||
|
gyper = [ 'python', 'tools/gyp_cef', os.path.relpath(os.path.join(output_dir, 'cefclient.gyp'), cef_dir) ]
|
||||||
|
RunAction(cef_dir, gyper);
|
||||||
|
|
||||||
|
# Post-process the Xcode project to fix file paths
|
||||||
|
src_file = os.path.join(output_dir, 'cefclient.xcodeproj/project.pbxproj')
|
||||||
|
data = read_file(src_file)
|
||||||
|
data = data.replace('../../../build/mac/', 'tools/')
|
||||||
|
data = data.replace('../../../build', 'build')
|
||||||
|
data = data.replace('../../../xcodebuild', 'xcodebuild')
|
||||||
|
write_file(src_file, data)
|
||||||
|
|
||||||
|
def create_make_projects():
|
||||||
|
""" Create make project files. """
|
||||||
|
makefile = os.path.join(src_dir, 'Makefile')
|
||||||
|
makefile_tmp = ''
|
||||||
|
if path_exists(makefile):
|
||||||
|
# Back up the existing Makefile
|
||||||
|
makefile_tmp = makefile + '.cef_bak'
|
||||||
|
copy_file(makefile, makefile_tmp, options.quiet)
|
||||||
|
|
||||||
|
# Generate make project files
|
||||||
|
sys.stdout.write('Generating make project files...')
|
||||||
|
os.environ['GYP_GENERATORS'] = 'make'
|
||||||
|
gyper = [ 'python', 'tools/gyp_cef', os.path.relpath(os.path.join(output_dir, 'cefclient.gyp'), cef_dir) ]
|
||||||
|
RunAction(cef_dir, gyper);
|
||||||
|
|
||||||
|
# Copy the resulting Makefile to the destination directory
|
||||||
|
copy_file(makefile, output_dir, options.quiet)
|
||||||
|
|
||||||
|
remove_file(makefile, options.quiet)
|
||||||
|
if makefile_tmp != '':
|
||||||
|
# Restore the original Makefile
|
||||||
|
move_file(makefile_tmp, makefile, options.quiet)
|
||||||
|
|
||||||
|
# Fix the output directory path in Makefile all .mk files.
|
||||||
find = os.path.relpath(output_dir, src_dir)
|
find = os.path.relpath(output_dir, src_dir)
|
||||||
files = [os.path.join(output_dir, 'Makefile')]
|
files = [os.path.join(output_dir, 'Makefile')]
|
||||||
for file in get_files(os.path.join(output_dir, '*.mk')):
|
for file in get_files(os.path.join(output_dir, '*.mk')):
|
||||||
|
@ -165,13 +276,22 @@ parser.add_option('--allow-partial',
|
||||||
help='allow creation of partial distributions')
|
help='allow creation of partial distributions')
|
||||||
parser.add_option('--no-symbols',
|
parser.add_option('--no-symbols',
|
||||||
action='store_true', dest='nosymbols', default=False,
|
action='store_true', dest='nosymbols', default=False,
|
||||||
help='do not create symbol files')
|
help='don\'t create symbol files')
|
||||||
|
parser.add_option('--no-docs',
|
||||||
|
action='store_true', dest='nodocs', default=False,
|
||||||
|
help='don\'t create documentation')
|
||||||
|
parser.add_option('--no-archive',
|
||||||
|
action='store_true', dest='noarchive', default=False,
|
||||||
|
help='don\'t create archives for output directories')
|
||||||
parser.add_option('--ninja-build',
|
parser.add_option('--ninja-build',
|
||||||
action='store_true', dest='ninjabuild', default=False,
|
action='store_true', dest='ninjabuild', default=False,
|
||||||
help='build was created using ninja')
|
help='build was created using ninja')
|
||||||
parser.add_option('--minimal',
|
parser.add_option('--minimal',
|
||||||
action='store_true', dest='minimal', default=False,
|
action='store_true', dest='minimal', default=False,
|
||||||
help='include only release build binary files')
|
help='include only release build binary files')
|
||||||
|
parser.add_option('--client',
|
||||||
|
action='store_true', dest='client', default=False,
|
||||||
|
help='include only the cefclient application')
|
||||||
parser.add_option('-q', '--quiet',
|
parser.add_option('-q', '--quiet',
|
||||||
action='store_true', dest='quiet', default=False,
|
action='store_true', dest='quiet', default=False,
|
||||||
help='do not output detailed status information')
|
help='do not output detailed status information')
|
||||||
|
@ -179,7 +299,12 @@ parser.add_option('-q', '--quiet',
|
||||||
|
|
||||||
# the outputdir option is required
|
# the outputdir option is required
|
||||||
if options.outputdir is None:
|
if options.outputdir is None:
|
||||||
parser.print_help(sys.stdout)
|
parser.print_help(sys.stderr)
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
if options.minimal and options.client:
|
||||||
|
print 'Invalid combination of options'
|
||||||
|
parser.print_help(sys.stderr)
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
# script directory
|
# script directory
|
||||||
|
@ -217,20 +342,26 @@ elif sys.platform == 'darwin':
|
||||||
elif sys.platform.startswith('linux'):
|
elif sys.platform.startswith('linux'):
|
||||||
platform = 'linux'
|
platform = 'linux'
|
||||||
|
|
||||||
# output directory
|
# list of output directories to be archived
|
||||||
output_dir_name = 'cef_binary_'+cef_ver+'_'+platform
|
archive_dirs = []
|
||||||
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:
|
# output directory
|
||||||
# symbol directory
|
output_dir_base = 'cef_binary_' + cef_ver
|
||||||
symbol_dir_name = output_dir_name + '_symbols'
|
output_dir_name = output_dir_base + '_' + platform
|
||||||
symbol_dir = os.path.abspath(os.path.join(options.outputdir, symbol_dir_name))
|
|
||||||
remove_dir(symbol_dir, options.quiet)
|
if options.minimal:
|
||||||
make_dir(symbol_dir, options.quiet)
|
mode = 'minimal'
|
||||||
|
output_dir_name = output_dir_name + '_minimal'
|
||||||
|
elif options.client:
|
||||||
|
mode = 'client'
|
||||||
|
output_dir_name = output_dir_name + '_client'
|
||||||
|
else:
|
||||||
|
mode = 'standard'
|
||||||
|
|
||||||
|
output_dir = create_output_dir(output_dir_name, options.outputdir)
|
||||||
|
|
||||||
|
# create the README.TXT file
|
||||||
|
create_readme()
|
||||||
|
|
||||||
# transfer the LICENSE.txt file
|
# transfer the LICENSE.txt file
|
||||||
copy_file(os.path.join(cef_dir, 'LICENSE.txt'), output_dir, options.quiet)
|
copy_file(os.path.join(cef_dir, 'LICENSE.txt'), output_dir, options.quiet)
|
||||||
|
@ -243,7 +374,7 @@ cef_paths = cef_paths['variables']
|
||||||
cef_paths2 = eval_file(os.path.join(cef_dir, 'cef_paths2.gypi'))
|
cef_paths2 = eval_file(os.path.join(cef_dir, 'cef_paths2.gypi'))
|
||||||
cef_paths2 = cef_paths2['variables']
|
cef_paths2 = cef_paths2['variables']
|
||||||
|
|
||||||
if not options.minimal:
|
if mode == 'standard':
|
||||||
# create the include directory
|
# create the include directory
|
||||||
include_dir = os.path.join(output_dir, 'include')
|
include_dir = os.path.join(output_dir, 'include')
|
||||||
make_dir(include_dir, options.quiet)
|
make_dir(include_dir, options.quiet)
|
||||||
|
@ -294,11 +425,71 @@ if not options.minimal:
|
||||||
output_dir, options.quiet)
|
output_dir, options.quiet)
|
||||||
|
|
||||||
if platform == 'windows':
|
if platform == 'windows':
|
||||||
# create the README.TXT file
|
if options.ninjabuild:
|
||||||
create_readme(os.path.join(script_dir, 'distrib/win/README.txt'), output_dir, cef_url, \
|
out_dir = os.path.join(src_dir, 'out')
|
||||||
cef_rev, cef_ver, chromium_url, chromium_rev, chromium_ver, date)
|
libcef_dll_file = 'libcef.dll.lib'
|
||||||
|
else:
|
||||||
|
out_dir = os.path.join(src_dir, 'build')
|
||||||
|
libcef_dll_file = 'lib/libcef.lib'
|
||||||
|
|
||||||
if not options.minimal:
|
valid_build_dir = None
|
||||||
|
|
||||||
|
if mode == 'standard':
|
||||||
|
# transfer Debug files
|
||||||
|
build_dir = os.path.join(out_dir, 'Debug');
|
||||||
|
if not options.allowpartial or path_exists(os.path.join(build_dir, 'cefclient.exe')):
|
||||||
|
valid_build_dir = build_dir
|
||||||
|
dst_dir = os.path.join(output_dir, 'Debug')
|
||||||
|
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)
|
||||||
|
copy_file(os.path.join(build_dir, libcef_dll_file), os.path.join(dst_dir, 'libcef.lib'), \
|
||||||
|
options.quiet)
|
||||||
|
|
||||||
|
if not options.nosymbols:
|
||||||
|
# create the symbol output directory
|
||||||
|
symbol_output_dir = create_output_dir(output_dir_name + '_debug_symbols', options.outputdir)
|
||||||
|
# transfer contents
|
||||||
|
copy_file(os.path.join(build_dir, 'libcef.dll.pdb'), symbol_output_dir, options.quiet)
|
||||||
|
else:
|
||||||
|
sys.stderr.write("No Debug build files.\n")
|
||||||
|
|
||||||
|
# transfer Release files
|
||||||
|
build_dir = os.path.join(out_dir, 'Release');
|
||||||
|
if not options.allowpartial or path_exists(os.path.join(build_dir, 'cefclient.exe')):
|
||||||
|
valid_build_dir = build_dir
|
||||||
|
dst_dir = os.path.join(output_dir, 'Release')
|
||||||
|
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 mode != 'client':
|
||||||
|
copy_file(os.path.join(build_dir, libcef_dll_file), os.path.join(dst_dir, 'libcef.lib'), \
|
||||||
|
options.quiet)
|
||||||
|
else:
|
||||||
|
copy_file(os.path.join(build_dir, 'cefclient.exe'), dst_dir, options.quiet)
|
||||||
|
|
||||||
|
if not options.nosymbols:
|
||||||
|
# create the symbol output directory
|
||||||
|
symbol_output_dir = create_output_dir(output_dir_name + '_release_symbols', options.outputdir)
|
||||||
|
# transfer contents
|
||||||
|
copy_file(os.path.join(build_dir, 'libcef.dll.pdb'), symbol_output_dir, options.quiet)
|
||||||
|
else:
|
||||||
|
sys.stderr.write("No Release build files.\n")
|
||||||
|
|
||||||
|
if not valid_build_dir is None:
|
||||||
|
# transfer resource files
|
||||||
|
build_dir = valid_build_dir
|
||||||
|
if mode == 'client':
|
||||||
|
dst_dir = os.path.join(output_dir, 'Release')
|
||||||
|
else:
|
||||||
|
dst_dir = os.path.join(output_dir, 'Resources')
|
||||||
|
make_dir(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)
|
||||||
|
copy_dir(os.path.join(build_dir, 'locales'), os.path.join(dst_dir, 'locales'), options.quiet)
|
||||||
|
|
||||||
|
if mode == 'standard':
|
||||||
# transfer include files
|
# transfer include files
|
||||||
transfer_gypi_files(cef_dir, cef_paths2['includes_win'], \
|
transfer_gypi_files(cef_dir, cef_paths2['includes_win'], \
|
||||||
'include/', include_dir, options.quiet)
|
'include/', include_dir, options.quiet)
|
||||||
|
@ -307,87 +498,74 @@ if platform == 'windows':
|
||||||
transfer_gypi_files(cef_dir, cef_paths2['cefclient_sources_win'], \
|
transfer_gypi_files(cef_dir, cef_paths2['cefclient_sources_win'], \
|
||||||
'tests/cefclient/', cefclient_dir, options.quiet)
|
'tests/cefclient/', cefclient_dir, options.quiet)
|
||||||
|
|
||||||
if options.ninjabuild:
|
|
||||||
out_dir = os.path.join(src_dir, 'out')
|
|
||||||
libcef_dll_file = 'libcef.dll.lib'
|
|
||||||
else:
|
|
||||||
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')):
|
|
||||||
dst_dir = os.path.join(output_dir, 'Debug')
|
|
||||||
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)
|
|
||||||
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)
|
|
||||||
copy_dir(os.path.join(build_dir, 'locales'), os.path.join(dst_dir, 'locales'), \
|
|
||||||
options.quiet)
|
|
||||||
|
|
||||||
# transfer lib/Debug files
|
|
||||||
dst_dir = os.path.join(output_dir, 'lib/Debug')
|
|
||||||
make_dir(dst_dir, options.quiet)
|
|
||||||
copy_file(os.path.join(build_dir, libcef_dll_file), os.path.join(dst_dir, 'libcef.lib'), \
|
|
||||||
options.quiet)
|
|
||||||
else:
|
|
||||||
sys.stderr.write("No Debug build files.\n")
|
|
||||||
|
|
||||||
# transfer build/Release files
|
|
||||||
build_dir = os.path.join(out_dir, 'Release');
|
|
||||||
if not options.allowpartial or path_exists(os.path.join(build_dir, 'cefclient.exe')):
|
|
||||||
dst_dir = os.path.join(output_dir, 'Release')
|
|
||||||
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)
|
|
||||||
copy_dir(os.path.join(build_dir, 'locales'), os.path.join(dst_dir, 'locales'), \
|
|
||||||
options.quiet)
|
|
||||||
|
|
||||||
# transfer lib/Release files
|
|
||||||
dst_dir = os.path.join(output_dir, 'lib/Release')
|
|
||||||
make_dir(dst_dir, options.quiet)
|
|
||||||
copy_file(os.path.join(build_dir, libcef_dll_file), os.path.join(dst_dir, 'libcef.lib'), \
|
|
||||||
options.quiet)
|
|
||||||
|
|
||||||
if not options.nosymbols:
|
|
||||||
# transfer symbols
|
|
||||||
copy_file(os.path.join(build_dir, 'libcef.dll.pdb'), symbol_dir, options.quiet)
|
|
||||||
else:
|
|
||||||
sys.stderr.write("No Release build files.\n")
|
|
||||||
|
|
||||||
if not options.minimal:
|
|
||||||
# generate doc files
|
|
||||||
os.popen('make_cppdocs.bat '+cef_rev)
|
|
||||||
|
|
||||||
# transfer docs files
|
|
||||||
dst_dir = os.path.join(output_dir, 'docs')
|
|
||||||
src_dir = os.path.join(cef_dir, 'docs')
|
|
||||||
if path_exists(src_dir):
|
|
||||||
copy_dir(src_dir, dst_dir, options.quiet)
|
|
||||||
|
|
||||||
# transfer additional files, if any
|
# transfer additional files, if any
|
||||||
transfer_files(cef_dir, script_dir, os.path.join(script_dir, 'distrib/win/transfer.cfg'), \
|
transfer_files(cef_dir, script_dir, os.path.join(script_dir, 'distrib/win/transfer.cfg'), \
|
||||||
output_dir, options.quiet)
|
output_dir, options.quiet)
|
||||||
|
|
||||||
# generate the project files
|
create_msvs_projects()
|
||||||
generate_msvs_projects('2005');
|
|
||||||
generate_msvs_projects('2008');
|
if not options.nodocs:
|
||||||
generate_msvs_projects('2010');
|
# generate doc files
|
||||||
fix_msvs_projects();
|
os.popen('make_cppdocs.bat '+cef_rev)
|
||||||
|
|
||||||
|
src_dir = os.path.join(cef_dir, 'docs')
|
||||||
|
if path_exists(src_dir):
|
||||||
|
# create the docs output directory
|
||||||
|
docs_output_dir = create_output_dir(output_dir_base + '_docs', options.outputdir)
|
||||||
|
# transfer contents
|
||||||
|
copy_dir(src_dir, docs_output_dir, options.quiet)
|
||||||
|
|
||||||
elif platform == 'macosx':
|
elif platform == 'macosx':
|
||||||
# create the README.TXT file
|
if options.ninjabuild:
|
||||||
create_readme(os.path.join(script_dir, 'distrib/mac/README.txt'), output_dir, cef_url, \
|
out_dir = os.path.join(src_dir, 'out')
|
||||||
cef_rev, cef_ver, chromium_url, chromium_rev, chromium_ver, date)
|
else:
|
||||||
|
out_dir = os.path.join(src_dir, 'xcodebuild')
|
||||||
|
|
||||||
if not options.minimal:
|
valid_build_dir = None
|
||||||
|
|
||||||
|
if mode == 'standard':
|
||||||
|
# transfer Debug files
|
||||||
|
build_dir = os.path.join(out_dir, 'Debug')
|
||||||
|
if not options.allowpartial or path_exists(os.path.join(build_dir, 'cefclient.app')):
|
||||||
|
valid_build_dir = build_dir
|
||||||
|
dst_dir = os.path.join(output_dir, 'Debug')
|
||||||
|
make_dir(dst_dir, options.quiet)
|
||||||
|
copy_file(os.path.join(build_dir, 'ffmpegsumo.so'), dst_dir, options.quiet)
|
||||||
|
copy_file(os.path.join(build_dir, 'libcef.dylib'), dst_dir, options.quiet)
|
||||||
|
copy_file(os.path.join(build_dir, 'libplugin_carbon_interpose.dylib'), dst_dir, options.quiet)
|
||||||
|
|
||||||
|
# transfer Release files
|
||||||
|
build_dir = os.path.join(out_dir, 'Release')
|
||||||
|
if not options.allowpartial or path_exists(os.path.join(build_dir, 'cefclient.app')):
|
||||||
|
valid_build_dir = build_dir
|
||||||
|
dst_dir = os.path.join(output_dir, 'Release')
|
||||||
|
make_dir(dst_dir, options.quiet)
|
||||||
|
if mode != 'client':
|
||||||
|
copy_file(os.path.join(build_dir, 'ffmpegsumo.so'), dst_dir, options.quiet)
|
||||||
|
copy_file(os.path.join(build_dir, 'libcef.dylib'), dst_dir, options.quiet)
|
||||||
|
copy_file(os.path.join(build_dir, 'libplugin_carbon_interpose.dylib'), dst_dir, options.quiet)
|
||||||
|
else:
|
||||||
|
copy_dir(os.path.join(build_dir, 'cefclient.app'), os.path.join(dst_dir, 'cefclient.app'), options.quiet)
|
||||||
|
|
||||||
|
if not options.nosymbols:
|
||||||
|
# create the symbol output directory
|
||||||
|
symbol_output_dir = create_output_dir(output_dir_name + '_release_symbols', options.outputdir)
|
||||||
|
|
||||||
|
# create the real dSYM file from the "fake" dSYM file
|
||||||
|
sys.stdout.write("Creating the real dSYM file...\n")
|
||||||
|
src_path = os.path.join(build_dir, 'libcef.dylib.dSYM/Contents/Resources/DWARF/libcef.dylib')
|
||||||
|
dst_path = os.path.join(symbol_output_dir, 'libcef.dylib.dSYM')
|
||||||
|
run('dsymutil '+src_path+' -o '+dst_path, cef_dir)
|
||||||
|
|
||||||
|
if not valid_build_dir is None and mode != 'client':
|
||||||
|
# transfer resource files
|
||||||
|
build_dir = valid_build_dir
|
||||||
|
dst_dir = os.path.join(output_dir, 'Resources')
|
||||||
|
make_dir(dst_dir, options.quiet)
|
||||||
|
copy_files(os.path.join(build_dir, 'cefclient.app/Contents/Frameworks/Chromium Embedded Framework.framework/Resources/*.*'), \
|
||||||
|
dst_dir, options.quiet)
|
||||||
|
|
||||||
|
if mode == 'standard':
|
||||||
# transfer include files
|
# transfer include files
|
||||||
transfer_gypi_files(cef_dir, cef_paths2['includes_mac'], \
|
transfer_gypi_files(cef_dir, cef_paths2['includes_mac'], \
|
||||||
'include/', include_dir, options.quiet)
|
'include/', include_dir, options.quiet)
|
||||||
|
@ -404,73 +582,13 @@ elif platform == 'macosx':
|
||||||
copy_dir(os.path.join(cef_dir, 'tests/cefclient/mac/'), os.path.join(output_dir, 'cefclient/mac/'), \
|
copy_dir(os.path.join(cef_dir, 'tests/cefclient/mac/'), os.path.join(output_dir, 'cefclient/mac/'), \
|
||||||
options.quiet)
|
options.quiet)
|
||||||
|
|
||||||
if options.ninjabuild:
|
|
||||||
out_dir = os.path.join(src_dir, 'out')
|
|
||||||
else:
|
|
||||||
out_dir = os.path.join(src_dir, 'xcodebuild')
|
|
||||||
|
|
||||||
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')):
|
|
||||||
valid_build_dir = build_dir
|
|
||||||
dst_dir = os.path.join(output_dir, 'Debug')
|
|
||||||
make_dir(dst_dir, options.quiet)
|
|
||||||
copy_file(os.path.join(build_dir, 'ffmpegsumo.so'), dst_dir, options.quiet)
|
|
||||||
copy_file(os.path.join(build_dir, 'libcef.dylib'), dst_dir, options.quiet)
|
|
||||||
copy_file(os.path.join(build_dir, 'libplugin_carbon_interpose.dylib'), dst_dir, options.quiet)
|
|
||||||
|
|
||||||
# transfer xcodebuild/Release files
|
|
||||||
build_dir = os.path.join(out_dir, 'Release')
|
|
||||||
if not options.allowpartial or path_exists(os.path.join(build_dir, 'cefclient.app')):
|
|
||||||
valid_build_dir = build_dir
|
|
||||||
dst_dir = os.path.join(output_dir, 'Release')
|
|
||||||
make_dir(dst_dir, options.quiet)
|
|
||||||
copy_file(os.path.join(build_dir, 'ffmpegsumo.so'), dst_dir, options.quiet)
|
|
||||||
copy_file(os.path.join(build_dir, 'libcef.dylib'), dst_dir, options.quiet)
|
|
||||||
copy_file(os.path.join(build_dir, 'libplugin_carbon_interpose.dylib'), dst_dir, options.quiet)
|
|
||||||
|
|
||||||
if not options.nosymbols:
|
|
||||||
# create the real dSYM file from the "fake" dSYM file
|
|
||||||
sys.stdout.write("Creating the real dSYM file...\n")
|
|
||||||
src_path = os.path.join(build_dir, 'libcef.dylib.dSYM/Contents/Resources/DWARF/libcef.dylib')
|
|
||||||
dst_path = os.path.join(symbol_dir, 'libcef.dylib.dSYM')
|
|
||||||
run('dsymutil '+src_path+' -o '+dst_path, cef_dir)
|
|
||||||
|
|
||||||
if not valid_build_dir is None:
|
|
||||||
# transfer resource files
|
|
||||||
build_dir = valid_build_dir
|
|
||||||
dst_dir = os.path.join(output_dir, 'Resources')
|
|
||||||
make_dir(dst_dir, options.quiet)
|
|
||||||
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 additional files, if any
|
||||||
transfer_files(cef_dir, script_dir, os.path.join(script_dir, 'distrib/mac/transfer.cfg'), \
|
transfer_files(cef_dir, script_dir, os.path.join(script_dir, 'distrib/mac/transfer.cfg'), \
|
||||||
output_dir, options.quiet)
|
output_dir, options.quiet)
|
||||||
|
|
||||||
# Generate Xcode project files
|
create_xcode_projects()
|
||||||
sys.stdout.write('Generating Xcode project files...')
|
|
||||||
os.environ['GYP_GENERATORS'] = 'xcode'
|
|
||||||
gyper = [ 'python', 'tools/gyp_cef', os.path.relpath(os.path.join(output_dir, 'cefclient.gyp'), cef_dir) ]
|
|
||||||
RunAction(cef_dir, gyper);
|
|
||||||
|
|
||||||
# Post-process the Xcode project to fix file paths
|
|
||||||
src_file = os.path.join(output_dir, 'cefclient.xcodeproj/project.pbxproj')
|
|
||||||
data = read_file(src_file)
|
|
||||||
data = data.replace('../../../build/mac/', 'tools/')
|
|
||||||
data = data.replace('../../../build', 'build')
|
|
||||||
data = data.replace('../../../xcodebuild', 'xcodebuild')
|
|
||||||
write_file(src_file, data)
|
|
||||||
|
|
||||||
elif platform == 'linux':
|
elif platform == 'linux':
|
||||||
# create the README.TXT file
|
|
||||||
create_readme(os.path.join(script_dir, 'distrib/linux/README.txt'), output_dir, cef_url, \
|
|
||||||
cef_rev, cef_ver, chromium_url, chromium_rev, chromium_ver, date)
|
|
||||||
|
|
||||||
out_dir = os.path.join(src_dir, 'out')
|
out_dir = os.path.join(src_dir, 'out')
|
||||||
if options.ninjabuild:
|
if options.ninjabuild:
|
||||||
lib_dir_name = 'lib'
|
lib_dir_name = 'lib'
|
||||||
|
@ -479,8 +597,8 @@ elif platform == 'linux':
|
||||||
|
|
||||||
valid_build_dir = None
|
valid_build_dir = None
|
||||||
|
|
||||||
if not options.minimal:
|
if mode == 'standard':
|
||||||
# transfer out/Debug files
|
# transfer Debug files
|
||||||
build_dir = os.path.join(out_dir, 'Debug');
|
build_dir = os.path.join(out_dir, 'Debug');
|
||||||
if not options.allowpartial or path_exists(os.path.join(build_dir, 'cefclient')):
|
if not options.allowpartial or path_exists(os.path.join(build_dir, 'cefclient')):
|
||||||
valid_build_dir = build_dir
|
valid_build_dir = build_dir
|
||||||
|
@ -490,26 +608,32 @@ elif platform == 'linux':
|
||||||
else:
|
else:
|
||||||
sys.stderr.write("No Debug build files.\n")
|
sys.stderr.write("No Debug build files.\n")
|
||||||
|
|
||||||
# transfer out/Release files
|
# transfer Release files
|
||||||
build_dir = os.path.join(out_dir, 'Release');
|
build_dir = os.path.join(out_dir, 'Release');
|
||||||
if not options.allowpartial or path_exists(os.path.join(build_dir, 'cefclient')):
|
if not options.allowpartial or path_exists(os.path.join(build_dir, 'cefclient')):
|
||||||
valid_build_dir = build_dir
|
valid_build_dir = build_dir
|
||||||
dst_dir = os.path.join(output_dir, 'Release')
|
dst_dir = os.path.join(output_dir, 'Release')
|
||||||
make_dir(dst_dir, options.quiet)
|
make_dir(dst_dir, options.quiet)
|
||||||
copy_file(os.path.join(build_dir, lib_dir_name, 'libcef.so'), dst_dir, options.quiet)
|
copy_file(os.path.join(build_dir, lib_dir_name, 'libcef.so'), dst_dir, options.quiet)
|
||||||
|
|
||||||
|
if mode == 'client':
|
||||||
|
copy_file(os.path.join(build_dir, 'cefclient'), dst_dir, options.quiet)
|
||||||
else:
|
else:
|
||||||
sys.stderr.write("No Release build files.\n")
|
sys.stderr.write("No Release build files.\n")
|
||||||
|
|
||||||
if not valid_build_dir is None:
|
if not valid_build_dir is None:
|
||||||
# transfer resource files
|
# transfer resource files
|
||||||
build_dir = valid_build_dir
|
build_dir = valid_build_dir
|
||||||
dst_dir = os.path.join(output_dir, 'Resources')
|
if mode == 'client':
|
||||||
|
dst_dir = os.path.join(output_dir, 'Release')
|
||||||
|
else:
|
||||||
|
dst_dir = os.path.join(output_dir, 'Resources')
|
||||||
make_dir(dst_dir, options.quiet)
|
make_dir(dst_dir, options.quiet)
|
||||||
copy_file(os.path.join(build_dir, 'cef.pak'), 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)
|
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)
|
copy_dir(os.path.join(build_dir, 'locales'), os.path.join(dst_dir, 'locales'), options.quiet)
|
||||||
|
|
||||||
if not options.minimal:
|
if mode == 'standard':
|
||||||
# transfer include files
|
# transfer include files
|
||||||
transfer_gypi_files(cef_dir, cef_paths2['includes_linux'], \
|
transfer_gypi_files(cef_dir, cef_paths2['includes_linux'], \
|
||||||
'include/', include_dir, options.quiet)
|
'include/', include_dir, options.quiet)
|
||||||
|
@ -525,39 +649,12 @@ elif platform == 'linux':
|
||||||
transfer_files(cef_dir, script_dir, os.path.join(script_dir, 'distrib/linux/transfer.cfg'), \
|
transfer_files(cef_dir, script_dir, os.path.join(script_dir, 'distrib/linux/transfer.cfg'), \
|
||||||
output_dir, options.quiet)
|
output_dir, options.quiet)
|
||||||
|
|
||||||
makefile = os.path.join(src_dir, 'Makefile')
|
create_make_projects()
|
||||||
makefile_tmp = ''
|
|
||||||
if path_exists(makefile):
|
|
||||||
# Back up the existing Makefile
|
|
||||||
makefile_tmp = makefile + '.cef_bak'
|
|
||||||
copy_file(makefile, makefile_tmp, options.quiet)
|
|
||||||
|
|
||||||
# Generate make project files
|
if not options.noarchive:
|
||||||
sys.stdout.write('Generating make project files...')
|
# create an archive for each output directory
|
||||||
os.environ['GYP_GENERATORS'] = 'make'
|
for dir in archive_dirs:
|
||||||
gyper = [ 'python', 'tools/gyp_cef', os.path.relpath(os.path.join(output_dir, 'cefclient.gyp'), cef_dir) ]
|
zip_file = os.path.split(dir)[1] + '.zip'
|
||||||
RunAction(cef_dir, gyper);
|
if not options.quiet:
|
||||||
|
sys.stdout.write('Creating '+zip_file+"...\n")
|
||||||
# Copy the resulting Makefile to the destination directory
|
create_archive(dir, os.path.join(dir, os.pardir, zip_file))
|
||||||
copy_file(makefile, output_dir, options.quiet)
|
|
||||||
|
|
||||||
remove_file(makefile, options.quiet)
|
|
||||||
if makefile_tmp != '':
|
|
||||||
# Restore the original Makefile
|
|
||||||
move_file(makefile_tmp, makefile, options.quiet)
|
|
||||||
|
|
||||||
# Post-process the make files
|
|
||||||
fix_make_projects()
|
|
||||||
|
|
||||||
# Create an archive of the output directory
|
|
||||||
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 = 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))
|
|
||||||
|
|
Loading…
Reference in New Issue