1 ################################### 2 # Build the libchromium_net library 3 4 LOCAL_PATH := $(call my-dir) 5 include external/chromium/third_party/libevent/Android.mk 6 include external/chromium/third_party/modp_b64/Android.mk 7 include external/chromium/base/third_party/dmg_fp/Android.mk 8 9 include $(CLEAR_VARS) 10 11 LOCAL_CPP_EXTENSION := .cc 12 13 LOCAL_MODULE := libchromium_net 14 LOCAL_MODULE_CLASS := SHARED_LIBRARIES 15 INTERMEDIATES := $(call local-intermediates-dir) 16 17 LOCAL_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 49 ifeq ($(TARGET_ARCH),x86) 50 LOCAL_SRC_FILES += \ 51 base/atomicops_internals_x86_gcc.cc 52 endif 53 54 LOCAL_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 ui/gfx/point.cc \ 357 358 # AutoFill++ source files. 359 LOCAL_SRC_FILES += \ 360 android/autofill/android_url_request_context_getter.cc \ 361 android/autofill/profile_android.cc \ 362 android/autofill/url_fetcher_proxy.cc \ 363 \ 364 base/base_paths.cc \ 365 base/base_paths_linux.cc \ 366 base/path_service.cc \ 367 \ 368 chrome/browser/autofill/address.cc \ 369 chrome/browser/autofill/address_field.cc \ 370 chrome/browser/autofill/autofill_country.cc \ 371 chrome/browser/autofill/autofill_download.cc \ 372 chrome/browser/autofill/autofill_field.cc \ 373 chrome/browser/autofill/autofill_manager.cc \ 374 chrome/browser/autofill/autofill_metrics.cc \ 375 chrome/browser/autofill/autofill_profile.cc \ 376 chrome/browser/autofill/autofill_type.cc \ 377 chrome/browser/autofill/autofill_xml_parser.cc \ 378 chrome/browser/autofill/contact_info.cc \ 379 chrome/browser/autofill/credit_card.cc \ 380 chrome/browser/autofill/credit_card_field.cc \ 381 chrome/browser/autofill/fax_number.cc \ 382 chrome/browser/autofill/form_field.cc \ 383 chrome/browser/autofill/form_group.cc \ 384 chrome/browser/autofill/form_structure.cc \ 385 chrome/browser/autofill/name_field.cc \ 386 chrome/browser/autofill/home_phone_number.cc \ 387 chrome/browser/autofill/personal_data_manager.cc \ 388 chrome/browser/autofill/phone_field.cc \ 389 chrome/browser/autofill/phone_number.cc \ 390 chrome/browser/autofill/select_control_handler.cc \ 391 \ 392 chrome/common/guid.cc \ 393 chrome/common/guid_posix.cc \ 394 chrome/common/url_constants.cc \ 395 \ 396 chrome/common/net/url_fetcher.cc \ 397 chrome/common/net/url_fetcher_protect.cc \ 398 \ 399 third_party/libjingle/overrides/talk/xmllite/qname.cc \ 400 third_party/libjingle/source/talk/xmllite/xmlbuilder.cc \ 401 third_party/libjingle/source/talk/xmllite/xmlconstants.cc \ 402 third_party/libjingle/source/talk/xmllite/xmlelement.cc \ 403 third_party/libjingle/source/talk/xmllite/xmlnsstack.cc \ 404 third_party/libjingle/source/talk/xmllite/xmlparser.cc \ 405 third_party/libjingle/source/talk/xmllite/xmlprinter.cc \ 406 \ 407 webkit/glue/form_data.cc \ 408 webkit/glue/form_field.cc 409 410 LOCAL_C_INCLUDES := \ 411 $(LOCAL_PATH) \ 412 $(LOCAL_PATH)/chrome \ 413 $(LOCAL_PATH)/chrome/browser \ 414 $(LOCAL_PATH)/sdch/open-vcdiff/src \ 415 $(LOCAL_PATH)/third_party/libevent/compat \ 416 external/expat \ 417 external/icu4c/common \ 418 external/icu4c/i18n \ 419 external/openssl/include \ 420 external/skia \ 421 external/sqlite/dist \ 422 external/webkit/Source/WebKit/chromium \ 423 external/zlib \ 424 external \ 425 $(LOCAL_PATH)/base/third_party/dmg_fp \ 426 $(LOCAL_PATH)/third_party/icu/public/common \ 427 $(LOCAL_PATH)/third_party/libevent/android \ 428 $(LOCAL_PATH)/third_party/libevent \ 429 $(LOCAL_PATH)/third_party/libjingle/overrides \ 430 $(LOCAL_PATH)/third_party/libjingle/source \ 431 vendor/google/libraries/autofill 432 433 # Chromium uses several third party libraries and headers that are already 434 # present on Android, but in different include paths. Generate a set of 435 # forwarding headers in the location that Chromium expects. 436 437 THIRD_PARTY = $(INTERMEDIATES)/third_party 438 SCRIPT := $(LOCAL_PATH)/android/generateAndroidForwardingHeader.pl 439 440 GEN := $(THIRD_PARTY)/expat/files/lib/expat.h 441 $(GEN): $(SCRIPT) 442 $(GEN): 443 perl $(SCRIPT) $@ "lib/expat.h" 444 LOCAL_GENERATED_SOURCES += $(GEN) 445 446 GEN := $(THIRD_PARTY)/skia/include/core/SkBitmap.h 447 $(GEN): $(SCRIPT) 448 $(GEN): 449 perl $(SCRIPT) $@ "include/core/SkBitmap.h" 450 LOCAL_GENERATED_SOURCES += $(GEN) 451 452 GEN := $(THIRD_PARTY)/WebKit/Source/WebKit/chromium/public/WebFormControlElement.h 453 $(GEN): $(SCRIPT) 454 $(GEN): 455 perl $(SCRIPT) $@ "public/WebFormControlElement.h" 456 LOCAL_GENERATED_SOURCES += $(GEN) 457 458 GEN := $(THIRD_PARTY)/WebKit/Source/WebKit/chromium/public/WebRegularExpression.h 459 $(GEN): $(SCRIPT) 460 $(GEN): 461 perl $(SCRIPT) $@ "public/WebRegularExpression.h" 462 LOCAL_GENERATED_SOURCES += $(GEN) 463 464 GEN := $(THIRD_PARTY)/WebKit/Source/WebKit/chromium/public/WebString.h 465 $(GEN): $(SCRIPT) 466 $(GEN): 467 perl $(SCRIPT) $@ "public/WebString.h" 468 LOCAL_GENERATED_SOURCES += $(GEN) 469 470 LOCAL_CFLAGS := -DHAVE_CONFIG_H -DANDROID -DEXPAT_RELATIVE_PATH -DALLOW_QUOTED_COOKIE_VALUES -DCOMPONENT_BUILD -DGURL_DLL 471 LOCAL_CPPFLAGS := -Wno-sign-promo -Wno-missing-field-initializers -fvisibility=hidden -fvisibility-inlines-hidden 472 473 # Just a few definitions not provided by bionic. 474 LOCAL_CFLAGS += -include "android/prefix.h" 475 476 # external/chromium/android is a directory to intercept stl headers that we do 477 # not support yet. 478 LOCAL_C_INCLUDES := \ 479 $(LOCAL_PATH)/android \ 480 $(LOCAL_C_INCLUDES) 481 482 LOCAL_WHOLE_STATIC_LIBRARIES += libevent modp_b64 dmg_fp libcutils 483 LOCAL_SHARED_LIBRARIES := libstlport libexpat libcrypto libssl libz libicuuc libicui18n libsqlite libcutils libdl 484 485 LOCAL_PRELINK_MODULE := false 486 487 # Including this will modify the include path 488 include external/stlport/libstlport.mk 489 490 include $(BUILD_SHARED_LIBRARY) 491