Android.mk revision 728c2df562c0363b8a6c676c8a5c01cada24cf9f
1####################################
2# Build libevent as separate library
3
4LOCAL_PATH := $(call my-dir)
5
6include $(CLEAR_VARS)
7
8LOCAL_MODULE:= libevent
9LOCAL_MODULE_TAGS:= optional
10
11LOCAL_SRC_FILES := \
12    third_party/libevent/event.c \
13    third_party/libevent/evutil.c \
14    third_party/libevent/epoll.c \
15    third_party/libevent/log.c \
16    third_party/libevent/poll.c \
17    third_party/libevent/select.c \
18    third_party/libevent/signal.c
19
20LOCAL_C_INCLUDES := \
21    $(LOCAL_PATH)/third_party/libevent \
22    $(LOCAL_PATH)/third_party/libevent/android \
23
24LOCAL_CFLAGS := -DHAVE_CONFIG_H -DANDROID -fvisibility=hidden
25ifeq ($(TARGET_SIMULATOR),true)
26LOCAL_CFLAGS += -D_EVENT_HAVE_FD_MASK=1
27endif
28
29include $(BUILD_STATIC_LIBRARY)
30
31
32###################################
33# Build the libchromium_net library
34
35include $(CLEAR_VARS)
36
37LOCAL_CPP_EXTENSION := .cc
38
39LOCAL_MODULE := libchromium_net
40LOCAL_MODULE_CLASS := STATIC_LIBRARIES
41INTERMEDIATES := $(call local-intermediates-dir)
42
43LOCAL_SRC_FILES := \
44    googleurl/src/gurl.cc \
45    googleurl/src/url_canon_etc.cc \
46    googleurl/src/url_canon_fileurl.cc \
47    googleurl/src/url_canon_host.cc \
48    googleurl/src/url_canon_icu.cc \
49    googleurl/src/url_canon_internal.cc \
50    googleurl/src/url_canon_ip.cc \
51    googleurl/src/url_canon_mailtourl.cc \
52    googleurl/src/url_canon_path.cc \
53    googleurl/src/url_canon_pathurl.cc \
54    googleurl/src/url_canon_query.cc \
55    googleurl/src/url_canon_relative.cc \
56    googleurl/src/url_canon_stdurl.cc \
57    googleurl/src/url_parse.cc \
58    googleurl/src/url_parse_file.cc \
59    googleurl/src/url_util.cc \
60    \
61    android/app/l10n_util.cc \
62    android/jni/mime_utils.cc \
63    android/jni/jni_utils.cc \
64    \
65    app/sql/connection.cc \
66    app/sql/meta_table.cc \
67    app/sql/statement.cc \
68    app/sql/transaction.cc \
69    \
70    base/at_exit.cc \
71    base/base64.cc \
72    base/cancellation_flag.cc \
73    base/condition_variable_posix.cc \
74    base/debug_util_posix.cc \
75    base/file_descriptor_shuffle.cc \
76    base/file_path.cc \
77    base/file_util.cc \
78    base/file_util_android.cc \
79    base/file_util_posix.cc \
80    base/lazy_instance.cc \
81    base/lock.cc \
82    base/lock_impl_posix.cc \
83    base/logging.cc \
84    base/message_loop.cc \
85    base/message_loop_proxy.cc \
86    base/message_loop_proxy_impl.cc \
87    base/message_pump.cc \
88    base/message_pump_default.cc \
89    base/message_pump_libevent.cc \
90    base/md5.cc \
91    base/native_library_linux.cc \
92    base/non_thread_safe.cc \
93    base/pickle.cc \
94    base/platform_file_posix.cc \
95    base/platform_thread_posix.cc \
96    base/process_util.cc \
97    base/process_util_linux.cc \
98    base/process_util_posix.cc \
99    base/rand_util.cc \
100    base/rand_util_posix.cc \
101    base/ref_counted.cc \
102    base/safe_strerror_posix.cc \
103    base/sha1_portable.cc \
104    base/sha2.cc \
105    base/shared_memory_posix.cc \
106    base/string_number_conversions.cc \
107    base/string_piece.cc \
108    base/string_split.cc \
109    base/string_util.cc \
110    base/string16.cc \
111    base/stringprintf.cc \
112    base/sys_info_linux.cc \
113    base/sys_info_posix.cc \
114    base/sys_string_conversions_linux.cc \
115    base/task.cc \
116    base/thread.cc \
117    base/thread_checker.cc \
118    base/thread_collision_warner.cc \
119    base/thread_local_posix.cc \
120    base/thread_local_storage_posix.cc \
121    base/time.cc \
122    base/time_posix.cc \
123    base/timer.cc \
124    base/trace_event.cc \
125    base/tracked.cc \
126    base/tracked_objects.cc \
127    base/waitable_event_posix.cc \
128    base/utf_offset_string_conversions.cc \
129    base/utf_string_conversions.cc \
130    base/utf_string_conversion_utils.cc \
131    base/values.cc \
132    base/weak_ptr.cc \
133    base/worker_pool_linux.cc \
134    \
135    base/i18n/file_util_icu.cc \
136    base/i18n/icu_string_conversions.cc \
137    base/i18n/time_formatting.cc \
138    \
139    base/json/json_reader.cc \
140    base/json/json_writer.cc \
141    base/json/string_escape.cc \
142    \
143    base/metrics/field_trial.cc \
144    base/metrics/histogram.cc \
145    base/metrics/stats_counters.cc \
146    base/metrics/stats_table.cc \
147    \
148    base/third_party/dmg_fp/dtoa.cc \
149    base/third_party/dmg_fp/g_fmt.cc \
150    \
151    base/third_party/icu/icu_utf.cc \
152    \
153    base/third_party/nspr/prtime.cc \
154    \
155    base/third_party/nss/sha512.cc \
156    \
157    chrome/browser/net/sqlite_persistent_cookie_store.cc \
158    \
159    third_party/modp_b64/modp_b64.cc \
160    \
161    net/base/address_list.cc \
162    net/base/address_list_net_log_param.cc \
163    net/base/auth.cc \
164    net/base/capturing_net_log.cc \
165    net/base/cert_status_flags.cc \
166    net/base/cert_verifier.cc \
167    net/base/connection_type_histograms.cc \
168    net/base/cookie_monster.cc \
169    net/base/cookie_store.cc \
170    net/base/data_url.cc \
171    net/base/directory_lister.cc \
172    net/base/dns_util.cc \
173    net/base/dnsrr_resolver.cc \
174    net/base/escape.cc \
175    net/base/file_stream_posix.cc \
176    net/base/filter.cc \
177    net/base/forwarding_net_log.cc \
178    net/base/gzip_filter.cc \
179    net/base/gzip_header.cc \
180    net/base/host_cache.cc \
181    net/base/host_mapping_rules.cc \
182    net/base/host_port_pair.cc \
183    net/base/host_resolver.cc \
184    net/base/host_resolver_impl.cc \
185    net/base/host_resolver_proc.cc \
186    net/base/io_buffer.cc \
187    net/base/mime_util.cc \
188    net/base/net_errors.cc \
189    net/base/net_log.cc \
190    net/base/net_module.cc \
191    net/base/net_util.cc \
192    net/base/net_util_posix.cc \
193    net/base/network_change_notifier.cc \
194    net/base/network_change_notifier_linux.cc \
195    net/base/network_change_notifier_netlink_linux.cc \
196    net/base/openssl_util.cc \
197    net/base/pem_tokenizer.cc \
198    net/base/platform_mime_util_android.cc \
199    net/base/registry_controlled_domain.cc \
200    net/base/sdch_manager.cc \
201    net/base/sdch_filter.cc \
202    net/base/ssl_cert_request_info.cc \
203    net/base/ssl_client_auth_cache.cc \
204    net/base/ssl_config_service.cc \
205    net/base/ssl_config_service_defaults.cc \
206    net/base/ssl_info.cc \
207    net/base/transport_security_state.cc \
208    net/base/upload_data.cc \
209    net/base/upload_data_stream.cc \
210    net/base/x509_cert_types.cc \
211    net/base/x509_certificate.cc \
212    net/base/x509_certificate_openssl.cc \
213    \
214    net/disk_cache/addr.cc \
215    net/disk_cache/backend_impl.cc \
216    net/disk_cache/bitmap.cc \
217    net/disk_cache/block_files.cc \
218    net/disk_cache/cache_util_posix.cc \
219    net/disk_cache/disk_format.cc \
220    net/disk_cache/entry_impl.cc \
221    net/disk_cache/eviction.cc \
222    net/disk_cache/file.cc \
223    net/disk_cache/file_lock.cc \
224    net/disk_cache/file_posix.cc \
225    net/disk_cache/hash.cc \
226    net/disk_cache/in_flight_backend_io.cc \
227    net/disk_cache/in_flight_io.cc \
228    net/disk_cache/mapped_file_posix.cc \
229    net/disk_cache/mem_backend_impl.cc \
230    net/disk_cache/mem_entry_impl.cc \
231    net/disk_cache/mem_rankings.cc \
232    net/disk_cache/rankings.cc \
233    net/disk_cache/stats.cc \
234    net/disk_cache/stats_histogram.cc \
235    net/disk_cache/sparse_control.cc \
236    net/disk_cache/trace.cc \
237    \
238    net/ftp/ftp_auth_cache.cc \
239    \
240    net/http/des.cc \
241    net/http/disk_cache_based_ssl_host_info.cc \
242    net/http/http_alternate_protocols.cc \
243    net/http/http_auth.cc \
244    net/http/http_auth_cache.cc \
245    net/http/http_auth_controller.cc \
246    net/http/http_auth_gssapi_posix.cc \
247    net/http/http_auth_handler.cc \
248    net/http/http_auth_handler_basic.cc \
249    net/http/http_auth_handler_digest.cc \
250    net/http/http_auth_handler_factory.cc \
251    net/http/http_auth_handler_negotiate.cc \
252    net/http/http_auth_handler_ntlm.cc \
253    net/http/http_auth_handler_ntlm_portable.cc \
254    net/http/http_basic_stream.cc \
255    net/http/http_byte_range.cc \
256    net/http/http_cache.cc \
257    net/http/http_cache_transaction.cc \
258    net/http/http_chunked_decoder.cc \
259    net/http/http_net_log_params.cc \
260    net/http/http_network_layer.cc \
261    net/http/http_network_session.cc \
262    net/http/http_network_transaction.cc \
263    net/http/http_proxy_client_socket.cc \
264    net/http/http_proxy_client_socket_pool.cc \
265    net/http/http_proxy_utils.cc \
266    net/http/http_request_headers.cc \
267    net/http/http_request_info.cc \
268    net/http/http_response_body_drainer.cc \
269    net/http/http_response_headers.cc \
270    net/http/http_response_info.cc \
271    net/http/http_stream_factory.cc \
272    net/http/http_stream_parser.cc \
273    net/http/http_stream_request.cc \
274    net/http/http_util.cc \
275    net/http/http_util_icu.cc \
276    net/http/http_vary_data.cc \
277    net/http/md4.cc \
278    net/http/partial_data.cc \
279    \
280    net/proxy/init_proxy_resolver.cc \
281    net/proxy/proxy_bypass_rules.cc \
282    net/proxy/proxy_config.cc \
283    net/proxy/proxy_info.cc \
284    net/proxy/proxy_list.cc \
285    net/proxy/multi_threaded_proxy_resolver.cc \
286    net/proxy/proxy_resolver_js_bindings.cc \
287    net/proxy/proxy_resolver_script_data.cc \
288    net/proxy/proxy_resolver_v8.cc \
289    net/proxy/proxy_server.cc \
290    net/proxy/proxy_service.cc \
291    net/proxy/sync_host_resolver_bridge.cc \
292    \
293    net/socket/client_socket.cc \
294    net/socket/client_socket_handle.cc \
295    net/socket/client_socket_factory.cc \
296    net/socket/client_socket_pool.cc \
297    net/socket/client_socket_pool_base.cc \
298    net/socket/client_socket_pool_histograms.cc \
299    net/socket/client_socket_pool_manager.cc \
300    net/socket/socks_client_socket.cc \
301    net/socket/socks_client_socket_pool.cc \
302    net/socket/socks5_client_socket.cc \
303    net/socket/ssl_client_socket_openssl.cc \
304    net/socket/ssl_client_socket_pool.cc \
305    net/socket/ssl_host_info.cc \
306    net/socket/tcp_client_socket_libevent.cc \
307    net/socket/tcp_client_socket_pool.cc \
308    \
309    net/spdy/spdy_framer.cc \
310    net/spdy/spdy_frame_builder.cc \
311    net/spdy/spdy_http_stream.cc \
312    net/spdy/spdy_http_utils.cc \
313    net/spdy/spdy_io_buffer.cc \
314    net/spdy/spdy_proxy_client_socket.cc \
315    net/spdy/spdy_session.cc \
316    net/spdy/spdy_session_pool.cc \
317    net/spdy/spdy_settings_storage.cc \
318    net/spdy/spdy_stream.cc \
319    \
320    net/url_request/https_prober.cc \
321    net/url_request/url_request.cc \
322    net/url_request/url_request_context.cc \
323    net/url_request/url_request_file_job.cc \
324    net/url_request/url_request_file_dir_job.cc \
325    net/url_request/url_request_http_job.cc \
326    net/url_request/url_request_error_job.cc \
327    net/url_request/url_request_job.cc \
328    net/url_request/url_request_job_manager.cc \
329    net/url_request/url_request_job_metrics.cc \
330    net/url_request/url_request_job_tracker.cc \
331    net/url_request/url_request_netlog_params.cc \
332    net/url_request/url_request_redirect_job.cc \
333    \
334    sdch/open-vcdiff/src/addrcache.cc \
335    sdch/open-vcdiff/src/blockhash.cc \
336    sdch/open-vcdiff/src/codetable.cc \
337    sdch/open-vcdiff/src/encodetable.cc \
338    sdch/open-vcdiff/src/decodetable.cc \
339    sdch/open-vcdiff/src/headerparser.cc \
340    sdch/open-vcdiff/src/instruction_map.cc \
341    sdch/open-vcdiff/src/logging.cc \
342    sdch/open-vcdiff/src/varint_bigendian.cc \
343    sdch/open-vcdiff/src/vcdecoder.cc \
344    sdch/open-vcdiff/src/vcdiffengine.cc \
345    sdch/open-vcdiff/src/vcencoder.cc \
346
347# AutoFill++ source files.
348LOCAL_SRC_FILES += \
349    android/autofill/android_url_request_context_getter.cc \
350    android/autofill/profile_android.cc \
351    \
352    base/base_paths.cc \
353    base/base_paths_linux.cc \
354    base/path_service.cc \
355    \
356    chrome/browser/guid_posix.cc \
357    \
358    chrome/browser/autofill/address.cc \
359    chrome/browser/autofill/address_field.cc \
360    chrome/browser/autofill/autofill_download.cc \
361    chrome/browser/autofill/autofill_field.cc \
362    chrome/browser/autofill/autofill_manager.cc \
363    chrome/browser/autofill/autofill_profile.cc \
364    chrome/browser/autofill/autofill_type.cc \
365    chrome/browser/autofill/autofill_xml_parser.cc \
366    chrome/browser/autofill/contact_info.cc \
367    chrome/browser/autofill/credit_card.cc \
368    chrome/browser/autofill/credit_card_field.cc \
369    chrome/browser/autofill/fax_field.cc \
370    chrome/browser/autofill/form_field.cc \
371    chrome/browser/autofill/form_group.cc \
372    chrome/browser/autofill/form_structure.cc \
373    chrome/browser/autofill/name_field.cc \
374    chrome/browser/autofill/personal_data_manager.cc \
375    chrome/browser/autofill/phone_field.cc \
376    chrome/browser/autofill/phone_number.cc \
377    chrome/browser/autofill/select_control_handler.cc \
378    \
379    chrome/browser/prefs/default_pref_store.cc \
380    chrome/browser/prefs/pref_service.cc \
381    chrome/browser/prefs/pref_value_store.cc \
382    \
383    chrome/common/json_value_serializer.cc \
384    chrome/common/pref_names.cc \
385    chrome/common/pref_store.cc \
386    chrome/common/url_constants.cc \
387    \
388    chrome/common/net/url_fetcher.cc \
389    chrome/common/net/url_fetcher_protect.cc \
390    chrome/common/net/url_request_context_getter.cc \
391    \
392    third_party/libjingle/overrides/talk/xmllite/qname.cc \
393    third_party/libjingle/source/talk/xmllite/xmlbuilder.cc \
394    third_party/libjingle/source/talk/xmllite/xmlconstants.cc \
395    third_party/libjingle/source/talk/xmllite/xmlelement.cc \
396    third_party/libjingle/source/talk/xmllite/xmlnsstack.cc \
397    third_party/libjingle/source/talk/xmllite/xmlparser.cc \
398    third_party/libjingle/source/talk/xmllite/xmlprinter.cc \
399    \
400    webkit/glue/form_data.cc
401
402LOCAL_C_INCLUDES := \
403    $(LOCAL_PATH) \
404    $(LOCAL_PATH)/chrome \
405    $(LOCAL_PATH)/chrome/browser \
406    $(LOCAL_PATH)/sdch/open-vcdiff/src \
407    $(LOCAL_PATH)/third_party/libevent/compat \
408    external/expat \
409    external/icu4c/common \
410    external/icu4c/i18n \
411    external/openssl/include \
412    external/protobuf/src \
413    external/skia \
414    external/sqlite/dist \
415    external/webkit/WebKit/chromium \
416    external/webkit/WebKit/android \
417    external/webkit/WebKit/android/WebCoreSupport \
418    external/zlib \
419    external \
420    $(LOCAL_PATH)/base/third_party/dmg_fp \
421    $(LOCAL_PATH)/third_party/icu/public/common \
422    $(LOCAL_PATH)/third_party/libevent/android \
423    $(LOCAL_PATH)/third_party/libevent \
424    $(LOCAL_PATH)/third_party/libjingle/overrides \
425    $(LOCAL_PATH)/third_party/libjingle/source \
426    vendor/google/libraries/autofill
427
428# Chromium uses several third party libraries and headers that are already
429# present on Android, but in different include paths. Generate a set of
430# forwarding headers in the location that Chromium expects.
431
432THIRD_PARTY = $(INTERMEDIATES)/third_party
433SCRIPT := $(LOCAL_PATH)/android/generateAndroidForwardingHeader.pl
434CHECK_INTERNAL_HEADER_SCRIPT := $(LOCAL_PATH)/android/haveAutofillInternal.pl
435
436GEN := $(THIRD_PARTY)/expat/files/lib/expat.h
437$(GEN): $(SCRIPT)
438$(GEN):
439	perl $(SCRIPT) $@ "lib/expat.h"
440LOCAL_GENERATED_SOURCES += $(GEN)
441
442GEN := $(THIRD_PARTY)/skia/include/core/SkBitmap.h
443$(GEN): $(SCRIPT)
444$(GEN):
445	perl $(SCRIPT) $@ "include/core/SkBitmap.h"
446LOCAL_GENERATED_SOURCES += $(GEN)
447
448GEN := $(THIRD_PARTY)/WebKit/WebKit/chromium/public/WebFormControlElement.h
449$(GEN): $(SCRIPT)
450$(GEN):
451	perl $(SCRIPT) $@ "public/WebFormControlElement.h"
452LOCAL_GENERATED_SOURCES += $(GEN)
453
454GEN := $(THIRD_PARTY)/WebKit/WebKit/chromium/public/WebRegularExpression.h
455$(GEN): $(SCRIPT)
456$(GEN):
457	perl $(SCRIPT) $@ "public/WebRegularExpression.h"
458LOCAL_GENERATED_SOURCES += $(GEN)
459
460GEN := $(THIRD_PARTY)/WebKit/WebKit/chromium/public/WebString.h
461$(GEN): $(SCRIPT)
462$(GEN):
463	perl $(SCRIPT) $@ "public/WebString.h"
464LOCAL_GENERATED_SOURCES += $(GEN)
465
466GEN = $(INTERMEDIATES)/HaveAutofillInternal.h
467$(GEN): $(CHECK_INTERNAL_HEADER_SCRIPT)
468$(GEN):
469	perl $(CHECK_INTERNAL_HEADER_SCRIPT) $@
470LOCAL_GENERATED_SOURCES += $(GEN)
471
472# Protocol buffers.
473# We use the 'aprotoc' tool in external/protobuf to transform .proto -> .pb.cc & .pb.h
474PROTOC := $(HOST_OUT_EXECUTABLES)/aprotoc$(HOST_EXECUTABLES_SUFFIX)
475PROTO_DIR := $(INTERMEDIATES)/protos
476
477GEN = $(PROTO_DIR)/net/socket/ssl_host_info.pb.h $(PROTO_DIR)/net/socket/ssl_host_info.pb.cc
478$(GEN): PRIVATE_INPUT_FILE := $(LOCAL_PATH)/net/socket/ssl_host_info.proto
479$(GEN): PRIVATE_CUSTOM_TOOL := $(PROTOC) --proto_path external/chromium --cpp_out $(PROTO_DIR) $(PRIVATE_INPUT_FILE)
480$(GEN): $(PROTOC) $(PRIVATE_INPUT_FILE)
481	$(transform-generated-source)
482
483LOCAL_GENERATED_SOURCES += $(PROTO_DIR)/net/socket/ssl_host_info.pb.cc
484LOCAL_C_INCLUDES += $(PROTO_DIR)
485
486LOCAL_CFLAGS := -DHAVE_CONFIG_H -DANDROID -fvisibility=hidden -DEXPAT_RELATIVE_PATH
487LOCAL_CPPFLAGS := -Wno-sign-promo -Wno-missing-field-initializers
488
489ifneq ($(TARGET_SIMULATOR),true)
490# Just a few definitions not provided by bionic.
491LOCAL_CFLAGS += -include "android/prefix.h"
492
493# external/chromium/android is a directory to intercept stl headers that we do
494# not support yet.
495LOCAL_C_INCLUDES := \
496	$(LOCAL_PATH)/android \
497	$(LOCAL_C_INCLUDES)
498
499#LOCAL_STATIC_LIBRARIES += libevent
500LOCAL_WHOLE_STATIC_LIBRARIES += libevent libprotobuf-cpp-2.3.0-full
501
502# Including this will modify the include path
503include external/stlport/libstlport.mk
504endif
505
506include $(BUILD_STATIC_LIBRARY)
507