]> git.pld-linux.org Git - packages/chromium-browser.git/blob - clean-source.sh
clean-source: attempt to preserve third_party/zlib/google
[packages/chromium-browser.git] / clean-source.sh
1 #!/bin/sh
2 set -xe
3
4 export LC_ALL=C
5
6 # import options
7 # remove everything unless it's remove has been disabled with "0"
8 # "v8=0" means "do not remove v8"
9 eval "$@"
10
11 # Strip tarball from some big directories not needed on the linux platform
12 # https://code.google.com/p/chromium/wiki/LinuxPackaging
13 # initial list from src/tools/export_tarball/export_tarball.py
14 # also removed non-linux files: find -name win -o -name mac -o name android -o name windows
15 # find -type d -name 'android' -o -name 'chromeos' -o -name 'cros'
16 # find -type d -name *doc*
17 # find -type d -name *example*
18 # find -type d -name java
19 # find -type d -name tools
20 # find -type d -name samples
21 # suffix with _ those that we can't remove (just yet) because of the gclient
22 # hooks (see build/all.gyp) or of some unneeded deps/includes
23 remove_nonessential_dirs() {
24         find -type f '(' \
25                 -name 'Android.mk' -o \
26                 -name '*.vcproj' -o \
27                 -name '*.sln' -o \
28                 -name '*.mm' -o \
29                 -name '*.m' \
30         ')' | xargs rm -vf
31
32         find -regextype posix-extended \
33                 -regex '.*_(win|cros|mac)_.*.xtb' \
34         -print -delete
35
36         local dir
37         for dir in \
38         v8/benchmarks \
39         v8/src/arm \
40         v8/src/d8* \
41         third_party/chromite \
42         android_webview \
43         ash/resources/default_100_percent/cros_ \
44         ash/resources/default_200_percent/cros_ \
45         ash/shell/cocoa \
46         ash/system/chromeos \
47         base/android \
48         base/chromeos \
49         base/ios \
50         breakpad/src/client/mac \
51         breakpad/src/common/android \
52         breakpad/src/common/mac \
53         breakpad/src/tools/mac \
54         build/mac \
55         build/win_ \
56         chrome/android \
57         chrome/app/android \
58         chrome/app/resources/terms/chromeos \
59         chrome/app/theme/default_100_percent/cros_ \
60         chrome/app/theme/default_100_percent/mac_ \
61         chrome/app/theme/default_100_percent/win \
62         chrome/app/theme/default_200_percent/cros_ \
63         chrome/app/theme/default_200_percent/mac \
64         chrome/app/theme/default_200_percent/win \
65         chrome/app/theme/touch_100_percent/win \
66         chrome/app/theme/touch_140_percent/win \
67         chrome/app/theme/touch_180_percent/win \
68         chrome/browser/android \
69         chrome/browser/chromeos/cros \
70         chrome/browser/extensions/docs \
71         chrome/browser/history/android \
72         chrome/browser/mac \
73         chrome/browser/resources/about_welcome_android \
74         chrome/browser/resources/chromeos_ \
75         chrome/browser/resources/ntp_android \
76         chrome/browser/resources/options/chromeos_ \
77         chrome/browser/resources/shared/css/chromeos \
78         chrome/browser/resources/shared/js/chromeos_ \
79         chrome/browser/ui/android \
80         chrome/browser/ui/cocoa \
81         chrome/browser/ui/webui/chromeos \
82         chrome/browser/ui/webui/ntp/android \
83         chrome/browser/ui/webui/options/chromeos \
84         chrome/common/extensions/docs \
85         chrome/common/mac \
86         chrome/installer/mac \
87         chrome/installer/mac/third_party/xz/config/mac \
88         chrome/installer/tools \
89         chrome/third_party/jstemplate/tutorial_examples \
90         third_party/jstemplate/tutorial_examples \
91         chrome/third_party/mock4js/examples \
92         chrome/third_party/wtl/ \
93         chrome/tools/build/chromeos \
94         chrome/tools/build/mac \
95         chrome/tools/build/win \
96         chrome_frame \
97         cloud_print/virtual_driver/win \
98         content/app/android \
99         content/browser/android \
100         content/common/android \
101         content/components/navigation_interception/java \
102         content/components/web_contents_delegate_android/java \
103         content/public/android \
104         content/public/browser/android \
105         content/renderer/android \
106         content/shell/android \
107         content/shell/mac \
108         data \
109         gears \
110         google_update \
111         gpu/command_buffer/docs \
112         gpu/demos \
113         media/audio/android \
114         media/audio/ios \
115         media/audio/mac \
116         media/audio/win \
117         media/base/android \
118         media/tools \
119         media/video/capture/mac \
120         media/video/capture/win \
121         media/webm/chromeos \
122         mesa/MesaLib/src/mesa/drivers/windows \
123         native_client/build/mac \
124         native_client/documentation \
125         native_client/src/shared/imc/win \
126         native_client/src/shared/platform/win \
127         native_client/src/tools \
128         native_client/src/trusted/debug_stub/win \
129         native_client/src/trusted/desc/win \
130         native_client/src/trusted/nonnacl_util/win \
131         native_client/src/trusted/platform_qualify/win \
132         native_client/tools \
133         native_client/tools/trusted_cross_toolchains \
134         native_client_sdk \
135         native_client_sdk/src/libraries/win \
136         net/android \
137         net/tools \
138         net/tools/testserver \
139         npapi/npspy/windows \
140         o3d \
141         o3d/documentation \
142         o3d/samples \
143         ppapi/c/documentation \
144         ppapi/cpp/documentation \
145         ppapi/native_client/src/tools \
146         ppapi/native_client/src/trusted/plugin/win \
147         ppapi/native_client/tools \
148         remoting/host/installer/mac \
149         remoting/host/installer/win \
150         remoting/host/mac \
151         remoting/host/setup/win \
152         remoting/host/win \
153         rlz/examples \
154         rlz/mac \
155         rlz/win \
156         sandbox/win/tools \
157         sdch/ios \
158         sdch/mac \
159         skia/config/win \
160         sync/tools \
161         tcmalloc/chromium/src/windows \
162         tcmalloc/vendor/src/windows \
163         third_party/WebKit/Source/JavaScriptCore/docs \
164         third_party/WebKit/Source/JavaScriptCore/tools \
165         third_party/WebKit/Source/Platform/chromium/public/android \
166         third_party/WebKit/Source/Platform/chromium/public/mac \
167         third_party/WebKit/Source/Platform/chromium/public/win \
168         third_party/WebKit/Source/ThirdParty/gtest/samples \
169         third_party/WebKit/Source/ThirdParty/gyp/samples \
170         third_party/WebKit/Source/ThirdParty/gyp/samples/samples \
171         third_party/WebKit/Source/ThirdParty/gyp/tools \
172         third_party/WebKit/Source/WTF/wtf/mac \
173         third_party/WebKit/Source/WTF/wtf/qt \
174         third_party/WebKit/Source/WTF/wtf/threads/win \
175         third_party/WebKit/Source/WTF/wtf/win \
176         third_party/WebKit/Source/WebCore/WebCore.gyp/mac \
177         third_party/WebKit/Source/WebCore/accessibility/mac \
178         third_party/WebKit/Source/WebCore/accessibility/qt \
179         third_party/WebKit/Source/WebCore/accessibility/win \
180         third_party/WebKit/Source/WebCore/bridge/qt \
181         third_party/WebKit/Source/WebCore/editing/android \
182         third_party/WebKit/Source/WebCore/editing/mac \
183         third_party/WebKit/Source/WebCore/editing/qt \
184         third_party/WebKit/Source/WebCore/history/android \
185         third_party/WebKit/Source/WebCore/history/mac \
186         third_party/WebKit/Source/WebCore/history/qt \
187         third_party/WebKit/Source/WebCore/loader/mac \
188         third_party/WebKit/Source/WebCore/loader/win \
189         third_party/WebKit/Source/WebCore/page/android \
190         third_party/WebKit/Source/WebCore/page/mac \
191         third_party/WebKit/Source/WebCore/page/qt \
192         third_party/WebKit/Source/WebCore/page/scrolling/mac \
193         third_party/WebKit/Source/WebCore/page/win \
194         third_party/WebKit/Source/WebCore/platform/android \
195         third_party/WebKit/Source/WebCore/platform/audio/mac \
196         third_party/WebKit/Source/WebCore/platform/audio/qt \
197         third_party/WebKit/Source/WebCore/platform/cf/win \
198         third_party/WebKit/Source/WebCore/platform/cocoa \
199         third_party/WebKit/Source/WebCore/platform/graphics/ca/mac \
200         third_party/WebKit/Source/WebCore/platform/graphics/ca/win \
201         third_party/WebKit/Source/WebCore/platform/graphics/cocoa \
202         third_party/WebKit/Source/WebCore/platform/graphics/gpu/mac \
203         third_party/WebKit/Source/WebCore/platform/graphics/gpu/qt \
204         third_party/WebKit/Source/WebCore/platform/graphics/mac \
205         third_party/WebKit/Source/WebCore/platform/graphics/qt \
206         third_party/WebKit/Source/WebCore/platform/graphics/surfaces/mac \
207         third_party/WebKit/Source/WebCore/platform/graphics/surfaces/qt \
208         third_party/WebKit/Source/WebCore/platform/graphics/surfaces/win \
209         third_party/WebKit/Source/WebCore/platform/graphics/win \
210         third_party/WebKit/Source/WebCore/platform/ios \
211         third_party/WebKit/Source/WebCore/platform/mac \
212         third_party/WebKit/Source/WebCore/platform/network/android \
213         third_party/WebKit/Source/WebCore/platform/network/mac \
214         third_party/WebKit/Source/WebCore/platform/network/qt \
215         third_party/WebKit/Source/WebCore/platform/network/win \
216         third_party/WebKit/Source/WebCore/platform/qt \
217         third_party/WebKit/Source/WebCore/platform/text/android \
218         third_party/WebKit/Source/WebCore/platform/text/mac \
219         third_party/WebKit/Source/WebCore/platform/text/qt \
220         third_party/WebKit/Source/WebCore/platform/text/win \
221         third_party/WebKit/Source/WebCore/platform/win \
222         third_party/WebKit/Source/WebCore/platform/wx/wxcode/mac \
223         third_party/WebKit/Source/WebCore/platform/wx/wxcode/win \
224         third_party/WebKit/Source/WebCore/plugins/mac \
225         third_party/WebKit/Source/WebCore/plugins/qt \
226         third_party/WebKit/Source/WebCore/plugins/win \
227         third_party/WebKit/Source/WebKit/chromium/public/android \
228         third_party/WebKit/Source/WebKit/chromium/public/platform/android \
229         third_party/WebKit/Source/WebKit/chromium/public/platform/mac \
230         third_party/WebKit/Source/WebKit/chromium/public/platform/win \
231         third_party/WebKit/Source/WebKit/chromium/public/win \
232         third_party/WebKit/Source/WebKit/chromium/src/android \
233         third_party/WebKit/Source/WebKit/chromium/src/mac \
234         third_party/WebKit/Source/WebKit/chromium/src/win \
235         third_party/WebKit/Source/WebKit/gtk/docs \
236         third_party/WebKit/Source/WebKit/mac \
237         third_party/WebKit/Source/WebKit/qt \
238         third_party/WebKit/Source/WebKit/qt/docs \
239         third_party/WebKit/Source/WebKit/qt/examples \
240         third_party/WebKit/Source/WebKit/win \
241         third_party/WebKit/Source/WebKit/wx/bindings/python/samples \
242         third_party/WebKit/Source/WebKit2/Platform/CoreIPC/mac \
243         third_party/WebKit/Source/WebKit2/Platform/CoreIPC/win \
244         third_party/WebKit/Source/WebKit2/Platform/mac \
245         third_party/WebKit/Source/WebKit2/Platform/win \
246         third_party/WebKit/Source/WebKit2/PluginProcess/mac \
247         third_party/WebKit/Source/WebKit2/Shared/API/c/mac \
248         third_party/WebKit/Source/WebKit2/Shared/API/c/win \
249         third_party/WebKit/Source/WebKit2/Shared/Plugins/Netscape/mac \
250         third_party/WebKit/Source/WebKit2/Shared/Plugins/Netscape/win \
251         third_party/WebKit/Source/WebKit2/Shared/Plugins/mac \
252         third_party/WebKit/Source/WebKit2/Shared/cg/win \
253         third_party/WebKit/Source/WebKit2/Shared/mac \
254         third_party/WebKit/Source/WebKit2/Shared/win \
255         third_party/WebKit/Source/WebKit2/UIProcess/API/C/mac \
256         third_party/WebKit/Source/WebKit2/UIProcess/API/C/win \
257         third_party/WebKit/Source/WebKit2/UIProcess/API/mac \
258         third_party/WebKit/Source/WebKit2/UIProcess/Launcher/mac \
259         third_party/WebKit/Source/WebKit2/UIProcess/Launcher/win \
260         third_party/WebKit/Source/WebKit2/UIProcess/Plugins/mac \
261         third_party/WebKit/Source/WebKit2/UIProcess/Plugins/win \
262         third_party/WebKit/Source/WebKit2/UIProcess/mac \
263         third_party/WebKit/Source/WebKit2/UIProcess/win \
264         third_party/WebKit/Source/WebKit2/WebProcess/Authentication/mac \
265         third_party/WebKit/Source/WebKit2/WebProcess/Cookies/mac \
266         third_party/WebKit/Source/WebKit2/WebProcess/Downloads/cf/win \
267         third_party/WebKit/Source/WebKit2/WebProcess/Downloads/mac \
268         third_party/WebKit/Source/WebKit2/WebProcess/FullScreen/mac \
269         third_party/WebKit/Source/WebKit2/WebProcess/FullScreen/win \
270         third_party/WebKit/Source/WebKit2/WebProcess/InjectedBundle/API/c/win \
271         third_party/WebKit/Source/WebKit2/WebProcess/InjectedBundle/mac \
272         third_party/WebKit/Source/WebKit2/WebProcess/InjectedBundle/win \
273         third_party/WebKit/Source/WebKit2/WebProcess/Plugins/Netscape/mac \
274         third_party/WebKit/Source/WebKit2/WebProcess/Plugins/Netscape/win \
275         third_party/WebKit/Source/WebKit2/WebProcess/WebCoreSupport/mac \
276         third_party/WebKit/Source/WebKit2/WebProcess/WebCoreSupport/win \
277         third_party/WebKit/Source/WebKit2/WebProcess/WebPage/ca/mac \
278         third_party/WebKit/Source/WebKit2/WebProcess/WebPage/ca/win \
279         third_party/WebKit/Source/WebKit2/WebProcess/WebPage/mac \
280         third_party/WebKit/Source/WebKit2/WebProcess/WebPage/win \
281         third_party/WebKit/Source/WebKit2/WebProcess/mac \
282         third_party/WebKit/Source/WebKit2/WebProcess/win \
283         third_party/WebKit/Source/WebKit2/mac \
284         third_party/WebKit/Source/WebKit2/win \
285         third_party/WebKit/Tools/DumpRenderTree/mac \
286         third_party/WebKit/Tools/DumpRenderTree/qt \
287         third_party/WebKit/Tools/DumpRenderTree/win \
288         third_party/angle/extensions \
289         third_party/angle/samples \
290         third_party/angle/samples/gles2_book \
291         third_party/boost \
292         third_party/bsdiff \
293         third_party/bspatch \
294         third_party/cacheinvalidation/src/example-app-build \
295         third_party/cacheinvalidation/src/java \
296         third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/external/client/android \
297         third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/ticl/android \
298         third_party/ffmpeg/binaries \
299         third_party/ffmpeg/chromium/binaries/Chromium/win \
300         third_party/ffmpeg/chromium/config/Chrome/mac \
301         third_party/ffmpeg/chromium/config/Chrome/win \
302         third_party/ffmpeg/chromium/config/Chromium/mac \
303         third_party/ffmpeg/chromium/config/Chromium/win \
304         third_party/ffmpeg/chromium/include/win \
305         third_party/ffmpeg/doc \
306         third_party/ffmpeg/tools \
307         third_party/fuzzymatch \
308         third_party/gles2_book \
309         third_party/gles_book_examples \
310         third_party/gold \
311         third_party/hunspell/dictionaries \
312         third_party/hunspell_dictionaries \
313         third_party/hyphen/doc \
314         third_party/icu/android \
315         third_party/icu/mac \
316         third_party/lcov \
317         third_party/leveldatabase/src/doc \
318         third_party/leveldatabase/src/port/win \
319         third_party/libjingle/source/talk/examples \
320         third_party/libjpeg_turbo/mac \
321         third_party/libjpeg_turbo/win \
322         third_party/libva/va/android \
323         third_party/libvpx/source/config/mac \
324         third_party/libvpx/source/config/win \
325         third_party/libxml/mac \
326         third_party/lighttpd \
327         third_party/mesa/MesaLib/docs \
328         third_party/mesa/MesaLib/src/gallium/docs \
329         third_party/npapi/npspy/extern/java \
330         third_party/nspr \
331         third_party/nss \
332         third_party/ocmock \
333         third_party/openssl/config/android \
334         third_party/ots/tools \
335         third_party/pthread \
336         third_party/pyftpdlib \
337         third_party/re2/doc \
338         third_party/scons \
339         third_party/sfntly/cpp/src/sfntly/tools \
340         third_party/simplejson \
341         third_party/skia/include/utils/android \
342         third_party/skia/include/utils/ios \
343         third_party/skia/include/utils/mac \
344         third_party/skia/include/utils/win \
345         third_party/skia/include/views/android \
346         third_party/skia/src/gpu/gl/android \
347         third_party/skia/src/gpu/gl/mac \
348         third_party/skia/src/gpu/gl/win \
349         third_party/skia/src/utils/ios \
350         third_party/skia/src/utils/mac \
351         third_party/skia/src/utils/win \
352         third_party/skia/src/views/ios \
353         third_party/skia/src/views/mac \
354         third_party/skia/src/views/win \
355         third_party/snappy/mac \
356         third_party/sqlite/src/doc \
357         third_party/tcmalloc/vendor/doc \
358         third_party/trace-viewer/examples \
359         third_party/trace-viewer/third_party/pywebsocket/src/example \
360         third_party/vc_80 \
361         third_party/webdriver/pylib/docs \
362         third_party/webrtc/modules/audio_device/android \
363         third_party/webrtc/modules/audio_device/ios \
364         third_party/webrtc/modules/audio_device/main/source/mac \
365         third_party/webrtc/modules/audio_device/main/source/win \
366         third_party/webrtc/modules/audio_device/win \
367         third_party/webrtc/modules/video_capture/android/java \
368         third_party/webrtc/modules/video_capture/main/source/android \
369         third_party/webrtc/modules/video_render/android/java \
370         third_party/webrtc/modules/video_render/main/source/android \
371         third_party/webrtc/modules/video_render/main/source/mac \
372         third_party/webrtc/system_wrappers/source/android \
373         third_party/yasm/source/config/android \
374         third_party/yasm/source/config/mac \
375         third_party/yasm/source/config/win \
376         tools/android \
377         tools/gyp/samples \
378         tools/gyp/samples/samples \
379         tools/gyp/tools \
380         tools/mac \
381         tools/site_compare \
382         tools/stats_viewer \
383         tools/symsrc \
384         tools/valgrind \
385         tools/win \
386         tools/wine_valgrind \
387         ui/android \
388         ui/base/cocoa \
389         ui/base/ime/win \
390         ui/gfx/android \
391         ui/gfx/mac \
392         ui/resources/default_100_percent/cros_ \
393         ui/resources/default_200_percent/cros_ \
394         ui/views/examples \
395         ui/views/win \
396         v8/samples \
397         webkit/chromeos \
398         webkit/media/android \
399         webrtc/modules/video_capture/windows \
400         webrtc/modules/video_render/windows \
401         win8 \
402         ; do
403                 rm -vfr "$dir"
404         done
405
406         find $(ls -d \
407                 base/mac \
408                 base/win \
409                 build/android \
410                 chrome/browser/chromeos \
411                 chrome/browser/component/web_contents_delegate_android \
412                 chrome/tools \
413                 chromeos \
414                 cloud_print/service/win \
415                 content/browser/renderer_host/java \
416                 content/common/mac \
417                 content/renderer/java \
418                 gpu/tools \
419                 native_client/src/include/win \
420                 native_client/src/trusted/service_runtime/win \
421                 remoting/tools \
422                 sandbox/win \
423                 third_party/WebKit/Source/WebKit/chromium/public/mac \
424                 third_party/WebKit/Tools \
425                 third_party/cld/encodings/compact_lang_det/win \
426                 third_party/cros_system_api \
427                 third_party/mozc/chrome/chromeos \
428                 third_party/sfntly/cpp/src/sample \
429                 third_party/tcmalloc \
430                 third_party/v8-i18n/tools \
431                 third_party/webrtc/modules/video_coding/codecs/tools \
432                 third_party/webrtc/tools \
433                 ui/base/win \
434                 v8/tools \
435                 webkit/tools \
436         ) '!' -type d '(' \
437                 '!' -name '*.grd' \
438                 '!' -name '*.gyp*' \
439                 '!' -path 'base/mac/bundle_locations.h' \
440                 '!' -path 'base/mac/crash_logging.h' \
441                 '!' -path 'base/win/windows_version.h' \
442                 '!' -path 'build/android/cpufeatures.gypi' \
443                 '!' -path 'chrome/browser/chromeos/contacts/contact.proto' \
444                 '!' -path 'chrome/browser/chromeos/extensions/echo_private_api.h' \
445                 '!' -path 'chrome/browser/chromeos/extensions/file_manager/file_browser_handler_api.h' \
446                 '!' -path 'chrome/browser/chromeos/extensions/info_private_api.h' \
447                 '!' -path 'chrome/browser/chromeos/extensions/media_player_api.h' \
448                 '!' -path 'chrome/browser/chromeos/extensions/networking_private_api.h' \
449                 '!' -path 'chrome/browser/chromeos/extensions/wallpaper_private_api.h' \
450                 '!' -path 'chrome/browser/chromeos/settings/cros_settings.h' \
451                 '!' -path 'chrome/browser/chromeos/settings/cros_settings_names.h' \
452                 '!' -path 'chrome/browser/chromeos/settings/cros_settings_provider.h' \
453                 '!' -path 'chrome/browser/chromeos/settings/device_settings_service.h' \
454                 '!' -path 'chrome/tools/build/generate_policy_source.py' \
455                 '!' -path 'chrome/tools/build/linux/sed.sh' \
456                 '!' -path 'chrome/tools/build/make_version_cc.py' \
457                 '!' -path 'chrome/tools/build/repack_locales.py' \
458                 '!' -path 'chrome/tools/build/version.py' \
459                 '!' -path 'chromeos/chromeos_export.h' \
460                 '!' -path 'chromeos/chromeos_switches.h' \
461                 '!' -path 'chromeos/dbus/dbus_client_implementation_type.h' \
462                 '!' -path 'chromeos/dbus/session_manager_client.h' \
463                 '!' -path 'chromeos/network/onc/onc_constants.h' \
464                 '!' -path 'content/browser/renderer_host/java/java_bridge_dispatcher_host_manager.h' \
465                 '!' -path 'content/common/mac/attributed_string_coder.h' \
466                 '!' -path 'content/common/mac/font_descriptor.h' \
467                 '!' -path 'content/renderer/java/java_bridge_dispatcher.h' \
468                 '!' -path 'native_client/src/include/win/mman.h' \
469                 '!' -path 'native_client/src/trusted/service_runtime/win/debug_exception_handler.h' \
470                 '!' -path 'native_client/src/trusted/service_runtime/win/exception_patch/ntdll_patch.h' \
471                 '!' -path 'remoting/tools/verify_resources.py' \
472                 '!' -path 'sandbox/win/src/sandbox_types.h' \
473                 '!' -path 'third_party/WebKit/Source/WebKit/chromium/public/mac/WebSubstringUtil.h' \
474                 '!' -path 'third_party/cld/encodings/compact_lang_det/win/cld_*.cc' \
475                 '!' -path 'third_party/cld/encodings/compact_lang_det/win/cld_*.h' \
476                 '!' -path 'third_party/cros_system_api/dbus/*.proto' \
477                 '!' -path 'third_party/cros_system_api/dbus/service_constants.h' \
478                 '!' -path 'third_party/sfntly/cpp/src/sample/chromium/*' \
479                 '!' -path 'third_party/tcmalloc/chromium/*' \
480                 '!' -path 'third_party/v8-i18n/tools/js2c.py' \
481                 '!' -path 'ui/base/win/dpi.h' \
482                 '!' -path 'v8/tools/js2c.py' \
483                 '!' -path 'v8/tools/jsmin.py' \
484                 '!' -path 'webkit/tools/test_shell/*.h' \
485                 ')' \
486         -print -delete
487 }
488
489 # There are directories we want to strip, but that are unnecessarily required by the build-system
490 # So we drop everything but the gyp/gypi files
491 almost_strip_dirs() {
492         local dir
493         for dir in \
494                 breakpad_ \
495                 build/ios \
496                 courgette \
497                 third_party/cros_dbus_cplusplus \
498                 ; do
499                 find $dir -depth -mindepth 1 '!' '(' -name '*.gyp' -o -name '*.gypi' ')' -print -delete || :
500         done
501
502         find tools -type f \
503                 '!' -iname '*.gyp*' \
504                 '!' -path 'tools/build/*' \
505                 '!' -path 'tools/clang/scripts/plugin_flags.sh' \
506                 '!' -path 'tools/compile_test/compile_test.py' \
507                 '!' -path 'tools/generate_library_loader/*' \
508                 '!' -path 'tools/generate_shim_headers/generate_shim_headers.py' \
509                 '!' -path 'tools/generate_stubs/*' \
510                 '!' -path 'tools/grit/*' \
511                 '!' -path 'tools/gritsettings/*' \
512                 '!' -path 'tools/gyp/*' \
513                 '!' -path 'tools/json_comment_eater/json_comment_eater.py' \
514                 '!' -path 'tools/json_schema_compiler/*' \
515                 '!' -path 'tools/json_to_struct/*' \
516                 '!' -path 'tools/licenses.py' \
517                 '!' -path 'tools/protoc_wrapper/*' \
518                 '!' -path 'tools/usb_ids/*' \
519                 '!' -path 'tools/uuidgen.py' \
520                 '!' -path 'tools/zip2msi.py' \
521                 -print -delete
522 }
523
524 # clean third party
525 # list based from archlinux PKGBUILD
526 # https://aur.archlinux.org/packages/ch/chromium-dev/PKGBUILD
527 clean_third_party() {
528         local dir
529         for dir in \
530                 third_party/ashmem \
531                 third_party/eyesfree \
532                 third_party/guava \
533                 third_party/iaccessible2 \
534                 third_party/icon_family \
535                 third_party/isimpledom \
536                 third_party/jsr-305 \
537                 third_party/libexif \
538                 third_party/mach_override \
539                 third_party/npapi/npspy \
540                 third_party/re2/benchlog \
541                 third_party/sqlite/*.patch \
542                 third_party/sqlite/src/*.patch \
543                 third_party/sudden_motion_sensor \
544                 ; do
545                 rm -vfr "$dir"
546         done
547
548         find third_party -type f \
549                 '!' -iname '*.gyp*' \
550                 \! -path 'third_party/WebKit/*' \
551                 \! -path 'third_party/adobe/flash/*' \
552                 \! -path 'third_party/angle/include/EGL/*' \
553                 \! -path 'third_party/angle/include/GLSLANG/*' \
554                 \! -path 'third_party/angle/src/common/*' \
555                 \! -path 'third_party/angle/src/compiler/*' \
556                 \! -path 'third_party/angle/src/third_party/compiler/*' \
557                 \! -path 'third_party/cacheinvalidation/*' \
558                 \! -path 'third_party/cld/*' \
559                 \! -path 'third_party/cros_system_api/*' \
560                 \! -path 'third_party/flot/*.js' \
561                 \! -path 'third_party/hunspell/*' \
562                 \! -path 'third_party/hyphen/*' \
563                 \! -path 'third_party/iccjpeg/*' \
564                 \! -path 'third_party/jstemplate/*' \
565                 \! -path 'third_party/khronos/*' \
566                 \! -path 'third_party/leveldatabase/*' \
567                 \! -path 'third_party/libXNVCtrl/*' \
568                 \! -path 'third_party/libjingle/*' \
569                 \! -path 'third_party/libphonenumber/*' \
570                 \! -path 'third_party/libva/*' \
571                 \! -path 'third_party/libvpx/*' \
572                 \! -path 'third_party/libxml/chromium/*' \
573                 \! -path 'third_party/libyuv/*' \
574                 \! -path 'third_party/lss/*.h' \
575                 \! -path 'third_party/mesa/MesaLib/include/GL/gl.h' \
576                 \! -path 'third_party/mesa/MesaLib/include/GL/glext.h' \
577                 \! -path 'third_party/mesa/MesaLib/include/GL/glx.h' \
578                 \! -path 'third_party/mesa/MesaLib/include/GL/glxext.h' \
579                 \! -path 'third_party/mesa/MesaLib/include/GL/osmesa.h' \
580                 \! -path 'third_party/modp_b64/*' \
581                 \! -path 'third_party/mt19937ar/*' \
582                 \! -path 'third_party/npapi/*' \
583                 \! -path 'third_party/ots/*' \
584                 \! -path 'third_party/protobuf/*' \
585                 \! -path 'third_party/qcms/*' \
586                 \! -path 'third_party/re2/*' \
587                 \! -path 'third_party/sfntly/*' \
588                 \! -path 'third_party/skia/*' \
589                 \! -path 'third_party/smhasher/*' \
590                 \! -path 'third_party/snappy/*' \
591                 \! -path 'third_party/sqlite/amalgamation/*' \
592                 \! -path 'third_party/sqlite/sqlite3.h' \
593                 \! -path 'third_party/sqlite/src/ext/*' \
594                 \! -path 'third_party/tcmalloc/*' \
595                 \! -path 'third_party/trace-viewer/*' \
596                 \! -path 'third_party/undoview/*' \
597                 \! -path 'third_party/v8-i18n/*' \
598                 \! -path 'third_party/v8/*' \
599                 \! -path 'third_party/webrtc/*' \
600                 \! -path 'third_party/widevine/*' \
601                 \! -path 'third_party/x86inc/*' \
602                 \! -path 'third_party/zlib/google/*' \
603                 -print -delete
604
605         rm -vf third_party/expat/files/lib/expat.h
606 }
607
608 # parts based on ubuntu debian/rules
609 # http://bazaar.launchpad.net/~chromium-team/chromium-browser/chromium-browser.head/view/head:/debian/rules
610 remove_bin_only() {
611         find -type f \( \
612                 -iname \*.exe -o \
613                 -iname \*.nexe -o \
614                 -iname \*.fon -o \
615                 -iname \*.ttf  -o \
616                 -iname \*.dll -o \
617                 -iname \*.pdb -o \
618                 -name \*.o -o \
619                 -name \*.a -o \
620                 -name \*.dylib \
621         \) -exec rm -fv {} \;
622 }
623
624 # removes dir, if the bcond is not turned off
625 strip_system_dirs() {
626         local dir lib bcond args
627         # prevent "*" from being expanded in $args
628         set -f
629         for dir in "$@"; do
630                 args=${dir#* }
631                 test "$args" = "$dir" && args=
632                 dir=${dir%% *}
633                 lib=${dir##*/}
634                 bcond=$(eval echo \$$lib)
635                 [ "${bcond:-1}" = 0 ] && continue
636
637                 # skip already removed dirs
638                 test -d $dir || continue
639
640                 find $dir -depth -mindepth 1 '!' '(' -name '*.gyp' -o -name '*.gypi' -o -path $dir/$lib.h $args ')' -print -delete || :
641         done
642         set +f
643 }
644
645 # remove test data and files
646 # some scanned with find -name tests -o -name test -o -name test_data -o name testdata
647 # and find -iname *test*
648 remove_tests() {
649         local dir
650
651         # full remove
652         for dir in \
653         ash/test \
654         base/test \
655         breakpad/src/client/windows/tests \
656         breakpad/src/common/linux/tests \
657         breakpad/src/common/tests \
658         cc/test \
659         chrome/browser/chromeos/bluetooth/test \
660         chrome/browser/component_updater/test \
661         chrome/browser/extensions/api/test_ \
662         chrome/browser/printing/cloud_print/test \
663         chrome/browser/resources/gaia_auth/test \
664         chrome/browser/resources/tracing/tests \
665         chrome/browser/sync/test \
666         chrome/browser/ui/cocoa/test \
667         chrome/browser/ui/gtk/test \
668         chrome/browser/ui/tests \
669         chrome/browser/ui/views/test \
670         chrome/installer/test \
671         chrome/test/chromeos \
672         chrome/test/data/firefox2_nss_mac \
673         chrome/test/data/safe_browsing/old \
674         chrome/test/logging/win \
675         chrome/test/pyautolib/chromeos \
676         chrome/test/webdriver/test \
677         chrome/test_ \
678         chrome/tools/test \
679         chrome_frame/test \
680         chrome_frame/tools/test \
681         content/browser/worker_host/test \
682         content/common/gpu/testdata \
683         content/public/test \
684         content/test \
685         courgette/testdata \
686         device/bluetooth/test \
687         device/test \
688         gpu/command_buffer/tests \
689         media/test \
690         media/tools/layout_tests/test_data \
691         native_client/buildbot \
692         native_client/src/shared/platform/testdata \
693         native_client/src/trusted/gio/testdata \
694         native_client/src/trusted/interval_multiset/testdata \
695         native_client/src/trusted/service_runtime/testdata \
696         native_client/src/trusted/validator/x86/decoder/generator/testdata \
697         native_client/src/trusted/validator/x86/testing \
698         native_client/src/trusted/validator_arm/testdata \
699         native_client/src/trusted/validator_mips/testdata \
700         native_client/src/trusted/validator_x86/testdata \
701         native_client/tests \
702         native_client/tools/testdata \
703         native_client/tools/tests \
704         native_client_sdk/src/build_tools/tests \
705         native_client_sdk/src/libraries/c_salt/test \
706         net/test \
707         o3d/tests \
708         ppapi/native_client/tests \
709         ppapi/tests \
710         printing/test \
711         rlz/test \
712         sandbox/linux/seccomp-legacy/tests \
713         sandbox/linux/tests \
714         sandbox/tests \
715         sandbox/win/tests \
716         sdch/open-vcdiff/testdata \
717         seccompsandbox/tests \
718         sync/internal_api/public/test \
719         sync/internal_api/test \
720         sync/test \
721         testing/android \
722         testing/gmock/scripts/test \
723         testing/gmock/test \
724         testing/gtest/scripts/test \
725         testing/gtest/test \
726         third_party/WebKit/LayoutTests \
727         third_party/WebKit/Source/JavaScriptCore/API/tests \
728         third_party/WebKit/Source/JavaScriptCore/qt/tests \
729         third_party/WebKit/Source/JavaScriptCore/tests \
730         third_party/WebKit/Source/ThirdParty/gtest/scripts/test \
731         third_party/WebKit/Source/ThirdParty/gtest/test \
732         third_party/WebKit/Source/ThirdParty/gyp/test \
733         third_party/WebKit/Source/ThirdParty/qunit/test \
734         third_party/WebKit/Source/WebCore/bindings/scripts/test \
735         third_party/WebKit/Source/WebCore/testing_ \
736         third_party/WebKit/Source/WebKit/chromium/tests \
737         third_party/WebKit/Source/WebKit/efl/tests \
738         third_party/WebKit/Source/WebKit/gtk/tests \
739         third_party/WebKit/Source/WebKit/qt/tests \
740         third_party/WebKit/Source/WebKit2/UIProcess/API/efl/tests \
741         third_party/WebKit/Source/WebKit2/UIProcess/API/gtk/tests \
742         third_party/WebKit/Source/WebKit2/UIProcess/API/qt/tests \
743         third_party/WebKit/Tools/DumpRenderTree/TestNetscapePlugIn/Tests/mac \
744         third_party/WebKit/Tools/DumpRenderTree/TestNetscapePlugIn/Tests/win \
745         third_party/WebKit/Tools/DumpRenderTree/TestNetscapePlugIn/mac \
746         third_party/WebKit/Tools/DumpRenderTree/TestNetscapePlugIn/win \
747         third_party/WebKit/Tools/Scripts/webkitpy/test \
748         third_party/WebKit/Tools/TestWebKitAPI/Tests/TestWebKitAPI/mac \
749         third_party/WebKit/Tools/TestWebKitAPI/Tests/WebKit/win \
750         third_party/WebKit/Tools/TestWebKitAPI/Tests/WebKit2/mac \
751         third_party/WebKit/Tools/TestWebKitAPI/Tests/WebKit2/win \
752         third_party/WebKit/Tools/TestWebKitAPI/Tests/mac \
753         third_party/WebKit/Tools/TestWebKitAPI/mac \
754         third_party/WebKit/Tools/TestWebKitAPI/win \
755         third_party/angle/tests \
756         third_party/cacheinvalidation/files/src/google/cacheinvalidation/test \
757         third_party/cacheinvalidation/src/google/cacheinvalidation/test \
758         third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/testing \
759         third_party/cacheinvalidation/src/java/com/google/ipc/invalidation/testing/android \
760         third_party/ffmpeg/tests \
761         third_party/harfbuzz/tests \
762         third_party/hunspell/tests \
763         third_party/hyphen/tests \
764         third_party/libexif/sources/test \
765         third_party/libjingle/source/talk/app/webrtc/test \
766         third_party/libjingle/source/talk/media/testdata \
767         third_party/libphonenumber/src/resources/test \
768         third_party/libphonenumber/src/test \
769         third_party/libsrtp/srtp/crypto/test \
770         third_party/libsrtp/srtp/test \
771         third_party/libyuv/unit_test/testdata \
772         third_party/mesa/MesaLib/src/gallium/tests \
773         third_party/openssl/openssl/crypto/des/t/test \
774         third_party/openssl/openssl/test \
775         third_party/ots/test \
776         third_party/protobuf/src/google/protobuf/testdata \
777         third_party/protobuf/src/google/protobuf/testing \
778         third_party/re2/re2/testing \
779         third_party/safe_browsing/testing \
780         third_party/sfntly/cpp/src/test \
781         third_party/sqlite/src/test \
782         third_party/sqlite/test \
783         third_party/talloc/libreplace/test \
784         third_party/tcmalloc/chromium/src/tests \
785         third_party/tcmalloc/vendor/src/tests \
786         third_party/tlslite/test \
787         third_party/trace-viewer/test_data \
788         third_party/trace-viewer/third_party/pywebsocket/src/test \
789         third_party/trace-viewer/third_party/pywebsocket/src/test/testdata \
790         third_party/v8-i18n/tests \
791         third_party/webdriver/pylib/test \
792         third_party/webdriver/test_data \
793         third_party/webrtc/modules/audio_device/test/android \
794         third_party/webrtc/modules/audio_processing/test/android \
795         third_party/webrtc/modules/utility/test \
796         third_party/webrtc/modules/video_capture/main/test/android \
797         third_party/webrtc/system_wrappers/test \
798         third_party/webrtc/test/manual \
799         third_party/webrtc/test/testsupport/mac \
800         third_party/webrtc/video_engine/test/auto_test/android \
801         third_party/webrtc/voice_engine/test/android \
802         third_party/xdg-utils/tests \
803         third_party/yasm/source/patched-yasm/libyasm/tests \
804         third_party/yasm/source/patched-yasm/modules/arch/lc3b/tests \
805         third_party/yasm/source/patched-yasm/modules/arch/x86/tests \
806         third_party/yasm/source/patched-yasm/modules/dbgfmts/dwarf2/tests \
807         third_party/yasm/source/patched-yasm/modules/dbgfmts/stabs/tests \
808         third_party/yasm/source/patched-yasm/modules/objfmts/bin/tests \
809         third_party/yasm/source/patched-yasm/modules/objfmts/coff/tests \
810         third_party/yasm/source/patched-yasm/modules/objfmts/elf/tests \
811         third_party/yasm/source/patched-yasm/modules/objfmts/macho/tests \
812         third_party/yasm/source/patched-yasm/modules/objfmts/rdf/tests \
813         third_party/yasm/source/patched-yasm/modules/objfmts/win32/tests \
814         third_party/yasm/source/patched-yasm/modules/objfmts/win64/tests \
815         third_party/yasm/source/patched-yasm/modules/objfmts/xdf/tests \
816         third_party/yasm/source/patched-yasm/modules/parsers/gas/tests \
817         third_party/yasm/source/patched-yasm/modules/parsers/nasm/tests \
818         third_party/yasm/source/patched-yasm/modules/parsers/tasm/tests \
819         third_party/yasm/source/patched-yasm/modules/preprocs/nasm/tests \
820         third_party/yasm/source/patched-yasm/modules/preprocs/raw/tests \
821         third_party/yasm/source/patched-yasm/tools/python-yasm/tests \
822         tools/clang/plugins/tests \
823         tools/grit/grit/testdata \
824         tools/gyp/test \
825         tools/gyp/tools/emacs/testdata \
826         tools/page_cycler/webpagereplay/tests \
827         tools/perf_expectations/tests \
828         tools/swarm_client/tests \
829         ui/app_list/test \
830         ui/aura/test \
831         ui/base/test \
832         ui/compositor/test \
833         ui/gfx/test \
834         ui/test \
835         ui/views/test \
836         v8/test \
837         webkit/compositor_bindings/test \
838         webkit/data/layout_tests \
839         webkit/plugins/npapi/test \
840         webkit/tools/test/reference_build \
841         webkit/tools/test_shell/mac \
842         ; do
843                 rm -vfr "$dir"
844         done
845
846         # partial remove (keep .gyp)
847         for dir in \
848                 chrome/browser/nacl_host/test \
849                 chrome/test/data \
850                 testing \
851                 third_party/webrtc/modules/audio_coding/codecs/cng/test \
852                 third_party/webrtc/modules/audio_coding/codecs/g711/test \
853                 third_party/webrtc/modules/audio_coding/codecs/g722/test \
854                 third_party/webrtc/modules/audio_coding/codecs/ilbc/test \
855                 third_party/webrtc/modules/audio_coding/codecs/isac/fix/test \
856                 third_party/webrtc/modules/audio_coding/codecs/isac/main/test \
857                 third_party/webrtc/modules/audio_coding/main/test \
858                 third_party/webrtc/modules/audio_coding/neteq/test \
859                 third_party/webrtc/modules/audio_conference_mixer/test \
860                 third_party/webrtc/modules/audio_device/test \
861                 third_party/webrtc/modules/audio_processing/test \
862                 third_party/webrtc/modules/rtp_rtcp/test \
863                 third_party/webrtc/modules/udp_transport/test \
864                 third_party/webrtc/modules/video_capture/main/test \
865                 third_party/webrtc/modules/video_coding/codecs/test \
866                 third_party/webrtc/modules/video_coding/codecs/vp8/test \
867                 third_party/webrtc/modules/video_coding/main/test \
868                 third_party/webrtc/modules/video_processing/main/test \
869                 third_party/webrtc/modules/video_render/main/test \
870                 third_party/webrtc/video_engine/test \
871                 third_party/webrtc/voice_engine/test \
872                 tools/json_schema_compiler/test \
873                 ; do
874                 find $dir -depth -mindepth 1 '!' '(' -name '*.gyp' -o -name '*.gypi' ')' -print -delete || :
875         done
876
877         # link headers from system dir. too many files to patch, we don't even build tests
878         install -d testing/gtest/include
879         ln -s /usr/include/gtest testing/gtest/include/gtest
880
881         # delete unittest files
882         find . '(' \
883                 -name '*_unittest*.*' \
884                 -o -name '*_unittest.*' \
885                 -o -name '*_unittest' \
886                 -o -name 'test_*.*' \
887                 -o -name '*_test.*' \
888         ')' '!' -name '*.gyp*' \
889                 '!' -name '*.isolate' \
890                 '!' -name '*.grd' \
891                 '!' -path './chrome/browser/diagnostics/diagnostics_test.*' \
892                 '!' -path './chrome/browser/extensions/api/declarative/test_rules_registry.*' \
893                 '!' -path './chrome/browser/extensions/api/test/test_api.*' \
894                 '!' -path './chrome/browser/resources/net_internals/*' \
895                 '!' -path './chrome/browser/storage_monitor/test_media_transfer_protocol_manager_linux.*' \
896                 '!' -path './chrome/browser/ui/webui/test_chrome_web_ui_controller_factory*' \
897                 '!' -path './chrome/common/net/test_server_locations.*' \
898                 '!' -path './chrome/renderer/resources/extensions/test_custom_bindings.js' \
899                 '!' -path './chrome/test/base/test_switches.*' \
900                 '!' -path './chrome/test/perf/browser_perf_test.*' \
901                 '!' -path './chrome/test/perf/perf_test.*' \
902                 '!' -path './native_client/src/trusted/fault_injection/test_injection.*' \
903                 '!' -path './native_client/src/trusted/service_runtime/env_cleanser_test.h' \
904                 '!' -path './net/base/test_completion_callback.*' \
905                 '!' -path './net/base/test_data_stream.*' \
906                 '!' -path './net/cert/test_root_certs*' \
907                 '!' -path './remoting/base/resources_unittest.*' \
908                 '!' -path './third_party/skia/src/gpu/gr_unittests.*' \
909                 '!' -path './tools/compile_test/compile_test.py' \
910                 '!' -path './ui/compositor/test_web_graphics_context_3d.*' \
911                 '!' -path './webkit/fileapi/test_mount_point_provider.*' \
912                 '!' -path './webkit/gpu/test_context_provider_factory.*' \
913                 '!' -path './webkit/support/test_webkit_platform_support.h' \
914                 '!' -path './webkit/tools/test_shell/*.h' \
915         -print -delete || :
916 }
917
918 strip_system_dirs \
919         native_client/src/third_party_mod/jsoncpp \
920         third_party/bzip2 \
921         third_party/ffmpeg \
922         third_party/flac \
923         third_party/icu \
924         third_party/jsoncpp \
925         third_party/libXNVCtrl \
926         third_party/libevent \
927         third_party/libexif \
928         third_party/libjpeg \
929         third_party/libmtp \
930         third_party/libpng \
931         third_party/libsrtp \
932         third_party/libusb \
933         third_party/libvpx \
934         third_party/libwebp \
935         third_party/libxslt \
936         third_party/mesa \
937         third_party/opus \
938         third_party/protobuf \
939         third_party/re2 \
940         third_party/snappy \
941         third_party/speex \
942         third_party/sqlite \
943         third_party/yasm \
944         "third_party/zlib -o -path third_party/zlib/google/*" \
945         v8 \
946 > REMOVED-system_dirs.txt
947 remove_nonessential_dirs > REMOVED-nonessential_dirs.txt
948 almost_strip_dirs > REMOVED-stripped.txt
949 remove_bin_only > REMOVED-bin_only.txt
950 remove_tests > REMOVED-tests.txt
951
952 if [ "${sqlite:-1}" = 1 ]; then
953         # some code does not pass -DUSE_SYSTEM_SQLITE properly
954         ln -sf /usr/include/sqlite3.h third_party/sqlite/sqlite3.h
955 fi
956
957 clean_third_party > REMOVED-third_party.txt
958
959 if [ "${v8:-1}" != "0" ]; then
960         # The implementation files include v8 headers with full path,
961         # like #include "v8/include/v8.h". Make sure the system headers
962         # will be used.
963         rm -rf v8/include
964         ln -s /usr/include v8/include
965 fi
966
967 if [ "${nacl:-1}" != "0" ]; then
968         # NOTE: here is always x86_64
969         rm -rf native_client/toolchain/linux_x86_newlib
970 fi
971
972 if [ "${emptydirs:-0}" != "0" ]; then
973         # cleanup empty dirs
974         find -type d '!' -name '.' -print0 | sort -zr | xargs -0 rmdir --ignore-fail-on-non-empty > REMOVED-dirs.txt
975 fi
976
977 # report what's in them
978 for a in REMOVED-*.txt; do
979         cat $a
980 done
This page took 0.179851 seconds and 4 git commands to generate.