Home | History | Annotate | Download | only in chromium
      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_posix.cc \
     62     base/lazy_instance.cc \
     63     base/logging.cc \
     64     base/message_loop.cc \
     65     base/message_loop_proxy.cc \
     66     base/message_loop_proxy_impl.cc \
     67     base/message_pump.cc \
     68     base/message_pump_default.cc \
     69     base/message_pump_libevent.cc \
     70     base/md5.cc \
     71     base/native_library_linux.cc \
     72     base/pickle.cc \
     73     base/platform_file.cc \
     74     base/platform_file_posix.cc \
     75     base/process_posix.cc \
     76     base/process_util.cc \
     77     base/process_util_linux.cc \
     78     base/process_util_posix.cc \
     79     base/rand_util.cc \
     80     base/rand_util_posix.cc \
     81     base/safe_strerror_posix.cc \
     82     base/sha1_portable.cc \
     83     base/shared_memory_posix.cc \
     84     base/string_number_conversions.cc \
     85     base/string_piece.cc \
     86     base/string_split.cc \
     87     base/string_util.cc \
     88     base/string16.cc \
     89     base/stringprintf.cc \
     90     base/sys_info_linux.cc \
     91     base/sys_info_posix.cc \
     92     base/sys_string_conversions_linux.cc \
     93     base/task.cc \
     94     base/time.cc \
     95     base/time_posix.cc \
     96     base/timer.cc \
     97     base/tracked.cc \
     98     base/tracked_objects.cc \
     99     base/utf_offset_string_conversions.cc \
    100     base/utf_string_conversions.cc \
    101     base/utf_string_conversion_utils.cc \
    102     base/values.cc \
    103     base/vlog.cc \
    104     \
    105     base/debug/debugger_posix.cc \
    106     base/debug/stack_trace.cc \
    107     base/debug/stack_trace_posix.cc \
    108     \
    109     base/i18n/file_util_icu.cc \
    110     base/i18n/icu_string_conversions.cc \
    111     base/i18n/time_formatting.cc \
    112     \
    113     base/json/json_reader.cc \
    114     base/json/json_writer.cc \
    115     base/json/string_escape.cc \
    116     \
    117     base/memory/ref_counted.cc \
    118     base/memory/weak_ptr.cc \
    119     \
    120     base/metrics/field_trial.cc \
    121     base/metrics/histogram.cc \
    122     base/metrics/stats_counters.cc \
    123     base/metrics/stats_table.cc \
    124     \
    125     base/synchronization/cancellation_flag.cc \
    126     base/synchronization/condition_variable_posix.cc \
    127     base/synchronization/lock_impl_posix.cc \
    128     base/synchronization/waitable_event_posix.cc \
    129     \
    130     base/threading/platform_thread_posix.cc \
    131     base/threading/thread.cc \
    132     base/threading/thread_checker_impl.cc \
    133     base/threading/thread_collision_warner.cc \
    134     base/threading/thread_local_posix.cc \
    135     base/threading/thread_local_storage_posix.cc \
    136     base/threading/worker_pool_posix.cc \
    137     \
    138     base/third_party/icu/icu_utf.cc \
    139     \
    140     base/third_party/nspr/prtime.cc \
    141     \
    142     chrome/browser/net/sqlite_persistent_cookie_store.cc \
    143     \
    144     crypto/openssl_util.cc \
    145     crypto/secure_hash_default.cc \
    146     crypto/sha2.cc \
    147     \
    148     crypto/third_party/nss/sha512.cc \
    149     \
    150     net/base/address_list.cc \
    151     net/base/address_list_net_log_param.cc \
    152     net/base/android_network_library.cc \
    153     net/base/auth.cc \
    154     net/base/backoff_entry.cc \
    155     net/base/bandwidth_metrics.cc \
    156     net/base/capturing_net_log.cc \
    157     net/base/cert_database.cc \
    158     net/base/cert_status_flags.cc \
    159     net/base/cert_verifier.cc \
    160     net/base/cert_verify_result.cc \
    161     net/base/connection_type_histograms.cc \
    162     net/base/cookie_monster.cc \
    163     net/base/cookie_store.cc \
    164     net/base/data_url.cc \
    165     net/base/directory_lister.cc \
    166     net/base/dns_util.cc \
    167     net/base/dnsrr_resolver.cc \
    168     net/base/escape.cc \
    169     net/base/file_stream_posix.cc \
    170     net/base/filter.cc \
    171     net/base/gzip_filter.cc \
    172     net/base/gzip_header.cc \
    173     net/base/host_cache.cc \
    174     net/base/host_mapping_rules.cc \
    175     net/base/host_port_pair.cc \
    176     net/base/host_resolver.cc \
    177     net/base/host_resolver_impl.cc \
    178     net/base/host_resolver_proc.cc \
    179     net/base/io_buffer.cc \
    180     net/base/ip_endpoint.cc \
    181     net/base/mime_util.cc \
    182     net/base/net_errors.cc \
    183     net/base/net_errors_posix.cc \
    184     net/base/net_log.cc \
    185     net/base/net_module.cc \
    186     net/base/net_util.cc \
    187     net/base/net_util_posix.cc \
    188     net/base/network_change_notifier.cc \
    189     net/base/network_change_notifier_linux.cc \
    190     net/base/network_change_notifier_netlink_linux.cc \
    191     net/base/network_delegate.cc \
    192     net/base/openssl_memory_private_key_store.cc \
    193     net/base/pem_tokenizer.cc \
    194     net/base/platform_mime_util_android.cc \
    195     net/base/registry_controlled_domain.cc \
    196     net/base/sdch_manager.cc \
    197     net/base/sdch_filter.cc \
    198     net/base/ssl_cert_request_info.cc \
    199     net/base/ssl_client_auth_cache.cc \
    200     net/base/ssl_config_service.cc \
    201     net/base/ssl_config_service_defaults.cc \
    202     net/base/ssl_info.cc \
    203     net/base/transport_security_state.cc \
    204     net/base/upload_data.cc \
    205     net/base/upload_data_stream.cc \
    206     net/base/x509_cert_types.cc \
    207     net/base/x509_certificate.cc \
    208     net/base/x509_certificate_openssl.cc \
    209     net/base/x509_certificate_openssl_android.cc \
    210     net/base/x509_openssl_util.cc \
    211     \
    212     net/disk_cache/addr.cc \
    213     net/disk_cache/backend_impl.cc \
    214     net/disk_cache/bitmap.cc \
    215     net/disk_cache/block_files.cc \
    216     net/disk_cache/cache_util_posix.cc \
    217     net/disk_cache/disk_format.cc \
    218     net/disk_cache/entry_impl.cc \
    219     net/disk_cache/eviction.cc \
    220     net/disk_cache/file.cc \
    221     net/disk_cache/file_lock.cc \
    222     net/disk_cache/file_posix.cc \
    223     net/disk_cache/hash.cc \
    224     net/disk_cache/in_flight_backend_io.cc \
    225     net/disk_cache/in_flight_io.cc \
    226     net/disk_cache/mapped_file_posix.cc \
    227     net/disk_cache/mem_backend_impl.cc \
    228     net/disk_cache/mem_entry_impl.cc \
    229     net/disk_cache/mem_rankings.cc \
    230     net/disk_cache/net_log_parameters.cc \
    231     net/disk_cache/rankings.cc \
    232     net/disk_cache/stats.cc \
    233     net/disk_cache/stats_histogram.cc \
    234     net/disk_cache/sparse_control.cc \
    235     net/disk_cache/trace.cc \
    236     \
    237     net/ftp/ftp_auth_cache.cc \
    238     \
    239     net/http/des.cc \
    240     net/http/disk_cache_based_ssl_host_info.cc \
    241     net/http/http_alternate_protocols.cc \
    242     net/http/http_auth.cc \
    243     net/http/http_auth_cache.cc \
    244     net/http/http_auth_controller.cc \
    245     net/http/http_auth_gssapi_posix.cc \
    246     net/http/http_auth_handler.cc \
    247     net/http/http_auth_handler_basic.cc \
    248     net/http/http_auth_handler_digest.cc \
    249     net/http/http_auth_handler_factory.cc \
    250     net/http/http_auth_handler_negotiate.cc \
    251     net/http/http_auth_handler_ntlm.cc \
    252     net/http/http_auth_handler_ntlm_portable.cc \
    253     net/http/http_basic_stream.cc \
    254     net/http/http_byte_range.cc \
    255     net/http/http_cache.cc \
    256     net/http/http_cache_transaction.cc \
    257     net/http/http_chunked_decoder.cc \
    258     net/http/http_net_log_params.cc \
    259     net/http/http_network_layer.cc \
    260     net/http/http_network_session.cc \
    261     net/http/http_network_transaction.cc \
    262     net/http/http_proxy_client_socket.cc \
    263     net/http/http_proxy_client_socket_pool.cc \
    264     net/http/http_proxy_utils.cc \
    265     net/http/http_request_headers.cc \
    266     net/http/http_request_info.cc \
    267     net/http/http_response_body_drainer.cc \
    268     net/http/http_response_headers.cc \
    269     net/http/http_response_info.cc \
    270     net/http/http_stream_factory.cc \
    271     net/http/http_stream_factory_impl.cc \
    272     net/http/http_stream_factory_impl_job.cc \
    273     net/http/http_stream_factory_impl_request.cc \
    274     net/http/http_stream_parser.cc \
    275     net/http/http_util.cc \
    276     net/http/http_util_icu.cc \
    277     net/http/http_vary_data.cc \
    278     net/http/md4.cc \
    279     net/http/partial_data.cc \
    280     \
    281     net/proxy/init_proxy_resolver.cc \
    282     net/proxy/multi_threaded_proxy_resolver.cc \
    283     net/proxy/proxy_bypass_rules.cc \
    284     net/proxy/proxy_config.cc \
    285     net/proxy/proxy_config_service_android.cc \
    286     net/proxy/proxy_config_service_fixed.cc \
    287     net/proxy/proxy_info.cc \
    288     net/proxy/proxy_list.cc \
    289     net/proxy/proxy_resolver_js_bindings.cc \
    290     net/proxy/proxy_resolver_script_data.cc \
    291     net/proxy/proxy_server.cc \
    292     net/proxy/proxy_service.cc \
    293     net/proxy/sync_host_resolver_bridge.cc \
    294     \
    295     net/socket/client_socket.cc \
    296     net/socket/client_socket_handle.cc \
    297     net/socket/client_socket_factory.cc \
    298     net/socket/client_socket_pool.cc \
    299     net/socket/client_socket_pool_base.cc \
    300     net/socket/client_socket_pool_histograms.cc \
    301     net/socket/client_socket_pool_manager.cc \
    302     net/socket/socks_client_socket.cc \
    303     net/socket/socks_client_socket_pool.cc \
    304     net/socket/socks5_client_socket.cc \
    305     net/socket/ssl_client_socket.cc \
    306     net/socket/ssl_client_socket_openssl.cc \
    307     net/socket/ssl_client_socket_pool.cc \
    308     net/socket/ssl_error_params.cc \
    309     net/socket/ssl_host_info.cc \
    310     net/socket/tcp_client_socket.cc \
    311     net/socket/tcp_client_socket_libevent.cc \
    312     net/socket/transport_client_socket_pool.cc \
    313     \
    314     net/spdy/spdy_framer.cc \
    315     net/spdy/spdy_frame_builder.cc \
    316     net/spdy/spdy_http_stream.cc \
    317     net/spdy/spdy_http_utils.cc \
    318     net/spdy/spdy_io_buffer.cc \
    319     net/spdy/spdy_proxy_client_socket.cc \
    320     net/spdy/spdy_session.cc \
    321     net/spdy/spdy_session_pool.cc \
    322     net/spdy/spdy_settings_storage.cc \
    323     net/spdy/spdy_stream.cc \
    324     \
    325     net/url_request/https_prober.cc \
    326     net/url_request/url_request.cc \
    327     net/url_request/url_request_context.cc \
    328     net/url_request/url_request_context_getter.cc \
    329     net/url_request/url_request_file_job.cc \
    330     net/url_request/url_request_file_dir_job.cc \
    331     net/url_request/url_request_http_job.cc \
    332     net/url_request/url_request_error_job.cc \
    333     net/url_request/url_request_job.cc \
    334     net/url_request/url_request_job_manager.cc \
    335     net/url_request/url_request_job_tracker.cc \
    336     net/url_request/url_request_netlog_params.cc \
    337     net/url_request/url_request_redirect_job.cc \
    338     net/url_request/url_request_throttler_entry.cc \
    339     net/url_request/url_request_throttler_header_adapter.cc \
    340     net/url_request/url_request_throttler_manager.cc \
    341     \
    342     sdch/open-vcdiff/src/addrcache.cc \
    343     sdch/open-vcdiff/src/blockhash.cc \
    344     sdch/open-vcdiff/src/codetable.cc \
    345     sdch/open-vcdiff/src/encodetable.cc \
    346     sdch/open-vcdiff/src/decodetable.cc \
    347     sdch/open-vcdiff/src/headerparser.cc \
    348     sdch/open-vcdiff/src/instruction_map.cc \
    349     sdch/open-vcdiff/src/logging.cc \
    350     sdch/open-vcdiff/src/varint_bigendian.cc \
    351     sdch/open-vcdiff/src/vcdecoder.cc \
    352     sdch/open-vcdiff/src/vcdiffengine.cc \
    353     sdch/open-vcdiff/src/vcencoder.cc \
    354     \
    355     ui/gfx/point.cc \
    356 
    357 # AutoFill++ source files.
    358 LOCAL_SRC_FILES += \
    359     android/autofill/android_url_request_context_getter.cc \
    360     android/autofill/profile_android.cc \
    361     android/autofill/url_fetcher_proxy.cc \
    362     \
    363     base/base_paths.cc \
    364     base/base_paths_linux.cc \
    365     base/path_service.cc \
    366     \
    367     chrome/browser/autofill/address.cc \
    368     chrome/browser/autofill/address_field.cc \
    369     chrome/browser/autofill/autofill_country.cc \
    370     chrome/browser/autofill/autofill_download.cc \
    371     chrome/browser/autofill/autofill_field.cc \
    372     chrome/browser/autofill/autofill_manager.cc \
    373     chrome/browser/autofill/autofill_metrics.cc \
    374     chrome/browser/autofill/autofill_profile.cc \
    375     chrome/browser/autofill/autofill_type.cc \
    376     chrome/browser/autofill/autofill_xml_parser.cc \
    377     chrome/browser/autofill/contact_info.cc \
    378     chrome/browser/autofill/credit_card.cc \
    379     chrome/browser/autofill/credit_card_field.cc \
    380     chrome/browser/autofill/fax_number.cc \
    381     chrome/browser/autofill/form_field.cc \
    382     chrome/browser/autofill/form_group.cc \
    383     chrome/browser/autofill/form_structure.cc \
    384     chrome/browser/autofill/name_field.cc \
    385     chrome/browser/autofill/home_phone_number.cc \
    386     chrome/browser/autofill/personal_data_manager.cc \
    387     chrome/browser/autofill/phone_field.cc \
    388     chrome/browser/autofill/phone_number.cc \
    389     chrome/browser/autofill/select_control_handler.cc \
    390     \
    391     chrome/common/guid.cc \
    392     chrome/common/guid_posix.cc \
    393     chrome/common/url_constants.cc \
    394     \
    395     chrome/common/net/url_fetcher.cc \
    396     chrome/common/net/url_fetcher_protect.cc \
    397     \
    398     third_party/libjingle/overrides/talk/xmllite/qname.cc \
    399     third_party/libjingle/source/talk/xmllite/xmlbuilder.cc \
    400     third_party/libjingle/source/talk/xmllite/xmlconstants.cc \
    401     third_party/libjingle/source/talk/xmllite/xmlelement.cc \
    402     third_party/libjingle/source/talk/xmllite/xmlnsstack.cc \
    403     third_party/libjingle/source/talk/xmllite/xmlparser.cc \
    404     third_party/libjingle/source/talk/xmllite/xmlprinter.cc \
    405     \
    406     webkit/glue/form_data.cc \
    407     webkit/glue/form_field.cc
    408 
    409 LOCAL_C_INCLUDES := \
    410     $(LOCAL_PATH) \
    411     $(LOCAL_PATH)/chrome \
    412     $(LOCAL_PATH)/chrome/browser \
    413     $(LOCAL_PATH)/sdch/open-vcdiff/src \
    414     $(LOCAL_PATH)/third_party/libevent/compat \
    415     external/expat \
    416     external/icu4c/common \
    417     external/icu4c/i18n \
    418     external/openssl/include \
    419     external/skia \
    420     external/sqlite/dist \
    421     external/webkit/Source/WebKit/chromium \
    422     external/zlib \
    423     external \
    424     $(LOCAL_PATH)/base/third_party/dmg_fp \
    425     $(LOCAL_PATH)/third_party/icu/public/common \
    426     $(LOCAL_PATH)/third_party/libevent/android \
    427     $(LOCAL_PATH)/third_party/libevent \
    428     $(LOCAL_PATH)/third_party/libjingle/overrides \
    429     $(LOCAL_PATH)/third_party/libjingle/source \
    430     vendor/google/libraries/autofill
    431 
    432 # Chromium uses several third party libraries and headers that are already
    433 # present on Android, but in different include paths. Generate a set of
    434 # forwarding headers in the location that Chromium expects.
    435 
    436 THIRD_PARTY = $(INTERMEDIATES)/third_party
    437 SCRIPT := $(LOCAL_PATH)/android/generateAndroidForwardingHeader.pl
    438 
    439 GEN := $(THIRD_PARTY)/expat/files/lib/expat.h
    440 $(GEN): $(SCRIPT)
    441 $(GEN):
    442 	perl $(SCRIPT) $@ "lib/expat.h"
    443 LOCAL_GENERATED_SOURCES += $(GEN)
    444 
    445 GEN := $(THIRD_PARTY)/skia/include/core/SkBitmap.h
    446 $(GEN): $(SCRIPT)
    447 $(GEN):
    448 	perl $(SCRIPT) $@ "include/core/SkBitmap.h"
    449 LOCAL_GENERATED_SOURCES += $(GEN)
    450 
    451 GEN := $(THIRD_PARTY)/WebKit/Source/WebKit/chromium/public/WebFormControlElement.h
    452 $(GEN): $(SCRIPT)
    453 $(GEN):
    454 	perl $(SCRIPT) $@ "public/WebFormControlElement.h"
    455 LOCAL_GENERATED_SOURCES += $(GEN)
    456 
    457 GEN := $(THIRD_PARTY)/WebKit/Source/WebKit/chromium/public/WebRegularExpression.h
    458 $(GEN): $(SCRIPT)
    459 $(GEN):
    460 	perl $(SCRIPT) $@ "public/WebRegularExpression.h"
    461 LOCAL_GENERATED_SOURCES += $(GEN)
    462 
    463 GEN := $(THIRD_PARTY)/WebKit/Source/WebKit/chromium/public/WebString.h
    464 $(GEN): $(SCRIPT)
    465 $(GEN):
    466 	perl $(SCRIPT) $@ "public/WebString.h"
    467 LOCAL_GENERATED_SOURCES += $(GEN)
    468 
    469 LOCAL_CFLAGS := -DHAVE_CONFIG_H -DANDROID -DEXPAT_RELATIVE_PATH -DALLOW_QUOTED_COOKIE_VALUES -DCOMPONENT_BUILD -DGURL_DLL
    470 LOCAL_CPPFLAGS := -Wno-sign-promo -Wno-missing-field-initializers -fvisibility=hidden -fvisibility-inlines-hidden
    471 
    472 # Just a few definitions not provided by bionic.
    473 LOCAL_CFLAGS += -include "android/prefix.h"
    474 
    475 # external/chromium/android is a directory to intercept stl headers that we do
    476 # not support yet.
    477 LOCAL_C_INCLUDES := \
    478 	$(LOCAL_PATH)/android \
    479 	$(LOCAL_C_INCLUDES)
    480 
    481 LOCAL_WHOLE_STATIC_LIBRARIES += libevent modp_b64 dmg_fp libcutils
    482 LOCAL_SHARED_LIBRARIES := libstlport libexpat libcrypto libssl libz libicuuc libicui18n libsqlite libcutils liblog libdl
    483 
    484 LOCAL_PRELINK_MODULE := false
    485 
    486 # Including this will modify the include path
    487 include external/stlport/libstlport.mk
    488 
    489 ifneq ($(strip $(WITH_ADDRESS_SANITIZER)),)
    490     LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/asan
    491     LOCAL_ADDRESS_SANITIZER := true
    492 endif
    493 
    494 include $(BUILD_SHARED_LIBRARY)
    495