OLD | NEW |
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 optparse |
15 import os | 15 import os |
16 import re | 16 import re |
17 import shutil | 17 import shutil |
18 import sys | 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 # Individual header files that should also be exported. | 23 # Individual header files that should also be exported. |
23 LEGACY_HEADER_INCLUDES = [] | 24 LEGACY_HEADER_INCLUDES = [] |
24 HEADER_INCLUDES = [] | 25 HEADER_INCLUDES = [] |
25 # Individual header files that should not be exported. | 26 # Individual header files that should not be exported. |
26 LEGACY_HEADER_EXCLUDES = ['talk/app/webrtc/objc/public/RTCNSGLVideoView.h'] | 27 LEGACY_HEADER_EXCLUDES = ['talk/app/webrtc/objc/public/RTCNSGLVideoView.h'] |
27 HEADER_EXCLUDES = ['webrtc/api/objc/avfoundationvideocapturer.h', | 28 HEADER_EXCLUDES = [ |
28 'webrtc/api/objc/RTCNSGLVideoView.h', | 29 'webrtc/api/objc/avfoundationvideocapturer.h', |
29 'webrtc/base/objc/NSString+StdString.h', | 30 'webrtc/api/objc/RTCNSGLVideoView.h', |
30 'webrtc/base/objc/RTCUIApplication.h',] | 31 'webrtc/base/objc/NSString+StdString.h', |
| 32 'webrtc/base/objc/RTCUIApplication.h', |
| 33 'webrtc/modules/audio_device/ios/objc/RTCAudioSessionDelegateAdapter.h', |
| 34 ] |
31 | 35 |
32 def ExportHeaders(include_base_dir, use_legacy_headers): | 36 def ExportHeaders(include_base_dir, use_legacy_headers): |
33 """Exports iOS header files. | 37 """Exports iOS header files. |
34 | 38 |
35 Creates an include directory and recreates the hierarchy for the header files | 39 Creates an include directory and recreates the hierarchy for the header files |
36 within the include directory. | 40 within the include directory. |
37 | 41 |
38 Args: | 42 Args: |
39 include_base_dir: directory where the include directory should be created | 43 include_base_dir: directory where the include directory should be created |
40 """ | 44 """ |
41 | 45 |
42 include_dir_name = 'include' | 46 include_dir_name = 'include' |
43 include_path = os.path.join(include_base_dir, include_dir_name) | 47 include_path = os.path.join(include_base_dir, include_dir_name) |
| 48 # Remove existing directory first in case files change. |
| 49 if (os.path.exists(include_path)): |
| 50 shutil.rmtree(include_path) |
44 | 51 |
45 script_path = sys.path[0] | 52 script_path = sys.path[0] |
46 webrtc_base_path = os.path.join(script_path, '../../..') | 53 webrtc_base_path = os.path.join(script_path, '../../..') |
47 | 54 |
48 header_dirs = HEADER_DIRS | 55 header_dirs = HEADER_DIRS |
49 include_headers = HEADER_INCLUDES | 56 include_headers = HEADER_INCLUDES |
50 exclude_headers = HEADER_EXCLUDES | 57 exclude_headers = HEADER_EXCLUDES |
51 if use_legacy_headers: | 58 if use_legacy_headers: |
52 header_dirs = LEGACY_HEADER_DIRS | 59 header_dirs = LEGACY_HEADER_DIRS |
53 include_headers = LEGACY_HEADER_INCLUDES | 60 include_headers = LEGACY_HEADER_INCLUDES |
(...skipping 25 matching lines...) Expand all Loading... |
79 parser = optparse.OptionParser() | 86 parser = optparse.OptionParser() |
80 _, args = parser.parse_args() | 87 _, args = parser.parse_args() |
81 if len(args) != 2: | 88 if len(args) != 2: |
82 parser.error('Error: Exactly 2 arguments required.') | 89 parser.error('Error: Exactly 2 arguments required.') |
83 include_base_dir = args[0] | 90 include_base_dir = args[0] |
84 use_legacy_headers = False if int(args[1]) == 0 else True | 91 use_legacy_headers = False if int(args[1]) == 0 else True |
85 ExportHeaders(include_base_dir, use_legacy_headers) | 92 ExportHeaders(include_base_dir, use_legacy_headers) |
86 | 93 |
87 if __name__ == '__main__': | 94 if __name__ == '__main__': |
88 sys.exit(Main()) | 95 sys.exit(Main()) |
OLD | NEW |