# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

declare_args() {
  use_system_libsrtp = false
}

config("libsrtp_config") {
  defines = [
    "HAVE_STDLIB_H",
    "HAVE_STRING_H",
  ]

  include_dirs = [
    "config",
    "srtp/include",
    "srtp/crypto/include",
  ]

  if (is_posix) {
    defines += [
      "HAVE_INT16_T",
      "HAVE_INT32_T",
      "HAVE_INT8_T",
      "HAVE_UINT16_T",
      "HAVE_UINT32_T",
      "HAVE_UINT64_T",
      "HAVE_UINT8_T",
      "HAVE_STDINT_H",
      "HAVE_INTTYPES_H",
      "HAVE_NETINET_IN_H",
      "INLINE=inline",
    ]
  }

  if (is_win) {
    defines += [
      "INLINE=__inline",
      "HAVE_BYTESWAP_METHODS_H",

      # All Windows architectures are this way.
      "SIZEOF_UNSIGNED_LONG=4",
      "SIZEOF_UNSIGNED_LONG_LONG=8",
    ]
  }

  if (current_cpu == "x64" || current_cpu == "x86" || current_cpu == "arm") {
    defines += [
      # TODO(leozwang): CPU_RISC doesn"t work properly on android/arm
      # platform for unknown reasons, need to investigate the root cause
      # of it. CPU_RISC is used for optimization only, and CPU_CISC should
      # just work just fine, it has been tested on android/arm with srtp
      # test applications and libjingle.
      "CPU_CISC",
    ]
  }

  if (current_cpu == "mipsel") {
    defines += [ "CPU_RISC" ]
  }
}

config("system_libsrtp_config") {
  defines = [ "USE_SYSTEM_LIBSRTP" ]
  include_dirs = [ "/usr/include/srtp" ]
}

