SET(INCLUDEDIR "${PREFIX}/include")
SET(VERSION 0.2.43)
-IF (LIBDIR MATCHES "/usr/lib64")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DLIB64")
-ENDIF (LIBDIR)
+ADD_DEFINITIONS("-DTTS_LIBDIR=\"${LIBDIR}\"")
## Include common directory ##
INCLUDE_DIRECTORIES("${CMAKE_SOURCE_DIR}/common")
## Server daemon ##
ADD_SUBDIRECTORY(server)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE RENAME tts DESTINATION /usr/share/license)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE RENAME tts DESTINATION ${TZ_SYS_RO_SHARE}/license)
## Config ##
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/tts-config.xml DESTINATION ${LIBDIR}/voice/tts/1.0)
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/tts-config.xml DESTINATION ${TZ_SYS_RO_SHARE}/voice/tts/1.0)
INSTALL(FILES ${CMAKE_SOURCE_DIR}/tts-server.conf DESTINATION /etc/dbus-1/system.d)
## Dbus service ##
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.voice.ttsserver.service DESTINATION /usr/share/dbus-1/system-services)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.voice.ttsnotiserver.service DESTINATION /usr/share/dbus-1/system-services)
-INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.voice.ttssrserver.service DESTINATION /usr/share/dbus-1/system-services)
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.voice.ttsserver.service DESTINATION ${TZ_SYS_RO_SHARE}/dbus-1/system-services)
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.voice.ttsnotiserver.service DESTINATION ${TZ_SYS_RO_SHARE}/dbus-1/system-services)
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/org.tizen.voice.ttssrserver.service DESTINATION ${TZ_SYS_RO_SHARE}/dbus-1/system-services)
## Sample application ##
ADD_SUBDIRECTORY(test)
closedir(dp);
}
- /* Get engine info from downloadable engine directory */
- dp = opendir(TTS_DOWNLOAD_ENGINE_INFO);
- if (NULL == dp) {
- SLOG(LOG_DEBUG, tts_tag(), "[CONFIG] No downloadable directory : %s", TTS_DOWNLOAD_ENGINE_INFO);
- } else {
- do {
- ret = readdir_r(dp, &entry, &dirp);
- if (0 != ret) {
- SLOG(LOG_ERROR, tts_tag(), "[CONFIG] Fail to read directory");
- break;
- }
-
- if (NULL != dirp) {
- filesize = strlen(TTS_DOWNLOAD_ENGINE_INFO) + strlen(dirp->d_name) + 2;
- if (filesize >= 512) {
- SECURE_SLOG(LOG_ERROR, tts_tag(), "[CONFIG ERROR] File path is too long : %s", dirp->d_name);
- closedir(dp);
- return -1;
- }
-
- memset(filepath, '\0', 512);
- snprintf(filepath, 512, "%s/%s", TTS_DOWNLOAD_ENGINE_INFO, dirp->d_name);
-
- SECURE_SLOG(LOG_DEBUG, tts_tag(), "[CONFIG] Filepath(%s)", filepath);
-
- if (0 == tts_parser_get_engine_info(filepath, &info)) {
- /* Compare id */
- GSList *iter = NULL;
- tts_engine_info_s *engine_info = NULL;
-
- /* Get a first item */
- iter = g_slist_nth(g_engine_list, 0);
-
- while (NULL != iter) {
- engine_info = iter->data;
-
- if (NULL != engine_info) {
- /* Remove old engine info */
- if (0 == strncmp(engine_info->uuid, info->uuid, strlen(engine_info->uuid))) {
- SLOG(LOG_DEBUG, tts_tag(), "[CONFIG] Remove old engine : %s", engine_info->name);
- g_engine_list = g_slist_remove(g_engine_list, engine_info);
- tts_parser_free_engine_info(engine_info);
- break;
- }
- }
- iter = iter->next;
- }
-
- g_engine_list = g_slist_append(g_engine_list, info);
- }
- }
- } while (NULL != dirp);
-
- closedir(dp);
- }
-
if (0 >= g_slist_length(g_engine_list)) {
SLOG(LOG_ERROR, tts_tag(), "[ERROR] No engine");
return -1;
return -1;
}
- g_dir_wd = inotify_add_watch(g_dir_fd, TTS_OPT_BASE"/engine-info/", IN_CLOSE_WRITE);
+ /* FIX_ME *//* It doesn't need check engine directory, because daemon will change engine-process */
+ g_dir_wd = inotify_add_watch(g_dir_fd, TTS_DEFAULT_ENGINE_INFO, IN_CLOSE_WRITE);
if (g_dir_wd < 0) {
SLOG(LOG_ERROR, tts_tag(), "[ERROR] Fail to add watch");
return -1;
* Defines for configuration
*******************************************************************************************/
-#ifdef LIB64
-#define TTS_USR_BASE "/usr/lib64/voice/tts/1.0"
-#else
-#define TTS_USR_BASE "/usr/lib/voice/tts/1.0"
-#endif
-#define TTS_OPT_BASE "/opt/usr/data/voice/tts/1.0"
-
-#define TTS_DEFAULT_CONFIG TTS_USR_BASE"/tts-config.xml"
-#define TTS_CONFIG tzplatform_mkpath(TZ_USER_HOME, ".voice/tts-config.xml")
-
-#define MESSAGE_FILE_PATH_ROOT tzplatform_mkpath(TZ_USER_HOME, ".voice/")
-
-#define TTS_DEFAULT_ENGINE TTS_USR_BASE"/engine"
-#define TTS_DOWNLOAD_ENGINE TTS_OPT_BASE"/engine"
-
-#define TTS_DEFAULT_ENGINE_INFO TTS_USR_BASE"/engine-info"
-#define TTS_DOWNLOAD_ENGINE_INFO TTS_OPT_BASE"/engine-info"
+#define TTS_CONFIG tzplatform_mkpath(TZ_USER_HOME, "/share/.voice/tts-config.xml")
+#define TTS_DEFAULT_CONFIG tzplatform_mkpath(TZ_SYS_RO_SHARE, "/voice/tts/1.0/tts-config.xml")
-#define TTS_DEFAULT_ENGINE_SETTING TTS_USR_BASE"/engine-setting"
-#define TTS_DOWNLOAD_ENGINE_SETTING TTS_OPT_BASE"/engine-setting"
+#define TTS_DEFAULT_ENGINE tzplatform_mkpath(TZ_SYS_RO_SHARE, "/voice/tts/1.0/engine")
+#define TTS_DEFAULT_ENGINE_INFO tzplatform_mkpath(TZ_SYS_RO_SHARE, "/voice/tts/1.0/engine-info")
+#define TTS_DEFAULT_ENGINE_SETTING tzplatform_mkpath(TZ_SYS_RO_SHARE, "/voice/tts/1.0/engine-setting")
#define TTS_BASE_LANGUAGE "en_US"
export FFLAGS="$FFLAGS -DTIZEN_DEBUG_ENABLE"
-cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DLIBDIR=%{_libdir} -DINCLUDEDIR=%{_includedir}
+cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DLIBDIR=%{_libdir} -DINCLUDEDIR=%{_includedir} \
+ -DTZ_SYS_RO_SHARE=%TZ_SYS_RO_SHARE -DTZ_SYS_BIN=%TZ_SYS_BIN
+
make %{?jobs:-j%jobs}
%install
rm -rf %{buildroot}
-mkdir -p %{buildroot}/usr/share/license
-install LICENSE %{buildroot}/usr/share/license/%{name}
+mkdir -p %{buildroot}%{TZ_SYS_RO_SHARE}/license
+install LICENSE %{buildroot}%{TZ_SYS_RO_SHARE}/license/%{name}
%make_install
mkdir -p %{_libdir}/voice
-mkdir -p /usr/share/voice/test
-
-mkdir -p /opt/usr/data/voice/tts/1.0/engine-info
-
-chown 5000:5000 /opt/usr/data/voice
-chown 5000:5000 /opt/usr/data/voice/tts
-chown 5000:5000 /opt/usr/data/voice/tts/1.0
-chown 5000:5000 /opt/usr/data/voice/tts/1.0/engine-info
+mkdir -p %{TZ_SYS_RO_SHARE}/voice/test
%postun -p /sbin/ldconfig
%manifest %{name}.manifest
%defattr(-,root,root,-)
%{_libdir}/lib*.so
-%{_libdir}/voice/tts/1.0/tts-config.xml
%{_bindir}/tts-daemon*
-/usr/share/dbus-1/system-services/org.tizen.voice*
+%{TZ_SYS_RO_SHARE}/voice/tts/1.0/tts-config.xml
+%{TZ_SYS_RO_SHARE}/dbus-1/system-services/org.tizen.voice*
+%{TZ_SYS_RO_SHARE}/voice/test/tts-test
+%{TZ_SYS_RO_SHARE}/license/%{name}
/etc/dbus-1/system.d/tts-server.conf
-/usr/share/voice/test/tts-test
-/usr/share/license/%{name}
%files devel
%manifest %{name}-devel.manifest
closedir(dp);
}
- dp = opendir(TTS_DOWNLOAD_ENGINE);
-
- if (dp != NULL) {
- do {
- ret = readdir_r(dp, &entry, &dirp);
- if (0 != ret) {
- SLOG(LOG_ERROR, get_tag(), "[Engine Agent ERROR] Fail to read directory");
- break;
- }
-
- if (NULL != dirp) {
- ttsengine_info_s* info;
- char* filepath = NULL;
- int file_size;
-
- file_size = strlen(TTS_DOWNLOAD_ENGINE) + strlen(dirp->d_name) + 5;
- filepath = (char*)calloc(file_size, sizeof(char));
-
- if (NULL != filepath) {
- snprintf(filepath, file_size, "%s/%s", TTS_DOWNLOAD_ENGINE, dirp->d_name);
- } else {
- SLOG(LOG_ERROR, get_tag(), "[Engine Agent ERROR] Not enough memory!!" );
- continue;
- }
-
- /* get its info and update engine list */
- if (0 == __internal_get_engine_info(filepath, &info)) {
- /* add engine info to g_engine_list */
- g_engine_list = g_list_append(g_engine_list, info);
- }
-
- if (NULL != filepath) free(filepath);
- }
- } while (NULL != dirp);
-
- closedir(dp);
- }
-
if (g_list_length(g_engine_list) <= 0) {
SLOG(LOG_ERROR, get_tag(), "[Engine Agent ERROR] No Engine");
return TTSD_ERROR_OPERATION_FAILED;
TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${pkgs_test_LDFLAGS} tts)
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/share/voice/test)
+INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${TZ_SYS_RO_SHARE}/voice/test)