!4 Fix global variable gcc10
From: @yaokai13 Reviewed-by: @small_leek Signed-off-by: @small_leek
This commit is contained in:
commit
c74b955773
436
0002-Fix-global-variable-gcc10.patch
Normal file
436
0002-Fix-global-variable-gcc10.patch
Normal file
@ -0,0 +1,436 @@
|
||||
From adbdca72c8b7adfe05a31c333da3a3ee444295c8 Mon Sep 17 00:00:00 2001
|
||||
Date: Fri, 30 Jul 2021 16:38:12 +0800
|
||||
|
||||
---
|
||||
src/clients/say/options.c | 24 +++++++++++++++++++
|
||||
src/clients/say/options.h | 40 +++++++++++++++----------------
|
||||
src/modules/festival_client.c | 2 ++
|
||||
src/modules/festival_client.h | 2 +-
|
||||
src/modules/module_utils.c | 13 +++++++++++
|
||||
src/modules/module_utils.h | 22 +++++++++---------
|
||||
src/server/compare.h | 4 ++--
|
||||
src/server/configuration.c | 3 +++
|
||||
src/server/configuration.h | 4 ++--
|
||||
src/server/speaking.c | 7 ++++++
|
||||
src/server/speaking.h | 14 +++++------
|
||||
src/server/speechd.c | 25 ++++++++++++++++++++
|
||||
src/server/speechd.h | 44 +++++++++++++++++------------------
|
||||
13 files changed, 139 insertions(+), 65 deletions(-)
|
||||
|
||||
diff --git a/src/clients/say/options.c b/src/clients/say/options.c
|
||||
index 6ac6c31..47b2d7d 100644
|
||||
--- a/src/clients/say/options.c
|
||||
+++ b/src/clients/say/options.c
|
||||
@@ -35,6 +35,30 @@
|
||||
#include "options.h"
|
||||
#include <i18n.h>
|
||||
|
||||
+signed int rate;
|
||||
+signed int pitch;
|
||||
+signed int pitch_range;
|
||||
+signed int volume;
|
||||
+
|
||||
+int list_output_modules;
|
||||
+char *output_module;
|
||||
+char *sound_icon;
|
||||
+char *language;
|
||||
+char *voice_type;
|
||||
+char *punctuation_mode;
|
||||
+char *priority;
|
||||
+int pipe_mode;
|
||||
+SPDDataMode ssml_mode;
|
||||
+int spelling;
|
||||
+int wait_till_end;
|
||||
+int stop_previous;
|
||||
+int cancel_previous;
|
||||
+int list_synthesis_voices;
|
||||
+char *synthesis_voice;
|
||||
+
|
||||
+char *application_name;
|
||||
+char *connection_name;
|
||||
+
|
||||
void options_print_help(char *argv[])
|
||||
{
|
||||
assert(argv);
|
||||
diff --git a/src/clients/say/options.h b/src/clients/say/options.h
|
||||
index 6996151..ddc9b59 100644
|
||||
--- a/src/clients/say/options.h
|
||||
+++ b/src/clients/say/options.h
|
||||
@@ -24,28 +24,28 @@
|
||||
#include <getopt.h>
|
||||
#include "speechd_types.h"
|
||||
|
||||
-signed int rate;
|
||||
-signed int pitch;
|
||||
-signed int volume;
|
||||
+extern signed int rate;
|
||||
+extern signed int pitch;
|
||||
+extern signed int volume;
|
||||
|
||||
-int list_output_modules;
|
||||
-char *output_module;
|
||||
-char *sound_icon;
|
||||
-char *language;
|
||||
-char *voice_type;
|
||||
-char *punctuation_mode;
|
||||
-char *priority;
|
||||
-int pipe_mode;
|
||||
-SPDDataMode ssml_mode;
|
||||
-int spelling;
|
||||
-int wait_till_end;
|
||||
-int stop_previous;
|
||||
-int cancel_previous;
|
||||
-int list_synthesis_voices;
|
||||
-char *synthesis_voice;
|
||||
+extern int list_output_modules;
|
||||
+extern char *output_module;
|
||||
+extern char *sound_icon;
|
||||
+extern char *language;
|
||||
+extern char *voice_type;
|
||||
+extern char *punctuation_mode;
|
||||
+extern char *priority;
|
||||
+extern int pipe_mode;
|
||||
+extern SPDDataMode ssml_mode;
|
||||
+extern int spelling;
|
||||
+extern int wait_till_end;
|
||||
+extern int stop_previous;
|
||||
+extern int cancel_previous;
|
||||
+extern int list_synthesis_voices;
|
||||
+extern char *synthesis_voice;
|
||||
|
||||
-char *application_name;
|
||||
-char *connection_name;
|
||||
+extern char *application_name;
|
||||
+extern char *connection_name;
|
||||
|
||||
static struct option long_options[] = {
|
||||
{"rate", 1, 0, 'r'},
|
||||
diff --git a/src/modules/festival_client.c b/src/modules/festival_client.c
|
||||
index c1d2493..584b3ac 100644
|
||||
--- a/src/modules/festival_client.c
|
||||
+++ b/src/modules/festival_client.c
|
||||
@@ -73,6 +73,8 @@
|
||||
|
||||
#include "module_utils.h"
|
||||
|
||||
+int festival_connection_crashed;
|
||||
+
|
||||
/* For testing endianness */
|
||||
int fapi_endian_loc = 1;
|
||||
|
||||
diff --git a/src/modules/festival_client.h b/src/modules/festival_client.h
|
||||
index b66146e..f477c0a 100644
|
||||
--- a/src/modules/festival_client.h
|
||||
+++ b/src/modules/festival_client.h
|
||||
@@ -45,7 +45,7 @@
|
||||
#define FESTIVAL_DEFAULT_SERVER_PORT 1314
|
||||
#define FESTIVAL_DEFAULT_TEXT_MODE "fundamental"
|
||||
|
||||
-int festival_connection_crashed;
|
||||
+extern int festival_connection_crashed;
|
||||
|
||||
typedef struct FT_Info {
|
||||
int encoding;
|
||||
diff --git a/src/modules/module_utils.c b/src/modules/module_utils.c
|
||||
index e0ca428..397232c 100644
|
||||
--- a/src/modules/module_utils.c
|
||||
+++ b/src/modules/module_utils.c
|
||||
@@ -37,6 +37,19 @@ extern char *module_index_mark;
|
||||
|
||||
pthread_mutex_t module_stdout_mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||
|
||||
+int log_level;
|
||||
+AudioID *module_audio_id;
|
||||
+SPDMsgSettings msg_settings;
|
||||
+SPDMsgSettings msg_settings_old;
|
||||
+int current_index_mark;
|
||||
+int Debug;
|
||||
+FILE *CustomDebugFile;
|
||||
+configfile_t *configfile;
|
||||
+configoption_t *module_dc_options;
|
||||
+int module_num_dc_options;
|
||||
+const char *module_name;
|
||||
+char *module_index_mark;
|
||||
+
|
||||
char *do_message(SPDMessageType msgtype)
|
||||
{
|
||||
int ret;
|
||||
diff --git a/src/modules/module_utils.h b/src/modules/module_utils.h
|
||||
index a98821d..9920e45 100644
|
||||
--- a/src/modules/module_utils.h
|
||||
+++ b/src/modules/module_utils.h
|
||||
@@ -43,21 +43,21 @@
|
||||
#include <speechd_types.h>
|
||||
#include "spd_audio.h"
|
||||
|
||||
-int log_level;
|
||||
+extern int log_level;
|
||||
|
||||
-AudioID *module_audio_id;
|
||||
+extern AudioID *module_audio_id;
|
||||
|
||||
-SPDMsgSettings msg_settings;
|
||||
-SPDMsgSettings msg_settings_old;
|
||||
+extern SPDMsgSettings msg_settings;
|
||||
+extern SPDMsgSettings msg_settings_old;
|
||||
|
||||
-int current_index_mark;
|
||||
+extern int current_index_mark;
|
||||
|
||||
-int Debug;
|
||||
-FILE *CustomDebugFile;
|
||||
+extern int Debug;
|
||||
+extern FILE *CustomDebugFile;
|
||||
|
||||
-configfile_t *configfile;
|
||||
-configoption_t *module_dc_options;
|
||||
-int module_num_dc_options;
|
||||
+extern configfile_t *configfile;
|
||||
+extern configoption_t *module_dc_options;
|
||||
+extern int module_num_dc_options;
|
||||
|
||||
#define CLEAN_OLD_SETTINGS_TABLE()\
|
||||
msg_settings_old.rate = -101;\
|
||||
@@ -367,7 +367,7 @@ configoption_t *add_config_option(configoption_t * options,
|
||||
#define INDEX_MARK_BODY_LEN 6
|
||||
#define INDEX_MARK_BODY "__spd_"
|
||||
|
||||
-char *module_index_mark;
|
||||
+extern char *module_index_mark;
|
||||
|
||||
/* This macro must be placed at the initialization of the module so that the
|
||||
later functions are possible to use */
|
||||
diff --git a/src/server/compare.h b/src/server/compare.h
|
||||
index 13a58d0..e94d011 100644
|
||||
--- a/src/server/compare.h
|
||||
+++ b/src/server/compare.h
|
||||
@@ -29,7 +29,7 @@ gint compare_message_uid(gconstpointer element, gconstpointer value,
|
||||
gpointer x);
|
||||
|
||||
/* Pointer to function compare_message_uid */
|
||||
-gint(*p_msg_lc) ();
|
||||
-gint(*p_msg_uid_lc) ();
|
||||
+extern gint(*p_msg_lc) ();
|
||||
+extern gint(*p_msg_uid_lc) ();
|
||||
|
||||
#endif /* COMPARE_H */
|
||||
diff --git a/src/server/configuration.c b/src/server/configuration.c
|
||||
index ea2b64e..a199561 100644
|
||||
--- a/src/server/configuration.c
|
||||
+++ b/src/server/configuration.c
|
||||
@@ -36,6 +36,9 @@
|
||||
|
||||
static TFDSetClientSpecific *cl_spec_section;
|
||||
|
||||
+configoption_t *spd_options;
|
||||
+int spd_num_options;
|
||||
+
|
||||
/* So that gcc doesn't comply about casts to char* */
|
||||
|
||||
/* == CONFIGURATION MANAGEMENT FUNCTIONS */
|
||||
diff --git a/src/server/configuration.h b/src/server/configuration.h
|
||||
index bdc698e..516cc51 100644
|
||||
--- a/src/server/configuration.h
|
||||
+++ b/src/server/configuration.h
|
||||
@@ -31,8 +31,8 @@
|
||||
#define SPEECHD_DEFAULT_PORT 6560
|
||||
|
||||
/* Loading options from DotConf */
|
||||
-configoption_t *spd_options;
|
||||
-int spd_num_options;
|
||||
+extern configoption_t *spd_options;
|
||||
+extern int spd_num_options;
|
||||
|
||||
configoption_t *load_config_options(int *num_options);
|
||||
void free_config_options(configoption_t * opts, int *num);
|
||||
diff --git a/src/server/speaking.c b/src/server/speaking.c
|
||||
index a6afc40..2eb4502 100644
|
||||
--- a/src/server/speaking.c
|
||||
+++ b/src/server/speaking.c
|
||||
@@ -46,6 +46,13 @@ static SPDPriority highest_priority = 0;
|
||||
|
||||
int SPEAKING = 0;
|
||||
int poll_count;
|
||||
+OutputModule *speaking_module;
|
||||
+int speaking_uid;
|
||||
+int speaking_gid;
|
||||
+int pause_requested;
|
||||
+int pause_requested_fd;
|
||||
+int pause_requested_uid;
|
||||
+int resume_requested;
|
||||
|
||||
/*
|
||||
Speak() is responsible for getting right text from right
|
||||
diff --git a/src/server/speaking.h b/src/server/speaking.h
|
||||
index 5d79195..37e17a4 100644
|
||||
--- a/src/server/speaking.h
|
||||
+++ b/src/server/speaking.h
|
||||
@@ -28,15 +28,15 @@
|
||||
|
||||
#include <speechd_types.h>
|
||||
|
||||
-OutputModule *speaking_module;
|
||||
-int speaking_uid;
|
||||
-int speaking_gid;
|
||||
+extern OutputModule *speaking_module;
|
||||
+extern int speaking_uid;
|
||||
+extern int speaking_gid;
|
||||
|
||||
/* Pause and resume handling */
|
||||
-int pause_requested;
|
||||
-int pause_requested_fd;
|
||||
-int pause_requested_uid;
|
||||
-int resume_requested;
|
||||
+extern int pause_requested;
|
||||
+extern int pause_requested_fd;
|
||||
+extern int pause_requested_uid;
|
||||
+extern int resume_requested;
|
||||
|
||||
/* Speak() is responsible for getting right text from right
|
||||
* queue in right time and saying it loud through corresponding
|
||||
diff --git a/src/server/speechd.c b/src/server/speechd.c
|
||||
index d463cd8..2af4563 100644
|
||||
--- a/src/server/speechd.c
|
||||
+++ b/src/server/speechd.c
|
||||
@@ -58,11 +58,36 @@ void destroy_pid_file();
|
||||
/* Server socket file descriptor */
|
||||
int server_socket;
|
||||
|
||||
+TSpeechDMode spd_mode;
|
||||
+
|
||||
GMainLoop *main_loop = NULL;
|
||||
gint server_timeout_source = 0;
|
||||
|
||||
int client_count = 0;
|
||||
|
||||
+struct SpeechdOptions SpeechdOptions;
|
||||
+struct SpeechdStatus SpeechdStatus;
|
||||
+pthread_t speak_thread;
|
||||
+pthread_mutex_t logging_mutex;
|
||||
+pthread_mutex_t element_free_mutex;
|
||||
+pthread_mutex_t output_layer_mutex;
|
||||
+pthread_mutex_t socket_com_mutex;
|
||||
+GHashTable *fd_settings;
|
||||
+GHashTable *language_default_modules;
|
||||
+GHashTable *fd_uid;
|
||||
+TSpeechDQueue *MessageQueue;
|
||||
+GList *MessagePausedList;
|
||||
+GList *client_specific_settings;
|
||||
+GList *last_p5_block;
|
||||
+TFDSetElement GlobalFDSet;
|
||||
+int speaking_pipe[2];
|
||||
+GHashTable *speechd_sockets_status;
|
||||
+FILE *logfile;
|
||||
+FILE *custom_logfile;
|
||||
+char *custom_log_kind;
|
||||
+FILE *debug_logfile;
|
||||
+TSpeechDMode spd_mode;
|
||||
+
|
||||
static gboolean speechd_client_terminate(gpointer key, gpointer value, gpointer user);
|
||||
static gboolean speechd_reload_dead_modules(gpointer user_data);
|
||||
static gboolean speechd_load_configuration(gpointer user_data);
|
||||
diff --git a/src/server/speechd.h b/src/server/speechd.h
|
||||
index d4860d6..03b17d9 100644
|
||||
--- a/src/server/speechd.h
|
||||
+++ b/src/server/speechd.h
|
||||
@@ -124,7 +124,7 @@ typedef enum {
|
||||
SPD_MODE_SINGLE /* */
|
||||
} TSpeechDMode;
|
||||
|
||||
-TSpeechDMode spd_mode;
|
||||
+extern TSpeechDMode spd_mode;
|
||||
|
||||
/* TSpeechDQueue is a queue for messages. */
|
||||
typedef struct {
|
||||
@@ -149,7 +149,7 @@ typedef struct {
|
||||
#include "alloc.h"
|
||||
#include "speaking.h"
|
||||
|
||||
-struct {
|
||||
+extern struct SpeechdOptions {
|
||||
char *communication_method;
|
||||
int communication_method_set;
|
||||
char *socket_path;
|
||||
@@ -173,48 +173,48 @@ struct {
|
||||
int server_timeout_set;
|
||||
} SpeechdOptions;
|
||||
|
||||
-struct {
|
||||
+extern struct SpeechdStatus {
|
||||
int max_uid; /* The largest assigned uid + 1 */
|
||||
int max_gid; /* The largest assigned gid + 1 */
|
||||
int max_fd;
|
||||
} SpeechdStatus;
|
||||
|
||||
/* speak() thread defined in speaking.c */
|
||||
-pthread_t speak_thread;
|
||||
-pthread_mutex_t logging_mutex;
|
||||
-pthread_mutex_t element_free_mutex;
|
||||
-pthread_mutex_t output_layer_mutex;
|
||||
-pthread_mutex_t socket_com_mutex;
|
||||
+extern pthread_t speak_thread;
|
||||
+extern pthread_mutex_t logging_mutex;
|
||||
+extern pthread_mutex_t element_free_mutex;
|
||||
+extern pthread_mutex_t output_layer_mutex;
|
||||
+extern pthread_mutex_t socket_com_mutex;
|
||||
|
||||
/* Table of all configured (and succesfully loaded) output modules */
|
||||
extern GList *output_modules;
|
||||
|
||||
/* Table of settings for each active client (=each active socket)*/
|
||||
-GHashTable *fd_settings;
|
||||
+extern GHashTable *fd_settings;
|
||||
/* Table of default output modules for different languages */
|
||||
-GHashTable *language_default_modules;
|
||||
+extern GHashTable *language_default_modules;
|
||||
/* Table of relations between client file descriptors and their uids */
|
||||
-GHashTable *fd_uid;
|
||||
+extern GHashTable *fd_uid;
|
||||
|
||||
/* Speech Dispatcher main priority queue for messages */
|
||||
-TSpeechDQueue *MessageQueue;
|
||||
+extern TSpeechDQueue *MessageQueue;
|
||||
/* List of messages from paused clients waiting for resume */
|
||||
-GList *MessagePausedList;
|
||||
+extern GList *MessagePausedList;
|
||||
|
||||
/* List of different entries of client-specific configuration */
|
||||
-GList *client_specific_settings;
|
||||
+extern GList *client_specific_settings;
|
||||
|
||||
/* Saves the last received priority progress message */
|
||||
-GList *last_p5_block;
|
||||
+extern GList *last_p5_block;
|
||||
|
||||
/* Global default settings */
|
||||
-TFDSetElement GlobalFDSet;
|
||||
+extern TFDSetElement GlobalFDSet;
|
||||
|
||||
/* Inter thread comm pipe */
|
||||
-int speaking_pipe[2];
|
||||
+extern int speaking_pipe[2];
|
||||
|
||||
/* Managing sockets communication */
|
||||
-GHashTable *speechd_sockets_status;
|
||||
+extern GHashTable *speechd_sockets_status;
|
||||
typedef struct {
|
||||
int awaiting_data;
|
||||
int inside_block;
|
||||
@@ -235,10 +235,10 @@ void MSG2(int level, char *kind, char *format, ...);
|
||||
#define FATAL(msg) { fatal_error(); MSG(-1,"Fatal error [%s:%d]:"msg, __FILE__, __LINE__); exit(EXIT_FAILURE); }
|
||||
#define DIE(msg) { MSG(0,"Error [%s:%d]:"msg, __FILE__, __LINE__); exit(EXIT_FAILURE); }
|
||||
|
||||
-FILE *logfile;
|
||||
-FILE *custom_logfile;
|
||||
-char *custom_log_kind;
|
||||
-FILE *debug_logfile;
|
||||
+extern FILE *logfile;
|
||||
+extern FILE *custom_logfile;
|
||||
+extern char *custom_log_kind;
|
||||
+extern FILE *debug_logfile;
|
||||
|
||||
/* For debugging purposes, does nothing */
|
||||
void fatal_error(void);
|
||||
--
|
||||
2.23.0
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
Name: speech-dispatcher
|
||||
Version: 0.8.8
|
||||
Release: 9
|
||||
Release: 11
|
||||
Summary: Common high-level interface to speech synthesis
|
||||
License: GPLv2+ and GPLv2
|
||||
URL: http://devel.freebsoft.org/speechd
|
||||
@ -9,6 +9,7 @@ Source1: http://www.freebsoft.org/pub/projects/sound-icons/sound-icons-0.
|
||||
Source2: speech-dispatcherd.service
|
||||
Patch0001: 0001-Make-espeak-ng-the-default-output-module.patch
|
||||
Patch0002: 0001-Remove-pyxdg-dependency.patch
|
||||
Patch0003: 0002-Fix-global-variable-gcc10.patch
|
||||
BuildRequires: alsa-lib-devel desktop-file-utils dotconf-devel espeak-ng-devel flite-devel
|
||||
BuildRequires: glib2-devel intltool libao-devel libtool-ltdl-devel libsndfile-devel
|
||||
BuildRequires: pulseaudio-libs-devel python3-devel python3-setuptools texinfo systemd git gcc
|
||||
@ -177,6 +178,9 @@ fi
|
||||
%{python3_sitearch}/speechd*
|
||||
|
||||
%changelog
|
||||
* Fri Jul 30 2021 yaokai <yaokai13@huawei.com> - 0.8.8-11
|
||||
- Fix global variable gcc10
|
||||
|
||||
* Mon May 31 2021 huanghaitao <huanghaitao8@huawei.com> - 0.8.8-10
|
||||
- Completing build dependencies to fix gcc compiler missing error
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user