1################################### 2# Build the libchromium_net library 3 4LOCAL_PATH := $(call my-dir) 5include external/chromium/third_party/libevent/Android.mk 6include external/chromium/third_party/modp_b64/Android.mk 7include external/chromium/base/third_party/dmg_fp/Android.mk 8 9include $(CLEAR_VARS) 10 11LOCAL_CPP_EXTENSION := .cc 12 13LOCAL_MODULE := libchromium_net 14LOCAL_MODULE_CLASS := SHARED_LIBRARIES 15INTERMEDIATES := $(call local-intermediates-dir) 16 17LOCAL_SRC_FILES := \ 18 googleurl/src/gurl.cc \ 19 googleurl/src/url_canon_etc.cc \ 20 googleurl/src/url_canon_fileurl.cc \ 21 googleurl/src/url_canon_host.cc \ 22 googleurl/src/url_canon_icu.cc \ 23 googleurl/src/url_canon_internal.cc \ 24 googleurl/src/url_canon_ip.cc \ 25 googleurl/src/url_canon_mailtourl.cc \ 26 googleurl/src/url_canon_path.cc \ 27 googleurl/src/url_canon_pathurl.cc \ 28 googleurl/src/url_canon_query.cc \ 29 googleurl/src/url_canon_relative.cc \ 30 googleurl/src/url_canon_stdurl.cc \ 31 googleurl/src/url_parse.cc \ 32 googleurl/src/url_parse_file.cc \ 33 googleurl/src/url_util.cc \ 34 \ 35 android/content/common/url_constants.cc \ 36 android/execinfo.cc \ 37 android/jni/autofill_request_url.cc \ 38 android/jni/mime_utils.cc \ 39 android/jni/jni_utils.cc \ 40 android/jni/platform_file_jni.cc \ 41 android/net/android_network_library_impl.cc \ 42 android/ui/base/l10n/l10n_util.cc \ 43 \ 44 app/sql/connection.cc \ 45 app/sql/meta_table.cc \ 46 app/sql/statement.cc \ 47 app/sql/transaction.cc \ 48 49ifeq ($(TARGET_ARCH),x86) 50LOCAL_SRC_FILES += \ 51 base/atomicops_internals_x86_gcc.cc 52endif 53 54LOCAL_SRC_FILES += \ 55 base/at_exit.cc \ 56 base/base64.cc \ 57 base/environment.cc \ 58 base/file_descriptor_shuffle.cc \ 59 base/file_path.cc \ 60 base/file_util.cc \ 61 base/file_util_android.cc \ 62 base/file_util_posix.cc \ 63 base/lazy_instance.cc \ 64 base/logging.cc \ 65 base/message_loop.cc \ 66 base/message_loop_proxy.cc \ 67 base/message_loop_proxy_impl.cc \ 68 base/message_pump.cc \ 69 base/message_pump_default.cc \ 70 base/message_pump_libevent.cc \ 71 base/md5.cc \ 72 base/native_library_linux.cc \ 73 base/pickle.cc \ 74 base/platform_file.cc \ 75 base/platform_file_posix.cc \ 76 base/process_posix.cc \ 77 base/process_util.cc \ 78 base/process_util_linux.cc \ 79 base/process_util_posix.cc \ 80 base/rand_util.cc \ 81 base/rand_util_posix.cc \ 82 base/safe_strerror_posix.cc \ 83 base/sha1_portable.cc \ 84 base/shared_memory_posix.cc \ 85 base/string_number_conversions.cc \ 86 base/string_piece.cc \ 87 base/string_split.cc \ 88 base/string_util.cc \ 89 base/string16.cc \ 90 base/stringprintf.cc \ 91 base/sys_info_linux.cc \ 92 base/sys_info_posix.cc \ 93 base/sys_string_conversions_linux.cc \ 94 base/task.cc \ 95 base/time.cc \ 96 base/time_posix.cc \ 97 base/timer.cc \ 98 base/tracked.cc \ 99 base/tracked_objects.cc \ 100 base/utf_offset_string_conversions.cc \ 101 base/utf_string_conversions.cc \ 102 base/utf_string_conversion_utils.cc \ 103 base/values.cc \ 104 base/vlog.cc \ 105 \ 106 base/debug/debugger_posix.cc \ 107 base/debug/stack_trace.cc \ 108 base/debug/stack_trace_posix.cc \ 109 \ 110 base/i18n/file_util_icu.cc \ 111 base/i18n/icu_string_conversions.cc \ 112 base/i18n/time_formatting.cc \ 113 \ 114 base/json/json_reader.cc \ 115 base/json/json_writer.cc \ 116 base/json/string_escape.cc \ 117 \ 118 base/memory/ref_counted.cc \ 119 base/memory/weak_ptr.cc \ 120 \ 121 base/metrics/field_trial.cc \ 122 base/metrics/histogram.cc \ 123 base/metrics/stats_counters.cc \ 124 base/metrics/stats_table.cc \ 125 \ 126 base/synchronization/cancellation_flag.cc \ 127 base/synchronization/condition_variable_posix.cc \ 128 base/synchronization/lock_impl_posix.cc \ 129 base/synchronization/waitable_event_posix.cc \ 130 \ 131 base/threading/platform_thread_posix.cc \ 132 base/threading/thread.cc \ 133 base/threading/thread_checker_impl.cc \ 134 base/threading/thread_collision_warner.cc \ 135 base/threading/thread_local_posix.cc \ 136 base/threading/thread_local_storage_posix.cc \ 137 base/threading/worker_pool_posix.cc \ 138 \ 139 base/third_party/icu/icu_utf.cc \ 140 \ 141 base/third_party/nspr/prtime.cc \ 142 \ 143 chrome/browser/net/sqlite_persistent_cookie_store.cc \ 144 \ 145 crypto/openssl_util.cc \ 146 crypto/secure_hash_default.cc \ 147 crypto/sha2.cc \ 148 \ 149 crypto/third_party/nss/sha512.cc \ 150 \ 151 net/base/address_list.cc \ 152 net/base/address_list_net_log_param.cc \ 153 net/base/android_network_library.cc \ 154 net/base/auth.cc \ 155 net/base/backoff_entry.cc \ 156 net/base/bandwidth_metrics.cc \ 157 net/base/capturing_net_log.cc \ 158 net/base/cert_database.cc \ 159 net/base/cert_status_flags.cc \ 160 net/base/cert_verifier.cc \ 161 net/base/cert_verify_result.cc \ 162 net/base/connection_type_histograms.cc \ 163 net/base/cookie_monster.cc \ 164 net/base/cookie_store.cc \ 165 net/base/data_url.cc \ 166 net/base/directory_lister.cc \ 167 net/base/dns_util.cc \ 168 net/base/dnsrr_resolver.cc \ 169 net/base/escape.cc \ 170 net/base/file_stream_posix.cc \ 171 net/base/filter.cc \ 172 net/base/gzip_filter.cc \ 173 net/base/gzip_header.cc \ 174 net/base/host_cache.cc \ 175 net/base/host_mapping_rules.cc \ 176 net/base/host_port_pair.cc \ 177 net/base/host_resolver.cc \ 178 net/base/host_resolver_impl.cc \ 179 net/base/host_resolver_proc.cc \ 180 net/base/io_buffer.cc \ 181 net/base/ip_endpoint.cc \ 182 net/base/mime_util.cc \ 183 net/base/net_errors.cc \ 184 net/base/net_errors_posix.cc \ 185 net/base/net_log.cc \ 186 net/base/net_module.cc \ 187 net/base/net_util.cc \ 188 net/base/net_util_posix.cc \ 189 net/base/network_change_notifier.cc \ 190 net/base/network_change_notifier_linux.cc \ 191 net/base/network_change_notifier_netlink_linux.cc \ 192 net/base/network_delegate.cc \ 193 net/base/openssl_memory_private_key_store.cc \ 194 net/base/pem_tokenizer.cc \ 195 net/base/platform_mime_util_android.cc \ 196 net/base/registry_controlled_domain.cc \ 197 net/base/sdch_manager.cc \ 198 net/base/sdch_filter.cc \ 199 net/base/ssl_cert_request_info.cc \ 200 net/base/ssl_client_auth_cache.cc \ 201 net/base/ssl_config_service.cc \ 202 net/base/ssl_config_service_defaults.cc \ 203 net/base/ssl_info.cc \ 204 net/base/transport_security_state.cc \ 205 net/base/upload_data.cc \ 206 net/base/upload_data_stream.cc \ 207 net/base/x509_cert_types.cc \ 208 net/base/x509_certificate.cc \ 209 net/base/x509_certificate_openssl.cc \ 210 net/base/x509_certificate_openssl_android.cc \ 211 net/base/x509_openssl_util.cc \ 212 \ 213 net/disk_cache/addr.cc \ 214 net/disk_cache/backend_impl.cc \ 215 net/disk_cache/bitmap.cc \ 216 net/disk_cache/block_files.cc \ 217 net/disk_cache/cache_util_posix.cc \ 218 net/disk_cache/disk_format.cc \ 219 net/disk_cache/entry_impl.cc \ 220 net/disk_cache/eviction.cc \ 221 net/disk_cache/file.cc \ 222 net/disk_cache/file_lock.cc \ 223 net/disk_cache/file_posix.cc \ 224 net/disk_cache/hash.cc \ 225 net/disk_cache/in_flight_backend_io.cc \ 226 net/disk_cache/in_flight_io.cc \ 227 net/disk_cache/mapped_file_posix.cc \ 228 net/disk_cache/mem_backend_impl.cc \ 229 net/disk_cache/mem_entry_impl.cc \ 230 net/disk_cache/mem_rankings.cc \ 231 net/disk_cache/net_log_parameters.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_factory_impl.cc \ 273 net/http/http_stream_factory_impl_job.cc \ 274 net/http/http_stream_factory_impl_request.cc \ 275 net/http/http_stream_parser.cc \ 276 net/http/http_util.cc \ 277 net/http/http_util_icu.cc \ 278 net/http/http_vary_data.cc \ 279 net/http/md4.cc \ 280 net/http/partial_data.cc \ 281 \ 282 net/proxy/init_proxy_resolver.cc \ 283 net/proxy/multi_threaded_proxy_resolver.cc \ 284 net/proxy/proxy_bypass_rules.cc \ 285 net/proxy/proxy_config.cc \ 286 net/proxy/proxy_config_service_android.cc \ 287 net/proxy/proxy_config_service_fixed.cc \ 288 net/proxy/proxy_info.cc \ 289 net/proxy/proxy_list.cc \ 290 net/proxy/proxy_resolver_js_bindings.cc \ 291 net/proxy/proxy_resolver_script_data.cc \ 292 net/proxy/proxy_server.cc \ 293 net/proxy/proxy_service.cc \ 294 net/proxy/sync_host_resolver_bridge.cc \ 295 \ 296 net/socket/client_socket.cc \ 297 net/socket/client_socket_handle.cc \ 298 net/socket/client_socket_factory.cc \ 299 net/socket/client_socket_pool.cc \ 300 net/socket/client_socket_pool_base.cc \ 301 net/socket/client_socket_pool_histograms.cc \ 302 net/socket/client_socket_pool_manager.cc \ 303 net/socket/socks_client_socket.cc \ 304 net/socket/socks_client_socket_pool.cc \ 305 net/socket/socks5_client_socket.cc \ 306 net/socket/ssl_client_socket.cc \ 307 net/socket/ssl_client_socket_openssl.cc \ 308 net/socket/ssl_client_socket_pool.cc \ 309 net/socket/ssl_error_params.cc \ 310 net/socket/ssl_host_info.cc \ 311 net/socket/tcp_client_socket.cc \ 312 net/socket/tcp_client_socket_libevent.cc \ 313 net/socket/transport_client_socket_pool.cc \ 314 \ 315 net/spdy/spdy_framer.cc \ 316 net/spdy/spdy_frame_builder.cc \ 317 net/spdy/spdy_http_stream.cc \ 318 net/spdy/spdy_http_utils.cc \ 319 net/spdy/spdy_io_buffer.cc \ 320 net/spdy/spdy_proxy_client_socket.cc \ 321 net/spdy/spdy_session.cc \ 322 net/spdy/spdy_session_pool.cc \ 323 net/spdy/spdy_settings_storage.cc \ 324 net/spdy/spdy_stream.cc \ 325 \ 326 net/url_request/https_prober.cc \ 327 net/url_request/url_request.cc \ 328 net/url_request/url_request_context.cc \ 329 net/url_request/url_request_context_getter.cc \ 330 net/url_request/url_request_file_job.cc \ 331 net/url_request/url_request_file_dir_job.cc \ 332 net/url_request/url_request_http_job.cc \ 333 net/url_request/url_request_error_job.cc \ 334 net/url_request/url_request_job.cc \ 335 net/url_request/url_request_job_manager.cc \ 336 net/url_request/url_request_job_tracker.cc \ 337 net/url_request/url_request_netlog_params.cc \ 338 net/url_request/url_request_redirect_job.cc \ 339 net/url_request/url_request_throttler_entry.cc \ 340 net/url_request/url_request_throttler_header_adapter.cc \ 341 net/url_request/url_request_throttler_manager.cc \ 342 \ 343 sdch/open-vcdiff/src/addrcache.cc \ 344 sdch/open-vcdiff/src/blockhash.cc \ 345 sdch/open-vcdiff/src/codetable.cc \ 346 sdch/open-vcdiff/src/encodetable.cc \ 347 sdch/open-vcdiff/src/decodetable.cc \ 348 sdch/open-vcdiff/src/headerparser.cc \ 349 sdch/open-vcdiff/src/instruction_map.cc \ 350 sdch/open-vcdiff/src/logging.cc \ 351 sdch/open-vcdiff/src/varint_bigendian.cc \ 352 sdch/open-vcdiff/src/vcdecoder.cc \ 353 sdch/open-vcdiff/src/vcdiffengine.cc \ 354 sdch/open-vcdiff/src/vcencoder.cc \ 355 356# AutoFill++ source files. 357LOCAL_SRC_FILES += \ 358 android/autofill/android_url_request_context_getter.cc \ 359 android/autofill/profile_android.cc \ 360 android/autofill/url_fetcher_proxy.cc \ 361 \ 362 base/base_paths.cc \ 363 base/base_paths_linux.cc \ 364 base/path_service.cc \ 365 \ 366 chrome/browser/autofill/address.cc \ 367 chrome/browser/autofill/address_field.cc \ 368 chrome/browser/autofill/autofill_country.cc \ 369 chrome/browser/autofill/autofill_download.cc \ 370 chrome/browser/autofill/autofill_field.cc \ 371 chrome/browser/autofill/autofill_manager.cc \ 372 chrome/browser/autofill/autofill_metrics.cc \ 373 chrome/browser/autofill/autofill_profile.cc \ 374 chrome/browser/autofill/autofill_type.cc \ 375 chrome/browser/autofill/autofill_xml_parser.cc \ 376 chrome/browser/autofill/contact_info.cc \ 377 chrome/browser/autofill/credit_card.cc \ 378 chrome/browser/autofill/credit_card_field.cc \ 379 chrome/browser/autofill/fax_number.cc \ 380 chrome/browser/autofill/form_field.cc \ 381 chrome/browser/autofill/form_group.cc \ 382 chrome/browser/autofill/form_structure.cc \ 383 chrome/browser/autofill/name_field.cc \ 384 chrome/browser/autofill/home_phone_number.cc \ 385 chrome/browser/autofill/personal_data_manager.cc \ 386 chrome/browser/autofill/phone_field.cc \ 387 chrome/browser/autofill/phone_number.cc \ 388 chrome/browser/autofill/select_control_handler.cc \ 389 \ 390 chrome/common/guid.cc \ 391 chrome/common/guid_posix.cc \ 392 chrome/common/url_constants.cc \ 393 \ 394 chrome/common/net/url_fetcher.cc \ 395 chrome/common/net/url_fetcher_protect.cc \ 396 \ 397 third_party/libjingle/overrides/talk/xmllite/qname.cc \ 398 third_party/libjingle/source/talk/xmllite/xmlbuilder.cc \ 399 third_party/libjingle/source/talk/xmllite/xmlconstants.cc \ 400 third_party/libjingle/source/talk/xmllite/xmlelement.cc \ 401 third_party/libjingle/source/talk/xmllite/xmlnsstack.cc \ 402 third_party/libjingle/source/talk/xmllite/xmlparser.cc \ 403 third_party/libjingle/source/talk/xmllite/xmlprinter.cc \ 404 \ 405 webkit/glue/form_data.cc \ 406 webkit/glue/form_field.cc 407 408LOCAL_C_INCLUDES := \ 409 $(LOCAL_PATH) \ 410 $(LOCAL_PATH)/chrome \ 411 $(LOCAL_PATH)/chrome/browser \ 412 $(LOCAL_PATH)/sdch/open-vcdiff/src \ 413 $(LOCAL_PATH)/third_party/libevent/compat \ 414 external/expat \ 415 external/icu4c/common \ 416 external/icu4c/i18n \ 417 external/openssl/include \ 418 external/skia \ 419 external/sqlite/dist \ 420 external/webkit/Source/WebKit/chromium \ 421 external/zlib \ 422 external \ 423 $(LOCAL_PATH)/base/third_party/dmg_fp \ 424 $(LOCAL_PATH)/third_party/icu/public/common \ 425 $(LOCAL_PATH)/third_party/libevent/android \ 426 $(LOCAL_PATH)/third_party/libevent \ 427 $(LOCAL_PATH)/third_party/libjingle/overrides \ 428 $(LOCAL_PATH)/third_party/libjingle/source \ 429 vendor/google/libraries/autofill 430 431# Chromium uses several third party libraries and headers that are already 432# present on Android, but in different include paths. Generate a set of 433# forwarding headers in the location that Chromium expects. 434 435THIRD_PARTY = $(INTERMEDIATES)/third_party 436SCRIPT := $(LOCAL_PATH)/android/generateAndroidForwardingHeader.pl 437 438GEN := $(THIRD_PARTY)/expat/files/lib/expat.h 439$(GEN): $(SCRIPT) 440$(GEN): 441 perl $(SCRIPT) $@ "lib/expat.h" 442LOCAL_GENERATED_SOURCES += $(GEN) 443 444GEN := $(THIRD_PARTY)/skia/include/core/SkBitmap.h 445$(GEN): $(SCRIPT) 446$(GEN): 447 perl $(SCRIPT) $@ "include/core/SkBitmap.h" 448LOCAL_GENERATED_SOURCES += $(GEN) 449 450GEN := $(THIRD_PARTY)/WebKit/Source/WebKit/chromium/public/WebFormControlElement.h 451$(GEN): $(SCRIPT) 452$(GEN): 453 perl $(SCRIPT) $@ "public/WebFormControlElement.h" 454LOCAL_GENERATED_SOURCES += $(GEN) 455 456GEN := $(THIRD_PARTY)/WebKit/Source/WebKit/chromium/public/WebRegularExpression.h 457$(GEN): $(SCRIPT) 458$(GEN): 459 perl $(SCRIPT) $@ "public/WebRegularExpression.h" 460LOCAL_GENERATED_SOURCES += $(GEN) 461 462GEN := $(THIRD_PARTY)/WebKit/Source/WebKit/chromium/public/WebString.h 463$(GEN): $(SCRIPT) 464$(GEN): 465 perl $(SCRIPT) $@ "public/WebString.h" 466LOCAL_GENERATED_SOURCES += $(GEN) 467 468LOCAL_CFLAGS := -DHAVE_CONFIG_H -DANDROID -DEXPAT_RELATIVE_PATH -DALLOW_QUOTED_COOKIE_VALUES 469LOCAL_CPPFLAGS := -Wno-sign-promo -Wno-missing-field-initializers 470 471# Just a few definitions not provided by bionic. 472LOCAL_CFLAGS += -include "android/prefix.h" 473 474# external/chromium/android is a directory to intercept stl headers that we do 475# not support yet. 476LOCAL_C_INCLUDES := \ 477 $(LOCAL_PATH)/android \ 478 $(LOCAL_C_INCLUDES) 479 480LOCAL_WHOLE_STATIC_LIBRARIES += libevent modp_b64 dmg_fp libcutils 481LOCAL_SHARED_LIBRARIES = libstlport libexpat libcrypto libssl libz libicuuc libicui18n libsqlite libcutils libdl 482 483LOCAL_PRELINK_MODULE := false 484 485# Including this will modify the include path 486include external/stlport/libstlport.mk 487 488include $(BUILD_SHARED_LIBRARY) 489