# 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.

import("//tools/generate_library_loader/generate_library_loader.gni")

generate_library_loader("speech-dispatcher") {
  name = "LibSpeechdLoader"
  output_h = "libspeechd.h"
  output_cc = "libspeechd.cc"
  header = "<libspeechd.h>"
  bundled_header = "\"third_party/speech-dispatcher/libspeechd.h\""

  functions = [
    "spd_open",
    "spd_say",
    "spd_stop",
    "spd_close",
    "spd_pause",
    "spd_resume",
    "spd_set_notification_on",
    "spd_set_voice_rate",
    "spd_set_voice_pitch",
    "spd_list_synthesis_voices",
    "spd_set_synthesis_voice",
    "spd_list_modules",
    "spd_set_output_module",
    "spd_set_language",
  ]
}
