From 9721387ee041e26f91b79c9b0620b8c7f673e47a Mon Sep 17 00:00:00 2001 From: "jk7744.park" Date: Sun, 1 Feb 2015 14:00:39 +0900 Subject: [PATCH] tizen 2.3 release --- COPYING | 2 +- .../Makefile.am | 0 .../autogen.sh | 0 .../configure.ac | 2 +- access_output_tts/sounds/End_of_List.ogg | Bin 0 -> 15242 bytes access_output_tts/sounds/Focus.ogg | Bin 0 -> 5454 bytes access_output_tts/sounds/List_scroll.ogg | Bin 0 -> 6206 bytes access_output_tts/sounds/file.list | 4 + .../src/Makefile.am | 11 +- .../src/mod.c | 55 ++++- edje_feedback/Makefile.am | 16 ++ .../access_output_tts => edje_feedback}/autogen.sh | 1 - edje_feedback/configure.ac | 32 +++ edje_feedback/edje_feedback.manifest | 5 + edje_feedback/feedback.c | 109 +++++++++ mobile/access_output_tts/Makefile.am | 10 - mobile/access_output_tts/configure.ac | 40 ---- mobile/access_output_tts/src/Makefile.am | 14 -- mobile/access_output_tts/src/mod.c | 254 --------------------- packaging/elm-modules.spec | 51 +++-- 20 files changed, 256 insertions(+), 350 deletions(-) rename {wearable/access_output_tts => access_output_tts}/Makefile.am (100%) rename {wearable/access_output_tts => access_output_tts}/autogen.sh (100%) rename {wearable/access_output_tts => access_output_tts}/configure.ac (94%) mode change 100755 => 100644 create mode 100644 access_output_tts/sounds/End_of_List.ogg create mode 100644 access_output_tts/sounds/Focus.ogg create mode 100755 access_output_tts/sounds/List_scroll.ogg create mode 100644 access_output_tts/sounds/file.list rename {wearable/access_output_tts => access_output_tts}/src/Makefile.am (56%) rename {wearable/access_output_tts => access_output_tts}/src/mod.c (81%) create mode 100755 edje_feedback/Makefile.am rename {mobile/access_output_tts => edje_feedback}/autogen.sh (99%) create mode 100644 edje_feedback/configure.ac create mode 100644 edje_feedback/edje_feedback.manifest create mode 100644 edje_feedback/feedback.c delete mode 100755 mobile/access_output_tts/Makefile.am delete mode 100755 mobile/access_output_tts/configure.ac delete mode 100644 mobile/access_output_tts/src/Makefile.am delete mode 100644 mobile/access_output_tts/src/mod.c diff --git a/COPYING b/COPYING index 39688ee..e83c962 100644 --- a/COPYING +++ b/COPYING @@ -1,6 +1,6 @@ Copyright notice for Elementary: -Copyright (C) 2008-2011 Carsten Haitzler and various contributors (see AUTHORS) +Copyright (C) 2008-2014 Carsten Haitzler and various contributors (see AUTHORS) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the diff --git a/wearable/access_output_tts/Makefile.am b/access_output_tts/Makefile.am similarity index 100% rename from wearable/access_output_tts/Makefile.am rename to access_output_tts/Makefile.am diff --git a/wearable/access_output_tts/autogen.sh b/access_output_tts/autogen.sh similarity index 100% rename from wearable/access_output_tts/autogen.sh rename to access_output_tts/autogen.sh diff --git a/wearable/access_output_tts/configure.ac b/access_output_tts/configure.ac old mode 100755 new mode 100644 similarity index 94% rename from wearable/access_output_tts/configure.ac rename to access_output_tts/configure.ac index 637ea54..d52a62f --- a/wearable/access_output_tts/configure.ac +++ b/access_output_tts/configure.ac @@ -20,7 +20,7 @@ AC_C_CONST # checks for pkg-config PKG_PROG_PKG_CONFIG -requirements="elementary, dlog" +requirements="elementary, dlog, mm-keysound, vconf" PKG_CHECK_MODULES(ACCESS_OUTPUT, [${requirements}]) diff --git a/access_output_tts/sounds/End_of_List.ogg b/access_output_tts/sounds/End_of_List.ogg new file mode 100644 index 0000000000000000000000000000000000000000..3777683b5d2fd095514f6da65b61a4b6ea1431fd GIT binary patch literal 15242 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 literal 0 HcmV?d00001 diff --git a/access_output_tts/sounds/Focus.ogg b/access_output_tts/sounds/Focus.ogg new file mode 100644 index 0000000000000000000000000000000000000000..aec6d44461edf13f55df86b179e6ad2b08182b80 GIT binary patch literal 5454 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 P4h@bLPM?PXcs%~UVy)4^ literal 0 HcmV?d00001 diff --git a/access_output_tts/sounds/List_scroll.ogg b/access_output_tts/sounds/List_scroll.ogg new file mode 100755 index 0000000000000000000000000000000000000000..c40fd6a7627746b88d11ca44590c2c0d2d245f03 GIT binary patch literal 6206 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 #include #include +#include +#include #undef LOG_TAG #define LOG_TAG "access-output-tts" -#define TEXT_CUT_SIZE 1000 +#define TEXT_CUT_SIZE 300 /* to enable this module export ELM_MODULES="access_output_tts>access/api" @@ -17,6 +19,10 @@ static void *cb_data; static tts_h tts; static Eina_Strbuf *buf = NULL; +const char* FOCUS_SOUND_FILE = ACCESS_OUTPUT_TTS_SOUND_DIR "Focus.ogg"; +const char* END_OF_LIST_SOUND_FILE = ACCESS_OUTPUT_TTS_SOUND_DIR "End_of_List.ogg"; +const char* LIST_SCROLL_SOUND_FILE = ACCESS_OUTPUT_TTS_SOUND_DIR "List_scroll.ogg"; + static void _text_keep(const char *txt) { if (!buf) return; @@ -28,6 +34,14 @@ static Eina_Bool _text_add(const char *txt) { int ret = 0; int u_id = 0; + int lcd_val = 0; + + vconf_get_int(VCONFKEY_PM_STATE, &lcd_val); + if (lcd_val == VCONFKEY_PM_STATE_LCDOFF) + { + fprintf(stderr, "lcd state off (%d)\n", lcd_val); + return EINA_TRUE; + } if (strlen(txt) < TEXT_CUT_SIZE) { @@ -36,14 +50,14 @@ static Eina_Bool _text_add(const char *txt) } else { - char tmp[TEXT_CUT_SIZE]; + char tmp[TEXT_CUT_SIZE + 2]; int i, p = 0; while (strlen(&txt[p]) > TEXT_CUT_SIZE) { strncpy(tmp, &txt[p], TEXT_CUT_SIZE); - for (i = TEXT_CUT_SIZE; i > 0 ; i--) + for (i = 1; i < TEXT_CUT_SIZE ; i++) { if (tmp[i] == ' ' && (tmp[i - 1] == '?' || @@ -84,11 +98,11 @@ void _tts_state_changed_cb(tts_h tts, tts_state_e previous, tts_state_e current, { char *txt; - if (!buf) return EINA_FALSE; + if (!buf) return; if (!eina_strbuf_length_get(buf)) return; txt = eina_strbuf_string_steal(buf); - if (txt && strlen(txt) == 0) return; + if (!txt || strlen(txt) == 0) return; if (_text_add(txt) == EINA_FALSE) return; @@ -253,10 +267,39 @@ out_cancel(void) EAPI void out_done_callback_set(void (*func) (void *data), const void *data) { - if (data && cb_data && (data != cb_data)) return; + /* data and cb_data could be NULL */ + if (!func && (data != cb_data)) return; cb_func = func; cb_data = (void *)data; } + +EAPI void +sound_play(const Elm_Access_Sound_Type type) +{ + const char *file_name; + + file_name = NULL; + switch (type) + { + case ELM_ACCESS_SOUND_HIGHLIGHT: + file_name = FOCUS_SOUND_FILE; + break; + + case ELM_ACCESS_SOUND_SCROLL: + file_name = LIST_SCROLL_SOUND_FILE; + break; + + case ELM_ACCESS_SOUND_END: + file_name = END_OF_LIST_SOUND_FILE; + break; + + default: + break; + } + + if (file_name) + mm_sound_play_keysound(file_name, VOLUME_TYPE_SYSTEM & VOLUME_GAIN_TOUCH); +} /* * unused api */ diff --git a/edje_feedback/Makefile.am b/edje_feedback/Makefile.am new file mode 100755 index 0000000..f1955a0 --- /dev/null +++ b/edje_feedback/Makefile.am @@ -0,0 +1,16 @@ +MAINTAINERCLEANFILES = aclocal.m4 compile config.sub config.guess config.h.in \ + configure depcomp install-sh ltmain.sh Makefile.in missing + +pkgdir = $(libdir)/edje/modules/feedback/$(MODULE_ARCH) +pkg_LTLIBRARIES = module.la + +module_la_SOURCES = feedback.c + +module_la_CPPFLAGS = \ +@EDJE_FEEDBACK_CFLAGS@ + +module_la_LIBADD = -leina -ledje -lfeedback \ +@EDJE_FEEDBACK_LIBS@ + +module_la_LDFLAGS = -no-undefined -module -avoid-version +module_la_LIBTOOLFLAGS = --tag=disable-static diff --git a/mobile/access_output_tts/autogen.sh b/edje_feedback/autogen.sh similarity index 99% rename from mobile/access_output_tts/autogen.sh rename to edje_feedback/autogen.sh index 5a30991..ed8e623 100755 --- a/mobile/access_output_tts/autogen.sh +++ b/edje_feedback/autogen.sh @@ -7,4 +7,3 @@ autoconf libtoolize --copy --force autoheader automake --foreign --add-missing --copy - diff --git a/edje_feedback/configure.ac b/edje_feedback/configure.ac new file mode 100644 index 0000000..5e05822 --- /dev/null +++ b/edje_feedback/configure.ac @@ -0,0 +1,32 @@ +# initialization +AC_INIT([edje-modules-feedback], [1.0.0], [BUG-REPORT-ADDRESS]) +AM_INIT_AUTOMAKE([-Wall foreign]) + +# Checks for programs. +AC_PROG_CC +AC_DISABLE_STATIC +AC_PROG_LIBTOOL +#AC_PROG_INSTALL + +# checks for header files +AC_HEADER_STDC + +# checks for typedefs, structures, and compiler characteristics +AC_C_CONST + +# checks for pkg-config +PKG_PROG_PKG_CONFIG + +requirements="eina, edje, feedback" + +PKG_CHECK_MODULES(EDJE_FEEDBACK, [${requirements}]) + +# Check host system +VERSION=1.0.0 +MODULE_ARCH="$host_os-$host_cpu-$VERSION" +AC_SUBST(MODULE_ARCH) +AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture") + +# Generate files +AC_CONFIG_FILES([Makefile]) +AC_OUTPUT diff --git a/edje_feedback/edje_feedback.manifest b/edje_feedback/edje_feedback.manifest new file mode 100644 index 0000000..97e8c31 --- /dev/null +++ b/edje_feedback/edje_feedback.manifest @@ -0,0 +1,5 @@ + + + + + diff --git a/edje_feedback/feedback.c b/edje_feedback/feedback.c new file mode 100644 index 0000000..2968e14 --- /dev/null +++ b/edje_feedback/feedback.c @@ -0,0 +1,109 @@ +#include +#include +#include + +static int _edje_feedback_log_dom = -1; +static int _init_count = 0; +static Eina_Bool _init_feedback = EINA_FALSE; + +#define CRITICAL(...) EINA_LOG_DOM_CRIT(_edje_feedback_log_dom, __VA_ARGS__) +#define ERR(...) EINA_LOG_DOM_ERR(_edje_feedback_log_dom, __VA_ARGS__) +#define WRN(...) EINA_LOG_DOM_WARN(_edje_feedback_log_dom, __VA_ARGS__) +#define INF(...) EINA_LOG_DOM_INFO(_edje_feedback_log_dom, __VA_ARGS__) +#define DBG(...) EINA_LOG_DOM_DBG(_edje_feedback_log_dom, __VA_ARGS__) + +#define ERR_GOTO(label, fmt, args...)\ + do { \ + ERR(fmt"\n", ##args); \ + goto label; \ + } while (0) + +#define ERR_RET_VAL(ret, fmt, args...)\ + do { \ + ERR(fmt"\n", ##args); \ + return ret; \ + } while (0) + +#define ERR_RET(fmt, args...)\ + do { \ + ERR(fmt"\n", ##args); \ + return; \ + } while (0) + +#ifdef __cplusplus +extern "C" { +#endif + +EAPI Eina_Bool +edje_plugin_run(Evas_Object *edje, + const char *name, + const char *param) +{ + if (!edje) return EINA_FALSE; + if (!name) return EINA_FALSE; + + if (!_init_feedback) + { + feedback_initialize(); + _init_feedback = EINA_TRUE; + } + + unsigned int cnt; + char **tok; + tok = eina_str_split_full(param, " ", 0, &cnt); + if (tok && (cnt == 2) && tok[0] && tok[1]) + { + feedback_error_e err; + err = feedback_play_type_by_name(tok[0], tok[1]); + + if (tok[0]) free(tok[0]); + free(tok); + + if (err != FEEDBACK_ERROR_NONE) + { + WRN("feedback_play_type() failed: %d", err); + return EINA_FALSE; + } + return EINA_TRUE; + } + return EINA_FALSE; +} + +Eina_Bool +_module_init(void) +{ + _init_count++; + if (_init_count == 1) + { + _edje_feedback_log_dom = eina_log_domain_register("elm_feedback", + EINA_COLOR_LIGHTBLUE); + if (!_edje_feedback_log_dom) + { + EINA_LOG_ERR("could not register elm_feedback log domain."); + _edje_feedback_log_dom = EINA_LOG_DOMAIN_GLOBAL; + } + } + return EINA_TRUE; +} + +void +_module_shutdown(void) +{ + _init_count--; + if (_init_count == 0) + { + eina_log_domain_unregister(_edje_feedback_log_dom); + _edje_feedback_log_dom = -1; + if (_init_feedback) + { + feedback_deinitialize(); + _init_feedback = EINA_FALSE; + } + } +} + +EINA_MODULE_INIT(_module_init); +EINA_MODULE_SHUTDOWN(_module_shutdown); +#ifdef __cplusplus +} +#endif diff --git a/mobile/access_output_tts/Makefile.am b/mobile/access_output_tts/Makefile.am deleted file mode 100755 index 2865a04..0000000 --- a/mobile/access_output_tts/Makefile.am +++ /dev/null @@ -1,10 +0,0 @@ -# maintainer-clean removes everything -MAINTAINERCLEANFILES = aclocal.m4 compile config.sub config.guess config.h.in \ - configure depcomp install-sh ltmain.sh Makefile.in missing - -SUBDIRS = src - -uninstall: - rm -rf $(DESTDIR)$(datadir) - - diff --git a/mobile/access_output_tts/configure.ac b/mobile/access_output_tts/configure.ac deleted file mode 100755 index f428461..0000000 --- a/mobile/access_output_tts/configure.ac +++ /dev/null @@ -1,40 +0,0 @@ -# initialization -AC_INIT([elm-modules-access-output-tts], [0.1], [cinoo.kim@samsung.com]) -AM_INIT_AUTOMAKE([-Wall foreign]) - -# checks for programs -AC_PROG_CC -AC_DISABLE_STATIC -AC_PROG_LIBTOOL - -# checks for libraries - -# checks for header files -AC_HEADER_STDC - -# checks for typedefs, structures, and compiler characteristics -AC_C_CONST - -# checks for library functions - -# checks for pkg-config -PKG_PROG_PKG_CONFIG - -requirements="elementary" - -PKG_CHECK_MODULES(ACCESS_OUTPUT, [${requirements}]) - -# Check host system -ELEMENTARY_VERSION=`$PKG_CONFIG --modversion elementary | awk -F . '{printf("%s.%s.%s",$1,$2,$3);}'` -MODULE_ARCH="$host_os-$host_cpu-$ELEMENTARY_VERSION" -AC_SUBST(MODULE_ARCH) -AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture") - -# Generate files -AC_CONFIG_FILES([ - Makefile - src/Makefile - ]) - -AC_OUTPUT - diff --git a/mobile/access_output_tts/src/Makefile.am b/mobile/access_output_tts/src/Makefile.am deleted file mode 100644 index 201736f..0000000 --- a/mobile/access_output_tts/src/Makefile.am +++ /dev/null @@ -1,14 +0,0 @@ -MAINTAINERCLEANFILES = Makefile.in - -pkgdir = $(libdir)/elementary/modules/access_output_tts/$(MODULE_ARCH) -pkg_LTLIBRARIES = module.la - -module_la_SOURCES = mod.c - -module_la_CPPFLAGS = \ --I. \ -@ACCESS_OUTPUT_CFLAGS@ - -module_la_LIBADD = -ltts -module_la_LDFLAGS = -no-undefined -module -avoid-version -module_la_LIBTOOLFLAGS = --tag=disable-static diff --git a/mobile/access_output_tts/src/mod.c b/mobile/access_output_tts/src/mod.c deleted file mode 100644 index 49abd57..0000000 --- a/mobile/access_output_tts/src/mod.c +++ /dev/null @@ -1,254 +0,0 @@ -/* - * elm-modules - * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd. - * - * Licensed under the Apache License, Version 2.0 (the License); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an AS IS BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include -#include - -/* to enable this module -export ELM_MODULES="access_output_tts>access/api" -export ELM_ACCESS_MODE=1 - */ - -static void (*cb_func) (void *data); -static void *cb_data; -static tts_h tts; -static Eina_Strbuf *buf = NULL; - -static void _text_keep(const char *txt) -{ - if (!buf) return; - if (eina_strbuf_length_get(buf) > 0) eina_strbuf_append(buf, ", "); - eina_strbuf_append(buf, txt); -} - -static void _text_add() -{ - int ret = 0; - int u_id = 0; - char *txt; - - if (!buf) return; - if (!eina_strbuf_length_get(buf)) return;; - - txt = eina_strbuf_string_steal(buf); - ret = tts_add_text(tts, txt, NULL, TTS_VOICE_TYPE_AUTO, - TTS_SPEED_AUTO, &u_id); - if (TTS_ERROR_NONE != ret) - { - fprintf(stderr, "Fail to add kept text : ret(%d)\n", ret); - } -} - -void _tts_state_changed_cb(tts_h tts, tts_state_e previous, tts_state_e current, void* data) -{ - int ret = 0; - - if (TTS_STATE_CREATED == previous && TTS_STATE_READY == current) - { - _text_add(); - - ret = tts_play(tts); - if (TTS_ERROR_NONE != ret) - { - fprintf(stderr, "Fail to play TTS : ret(%d)\n", ret); - } - } -} - -void utterance_completed_callback(tts_h tts, int utt_id, void* user_data) -{ - if (cb_func) cb_func(cb_data); -} - -EAPI int -elm_modapi_init(void *m ) -{ - int ret = 0; - - if (tts) - { - tts_state_e state; - tts_get_state(tts, &state); - - if (state == TTS_STATE_CREATED) goto prepare; - - if (state == TTS_STATE_READY || - state == TTS_STATE_PLAYING || - state == TTS_STATE_PAUSED) - return 0; - } - - ret = tts_create(&tts); - if (TTS_ERROR_NONE != ret) - { - fprintf(stderr, "Fail to get handle : result(%d)", ret); - return ret; - } - - ret = tts_set_state_changed_cb(tts, _tts_state_changed_cb, NULL); - if (TTS_ERROR_NONE != ret) - { - fprintf(stderr, "Fail to set callback : result(%d)", ret); - return ret; - } - - ret = tts_set_mode(tts, TTS_MODE_SCREEN_READER); - if (TTS_ERROR_NONE != ret) - { - fprintf(stderr, "Fail to set mode : result(%d)", ret); - return ret; - } - - prepare: - ret = tts_set_utterance_completed_cb(tts, utterance_completed_callback, NULL); - if (TTS_ERROR_NONE != ret) - { - fprintf(stderr, "Fail to register utterance completed callback function : result(%d)", ret); - return ret; - } - - ret = tts_prepare(tts); - if (TTS_ERROR_NONE != ret) - { - fprintf(stderr, "Fail to prepare handle : result(%d)", ret); - return ret; - } - - buf = eina_strbuf_new(); - - return 1; -} - -EAPI int -elm_modapi_shutdown(void *m ) -{ - int ret = 0; - if (tts) - { - /* check current state */ - tts_state_e state; - tts_get_state(tts, &state); - if (state == TTS_STATE_PLAYING || state == TTS_STATE_PAUSED) - { - ret = tts_stop(tts); - if (TTS_ERROR_NONE != ret) - { - fprintf(stderr, "Fail to stop handle : result(%d)", ret); - return ret; - } - } - - ret = tts_unprepare(tts); - if (TTS_ERROR_NONE != ret) - { - fprintf(stderr, "Fail to unprepare handle : result(%d)", ret); - return ret; - } - - ret = tts_destroy(tts); - if (TTS_ERROR_NONE != ret) - { - fprintf(stderr, "Fail to destroy handle : result(%d)", ret); - return ret; - } - - if (buf) - { - eina_strbuf_free(buf); - buf = NULL; - } - } - return 1; -} - -EAPI void -out_read(const char *txt) -{ - int ret = 0; - int u_id = 0; - - tts_state_e state; - tts_get_state(tts, &state); - if (state != TTS_STATE_PLAYING && - state != TTS_STATE_PAUSED && - state != TTS_STATE_READY) - { - if (txt) _text_keep(txt); - return; - } - - ret = tts_add_text(tts, txt, NULL, TTS_VOICE_TYPE_AUTO, - TTS_SPEED_AUTO, &u_id); - if (TTS_ERROR_NONE != ret) - { - fprintf(stderr, "Fail to add text : %s ret(%d)\n", txt, ret); - } - - /* check current state */ - tts_get_state(tts, &state); - if (state == TTS_STATE_PLAYING) return; - - ret = tts_play(tts); - if (TTS_ERROR_NONE != ret) - { - fprintf(stderr, "Fail to play TTS : ret(%d)\n", ret); - } - return; -} - - -EAPI void -out_cancel(void) -{ - int ret = 0; - if (tts) - { - /* check current state */ - tts_state_e state; - - tts_get_state(tts, &state); - if (state != TTS_STATE_PLAYING && state != TTS_STATE_PAUSED) - { - if (buf && (eina_strbuf_length_get(buf) > 0)) - eina_strbuf_string_free(buf); - return; - } - - ret = tts_stop(tts); - if (TTS_ERROR_NONE != ret) - { - fprintf(stderr, "Fail to stop TTS : result(%d)", ret); - } - } - return; -} - -EAPI void -out_done_callback_set(void (*func) (void *data), const void *data) -{ - cb_func = func; - cb_data = (void *)data; -} -/* - * unused api - */ - -#if 0 -EAPI void -out_read_done(void) -{ -} -#endif diff --git a/packaging/elm-modules.spec b/packaging/elm-modules.spec index 5a72acd..d40e2e7 100644 --- a/packaging/elm-modules.spec +++ b/packaging/elm-modules.spec @@ -1,49 +1,56 @@ Name: elm-modules Summary: The Elementary Modules -Version: 0.1.11b01 +Version: 0.1.25 Release: 1 Group: System/Libraries -License: APLv2 +License: LGPLv2.1+ +URL: http://www.tizen.org Source0: %{name}-%{version}.tar.gz -BuildRequires: elementary-devel -BuildRequires: tts-devel +BuildRequires: elementary-devel, eina-devel, edje-devel +BuildRequires: tts-devel, libfeedback-devel +BuildRequires: pkgconfig(mm-keysound) +BuildRequires: pkgconfig(vconf) %description -The Eelementary Modules +The Elementary Modules %prep %setup -q %build +export CFLAGS+=" -fvisibility=hidden -fPIC -Wall" +export LDFLAGS+=" -fvisibility=hidden -Wl,--hash-style=both -Wl,--as-needed -Wl,-z,defs" -%define DEF_SUBDIRS access_output_tts - -export CFLAGS+=" -Wall -g -fPIC -rdynamic" -export LDFLAGS+=" -Wl,--hash-style=both -Wl,--as-needed -Wl,--rpath=/usr/lib" - -%ifarch %{arm} -export CFLAGS+=" -D_ENV_ARM" -%endif - +%define DEF_SUBDIRS access_output_tts edje_feedback for FILE in %{DEF_SUBDIRS} do - (cd %{_repository} && cd $FILE && ./autogen.sh && ./configure --prefix=/usr && make ) + cd $FILE + if [ -f autogen.sh ] + then + ./autogen.sh && ./configure --prefix=/usr && make + else + make + fi + cd .. done %install -rm -rf %{buildroot} -mkdir -p %{buildroot}/usr/share/license -cp %{_builddir}/%{buildsubdir}/COPYING %{buildroot}/usr/share/license/%{name} +mkdir -p %{buildroot}/%{_datadir}/license +cp %{_builddir}/%{buildsubdir}/COPYING %{buildroot}/%{_datadir}/license/%{name} for FILE in %{DEF_SUBDIRS} do - (cd %{_repository} && cd $FILE && make install DESTDIR=%{buildroot} ) + (cd $FILE && PREFIX=%{buildroot}/usr make install DESTDIR=%{buildroot}) done %files %defattr(-,root,root,-) -/usr/lib/elementary/modules/*/*/*.so +%{_libdir}/elementary/modules/*/*/*.so +%{_libdir}/elementary/modules/*/*/sounds/* +%{_libdir}/edje/modules/*/*/*.so +%{_datadir}/license/%{name} %manifest %{name}.manifest -/usr/share/license/%{name} - +## Below is not needed except Machintosh %exclude /usr/lib/elementary/modules/*/*/*.la +%exclude /usr/lib/edje/modules/*/*/*.la + -- 2.7.4