if (use_system_libsrtp) {
  group("libsrtp") {
    public_configs = [
      ":libsrtp_config",
      ":system_libsrtp_config",
    ]
    libs = [ "-lsrtp" ]
  }
} else {
  static_library("libsrtp") {
    configs -= [ "//build/config/compiler:chromium_code" ]
    configs += [ "//build/config/compiler:no_chromium_code" ]
    public_configs = [ ":libsrtp_config" ]

    sources = [
      # includes
      "srtp/include/ekt.h",
      "srtp/include/getopt_s.h",
      "srtp/include/rtp.h",
      "srtp/include/rtp_priv.h",
      "srtp/include/srtp.h",
      "srtp/include/srtp_priv.h",
      "srtp/include/ut_sim.h",

      # headers
      "srtp/crypto/include/aes.h",
      "srtp/crypto/include/aes_cbc.h",
      "srtp/crypto/include/aes_icm.h",
      "srtp/crypto/include/alloc.h",
      "srtp/crypto/include/auth.h",
      "srtp/crypto/include/cipher.h",
      "srtp/crypto/include/crypto.h",
      "srtp/crypto/include/crypto_kernel.h",
      "srtp/crypto/include/crypto_math.h",
      "srtp/crypto/include/crypto_types.h",
      "srtp/crypto/include/cryptoalg.h",
      "srtp/crypto/include/datatypes.h",
      "srtp/crypto/include/err.h",
      "srtp/crypto/include/gf2_8.h",
      "srtp/crypto/include/hmac.h",
      "srtp/crypto/include/integers.h",
      "srtp/crypto/include/kernel_compat.h",
      "srtp/crypto/include/key.h",
      "srtp/crypto/include/null_auth.h",
      "srtp/crypto/include/null_cipher.h",
      "srtp/crypto/include/prng.h",
      "srtp/crypto/include/rand_source.h",
      "srtp/crypto/include/rdb.h",
      "srtp/crypto/include/rdbx.h",
      "srtp/crypto/include/sha1.h",
      "srtp/crypto/include/stat.h",
      "srtp/crypto/include/xfm.h",

      # sources
      "srtp/crypto/cipher/aes.c",
      "srtp/crypto/cipher/aes_cbc.c",
      "srtp/crypto/cipher/aes_icm.c",
      "srtp/crypto/cipher/cipher.c",
      "srtp/crypto/cipher/null_cipher.c",
      "srtp/crypto/hash/auth.c",
      "srtp/crypto/hash/hmac.c",
      "srtp/crypto/hash/null_auth.c",
      "srtp/crypto/hash/sha1.c",
      "srtp/crypto/kernel/alloc.c",
      "srtp/crypto/kernel/crypto_kernel.c",
      "srtp/crypto/kernel/err.c",
      "srtp/crypto/kernel/key.c",
      "srtp/crypto/math/datatypes.c",
      "srtp/crypto/math/gf2_8.c",
      "srtp/crypto/math/stat.c",
      "srtp/crypto/replay/rdb.c",
      "srtp/crypto/replay/rdbx.c",
      "srtp/crypto/replay/ut_sim.c",
      "srtp/crypto/rng/ctr_prng.c",
      "srtp/crypto/rng/prng.c",
      "srtp/crypto/rng/rand_source.c",
      "srtp/srtp/ekt.c",
      "srtp/srtp/srtp.c",
    ]

    if (is_clang) {
      cflags = [ "-Wno-implicit-function-declaration" ]
    }
  }

  # TODO(GYP): A bunch of these tests don't compile (in gyp either). They're
  # not very broken, so could probably be made to work if it's useful.
  if (!is_win) {
    executable("rdbx_driver") {
      configs -= [ "//build/config/compiler:chromium_code" ]
      configs += [ "//build/config/compiler:no_chromium_code" ]
      deps = [
        ":libsrtp",
      ]
      sources = [
        "srtp/include/getopt_s.h",
        "srtp/test/getopt_s.c",
        "srtp/test/rdbx_driver.c",
      ]
    }

    executable("srtp_driver") {
      configs -= [ "//build/config/compiler:chromium_code" ]
      configs += [ "//build/config/compiler:no_chromium_code" ]
      deps = [
        ":libsrtp",
      ]
      sources = [
        "srtp/include/getopt_s.h",
        "srtp/include/srtp_priv.h",
        "srtp/test/getopt_s.c",
        "srtp/test/srtp_driver.c",
      ]
    }

    executable("roc_driver") {
      configs -= [ "//build/config/compiler:chromium_code" ]
      configs += [ "//build/config/compiler:no_chromium_code" ]
      deps = [
        ":libsrtp",
      ]
      sources = [
        "srtp/crypto/include/rdbx.h",
        "srtp/include/ut_sim.h",
        "srtp/test/roc_driver.c",
      ]
    }

    executable("replay_driver") {
      configs -= [ "//build/config/compiler:chromium_code" ]
      configs += [ "//build/config/compiler:no_chromium_code" ]
      deps = [
        ":libsrtp",
      ]
      sources = [
        "srtp/crypto/include/rdbx.h",
        "srtp/include/ut_sim.h",
        "srtp/test/replay_driver.c",
      ]
    }

    executable("rtpw") {
      configs -= [ "//build/config/compiler:chromium_code" ]
      configs += [ "//build/config/compiler:no_chromium_code" ]
      deps = [
        ":libsrtp",
      ]
      sources = [
        "srtp/crypto/include/datatypes.h",
        "srtp/include/getopt_s.h",
        "srtp/include/rtp.h",
        "srtp/include/srtp.h",
        "srtp/test/getopt_s.c",
        "srtp/test/rtp.c",
        "srtp/test/rtpw.c",
      ]
      if (is_android) {
        defines = [ "HAVE_SYS_SOCKET_H" ]
      }
      if (is_clang) {
        cflags = [ "-Wno-implicit-function-declaration" ]
      }
    }

    executable("srtp_test_cipher_driver") {
      configs -= [ "//build/config/compiler:chromium_code" ]
      configs += [ "//build/config/compiler:no_chromium_code" ]
      deps = [
        ":libsrtp",
      ]
      sources = [
        "srtp/crypto/test/cipher_driver.c",
      ]
    }

    executable("srtp_test_datatypes_driver") {
      configs -= [ "//build/config/compiler:chromium_code" ]
      configs += [ "//build/config/compiler:no_chromium_code" ]
      deps = [
        ":libsrtp",
      ]
      sources = [
        "srtp/crypto/test/datatypes_driver.c",
      ]
    }

    executable("srtp_test_stat_driver") {
      configs -= [ "//build/config/compiler:chromium_code" ]
      configs += [ "//build/config/compiler:no_chromium_code" ]
      deps = [
        ":libsrtp",
      ]
      sources = [
        "srtp/crypto/test/stat_driver.c",
      ]
    }

    executable("srtp_test_sha1_driver") {
      configs -= [ "//build/config/compiler:chromium_code" ]
      configs += [ "//build/config/compiler:no_chromium_code" ]
      deps = [
        ":libsrtp",
      ]
      sources = [
        "srtp/crypto/test/sha1_driver.c",
      ]
    }

    executable("srtp_test_kernel_driver") {
      configs -= [ "//build/config/compiler:chromium_code" ]
      configs += [ "//build/config/compiler:no_chromium_code" ]
      deps = [
        ":libsrtp",
      ]
      sources = [
        "srtp/crypto/test/kernel_driver.c",
      ]
    }

    executable("srtp_test_aes_calc") {
      configs -= [ "//build/config/compiler:chromium_code" ]
      configs += [ "//build/config/compiler:no_chromium_code" ]
      deps = [
        ":libsrtp",
      ]
      sources = [
        "srtp/crypto/test/aes_calc.c",
      ]
    }

    executable("srtp_test_rand_gen") {
      configs -= [ "//build/config/compiler:chromium_code" ]
      configs += [ "//build/config/compiler:no_chromium_code" ]
      deps = [
        ":libsrtp",
      ]
      sources = [
        "srtp/crypto/test/rand_gen.c",
      ]
    }

    executable("srtp_test_env") {
      configs -= [ "//build/config/compiler:chromium_code" ]
      configs += [ "//build/config/compiler:no_chromium_code" ]
      deps = [
        ":libsrtp",
      ]
      sources = [
        "srtp/crypto/test/env.c",
      ]
    }

    group("srtp_runtest") {
      deps = [
        ":rdbx_driver",
        ":srtp_driver",
        ":roc_driver",
        ":replay_driver",
        ":rtpw",
        ":srtp_test_cipher_driver",
        ":srtp_test_datatypes_driver",
        ":srtp_test_stat_driver",
        ":srtp_test_sha1_driver",
        ":srtp_test_kernel_driver",
        ":srtp_test_aes_calc",
        ":srtp_test_rand_gen",
        ":srtp_test_env",
      ]
    }
  }
}
