- Linux: Implement resource loading in cefclient.

- Fix incorrect svn:eol-style properties.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@375 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt
2011-11-12 04:47:00 +00:00
parent 1dab15313a
commit f211cbbc2e
11 changed files with 442 additions and 310 deletions

View File

@ -281,6 +281,12 @@
'<(INTERMEDIATE_DIR)/repack/chrome.pak' '<(INTERMEDIATE_DIR)/repack/chrome.pak'
], ],
}, },
{
'destination': '<(PRODUCT_DIR)/files',
'files': [
'<@(cefclient_bundle_resources_linux)',
],
},
], ],
}], }],
], ],

View File

@ -55,6 +55,7 @@
'tests/cefclient/res/domaccess.html', 'tests/cefclient/res/domaccess.html',
'tests/cefclient/res/extensionperf.html', 'tests/cefclient/res/extensionperf.html',
'tests/cefclient/res/localstorage.html', 'tests/cefclient/res/localstorage.html',
'tests/cefclient/res/logo.png',
'tests/cefclient/res/xmlhttprequest.html', 'tests/cefclient/res/xmlhttprequest.html',
'tests/cefclient/resource_util.h', 'tests/cefclient/resource_util.h',
'tests/cefclient/scheme_test.cpp', 'tests/cefclient/scheme_test.cpp',
@ -77,7 +78,6 @@
'tests/cefclient/plugin_test.h', 'tests/cefclient/plugin_test.h',
'tests/cefclient/Resource.h', 'tests/cefclient/Resource.h',
'tests/cefclient/res/cefclient.ico', 'tests/cefclient/res/cefclient.ico',
'tests/cefclient/res/logo.png',
'tests/cefclient/res/logoball.png', 'tests/cefclient/res/logoball.png',
'tests/cefclient/res/modaldialog.html', 'tests/cefclient/res/modaldialog.html',
'tests/cefclient/res/modalmain.html', 'tests/cefclient/res/modalmain.html',
@ -95,7 +95,6 @@
'tests/cefclient/cefclient_mac.mm', 'tests/cefclient/cefclient_mac.mm',
'tests/cefclient/client_handler_mac.mm', 'tests/cefclient/client_handler_mac.mm',
'tests/cefclient/resource_util_mac.mm', 'tests/cefclient/resource_util_mac.mm',
'tests/cefclient/res/logo.png',
], ],
'cefclient_bundle_resources_mac': [ 'cefclient_bundle_resources_mac': [
'tests/cefclient/mac/cefclient.icns', 'tests/cefclient/mac/cefclient.icns',
@ -114,6 +113,13 @@
'tests/cefclient/client_handler_gtk.cpp', 'tests/cefclient/client_handler_gtk.cpp',
'tests/cefclient/resource_util_linux.cpp', 'tests/cefclient/resource_util_linux.cpp',
], ],
'cefclient_bundle_resources_linux': [
'tests/cefclient/res/domaccess.html',
'tests/cefclient/res/extensionperf.html',
'tests/cefclient/res/localstorage.html',
'tests/cefclient/res/logo.png',
'tests/cefclient/res/xmlhttprequest.html',
],
'libcef_dll_wrapper_sources_common': [ 'libcef_dll_wrapper_sources_common': [
'libcef_dll/cef_logging.h', 'libcef_dll/cef_logging.h',
'libcef_dll/cpptoc/base_cpptoc.h', 'libcef_dll/cpptoc/base_cpptoc.h',

View File

@ -11,20 +11,48 @@
bool GetResourceDir(std::string& dir) { bool GetResourceDir(std::string& dir) {
char buff[1024]; char buff[1024];
ssize_t len = ::readlink("/proc/self/exe", buff, sizeof(buff)-1);
if (len != -1) { // Retrieve the executable path.
buff[len] = '\0'; ssize_t len = ::readlink("/proc/self/exe", buff, sizeof(buff)-1);
dir = std::string(buff); if (len == -1)
return true;
} else {
/* handle error condition */
return false; return false;
}
buff[len] = 0;
// Remove the executable name from the path.
char* pos = strrchr(buff, '/');
if (!pos)
return false;
// Add "files" to the path.
strcpy(pos+1, "files");
dir = std::string(buff);
return true;
} }
bool LoadBinaryResource(const char* resource_name, std::string& resource_data) { bool LoadBinaryResource(const char* resource_name, std::string& resource_data) {
return false; std::string path;
if (!GetResourceDir(path))
return false;
path.append("/");
path.append(resource_name);
FILE* f = fopen(path.c_str(), "rb");
if (!f)
return false;
size_t bytes_read;
char buff[1024*8];
do {
bytes_read = fread(buff, 1, sizeof(buff)-1, f);
if (bytes_read > 0)
resource_data.append(buff, bytes_read);
} while(bytes_read > 0);
fclose(f);
return true;
} }
CefRefPtr<CefStreamReader> GetBinaryResourceReader(const char* resource_name) { CefRefPtr<CefStreamReader> GetBinaryResourceReader(const char* resource_name) {

View File

@ -1,5 +1,5 @@
Files in this directory have been copied from other locations in the Chromium Files in this directory have been copied from other locations in the Chromium
source tree. They have been modified only to the extent necessary to work in source tree. They have been modified only to the extent necessary to work in
the CEF Binary Distribution directory structure. Below is a listing of the the CEF Binary Distribution directory structure. Below is a listing of the
original file locations. original file locations.

View File

@ -105,6 +105,14 @@
], ],
}], }],
[ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', { [ 'OS=="linux" or OS=="freebsd" or OS=="openbsd"', {
'copies': [
{
'destination': '<(PRODUCT_DIR)/files',
'files': [
'<@(cefclient_bundle_resources_linux)',
],
},
],
'sources': [ 'sources': [
'<@(includes_linux)', '<@(includes_linux)',
'<@(cefclient_sources_linux)', '<@(cefclient_sources_linux)',

View File

@ -0,0 +1,79 @@
Chromium Embedded Framework (CEF) Binary Distribution
-------------------------------------------------------------------------------
CEF Revision: $CEF_REV$
Chromium Revision: $CHROMIUM_REV$
Date: $DATE$
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.
docs Contains C++ API documentation generated from the CEF header files.
include Contains all required CEF and NPAPI-related header files. Read
the include/internal/npapi/README-TRANSFER.txt file for more
information about the NPAPI-related 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.
USAGE
-----
Run 'make -j4 cefclient BUILDTYPE=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
* Localized resources
locales/
Note: A .pak file is loaded from this folder based on the value of
CefSettings.locale. Only configured locales need to be distributed. If no
locale is configured the default locale of "en-US" will be used. The
locales folder must exist in the same directory as the executable.
* Other resources
chrome.pak
Note: The chrome.pak file must exist in the same directory as the executable.
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 the
below link for complete Chromium and third-party licensing information.
http://code.google.com/chromium/terms.html

View File

@ -1,90 +1,90 @@
Chromium Embedded Framework (CEF) Binary Distribution Chromium Embedded Framework (CEF) Binary Distribution
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
CEF Revision: $CEF_REV$ CEF Revision: $CEF_REV$
Chromium Revision: $CHROMIUM_REV$ Chromium Revision: $CHROMIUM_REV$
Date: $DATE$ Date: $DATE$
This distribution contains all components necessary to build and distribute an This distribution contains all components necessary to build and distribute an
application using CEF. Please see the LICENSING section of this document for application using CEF. Please see the LICENSING section of this document for
licensing terms and conditions. licensing terms and conditions.
CONTENTS CONTENTS
-------- --------
cefclient Contains the cefclient sample application configured to build cefclient Contains the cefclient sample application configured to build
using the files in this distribution. using the files in this distribution.
Debug Contains libcef.dylib and other components required to run the debug Debug Contains libcef.dylib and other components required to run the debug
version of CEF-based applications. version of CEF-based applications.
docs Contains C++ API documentation generated from the CEF header files. docs Contains C++ API documentation generated from the CEF header files.
include Contains all required CEF and NPAPI-related header files. Read include Contains all required CEF and NPAPI-related header files. Read
the include/internal/npapi/README-TRANSFER.txt file for more the include/internal/npapi/README-TRANSFER.txt file for more
information about the NPAPI-related header files. information about the NPAPI-related header files.
libcef_dll Contains the source code for the libcef_dll_wrapper static library libcef_dll Contains the source code for the libcef_dll_wrapper static library
that all applications using the CEF C++ API must link against. that all applications using the CEF C++ API must link against.
Release Contains libcef.dylib and other components required to run the Release Contains libcef.dylib and other components required to run the
release version of CEF-based applications. release version of CEF-based applications.
Resources Contains images and resources required by applications using CEF. Resources Contains images and resources required by applications using CEF.
The contents of this folder should be transferred to the The contents of this folder should be transferred to the
Contents/Resources folder in the app bundle. Contents/Resources folder in the app bundle.
tools Scripts that perform post-processing on Mac release targets. tools Scripts that perform post-processing on Mac release targets.
USAGE USAGE
----- -----
Xcode 3 and 4: Open the cefclient.xcodeproj project and build. Xcode 3 and 4: Open the cefclient.xcodeproj project and build.
Please visit the CEF Website for additional usage information. Please visit the CEF Website for additional usage information.
http://code.google.com/p/chromiumembedded http://code.google.com/p/chromiumembedded
REDISTRIBUTION REDISTRIBUTION
-------------- --------------
This binary distribution contains the below components. Components listed under This binary distribution contains the below components. Components listed under
the "required" section must be redistributed with all applications using CEF. the "required" section must be redistributed with all applications using CEF.
Components listed under the "optional" section may be excluded if the related Components listed under the "optional" section may be excluded if the related
features will not be used. features will not be used.
Required components: Required components:
* CEF core library * CEF core library
libcef.dylib libcef.dylib
* Localized resources * Localized resources
Resources/*.lproj/ Resources/*.lproj/
Note: A .pak file is loaded from this folder based on the value of Note: A .pak file is loaded from this folder based on the value of
CefSettings.locale. Only configured locales need to be distributed. If no CefSettings.locale. Only configured locales need to be distributed. If no
locale is configured the default locale of "en" will be used. locale is configured the default locale of "en" will be used.
* Other resources * Other resources
Resources/chrome.pak Resources/chrome.pak
Resources/*.png Resources/*.png
Resources/*.tiff Resources/*.tiff
Optional components: Optional components:
* FFmpeg audio and video support * FFmpeg audio and video support
ffmpegsumo.so ffmpegsumo.so
Note: Without this component HTML5 audio and video will not function. Note: Without this component HTML5 audio and video will not function.
LICENSING LICENSING
--------- ---------
The CEF project is BSD licensed. Please read the LICENSE.txt file included with The CEF project is BSD licensed. Please read the LICENSE.txt file included with
this binary distribution for licensing terms and conditions. Other software this binary distribution for licensing terms and conditions. Other software
included in this distribution is provided under other licenses. Please visit the included in this distribution is provided under other licenses. Please visit the
below link for complete Chromium and third-party licensing information. below link for complete Chromium and third-party licensing information.
http://code.google.com/chromium/terms.html http://code.google.com/chromium/terms.html

View File

@ -1,29 +1,29 @@
# Additional handling of transfer files. # Additional handling of transfer files.
# target: Target location relative to the target release directory. This # target: Target location relative to the target release directory. This
# value is required. # value is required.
# source: Source location relative to the CEF root directory. This value # source: Source location relative to the CEF root directory. This value
# is optional. If specified the target will be copied to this location # is optional. If specified the target will be copied to this location
# and a TRANSFER-README.txt file will be created. # and a TRANSFER-README.txt file will be created.
# post-process: Post-processing operation to perform. This value is # post-process: Post-processing operation to perform. This value is
# optional and may be any one of the following: # optional and may be any one of the following:
# 'normalize_headers': Replace fully-qualified project header paths with # 'normalize_headers': Replace fully-qualified project header paths with
# the optionally specified 'new_header_path' value. # the optionally specified 'new_header_path' value.
[ [
{ {
'source' : '../build/mac/change_mach_o_flags_from_xcode.sh', 'source' : '../build/mac/change_mach_o_flags_from_xcode.sh',
'target' : 'tools/change_mach_o_flags_from_xcode.sh', 'target' : 'tools/change_mach_o_flags_from_xcode.sh',
}, },
{ {
'source' : '../build/mac/change_mach_o_flags.py', 'source' : '../build/mac/change_mach_o_flags.py',
'target' : 'tools/change_mach_o_flags.py', 'target' : 'tools/change_mach_o_flags.py',
}, },
{ {
'source' : '../build/mac/strip_from_xcode', 'source' : '../build/mac/strip_from_xcode',
'target' : 'tools/strip_from_xcode', 'target' : 'tools/strip_from_xcode',
}, },
{ {
'source' : '../build/mac/strip_save_dsym', 'source' : '../build/mac/strip_save_dsym',
'target' : 'tools/strip_save_dsym', 'target' : 'tools/strip_save_dsym',
}, },
] ]

View File

@ -1,64 +1,64 @@
# Additional handling of transfer files. # Additional handling of transfer files.
# target: Target location relative to the target release directory. This # target: Target location relative to the target release directory. This
# value is required. # value is required.
# source: Source location relative to the CEF root directory. This value # source: Source location relative to the CEF root directory. This value
# is optional. If specified the target will be copied to this location # is optional. If specified the target will be copied to this location
# and a TRANSFER-README.txt file will be created. # and a TRANSFER-README.txt file will be created.
# post-process: Post-processing operation to perform. This value is # post-process: Post-processing operation to perform. This value is
# optional and may be any one of the following: # optional and may be any one of the following:
# 'normalize_headers': Replace fully-qualified project header paths with # 'normalize_headers': Replace fully-qualified project header paths with
# the optionally specified 'new_header_path' value. # the optionally specified 'new_header_path' value.
[ [
{ {
'source' : '../base/basictypes.h', 'source' : '../base/basictypes.h',
'target' : 'include/internal/npapi/basictypes.h', 'target' : 'include/internal/npapi/basictypes.h',
'post-process' : 'normalize_headers', 'post-process' : 'normalize_headers',
}, },
{ {
'source' : '../build/build_config.h', 'source' : '../build/build_config.h',
'target' : 'include/internal/npapi/build_config.h', 'target' : 'include/internal/npapi/build_config.h',
'post-process' : 'normalize_headers', 'post-process' : 'normalize_headers',
}, },
{ {
'source' : '../third_party/npapi/bindings/npapi.h', 'source' : '../third_party/npapi/bindings/npapi.h',
'target' : 'include/internal/npapi/npapi.h', 'target' : 'include/internal/npapi/npapi.h',
'post-process' : 'normalize_headers', 'post-process' : 'normalize_headers',
}, },
{ {
'source' : '../third_party/npapi/bindings/npapi_extensions.h', 'source' : '../third_party/npapi/bindings/npapi_extensions.h',
'target' : 'include/internal/npapi/npapi_extensions.h', 'target' : 'include/internal/npapi/npapi_extensions.h',
'post-process' : 'normalize_headers', 'post-process' : 'normalize_headers',
}, },
{ {
'source' : '../third_party/npapi/bindings/npfunctions.h', 'source' : '../third_party/npapi/bindings/npfunctions.h',
'target' : 'include/internal/npapi/npfunctions.h', 'target' : 'include/internal/npapi/npfunctions.h',
'post-process' : 'normalize_headers', 'post-process' : 'normalize_headers',
}, },
{ {
'source' : '../third_party/npapi/bindings/nphostapi.h', 'source' : '../third_party/npapi/bindings/nphostapi.h',
'target' : 'include/internal/npapi/nphostapi.h', 'target' : 'include/internal/npapi/nphostapi.h',
'post-process' : 'normalize_headers', 'post-process' : 'normalize_headers',
}, },
{ {
'source' : '../third_party/npapi/bindings/npruntime.h', 'source' : '../third_party/npapi/bindings/npruntime.h',
'target' : 'include/internal/npapi/npruntime.h', 'target' : 'include/internal/npapi/npruntime.h',
'post-process' : 'normalize_headers', 'post-process' : 'normalize_headers',
}, },
{ {
'source' : '../third_party/npapi/bindings/nptypes.h', 'source' : '../third_party/npapi/bindings/nptypes.h',
'target' : 'include/internal/npapi/nptypes.h', 'target' : 'include/internal/npapi/nptypes.h',
'post-process' : 'normalize_headers', 'post-process' : 'normalize_headers',
}, },
{ {
'source' : '../base/port.h', 'source' : '../base/port.h',
'target' : 'include/internal/npapi/port.h', 'target' : 'include/internal/npapi/port.h',
'post-process' : 'normalize_headers', 'post-process' : 'normalize_headers',
}, },
{ {
'source' : None, 'source' : None,
'target' : 'include/internal/cef_nplugin_types.h', 'target' : 'include/internal/cef_nplugin_types.h',
'post-process' : 'normalize_headers', 'post-process' : 'normalize_headers',
'new_header_path' : 'npapi/', 'new_header_path' : 'npapi/',
}, },
] ]

View File

@ -1,109 +1,109 @@
Chromium Embedded Framework (CEF) Binary Distribution Chromium Embedded Framework (CEF) Binary Distribution
------------------------------------------------------------------------------- -------------------------------------------------------------------------------
CEF Revision: $CEF_REV$ CEF Revision: $CEF_REV$
Chromium Revision: $CHROMIUM_REV$ Chromium Revision: $CHROMIUM_REV$
Date: $DATE$ Date: $DATE$
This distribution contains all components necessary to build and distribute an This distribution contains all components necessary to build and distribute an
application using CEF. Please see the LICENSING section of this document for application using CEF. Please see the LICENSING section of this document for
licensing terms and conditions. licensing terms and conditions.
CONTENTS CONTENTS
-------- --------
cefclient Contains the cefclient sample application configured to build cefclient Contains the cefclient sample application configured to build
using the files in this distribution. using the files in this distribution.
Debug Contains libcef.dll and other components required to run the debug 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 and NPAPI-related header files. Read
the include/internal/npapi/README-TRANSFER.txt file for more
information about the NPAPI-related 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 version of CEF-based applications. Also acts as the build target for
the Release build of cefclient. the Debug build of cefclient.
docs Contains C++ API documentation generated from the CEF header files.
USAGE
----- include Contains all required CEF and NPAPI-related header files. Read
the include/internal/npapi/README-TRANSFER.txt file for more
Visual Studio 2010: Open the cefclient2010.sln solution and build. information about the NPAPI-related header files.
Visual Studio 2008: Open the cefclient2008.sln solution and build.
* If using VS2008 Express Edition add atlthunk.lib to the cefclient lib Contains Debug and Release versions of the libcef.lib library file
Configuration Properties > Linker > Input > Additional Dependencies that all CEF-based applications must link against.
Visual Studio 2005: Open the cefclient2005.sln solution and build.
libcef_dll Contains the source code for the libcef_dll_wrapper static library
Please visit the CEF Website for additional usage information. that all applications using the CEF C++ API must link against.
http://code.google.com/p/chromiumembedded 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.
REDISTRIBUTION
--------------
USAGE
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 Visual Studio 2010: Open the cefclient2010.sln solution and build.
features will not be used. Visual Studio 2008: Open the cefclient2008.sln solution and build.
* If using VS2008 Express Edition add atlthunk.lib to the cefclient
Required components: Configuration Properties > Linker > Input > Additional Dependencies
Visual Studio 2005: Open the cefclient2005.sln solution and build.
* CEF core library
libcef.dll Please visit the CEF Website for additional usage information.
* Unicode support http://code.google.com/p/chromiumembedded
icudt.dll
* Localized resources REDISTRIBUTION
locales/ --------------
Note: A .pak file is loaded from this folder based on the value of
CefSettings.locale. Only configured locales need to be distributed. If no This binary distribution contains the below components. Components listed under
locale is configured the default locale of "en-US" will be used. The the "required" section must be redistributed with all applications using CEF.
locales folder must exist in the same directory as libcef.dll. Components listed under the "optional" section may be excluded if the related
features will not be used.
* Other resources
chrome.pak Required components:
Note: The chrome.pak file must exist in the same directory as libcef.dll.
* CEF core library
Optional components: libcef.dll
* FFmpeg audio and video support * Unicode support
avcodec-53.dll icudt.dll
avformat-53.dll
avutil-51.dll * Localized resources
Note: Without these components HTML5 audio and video will not function. locales/
Note: A .pak file is loaded from this folder based on the value of
* Angle and Direct3D support CefSettings.locale. Only configured locales need to be distributed. If no
d3dcompiler_43.dll locale is configured the default locale of "en-US" will be used. The
d3dx9_43.dll locales folder must exist in the same directory as libcef.dll.
libEGL.dll
libGLESv2.dll * Other resources
Note: Without these components the default ANGLE_IN_PROCESS graphics chrome.pak
implementation for HTML5 accelerated content like 2D canvas, 3D CSS and Note: The chrome.pak file must exist in the same directory as libcef.dll.
WebGL will not function. To use the desktop GL graphics implementation which
does not require these components (and does not work on all systems) set Optional components:
CefSettings.graphics_implementation to DESKTOP_IN_PROCESS.
* FFmpeg audio and video support
avcodec-53.dll
LICENSING avformat-53.dll
--------- avutil-51.dll
Note: Without these components HTML5 audio and video will not function.
The CEF project is BSD licensed. Please read the LICENSE.txt file included with
this binary distribution for licensing terms and conditions. Other software * Angle and Direct3D support
included in this distribution is provided under other licenses. Please visit the d3dcompiler_43.dll
below link for complete Chromium and third-party licensing information. d3dx9_43.dll
libEGL.dll
http://code.google.com/chromium/terms.html libGLESv2.dll
Note: Without these components the default ANGLE_IN_PROCESS graphics
implementation for HTML5 accelerated content like 2D canvas, 3D CSS and
WebGL will not function. To use the desktop GL graphics implementation which
does not require these components (and does not work on all systems) set
CefSettings.graphics_implementation to DESKTOP_IN_PROCESS.
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 the
below link for complete Chromium and third-party licensing information.
http://code.google.com/chromium/terms.html

View File

@ -32,7 +32,7 @@ def create_readme(src, output_dir, cef_rev, chromium_rev, date):
data = data.replace('$CEF_REV$', cef_rev) data = data.replace('$CEF_REV$', cef_rev)
data = data.replace('$CHROMIUM_REV$', chromium_rev) data = data.replace('$CHROMIUM_REV$', chromium_rev)
data = data.replace('$DATE$', date) data = data.replace('$DATE$', date)
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')
@ -77,7 +77,7 @@ def transfer_files(cef_dir, script_dir, transfer_cfg, output_dir, quiet):
readme = os.path.join(dst_path, 'README-TRANSFER.txt') readme = os.path.join(dst_path, 'README-TRANSFER.txt')
if not path_exists(readme): if not path_exists(readme):
copy_file(os.path.join(script_dir, 'distrib/README-TRANSFER.txt'), readme) copy_file(os.path.join(script_dir, 'distrib/README-TRANSFER.txt'), readme)
open(readme, 'a').write(cfg['source']+"\n") open(readme, 'ab').write(cfg['source']+"\n")
# perform any required post-processing # perform any required post-processing
if 'post-process' in cfg: if 'post-process' in cfg:
@ -205,7 +205,7 @@ transfer_files(cef_dir, script_dir, os.path.join(script_dir, 'distrib/transfer.c
if platform == 'windows': if platform == 'windows':
# create the README.TXT file # create the README.TXT file
create_readme(os.path.join(script_dir, 'distrib/win/README.TXT'), output_dir, cef_rev, \ create_readme(os.path.join(script_dir, 'distrib/win/README.txt'), output_dir, cef_rev, \
chromium_rev, date) chromium_rev, date)
# transfer include files # transfer include files
@ -273,7 +273,7 @@ if platform == 'windows':
elif platform == 'macosx': elif platform == 'macosx':
# create the README.TXT file # create the README.TXT file
create_readme(os.path.join(script_dir, 'distrib/mac/README.TXT'), output_dir, cef_rev, \ create_readme(os.path.join(script_dir, 'distrib/mac/README.txt'), output_dir, cef_rev, \
chromium_rev, date) chromium_rev, date)
# transfer include files # transfer include files
@ -328,11 +328,16 @@ elif platform == 'macosx':
elif platform == 'linux': elif platform == 'linux':
linux_build_dir = os.path.join(cef_dir, os.pardir, 'out') linux_build_dir = os.path.join(cef_dir, os.pardir, 'out')
# create the README.TXT file
create_readme(os.path.join(script_dir, 'distrib/linux/README.txt'), output_dir, cef_rev, \
chromium_rev, date)
# transfer build/Debug files # transfer build/Debug files
if not options.allowpartial or path_exists(os.path.join(linux_build_dir, 'Debug')): if not options.allowpartial or path_exists(os.path.join(linux_build_dir, 'Debug')):
dst_dir = os.path.join(output_dir, 'Debug') dst_dir = os.path.join(output_dir, 'Debug')
make_dir(dst_dir, options.quiet) make_dir(dst_dir, options.quiet)
copy_files(os.path.join(linux_build_dir, 'Debug/lib.target/*'), dst_dir, options.quiet) copy_dir(os.path.join(linux_build_dir, 'Debug/lib.target'), os.path.join(dst_dir, 'lib.target'), options.quiet)
copy_file(os.path.join(linux_build_dir, 'Debug/cefclient'), dst_dir, options.quiet) copy_file(os.path.join(linux_build_dir, 'Debug/cefclient'), dst_dir, options.quiet)
copy_file(os.path.join(linux_build_dir, 'Debug/chrome.pak'), dst_dir, options.quiet) copy_file(os.path.join(linux_build_dir, 'Debug/chrome.pak'), dst_dir, options.quiet)
copy_dir(os.path.join(linux_build_dir, 'Debug/locales'), os.path.join(dst_dir, 'locales'), options.quiet) copy_dir(os.path.join(linux_build_dir, 'Debug/locales'), os.path.join(dst_dir, 'locales'), options.quiet)
@ -344,7 +349,7 @@ elif platform == 'linux':
if not options.allowpartial or path_exists(os.path.join(linux_build_dir, 'Release')): if not options.allowpartial or path_exists(os.path.join(linux_build_dir, 'Release')):
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_files(os.path.join(linux_build_dir, 'Release/lib.target/*'), dst_dir, options.quiet) copy_dir(os.path.join(linux_build_dir, 'Release/lib.target'), os.path.join(dst_dir, 'lib.target'), options.quiet)
copy_file(os.path.join(linux_build_dir, 'Release/cefclient'), dst_dir, options.quiet) copy_file(os.path.join(linux_build_dir, 'Release/cefclient'), dst_dir, options.quiet)
copy_file(os.path.join(linux_build_dir, 'Release/chrome.pak'), dst_dir, options.quiet) copy_file(os.path.join(linux_build_dir, 'Release/chrome.pak'), dst_dir, options.quiet)
copy_dir(os.path.join(linux_build_dir, 'Release/locales'), os.path.join(dst_dir, 'locales'), options.quiet) copy_dir(os.path.join(linux_build_dir, 'Release/locales'), os.path.join(dst_dir, 'locales'), options.quiet)
@ -352,7 +357,7 @@ elif platform == 'linux':
else: else:
sys.stderr.write("No Release build files.\n") sys.stderr.write("No Release build files.\n")
# transfer include files # transfer include files
transfer_gypi_files(cef_dir, cef_paths['includes_linux'], \ transfer_gypi_files(cef_dir, cef_paths['includes_linux'], \
'include/', include_dir, options.quiet) 'include/', include_dir, options.quiet)