# Description: # Kafka C/C++ (librdkafka) client library licenses(["notice"]) # 2-clause BSD license exports_files(["LICENSE"]) cc_library( name = "kafka", srcs = [ "config.h", "src-cpp/ConfImpl.cpp", "src-cpp/ConsumerImpl.cpp", "src-cpp/HandleImpl.cpp", "src-cpp/KafkaConsumerImpl.cpp", "src-cpp/MessageImpl.cpp", "src-cpp/MetadataImpl.cpp", "src-cpp/ProducerImpl.cpp", "src-cpp/QueueImpl.cpp", "src-cpp/RdKafka.cpp", "src-cpp/TopicImpl.cpp", "src-cpp/TopicPartitionImpl.cpp", "src/crc32c.c", "src/crc32c.h", "src/lz4.c", "src/lz4.h", "src/lz4frame.c", "src/lz4frame.h", "src/lz4frame_static.h", "src/lz4hc.c", "src/lz4hc.h", "src/lz4opt.h", "src/queue.h", "src/rd.h", "src/rdaddr.c", "src/rdaddr.h", "src/rdatomic.h", "src/rdavg.h", "src/rdavl.c", "src/rdavl.h", "src/rdbuf.c", "src/rdbuf.h", "src/rdcrc32.h", "src/rddl.h", "src/rdendian.h", "src/rdgz.c", "src/rdgz.h", "src/rdinterval.h", "src/rdkafka.c", "src/rdkafka.h", "src/rdkafka_admin.c", "src/rdkafka_admin.h", "src/rdkafka_assignor.c", "src/rdkafka_assignor.h", "src/rdkafka_aux.c", "src/rdkafka_aux.h", "src/rdkafka_background.c", "src/rdkafka_broker.c", "src/rdkafka_broker.h", "src/rdkafka_buf.c", "src/rdkafka_buf.h", "src/rdkafka_cgrp.c", "src/rdkafka_cgrp.h", "src/rdkafka_conf.c", "src/rdkafka_conf.h", "src/rdkafka_confval.h", "src/rdkafka_event.h", "src/rdkafka_feature.c", "src/rdkafka_feature.h", "src/rdkafka_header.c", "src/rdkafka_header.h", "src/rdkafka_int.h", "src/rdkafka_interceptor.c", "src/rdkafka_interceptor.h", "src/rdkafka_lz4.c", "src/rdkafka_lz4.h", "src/rdkafka_metadata.c", "src/rdkafka_metadata.h", "src/rdkafka_metadata_cache.c", "src/rdkafka_msg.c", "src/rdkafka_msg.h", "src/rdkafka_msgset.h", "src/rdkafka_msgset_reader.c", "src/rdkafka_msgset_writer.c", "src/rdkafka_offset.c", "src/rdkafka_offset.h", "src/rdkafka_op.c", "src/rdkafka_op.h", "src/rdkafka_partition.c", "src/rdkafka_partition.h", "src/rdkafka_pattern.c", "src/rdkafka_pattern.h", "src/rdkafka_proto.h", "src/rdkafka_queue.c", "src/rdkafka_queue.h", "src/rdkafka_range_assignor.c", "src/rdkafka_request.c", "src/rdkafka_request.h", "src/rdkafka_roundrobin_assignor.c", "src/rdkafka_sasl.c", "src/rdkafka_sasl.h", "src/rdkafka_sasl_int.h", "src/rdkafka_sasl_plain.c", "src/rdkafka_subscription.c", "src/rdkafka_timer.c", "src/rdkafka_timer.h", "src/rdkafka_topic.c", "src/rdkafka_topic.h", "src/rdkafka_transport.c", "src/rdkafka_transport.h", "src/rdkafka_transport_int.h", "src/rdlist.c", "src/rdlist.h", "src/rdlog.c", "src/rdlog.h", "src/rdmurmur2.c", "src/rdmurmur2.h", "src/rdports.c", "src/rdports.h", "src/rdposix.h", "src/rdrand.c", "src/rdrand.h", "src/rdregex.c", "src/rdregex.h", "src/rdstring.c", "src/rdstring.h", "src/rdsysqueue.h", "src/rdtime.h", "src/rdtypes.h", "src/rdunittest.c", "src/rdunittest.h", "src/rdvarint.c", "src/rdvarint.h", "src/snappy.c", "src/snappy.h", "src/tinycthread.c", "src/tinycthread.h", "src/xxhash.c", "src/xxhash.h", ] + select({ "@org_tensorflow//tensorflow:windows": [ "src/rdkafka_sasl_win32.c", "src/rdwin32.h", "src/regexp.c", "src/regexp.h", ], "//conditions:default": [], }), hdrs = [ "config.h", "src-cpp/rdkafkacpp.h", "src-cpp/rdkafkacpp_int.h", "src/lz4.c", "src/snappy_compat.h", ], copts = select({ "@org_tensorflow//tensorflow:windows": [ "-DWIN32_LEAN_AND_MEAN", "-DWITHOUT_WIN32_CONFIG", "-DWITH_ZLIB=1", "-DWITH_SSL=1", "-DWITH_SNAPPY=1", ], "//conditions:default": [], }), defines = ["LIBRDKAFKA_STATICLIB"], includes = [ "src", "src-cpp", ], linkopts = select({ "@org_tensorflow//tensorflow:windows": ["-defaultlib:crypt32.lib"], "//conditions:default": ["-lpthread"], }), visibility = ["//visibility:public"], deps = [ "@boringssl//:ssl", "@zlib_archive//:zlib", ], )