Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(119)

Side by Side Diff: webrtc/build/ios/export_headers.py

Issue 1875003004: Fix WebRTC API framework build. (Closed) Base URL: https://chromium.googlesource.com/external/webrtc.git@master
Patch Set: Rebase Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « webrtc/build/ios/export_headers ('k') | webrtc/build/ios/flatten_ios_headers » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/python 1 #!/usr/bin/python
2 2
3 # Copyright 2016 The WebRTC project authors. All Rights Reserved. 3 # Copyright 2016 The WebRTC project authors. All Rights Reserved.
4 # 4 #
5 # Use of this source code is governed by a BSD-style license 5 # Use of this source code is governed by a BSD-style license
6 # that can be found in the LICENSE file in the root of the source 6 # that can be found in the LICENSE file in the root of the source
7 # tree. An additional intellectual property rights grant can be found 7 # tree. An additional intellectual property rights grant can be found
8 # in the file PATENTS. All contributing project authors may 8 # in the file PATENTS. All contributing project authors may
9 # be found in the AUTHORS file in the root of the source tree. 9 # be found in the AUTHORS file in the root of the source tree.
10 10
11 """Script for exporting iOS header files.""" 11 """Script for exporting iOS header files."""
12 12
13 import errno 13 import errno
14 import optparse 14 import sys
15
16 import argparse
15 import os 17 import os
16 import re
17 import shutil 18 import shutil
18 import sys
19 19
20 LEGACY_HEADER_DIRS = ['talk/app/webrtc/objc/public', 'webrtc/base/objc/'] 20 LEGACY_HEADER_DIRS = ['talk/app/webrtc/objc/public', 'webrtc/base/objc/']
21 HEADER_DIRS = ['webrtc/api/objc/', 'webrtc/base/objc/', 21 HEADER_DIRS = ['webrtc/api/objc/', 'webrtc/base/objc/',
22 'webrtc/modules/audio_device/ios/objc'] 22 'webrtc/modules/audio_device/ios/objc']
23 # Individual header files that should also be exported. 23 # Individual header files that should also be exported.
24 LEGACY_HEADER_INCLUDES = [] 24 LEGACY_HEADER_INCLUDES = []
25 HEADER_INCLUDES = [] 25 HEADER_INCLUDES = []
26 # Individual header files that should not be exported. 26 # Individual header files that should not be exported.
27 LEGACY_HEADER_EXCLUDES = ['talk/app/webrtc/objc/public/RTCNSGLVideoView.h'] 27 LEGACY_HEADER_EXCLUDES = ['talk/app/webrtc/objc/public/RTCNSGLVideoView.h']
28 HEADER_EXCLUDES = [ 28 HEADER_EXCLUDES = [
29 'webrtc/api/objc/avfoundationvideocapturer.h', 29 'webrtc/api/objc/avfoundationvideocapturer.h',
30 'webrtc/api/objc/RTCNSGLVideoView.h', 30 'webrtc/api/objc/RTCNSGLVideoView.h',
31 'webrtc/base/objc/NSString+StdString.h', 31 'webrtc/api/objc/RTCVideoRendererAdapter.h',
32 'webrtc/base/objc/RTCUIApplication.h', 32 'webrtc/base/objc/NSString+StdString.h',
33 'webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.h', 33 'webrtc/base/objc/RTCUIApplication.h',
34 'webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.h',
34 ] 35 ]
35 36
37
36 def ExportHeaders(include_base_dir, use_legacy_headers): 38 def ExportHeaders(include_base_dir, use_legacy_headers):
37 """Exports iOS header files. 39 """Exports iOS header files.
38 40
39 Creates an include directory and recreates the hierarchy for the header files 41 Creates an include directory and recreates the hierarchy for the header files
40 within the include directory. 42 within the include directory.
41 43
42 Args: 44 Args:
43 include_base_dir: directory where the include directory should be created 45 include_base_dir: directory where the include directory should be created
46 use_legacy_headers: whether or not to export the old headers
44 """ 47 """
45 48
46 include_dir_name = 'include' 49 include_dir_name = 'include'
47 include_path = os.path.join(include_base_dir, include_dir_name) 50 include_path = os.path.join(include_base_dir, include_dir_name)
48 # Remove existing directory first in case files change. 51 # Remove existing directory first in case files change.
49 if (os.path.exists(include_path)): 52 if os.path.exists(include_path):
50 shutil.rmtree(include_path) 53 shutil.rmtree(include_path)
51 54
52 script_path = sys.path[0] 55 script_path = sys.path[0]
53 webrtc_base_path = os.path.join(script_path, '../../..') 56 webrtc_base_path = os.path.join(script_path, '../../..')
54 57
55 header_dirs = HEADER_DIRS 58 header_dirs = HEADER_DIRS
56 include_headers = HEADER_INCLUDES 59 include_headers = HEADER_INCLUDES
57 exclude_headers = HEADER_EXCLUDES 60 exclude_headers = HEADER_EXCLUDES
58 if use_legacy_headers: 61 if use_legacy_headers:
59 header_dirs = LEGACY_HEADER_DIRS 62 header_dirs = LEGACY_HEADER_DIRS
(...skipping 15 matching lines...) Expand all
75 # Create hierarchy for the header file within the include directory. 78 # Create hierarchy for the header file within the include directory.
76 try: 79 try:
77 os.makedirs(output_dir) 80 os.makedirs(output_dir)
78 except OSError as exc: 81 except OSError as exc:
79 if exc.errno != errno.EEXIST: 82 if exc.errno != errno.EEXIST:
80 raise exc 83 raise exc
81 current_path = os.path.join(webrtc_base_path, header_path) 84 current_path = os.path.join(webrtc_base_path, header_path)
82 new_path = os.path.join(include_path, header_path) 85 new_path = os.path.join(include_path, header_path)
83 shutil.copy(current_path, new_path) 86 shutil.copy(current_path, new_path)
84 87
88
85 def Main(): 89 def Main():
86 parser = optparse.OptionParser() 90 parser_description = 'Export WebRTC ObjC API headers.'
87 _, args = parser.parse_args() 91 parser = argparse.ArgumentParser(description=parser_description)
88 if len(args) != 2: 92 parser.add_argument('output_dir',
89 parser.error('Error: Exactly 2 arguments required.') 93 help='Output directory to write headers to.',
90 include_base_dir = args[0] 94 type=str)
91 use_legacy_headers = False if int(args[1]) == 0 else True 95 parser.add_argument('use_legacy_headers',
92 ExportHeaders(include_base_dir, use_legacy_headers) 96 help='Reads the old headers instead of the current ones.',
97 type=int)
98 args = parser.parse_args()
99 use_legacy_headers = args.use_legacy_headers != 0
100 output_dir = args.output_dir
101 ExportHeaders(output_dir, use_legacy_headers)
102
93 103
94 if __name__ == '__main__': 104 if __name__ == '__main__':
95 sys.exit(Main()) 105 sys.exit(Main())
OLDNEW
« no previous file with comments | « webrtc/build/ios/export_headers ('k') | webrtc/build/ios/flatten_ios_headers » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698