forked from enlightenment/efl
Merge branch 'master' into feature/themes/flat
This commit is contained in:
commit
2e95f35127
|
@ -2,10 +2,8 @@
|
|||
|
||||
set -e
|
||||
|
||||
cd /
|
||||
|
||||
#clone our examples from efl
|
||||
git clone http://git.enlightenment.org/tools/examples.git/
|
||||
git clone --depth=1 -b master http://git.enlightenment.org/tools/examples.git/
|
||||
|
||||
cd examples/apps/c/life/
|
||||
|
||||
|
@ -15,5 +13,5 @@ meson . ./build
|
|||
ninja -C build all
|
||||
|
||||
#remove the folder again so its not left in the artifacts
|
||||
cd /
|
||||
cd ../../../..
|
||||
rm -rf examples
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
max_size = 500M
|
||||
compression = true
|
||||
compression_level = 1
|
||||
sloppiness = time_macros,include_file_mtime,include_file_ctime,file_macro
|
||||
run_second_cpp = false
|
||||
hash_dir = false
|
||||
|
|
@ -0,0 +1,9 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$DISTRO" != "" ] ; then
|
||||
docker exec $(cat $HOME/cid) ccache -s
|
||||
else
|
||||
ccache -s
|
||||
fi
|
|
@ -0,0 +1,151 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
. .ci/travis.sh
|
||||
|
||||
if [ "$BUILDSYSTEM" = "ninja" ] ; then
|
||||
if [ "$DISTRO" != "" ] ; then
|
||||
# Normal build test of all targets
|
||||
OPTS=" -Decore-imf-loaders-disabler=scim,ibus -Davahi=false -Dbindings=luajit"
|
||||
|
||||
WAYLAND_LINUX_COPTS=" -Dwl=true -Ddrm=true -Dopengl=es-egl"
|
||||
|
||||
ENABLED_LINUX_COPTS=" -Dharfbuzz=true -Dhyphen=true"
|
||||
|
||||
DISABLED_LINUX_COPTS=" -Dsystemd=false"
|
||||
|
||||
RELEASE_READY_LINUX_COPTS=" --buildtype=release"
|
||||
|
||||
if [ "$1" = "options-enabled" ]; then
|
||||
OPTS="$OPTS $ENABLED_LINUX_COPTS $WAYLAND_LINUX_COPTS"
|
||||
fi
|
||||
|
||||
if [ "$1" = "options-disabled" ]; then
|
||||
OPTS="$OPTS $DISABLED_LINUX_COPTS"
|
||||
fi
|
||||
|
||||
if [ "$1" = "release-ready" ]; then
|
||||
OPTS="$OPTS $RELEASE_READY_LINUX_COPTS"
|
||||
fi
|
||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \
|
||||
--env CXX="ccache g++" --env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \
|
||||
--env LD="ld.gold" $(cat $HOME/cid) sh -c "mkdir build && meson build $OPTS"
|
||||
else
|
||||
# Prepare OSX env for build
|
||||
mkdir -p ~/Library/LaunchAgents
|
||||
ln -sfv /usr/local/opt/d-bus/*.plist ~/Library/LaunchAgents
|
||||
launchctl load ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist
|
||||
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
||||
|
||||
export CFLAGS="-I/usr/local/opt/openssl/include -frewrite-includes $CFLAGS"
|
||||
export LDFLAGS="-L/usr/local/opt/openssl/lib $LDFLAGS"
|
||||
export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"
|
||||
mkdir build && meson build -Decore-imf-loaders-disabler=scim,ibus -Dx11=false -Davahi=false -Dbindings=luajit -Deeze=false -Dsystemd=false -Dnls=false -Dcocoa=true -Demotion-loaders-disabler=gstreamer,gstreamer1,libvlc,xine
|
||||
fi
|
||||
else
|
||||
CI_BUILD_TYPE="$1"
|
||||
|
||||
DEFAULT_LINUX_COPTS="--prefix=/usr/ --with-tests=regular --disable-cxx-bindings --disable-dependency-tracking -C"
|
||||
|
||||
WAYLAND_LINUX_COPTS=" --enable-wayland --enable-elput --enable-drm \
|
||||
--enable-wayland-ivi-shell --enable-gl-drm --with-opengl=es --enable-egl"
|
||||
|
||||
ENABLED_LINUX_COPTS=" --enable-harfbuzz --enable-liblz4 --enable-image-loader-webp --enable-xinput22 \
|
||||
--enable-multisense --enable-lua-old --enable-xpresent --enable-hyphen \
|
||||
--enable-pixman --enable-pixman-font --enable-pixman-rect --enable-pixman-line \
|
||||
--enable-pixman-poly --enable-pixman-image --enable-pixman-image-scale-sample \
|
||||
--enable-image-loader-generic --enable-libuv --enable-tile-rotate --enable-vnc-server \
|
||||
--enable-fb --enable-v4l2 --enable-cserve \
|
||||
--enable-ecore-wayland --enable-ecore-drm --enable-cancel-ok --with-crypto=gnutls \
|
||||
--enable-debug --disable-gstreamer1 --enable-gstreamer"
|
||||
|
||||
# Not compatible with Open GL ES and thus the wayland options. Need to think about having different
|
||||
# jobs for the different supported GL flavours.
|
||||
#--enable-sdl
|
||||
|
||||
DISABLED_LINUX_COPTS=" --disable-neon --disable-libeeze --disable-systemd --disable-magic-debug \
|
||||
--disable-valgrind --disable-gstreamer1 \
|
||||
--disable-fontconfig --disable-fribidi --disable-poppler --disable-spectre --disable-libraw \
|
||||
--disable-librsvg --disable-xcf --disable-libmount --disable-tslib --disable-audio \
|
||||
--disable-pulseaudio --disable-avahi --disable-xinput2 --disable-xim --disable-scim \
|
||||
--disable-ibus --disable-physics --disable-quick-launch --disable-elua"
|
||||
|
||||
RELEASE_READY_LINUX_COPTS=" --with-profile=release"
|
||||
|
||||
MINGW_COPTS=" --prefix=/root/EFL/ewpi_64 --host=x86_64-w64-mingw32 --with-eolian-gen=/usr/local/bin/eolian_gen \
|
||||
--with-edje-cc=/usr/local/bin/edje_cc --with-eet-eet=/usr/local/bin/eet \
|
||||
--with-bin-elm-prefs-cc=/usr/local/bin/elm_prefs_cc \
|
||||
--disable-static --with-tests=regular --with-crypto=openssl \
|
||||
--disable-libmount --disable-valgrind --disable-avahi --disable-spectre --disable-libraw \
|
||||
--disable-librsvg --disable-pulseaudio --disable-cxx-bindings"
|
||||
|
||||
patch -p1 < .ci/efl.m4.diff
|
||||
sed -i.orig 's/AC_INIT\(.*\)efl_version-[a-zA-Z0-9]\+/AC_INIT\1efl_version/g' configure.ac
|
||||
|
||||
if [ "$DISTRO" != "" ] ; then
|
||||
# Normal build test of all targets
|
||||
OPTS="$DEFAULT_LINUX_COPTS"
|
||||
|
||||
if [ "$1" = "options-enabled" ]; then
|
||||
OPTS="$OPTS $ENABLED_LINUX_COPTS $WAYLAND_LINUX_COPTS"
|
||||
fi
|
||||
|
||||
if [ "$1" = "options-disabled" ]; then
|
||||
OPTS="$OPTS $DISABLED_LINUX_COPTS"
|
||||
fi
|
||||
|
||||
if [ "$1" = "release-ready" ]; then
|
||||
OPTS="$OPTS $RELEASE_READY_LINUX_COPTS"
|
||||
fi
|
||||
|
||||
if [ "$1" = "mingw" ]; then
|
||||
OPTS="$OPTS $MINGW_COPTS"
|
||||
docker exec $(cat $HOME/cid) sh -c 'rm -f /src/config.cache'
|
||||
fi
|
||||
docker exec $(cat $HOME/cid) sh -c 'rm -f ~/.ccache/ccache.conf'
|
||||
travis_fold autoreconf autoreconf
|
||||
if [ "$1" = "mingw" ]; then
|
||||
docker exec $(cat $HOME/cid) sh -c 'rm -f /src/config.cache'
|
||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CFLAGS="-pipe" --env CXXFLAGS="-pipe" \
|
||||
--env CPPFLAGS="-I/root/EFL/ewpi_64/include -DECORE_WIN32_WIP_POZEFLKSD" --env LDFLAGS="-L/root/EFL/ewpi_64/lib/" --env PKG_CONFIG_PATH="/root/EFL/ewpi_64/lib/pkgconfig/" \
|
||||
$(cat $HOME/cid) sh -c "autoreconf -iv"
|
||||
else
|
||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \
|
||||
--env CXX="ccache g++" --env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \
|
||||
--env LD="ld.gold" $(cat $HOME/cid) sh -c "LIBTOOLIZE_OPTIONS='--no-warn' autoreconf -iv"
|
||||
fi
|
||||
travis_endfold autoreconf
|
||||
travis_fold configure "configure $OPTS"
|
||||
if [ "$1" = "mingw" ]; then
|
||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CFLAGS="-pipe" --env CXXFLAGS="-pipe" \
|
||||
--env CPPFLAGS="-I/root/EFL/ewpi_64/include -DECORE_WIN32_WIP_POZEFLKSD" --env LDFLAGS="-L/root/EFL/ewpi_64/lib/" --env PKG_CONFIG_PATH="/root/EFL/ewpi_64/lib/pkgconfig/" \
|
||||
$(cat $HOME/cid) sh -c ".ci/configure.sh $OPTS"
|
||||
else
|
||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \
|
||||
--env CXX="ccache g++" --env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \
|
||||
--env LD="ld.gold" $(cat $HOME/cid) sh -c ".ci/configure.sh $OPTS"
|
||||
fi
|
||||
else
|
||||
OSX_COPTS="--disable-cxx-bindings --with-tests=regular --disable-dependency-tracking -C"
|
||||
|
||||
# Prepare OSX env for build
|
||||
mkdir -p ~/Library/LaunchAgents
|
||||
ln -sfv /usr/local/opt/d-bus/*.plist ~/Library/LaunchAgents
|
||||
launchctl load ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist
|
||||
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
||||
|
||||
export CFLAGS="-I/usr/local/opt/openssl/include -frewrite-includes $CFLAGS"
|
||||
export LDFLAGS="-L/usr/local/opt/openssl/lib $LDFLAGS"
|
||||
export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"
|
||||
|
||||
# Normal build test of all targets
|
||||
rm -f ~/.ccache/ccache.conf
|
||||
travis_fold autoreconf autoreconf
|
||||
LIBTOOLIZE_OPTIONS='--no-warn' autoreconf -iv
|
||||
travis_endfold autoreconf
|
||||
travis_fold configure "configure $OSX_COPTS"
|
||||
.ci/configure.sh $OSX_COPTS
|
||||
fi
|
||||
travis_endfold configure
|
||||
fi
|
|
@ -1,65 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
PARALLEL_JOBS=10
|
||||
|
||||
CI_BUILD_TYPE=$1
|
||||
|
||||
DEFAULT_COPTS="--prefix=/usr/ --with-tests=regular --disable-cxx-bindings"
|
||||
|
||||
WAYLAND_COPTS="--with-tests=regular --enable-wayland --enable-elput --enable-drm \
|
||||
--enable-wayland-ivi-shell --enable-gl-drm --with-opengl=es --enable-egl"
|
||||
|
||||
MISC_COPTS="--enable-harfbuzz --enable-liblz4 --enable-image-loader-webp --enable-xinput22 \
|
||||
--enable-multisense --enable-lua-old --enable-xpresent --enable-hyphen \
|
||||
--enable-pixman --enable-pixman-font --enable-pixman-rect --enable-pixman-line \
|
||||
--enable-pixman-poly --enable-pixman-image --enable-pixman-image-scale-sample \
|
||||
--enable-image-loader-generic --enable-libuv --enable-tile-rotate --enable-vnc-server \
|
||||
--enable-sdl --enable-fb --enable-v4l2 --enable-cserve --enable-always-build-examples \
|
||||
--enable-ecore-wayland --enable-ecore-drm --enable-cancel-ok --with-crypto=gnutls \
|
||||
--enable-debug --disable-gstreamer1 --enable-gstreamer"
|
||||
|
||||
MISC_DISABLED_COPTS="--disable-neon --disable-libeeze --disable-systemd --disable-magic-debug \
|
||||
--disable-valgrind --disable-cxx-bindings --disable-gstreamer1 \
|
||||
--disable-fontconfig --disable-fribidi --disable-poppler --disable-spectre --disable-libraw \
|
||||
--disable-librsvg --disable-xcf --disable-libmount --disable-tslib --disable-audio \
|
||||
--disable-pulseaudio --disable-avahi --disable-xinput2 --disable-xim --disable-scim \
|
||||
--disable-ibus --disable-physics --disable-quick-launch --disable-elua"
|
||||
|
||||
RELEASE_READY_COPTS="--with-profile=release"
|
||||
|
||||
if [ "$CI_BUILD_TYPE" = "" ]; then
|
||||
# Normal build test of all targets
|
||||
./autogen.sh $DEFAULT_COPTS
|
||||
make -j $PARALLEL_JOBS
|
||||
make -j $PARALLEL_JOBS check-build
|
||||
make -j $PARALLEL_JOBS examples
|
||||
make -j $PARALLEL_JOBS benchmark
|
||||
make -j $PARALLEL_JOBS install
|
||||
./.ci/build-efl-app.sh
|
||||
fi
|
||||
|
||||
if [ "$CI_BUILD_TYPE" = "wayland" ]; then
|
||||
./autogen.sh $WAYLAND_COPTS
|
||||
make -j $PARALLEL_JOBS
|
||||
make -j $PARALLEL_JOBS examples
|
||||
fi
|
||||
|
||||
if [ "$CI_BUILD_TYPE" = "misc" ]; then
|
||||
./autogen.sh $MISC_COPTS
|
||||
make -j $PARALLEL_JOBS
|
||||
make -j $PARALLEL_JOBS examples
|
||||
fi
|
||||
|
||||
if [ "$CI_BUILD_TYPE" = "misc-disabled" ]; then
|
||||
./autogen.sh $MISC_DISABLED_COPTS
|
||||
make -j $PARALLEL_JOBS
|
||||
make -j $PARALLEL_JOBS examples
|
||||
fi
|
||||
|
||||
if [ "$CI_BUILD_TYPE" = "release-ready" ]; then
|
||||
./autogen.sh $RELEASE_READY_COPTS
|
||||
make -j $PARALLEL_JOBS
|
||||
make -j $PARALLEL_JOBS distcheck
|
||||
fi
|
|
@ -0,0 +1,19 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
. .ci/travis.sh
|
||||
if [ "$1" = "release-ready" ] ; then
|
||||
exit 0
|
||||
fi
|
||||
travis_fold benchmark "make benchmark"
|
||||
if [ "$BUILDSYSTEM" = "ninja" ] ; then
|
||||
echo "Nothing to do here, the benchmarks don't seem to terminate"
|
||||
else
|
||||
if [ "$DISTRO" != "" ] ; then
|
||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make benchmark
|
||||
else
|
||||
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
||||
make benchmark
|
||||
fi
|
||||
fi
|
||||
travis_endfold benchmark
|
|
@ -0,0 +1,54 @@
|
|||
#!/bin/sh
|
||||
|
||||
. .ci/travis.sh
|
||||
if [ "$1" = "release-ready" ] ; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [ "$1" = "mingw" ] ; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
#T7151
|
||||
if [ "$1" = "options-enabled" ] || [ "$1" = "options-disabled" ] ; then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
NUM_TRIES=5
|
||||
|
||||
travis_fold check "make check-TESTS"
|
||||
if [ "$BUILDSYSTEM" = "ninja" ] ; then
|
||||
if [ "$DISTRO" != "" ] ; then
|
||||
# disable them for this distros, after meson 0.49 is out, this can be removed
|
||||
# https://github.com/mesonbuild/meson/commit/253c581412d7f2b09af353dd83d943454bd555be
|
||||
if [ "$DISTRO" != "Ubuntu1804" ] && [ "$DISTRO" != "Debian91" ]; then
|
||||
for tries in $(seq 1 ${NUM_TRIES}); do
|
||||
(docker exec --env EINA_LOG_BACKTRACE="0" --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) ninja -C build test) && break
|
||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) cat src/test-suite.log
|
||||
if [ $tries != ${NUM_TRIES} ] ; then echo "tests failed, trying again!" ; fi
|
||||
false
|
||||
done
|
||||
fi
|
||||
fi
|
||||
else
|
||||
if [ "$DISTRO" != "" ] ; then
|
||||
for tries in $(seq 1 ${NUM_TRIES}); do
|
||||
(docker exec --env EINA_LOG_BACKTRACE="0" --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make -j2 -C src/ check-TESTS) && break
|
||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) cat src/test-suite.log
|
||||
if [ $tries != ${NUM_TRIES} ] ; then echo "tests failed, trying again!" ; fi
|
||||
false
|
||||
done
|
||||
#else
|
||||
#export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
||||
#for tries in 1 2 3 ; do
|
||||
#make -j2 -C src/ check-TESTS && break
|
||||
#cat src/test-suite.log
|
||||
#if [ $tries != 3 ] ; then echo "tests failed, trying again!" ; fi
|
||||
#false
|
||||
#done
|
||||
fi
|
||||
fi
|
||||
ret=$?
|
||||
travis_endfold check
|
||||
|
||||
exit $ret
|
|
@ -0,0 +1,22 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
. .ci/travis.sh
|
||||
if [ "$1" = "release-ready" ] ; then
|
||||
exit 0
|
||||
fi
|
||||
if [ "$1" = "mingw" ] ; then
|
||||
exit 0
|
||||
fi
|
||||
travis_fold check-build "make check-build"
|
||||
if [ "$BUILDSYSTEM" = "ninja" ] ; then
|
||||
echo "Nothing to do here"
|
||||
else
|
||||
if [ "$DISTRO" != "" ] ; then
|
||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make check-build
|
||||
else
|
||||
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
||||
make check-build
|
||||
fi
|
||||
fi
|
||||
travis_endfold check-build
|
|
@ -0,0 +1,32 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
. .ci/travis.sh
|
||||
if [ "$1" != "release-ready" ] ; then
|
||||
exit 0
|
||||
fi
|
||||
travis_fold distcheck "make distcheck"
|
||||
if [ "$BUILDSYSTEM" = "ninja" ] ; then
|
||||
if [ "$DISTRO" != "" ] ; then
|
||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \
|
||||
--env CXX="ccache g++" \
|
||||
--env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \
|
||||
--env LD="ld.gold" $(cat $HOME/cid) dbus-launch ninja -C build dist || \
|
||||
(sudo cat efl-*/_build/sub/src/test-suite.log; false)
|
||||
else
|
||||
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
||||
ninja -C build dist
|
||||
fi
|
||||
else
|
||||
if [ "$DISTRO" != "" ] ; then
|
||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 --env CC="ccache gcc" \
|
||||
--env CXX="ccache g++" \
|
||||
--env CFLAGS="-fdirectives-only" --env CXXFLAGS="-fdirectives-only" \
|
||||
--env LD="ld.gold" $(cat $HOME/cid) bash -c .ci/distcheck.sh || \
|
||||
(sudo cat efl-*/_build/sub/src/test-suite.log; false)
|
||||
else
|
||||
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
||||
make
|
||||
fi
|
||||
fi
|
||||
travis_endfold distcheck
|
|
@ -0,0 +1,19 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
. .ci/travis.sh
|
||||
if [ "$1" = "release-ready" ] ; then
|
||||
exit 0
|
||||
fi
|
||||
travis_fold examples "make examples"
|
||||
if [ "$BUILDSYSTEM" = "ninja" ] ; then
|
||||
echo "TODO"
|
||||
else
|
||||
if [ "$DISTRO" != "" ] ; then
|
||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make examples
|
||||
else
|
||||
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
||||
make examples
|
||||
fi
|
||||
fi
|
||||
travis_endfold examples
|
|
@ -0,0 +1,24 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
. .ci/travis.sh
|
||||
if [ "$1" = "release-ready" ] ; then
|
||||
exit 0
|
||||
fi
|
||||
travis_fold install "make install"
|
||||
if [ "$BUILDSYSTEM" = "ninja" ] ; then
|
||||
if [ "$DISTRO" != "" ] ; then
|
||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) ninja -C build install
|
||||
else
|
||||
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
||||
ninja -C build install
|
||||
fi
|
||||
else
|
||||
if [ "$DISTRO" != "" ] ; then
|
||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make install
|
||||
else
|
||||
export PATH="/usr/local/opt/ccache/libexec:$(brew --prefix gettext)/bin:$PATH"
|
||||
make install
|
||||
fi
|
||||
fi
|
||||
travis_endfold install
|
|
@ -0,0 +1,24 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
. .ci/travis.sh
|
||||
if [ "$1" = "release-ready" ] ; then
|
||||
exit 0
|
||||
fi
|
||||
travis_fold make make
|
||||
if [ "$BUILDSYSTEM" = "ninja" ] ; then
|
||||
if [ "$DISTRO" != "" ] ; then
|
||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) ninja -C build
|
||||
else
|
||||
export PATH="$(brew --prefix gettext)/bin:$PATH"
|
||||
ninja -C build
|
||||
fi
|
||||
else
|
||||
if [ "$DISTRO" != "" ] ; then
|
||||
docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) make
|
||||
else
|
||||
export PATH="$(brew --prefix gettext)/bin:$PATH"
|
||||
make
|
||||
fi
|
||||
fi
|
||||
travis_endfold make
|
|
@ -1,21 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
COPTS="--disable-cxx-bindings"
|
||||
PARALLEL_JOBS=10
|
||||
|
||||
# Prepare OSX env for build
|
||||
mkdir -p ~/Library/LaunchAgents
|
||||
ln -sfv /usr/local/opt/d-bus/*.plist ~/Library/LaunchAgents
|
||||
launchctl load ~/Library/LaunchAgents/org.freedesktop.dbus-session.plist
|
||||
export PATH="$(brew --prefix gettext)/bin:$PATH"
|
||||
|
||||
export CFLAGS="-I/usr/local/opt/openssl/include $CFLAGS"
|
||||
export LDFLAGS="-L/usr/local/opt/openssl/lib $LDFLAGS"
|
||||
|
||||
# Normal build test of all targets
|
||||
./autogen.sh $COPTS $@
|
||||
make -j $PARALLEL_JOBS
|
||||
make -j $PARALLEL_JOBS examples
|
||||
#make -j $PARALLEL_JOBS benchmark
|
|
@ -2,4 +2,5 @@
|
|||
|
||||
brew update
|
||||
brew unlink python
|
||||
brew install gettext check bullet dbus fontconfig freetype fribidi gst-plugins-good gstreamer luajit openssl webp libsndfile glib libspectre libraw librsvg poppler lz4 pulseaudio
|
||||
brew install gettext check bullet dbus fontconfig freetype fribidi gst-plugins-good gstreamer luajit openssl webp libsndfile glib libspectre libraw librsvg poppler lz4 pulseaudio ccache ninja python3
|
||||
pip3 install meson
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
if [ "$DISTRO" != "" ] ; then
|
||||
docker exec $(cat $HOME/cid) sh -c ".ci/docker-ccache-setup.sh $1"
|
||||
docker exec $(cat $HOME/cid) ccache -pz
|
||||
else
|
||||
cp .ci/ccache.conf ~/.ccache
|
||||
ccache -o base_dir="$(pwd)"
|
||||
ccache -pz
|
||||
fi
|
|
@ -0,0 +1,12 @@
|
|||
#!/bin/bash
|
||||
|
||||
|
||||
set -o pipefail
|
||||
export TEST_VAR=1
|
||||
if ! ./configure $@ | tee -a configlog ; then
|
||||
if grep -q 'configure: error: changes in the environment can compromise the build' configlog ; then
|
||||
echo "clearing config.cache and retrying..."
|
||||
rm -f configlog config.cache
|
||||
./configure $@
|
||||
fi
|
||||
fi
|
|
@ -0,0 +1,125 @@
|
|||
#!/bin/bash
|
||||
|
||||
. .ci/travis.sh
|
||||
|
||||
scrape_makefile_variable() {
|
||||
#try to scrape $1 from Makefile
|
||||
num=0
|
||||
var=
|
||||
while true ; do
|
||||
var="$(grep -A${num} -m1 -w $1 Makefile.am)"
|
||||
#continually increment number of lines scraped if backslash is detected
|
||||
if echo "$var" | tail -n1 | grep -q '\\' ; then
|
||||
num=$((++num))
|
||||
else
|
||||
#cut out line wrapping
|
||||
var=$(echo "$var" | tr -d '\n\\' | cut -d= -f2-)
|
||||
break
|
||||
fi
|
||||
done
|
||||
echo $var
|
||||
}
|
||||
|
||||
#attempt to keep this as close to original makefile rule as possible
|
||||
#for ease of future updating
|
||||
|
||||
set -e
|
||||
|
||||
travis_fold dist "make dist"
|
||||
#create dist tarball
|
||||
make dist
|
||||
travis_endfold dist
|
||||
|
||||
#set distdir variable to current package string
|
||||
distdir="$(grep '^PACKAGE_STRING' config.log|cut -d\' -f2|tr ' ' -)"
|
||||
DIST_ARCHIVES=${distdir}.tar.xz
|
||||
MAKE=make
|
||||
|
||||
#unpack dist tarball
|
||||
xz -dc ${distdir}.tar.xz | tar -xf -
|
||||
|
||||
chmod -R a-w ${distdir}
|
||||
chmod u+w ${distdir}
|
||||
mkdir ${distdir}/_build ${distdir}/_build/sub ${distdir}/_inst
|
||||
chmod a-w ${distdir}
|
||||
test -d ${distdir}/_build
|
||||
|
||||
dc_install_base=`cd ${distdir}/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'`
|
||||
dc_destdir="${TMPDIR-/tmp}/am-dc-XXXX"
|
||||
am__cwd=`pwd`
|
||||
|
||||
AM_DISTCHECK_CONFIGURE_FLAGS="$(scrape_makefile_variable AM_DISTCHECK_CONFIGURE_FLAGS)"
|
||||
AM_MAKEFLAGS="$(scrape_makefile_variable AM_MAKEFLAGS)"
|
||||
|
||||
travis_fold configure "configuring distcheck build"
|
||||
cd ${distdir}/_build/sub
|
||||
../../configure \
|
||||
${AM_DISTCHECK_CONFIGURE_FLAGS} \
|
||||
${DISTCHECK_CONFIGURE_FLAGS} \
|
||||
--srcdir=../.. --prefix="$dc_install_base"
|
||||
travis_endfold configure
|
||||
travis_fold make make
|
||||
make ${AM_MAKEFLAGS}
|
||||
travis_endfold make
|
||||
travis_fold dvi dvi
|
||||
make ${AM_MAKEFLAGS} dvi
|
||||
travis_endfold dvi
|
||||
travis_fold check-build check-build
|
||||
make ${AM_MAKEFLAGS} check-build
|
||||
travis_endfold check-build
|
||||
travis_fold check-TESTS check-TESTS
|
||||
set +e
|
||||
export EINA_LOG_BACKTRACE="0"
|
||||
NUM_TRIES=5
|
||||
for tries in $(seq 1 ${NUM_TRIES}); do
|
||||
make ${AM_MAKEFLAGS} -C src/ -j1 check-TESTS && break
|
||||
cat src/test-suite.log
|
||||
if [ $tries != ${NUM_TRIES} ] ; then echo "tests failed, trying again!" ; continue ; fi
|
||||
exit 1
|
||||
done
|
||||
travis_endfold check-TESTS
|
||||
set -e
|
||||
travis_fold make_install "make install"
|
||||
make ${AM_MAKEFLAGS} install
|
||||
travis_endfold make_install
|
||||
travis_fold make_installcheck "make installcheck"
|
||||
make ${AM_MAKEFLAGS} installcheck
|
||||
travis_endfold make_installcheck
|
||||
travis_fold make_testapp "testing external compile"
|
||||
PKG_CONFIG_PATH=${dc_install_base}/lib/pkgconfig ${am__cwd}/.ci/build-efl-app.sh
|
||||
travis_endfold make_testapp
|
||||
travis_fold make_uninstall "make uninstall"
|
||||
make ${AM_MAKEFLAGS} uninstall
|
||||
travis_endfold make_uninstall
|
||||
travis_fold distuninstallcheck "make distuninstallcheck"
|
||||
make ${AM_MAKEFLAGS} distuninstallcheck_dir="$dc_install_base" \
|
||||
distuninstallcheck
|
||||
travis_endfold distuninstallcheck
|
||||
chmod -R a-w "$dc_install_base"
|
||||
(cd ../.. && umask 077 && mktemp -d "$dc_destdir")
|
||||
travis_fold dist-install "make dist-install"
|
||||
make ${AM_MAKEFLAGS} DESTDIR="$dc_destdir" install
|
||||
travis_endfold dist-install
|
||||
travis_fold dist-uninstall "make dist-uninstall"
|
||||
make ${AM_MAKEFLAGS} DESTDIR="$dc_destdir" uninstall
|
||||
travis_endfold dist-uninstall
|
||||
travis_fold dist-distuninstallcheck "make dist-distuninstallcheck"
|
||||
make ${AM_MAKEFLAGS} DESTDIR="$dc_destdir" \
|
||||
distuninstallcheck_dir="$dc_destdir" distuninstallcheck \
|
||||
|| { rm -rf "$dc_destdir"; exit 1; }
|
||||
travis_endfold dist-distuninstallcheck
|
||||
rm -rf "$dc_destdir"
|
||||
travis_fold dist-dist "make dist-dist"
|
||||
make ${AM_MAKEFLAGS} dist
|
||||
travis_endfold dist-dist
|
||||
rm -rf ${DIST_ARCHIVES}
|
||||
travis_fold dist-distcleancheck "make dist-distcleancheck"
|
||||
make ${AM_MAKEFLAGS} distcleancheck
|
||||
travis_endfold dist-distcleancheck
|
||||
cd "$am__cwd"
|
||||
#$(am__post_remove_distdir)
|
||||
if test -d "${distdir}"; then
|
||||
find "${distdir}" -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -rf "${distdir}" \
|
||||
|| { rm -rf "${distdir}"; }; \
|
||||
else :; fi
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/sh
|
||||
|
||||
CI_BUILD_TYPE="$1"
|
||||
|
||||
cp .ci/ccache.conf ~/.ccache
|
||||
|
||||
if [ "$1" = "release-ready" ] ; then
|
||||
ccache -o base_dir="$(pwd)/$(grep '^PACKAGE_STRING' config.log|cut -d\' -f2|tr ' ' -)"
|
||||
else
|
||||
ccache -o base_dir=$(pwd)
|
||||
fi
|
|
@ -1,12 +0,0 @@
|
|||
FROM base/archlinux
|
||||
|
||||
# Install
|
||||
RUN pacman -Syu
|
||||
RUN pacman -S --noconfirm git bullet libjpeg-turbo gst-plugins-base \
|
||||
luajit curl fribidi libpulse libxcomposite \
|
||||
libxinerama libxrandr libxss libinput \
|
||||
libxcursor libxp libwebp shared-mime-info \
|
||||
libxkbcommon wayland lz4 openjpeg avahi \
|
||||
libspectre libraw librsvg wayland-protocols \
|
||||
git ninja clang gcc pkgconfig check autoconf make base-devel \
|
||||
mesa poppler
|
|
@ -1,5 +0,0 @@
|
|||
FROM debian:9.1
|
||||
|
||||
# Install
|
||||
RUN apt-get update -y
|
||||
RUN apt-get install -y make gcc bison flex gawk subversion automake autoconf doxygen check autotools-dev autoconf-archive autopoint libtool gettext libpam0g-dev libfreetype6-dev libpng-dev zlib1g-dev libjpeg-dev libdbus-1-dev luajit libluajit-5.1-dev libx11-dev libxcursor-dev libxrender-dev libxrandr-dev libxfixes-dev libxdamage-dev libxcomposite-dev libxss-dev libxext-dev libxinerama-dev libxkbfile-dev libxtst-dev libxcb1-dev libxcb-shape0-dev libxcb-keysyms1-dev libpulse-dev libsndfile1-dev libudev-dev libblkid-dev libmount-dev libgstreamer1.0-dev libtiff5-dev libgif-dev curl libssl-dev libspectre-dev libpoppler-dev librsvg2-dev libraw-dev libxinerama-dev git libfribidi-dev libcogl-gles2-dev libbullet-dev libgstreamer-plugins-base1.0-dev libvlc-dev libpoppler-cpp-dev libsystemd-dev systemd libsystemd0
|
|
@ -1,5 +0,0 @@
|
|||
FROM fedora:26
|
||||
|
||||
# Install
|
||||
RUN dnf update --assumeyes
|
||||
RUN dnf install --assumeyes bullet-devel libpng-devel libjpeg-turbo-devel gstreamer1-devel gstreamer1-plugins-base-devel zlib-devel luajit-devel libtiff-devel openssl-devel libcurl-devel dbus-devel glibc-devel fontconfig-devel freetype-devel fribidi-devel pulseaudio-libs-devel libsndfile-devel libX11-devel libXau-devel libXcomposite-devel libXdamage-devel libXdmcp-devel libXext-devel libXfixes-devel libXinerama-devel libXrandr-devel libXrender-devel libXScrnSaver-devel libXtst-devel libXcursor-devel libXp-devel libXi-devel mesa-libGL-devel giflib-devel libmount-devel libblkid-devel systemd-devel poppler-cpp-devel poppler-devel LibRaw-devel libspectre-devel librsvg2-devel autoconf automake gcc gcc-c++ gettext-devel findutils tar xz libtool make
|
|
@ -1,11 +0,0 @@
|
|||
FROM fedora:27
|
||||
|
||||
# Install
|
||||
RUN dnf update --assumeyes
|
||||
RUN dnf install --assumeyes bullet-devel libpng-devel libjpeg-turbo-devel gstreamer1-devel gstreamer1-plugins-base-devel zlib-devel luajit-devel libtiff-devel openssl-devel libcurl-devel dbus-devel glibc-devel fontconfig-devel freetype-devel fribidi-devel pulseaudio-libs-devel libsndfile-devel libX11-devel libXau-devel libXcomposite-devel libXdamage-devel libXdmcp-devel libXext-devel libXfixes-devel libXinerama-devel libXrandr-devel libXrender-devel libXScrnSaver-devel libXtst-devel libXcursor-devel libXp-devel libXi-devel mesa-libGL-devel giflib-devel libmount-devel libblkid-devel systemd-devel poppler-cpp-devel poppler-devel LibRaw-devel libspectre-devel librsvg2-devel autoconf automake gcc gcc-c++ gettext-devel findutils tar xz libtool make
|
||||
|
||||
# Install wayland build dependencies
|
||||
RUN dnf install --assumeyes wayland-protocols-devel libwayland-client libwayland-server libinput-devel libdrm-devel libxkbcommon-devel uuid-devel wayland-devel mesa-libgbm-devel
|
||||
|
||||
# Install misc build dependencies
|
||||
RUN dnf install --assumeyes lz4-devel harfbuzz-devel libXpresent-devel libwebp-devel hyphen-devel lua-devel
|
|
@ -1,7 +0,0 @@
|
|||
FROM opensuse:42.3
|
||||
|
||||
# Install
|
||||
RUN zypper --non-interactive update
|
||||
RUN zypper --non-interactive install -t pattern devel_basis
|
||||
RUN zypper --non-interactive in -d efl
|
||||
RUN zypper --non-interactive install gcc-c++ gettext-devel doxygen check libcheck0 check-devel libopenssl-devel systemd-devel libjpeg-devel glib2-devel gstreamer-devel gstreamer-plugins-base-devel luajit-devel freetype2-devel fontconfig-devel fribidi-devel libpng-devel libtiff-devel libcurl-devel libsndfile-devel libX11-devel libXau-devel libXcomposite-devel libXdamage-devel libXdmcp-devel libXext-devel libXfixes-devel libXinerama-devel libXrandr-devel libXrender-devel libXScrnSaver-devel libXtst-devel libXcursor-devel libXp-devel libXi-devel Mesa-libGL-devel giflib-devel libmount-devel libblkid-devel poppler-devel libraw-devel libspectre-devel librsvg2-devel gettext-devel libbullet-devel libudev-devel dbus-1-devel libpulse-devel
|
|
@ -1,5 +0,0 @@
|
|||
FROM ubuntu:17.04
|
||||
|
||||
# Install
|
||||
RUN apt-get update -y
|
||||
RUN apt-get install -y build-essential autoconf automake autopoint doxygen check luajit libharfbuzz-dev libpng-dev libudev-dev libwebp-dev libssl-dev libluajit-5.1-dev libfribidi-dev libcogl-gles2-dev libgif-dev libtiff5-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libdbus-1-dev libmount-dev libblkid-dev libpulse-dev libxrandr-dev libxtst-dev libxcursor-dev libxcomposite-dev libxinerama-dev libxkbfile-dev libbullet-dev libvlc-dev libsndfile1-dev libraw-dev libspectre-dev libpoppler-cpp-dev libpam0g-dev liblz4-dev faenza-icon-theme gettext git imagemagick libasound2-dev libbluetooth-dev libfontconfig1-dev libfreetype6-dev libibus-1.0-dev libiconv-hook-dev libjpeg-dev libjpeg-turbo8-dev libpoppler-dev libpoppler-private-dev libproxy-dev librsvg2-dev libscim-dev libsystemd-dev libtool libudisks2-dev libunibreak-dev libxcb-keysyms1-dev libxine2-dev libxss-dev linux-tools-common libcurl4-openssl-dev
|
|
@ -1,5 +0,0 @@
|
|||
FROM ubuntu:17.10
|
||||
|
||||
# Install
|
||||
RUN apt-get update -y
|
||||
RUN apt-get install -y build-essential autoconf automake autopoint doxygen check luajit libharfbuzz-dev libpng-dev libudev-dev libwebp-dev libssl-dev libluajit-5.1-dev libfribidi-dev libcogl-gles2-dev libgif-dev libtiff5-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libdbus-1-dev libmount-dev libblkid-dev libpulse-dev libxrandr-dev libxtst-dev libxcursor-dev libxcomposite-dev libxinerama-dev libxkbfile-dev libbullet-dev libvlc-dev libsndfile1-dev libraw-dev libspectre-dev libpoppler-cpp-dev libpam0g-dev liblz4-dev faenza-icon-theme gettext git imagemagick libasound2-dev libbluetooth-dev libfontconfig1-dev libfreetype6-dev libibus-1.0-dev libiconv-hook-dev libjpeg-dev libjpeg-turbo8-dev libpoppler-dev libpoppler-private-dev libproxy-dev librsvg2-dev libscim-dev libsystemd-dev libtool libudisks2-dev libunibreak-dev libxcb-keysyms1-dev libxine2-dev libxss-dev linux-tools-common libcurl4-openssl-dev systemd
|
|
@ -0,0 +1,24 @@
|
|||
diff --git a/m4/efl.m4 b/m4/efl.m4
|
||||
index d051155e56..4b91c60963 100644
|
||||
--- a/m4/efl.m4
|
||||
+++ b/m4/efl.m4
|
||||
@@ -22,14 +22,14 @@ dnl dev_version = development version (svn revision).
|
||||
dnl def_build_profile = dev or release based on 'dev' release parameter.
|
||||
AC_DEFUN([EFL_VERSION],
|
||||
[dnl
|
||||
-m4_define([v_maj], [$1])dnl
|
||||
-m4_define([v_min], [$2])dnl
|
||||
-m4_define([v_mic], [$3])dnl
|
||||
-m4_define([dev_version], m4_esyscmd([(git rev-list --count HEAD 2>/dev/null || echo 0) | tr -d '\n']))dnl
|
||||
+m4_define([v_maj], [1])dnl
|
||||
+m4_define([v_min], [99])dnl
|
||||
+m4_define([v_mic], [99])dnl
|
||||
+m4_define([dev_version], [0])
|
||||
m4_define([v_rev], m4_if($4, dev, [dev_version], [0]))dnl
|
||||
m4_define([v_rel], [])dnl
|
||||
m4_define([def_build_profile], m4_if($4, dev, [dev], [release]))dnl
|
||||
-m4_define([efl_version], m4_if($4, dev, [v_maj.v_min.v_mic.v_rev], [v_maj.v_min.v_mic]))dnl
|
||||
+m4_define([efl_version], [v_maj.v_min.v_mic])dnl
|
||||
dnl m4_define([efl_version], [v_maj.v_min.v_mic])dnl
|
||||
])
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
#!/bin/sh
|
||||
|
||||
# https://github.com/travis-ci/travis-rubies/blob/9f7962a881c55d32da7c76baefc58b89e3941d91/build.sh#L38-L44
|
||||
|
||||
travis_fold() {
|
||||
echo -e "travis_fold:start:$1\033[33;1m$2\033[0m"
|
||||
}
|
||||
travis_endfold() {
|
||||
echo -e "\ntravis_fold:end:$1\r"
|
||||
}
|
||||
|
||||
travis_time_start() {
|
||||
travis_timer_id=$(printf %08x $(( RANDOM * RANDOM )))
|
||||
travis_start_time=$(travis_nanoseconds)
|
||||
echo -en "travis_time:start:$travis_timer_id\r${ANSI_CLEAR}"
|
||||
}
|
||||
|
||||
travis_time_finish() {
|
||||
local result=$?
|
||||
travis_end_time=$(travis_nanoseconds)
|
||||
local duration=$(($travis_end_time-$travis_start_time))
|
||||
echo -en "\ntravis_time:end:$travis_timer_id:start=$travis_start_time,finish=$travis_end_time,duration=$duration\r${ANSI_CLEAR}"
|
||||
return $result
|
||||
}
|
156
.travis.yml
156
.travis.yml
|
@ -1,5 +1,9 @@
|
|||
language: c
|
||||
|
||||
cache:
|
||||
directories:
|
||||
- $HOME/cachedir
|
||||
- $HOME/.ccache
|
||||
- $HOME/autom4te.cache
|
||||
sudo: required
|
||||
dist: trusty
|
||||
|
||||
|
@ -8,57 +12,132 @@ os:
|
|||
- osx
|
||||
|
||||
env:
|
||||
-
|
||||
- DISTRO=Ubuntu1804
|
||||
- DISTRO=Fedora28 CI_BUILD_TYPE=wayland
|
||||
- DISTRO=Fedora28 CI_BUILD_TYPE=misc
|
||||
- DISTRO=Fedora28 CI_BUILD_TYPE=misc-disabled
|
||||
- DISTRO=Fedora28 CI_BUILD_TYPE=release-ready
|
||||
- DISTRO=Debian91
|
||||
- DISTRO=Archlinux
|
||||
global:
|
||||
- MAKEFLAGS="-j5 -rR"
|
||||
- EIO_MONITOR_POLL=1
|
||||
- CC="ccache gcc"
|
||||
- CXX="ccache g++"
|
||||
|
||||
jobs:
|
||||
include:
|
||||
- env:
|
||||
- os: linux
|
||||
- DISTRO=Fedora28-mingw
|
||||
- CI_BUILD_TYPE=mingw
|
||||
- env:
|
||||
- os: linux
|
||||
- DISTRO=Fedora28
|
||||
- CI_BUILD_TYPE=options-enabled
|
||||
- env:
|
||||
- os: linux
|
||||
- DISTRO=Fedora28
|
||||
- CI_BUILD_TYPE=options-disabled
|
||||
- env:
|
||||
- os: linux
|
||||
- DISTRO=Fedora28
|
||||
- CI_BUILD_TYPE=options-enabled
|
||||
- BUILDSYSTEM=ninja
|
||||
- env:
|
||||
- os: linux
|
||||
- DISTRO=Fedora28
|
||||
- CI_BUILD_TYPE=options-disabled
|
||||
- BUILDSYSTEM=ninja
|
||||
- if: type = cron
|
||||
env:
|
||||
- os: linux
|
||||
- DISTRO=Ubuntu1804
|
||||
- if: type = cron
|
||||
env:
|
||||
- os: linux
|
||||
- DISTRO=Fedora28
|
||||
- CI_BUILD_TYPE=release-ready
|
||||
- if: type = cron
|
||||
env:
|
||||
- os: linux
|
||||
- DISTRO=Debian91
|
||||
- if: type = cron
|
||||
env:
|
||||
- os: linux
|
||||
- DISTRO=Ubuntu1804
|
||||
- BUILDSYSTEM=ninja
|
||||
- if: type = cron
|
||||
env:
|
||||
- os: linux
|
||||
- DISTRO=Fedora28
|
||||
- CI_BUILD_TYPE=release-ready
|
||||
- BUILDSYSTEM=ninja
|
||||
- if: type = cron
|
||||
env:
|
||||
- os: linux
|
||||
- DISTRO=Debian91
|
||||
- BUILDSYSTEM=ninja
|
||||
exclude:
|
||||
- os: linux
|
||||
|
||||
services:
|
||||
- docker
|
||||
|
||||
matrix:
|
||||
fast_finish: true
|
||||
exclude:
|
||||
- os: osx
|
||||
env: DISTRO=Ubuntu1804
|
||||
- os: osx
|
||||
env: DISTRO=Fedora28 CI_BUILD_TYPE=wayland
|
||||
- os: osx
|
||||
env: DISTRO=Fedora28 CI_BUILD_TYPE=misc
|
||||
- os: osx
|
||||
env: DISTRO=Fedora28 CI_BUILD_TYPE=misc-disabled
|
||||
- os: osx
|
||||
env: DISTRO=Fedora28 CI_BUILD_TYPE=release-ready
|
||||
- os: osx
|
||||
env: DISTRO=Debian91
|
||||
- os: osx
|
||||
env: DISTRO=Archlinux
|
||||
|
||||
- os: linux
|
||||
env:
|
||||
allow_failures:
|
||||
- os: linux
|
||||
env: DISTRO=Fedora28 CI_BUILD_TYPE=release-ready
|
||||
|
||||
before_install:
|
||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then .ci/ci-osx-deps.sh ; fi
|
||||
- |
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
rm -rf $HOME/Library/Caches/Homebrew
|
||||
rm -rf $HOME/cachedir/Homebrew/Homebrew
|
||||
mv $HOME/cachedir/Homebrew $HOME/Library/Caches/Homebrew
|
||||
.ci/ci-osx-deps.sh
|
||||
fi
|
||||
|
||||
before_script:
|
||||
- |
|
||||
if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$DISTRO" != "" ]]; then
|
||||
docker pull stefanschmidt1/ci-support-files:$DISTRO
|
||||
fi
|
||||
- |
|
||||
if [[ "$TRAVIS_OS_NAME" == "linux" ]] ; then
|
||||
docker version
|
||||
docker run --cidfile $HOME/cid -t -d -v `pwd`:/src -v $HOME/.ccache:/root/.ccache -w /src stefanschmidt1/ci-support-files:$DISTRO bash
|
||||
cp $HOME/cachedir/config.cache . || true
|
||||
fi
|
||||
|
||||
- .ci/ci-ccache-stats.sh
|
||||
- |
|
||||
if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then
|
||||
cp $HOME/cachedir/config.cache . || true
|
||||
fi
|
||||
|
||||
|
||||
script:
|
||||
- .ci/ci-configure.sh "$CI_BUILD_TYPE"
|
||||
- .ci/ci-setup-ccache.sh "$CI_BUILD_TYPE"
|
||||
- .ci/ci-make.sh "$CI_BUILD_TYPE"
|
||||
- .ci/ci-make-checkbuild.sh "$CI_BUILD_TYPE"
|
||||
#- .ci/ci-make-examples.sh "$CI_BUILD_TYPE"
|
||||
- |
|
||||
if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$DISTRO" != "" ]]; then
|
||||
docker run -v `pwd`:/src -w /src stefanschmidt1/ci-support-files:$DISTRO /src/.ci/ci-linux-build.sh $CI_BUILD_TYPE
|
||||
if [[ "$TRAVIS_OS_NAME" == "linux" ]] && [[ "$CI_BUILD_TYPE" == "" ]]; then
|
||||
.ci/ci-make-benchmark.sh "$CI_BUILD_TYPE"
|
||||
fi
|
||||
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then .ci/ci-osx-build.sh ; fi
|
||||
#- .ci/ci-make-install.sh "$CI_BUILD_TYPE"
|
||||
- .ci/ci-make-check.sh "$CI_BUILD_TYPE"
|
||||
- .ci/ci-make-distcheck.sh "$CI_BUILD_TYPE"
|
||||
#- |
|
||||
#if [[ "$DISTRO" == "" ]] && [[ "$TRAVIS_OS_NAME" != "linux" ]] ; then
|
||||
#true
|
||||
#elif [[ "$CI_BUILD_TYPE" != "release-ready" ]] ; then
|
||||
#docker exec --env MAKEFLAGS="-j5 -rR" --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) .ci/build-efl-app.sh
|
||||
#fi
|
||||
before_cache:
|
||||
- .ci/ci-ccache-stats.sh
|
||||
- |
|
||||
mkdir -p $HOME/cachedir
|
||||
if [[ "$TRAVIS_OS_NAME" == "linux" ]] ; then
|
||||
sudo chown travis:travis $HOME/.ccache
|
||||
mkdir -p $HOME/cachedir/
|
||||
sudo cp config.cache $HOME/cachedir/
|
||||
sudo chown travis:travis $HOME/cachedir/config.cache
|
||||
sudo chown travis:travis $HOME/autom4te.cache
|
||||
else
|
||||
cp config.cache $HOME/cachedir
|
||||
mv $HOME/Library/Caches/Homebrew $HOME/cachedir/Homebrew
|
||||
fi
|
||||
|
||||
after_success:
|
||||
- |
|
||||
|
@ -75,8 +154,9 @@ notifications:
|
|||
- "chat.freenode.net#edevelop"
|
||||
on_success: change
|
||||
on_failure: always
|
||||
on_cancel: never
|
||||
template:
|
||||
- "TravisCI build %{build_number} in branch %{branch}: %{result} - %{message}"
|
||||
- "TravisCI build %{build_number} in branch %{branch}: %{result} - %{message} (%{elapsed_time})"
|
||||
- "Commit: %{commit_subject} (%{commit}) from %{author}"
|
||||
- "Change view : %{compare_url}"
|
||||
- "Build details : %{build_url}"
|
||||
|
|
5
AUTHORS
5
AUTHORS
|
@ -687,3 +687,8 @@ Jinyong Park <j4939.park@samsung.com>
|
|||
Woochan Lee <wc0917.lee@samsung.com>
|
||||
Taehyub Kim <taehyub.kim@samsung.com>
|
||||
Sungtaek Hong <taxi2se@gmail.com>
|
||||
Bryce Harrington <bryce@osg.samsung.com>
|
||||
YeongJong Lee <yj34.lee@samsung.com>
|
||||
Bowon Ryu <bowon.ryu@samsung.com>
|
||||
Wonki Kim <wonki_.kim@samsung.com>
|
||||
Junsu Choi <jsuya.choi@samsung.com>
|
||||
|
|
|
@ -1,70 +0,0 @@
|
|||
cmake_minimum_required(VERSION 3.4)
|
||||
|
||||
set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/helpers")
|
||||
|
||||
include(GNUInstallDirs)
|
||||
include(EflMacros)
|
||||
|
||||
EFL_PROJECT(1.18.99)
|
||||
|
||||
if(${CMAKE_SOURCE_DIR} STREQUAL ${CMAKE_BINARY_DIR})
|
||||
message(FATAL_ERROR "In-source builds not allowed. Use: mkdir -p build && cmake -H. -Bbuild")
|
||||
endif()
|
||||
|
||||
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}" CACHE PATH "Path to store built libraries")
|
||||
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}" CACHE PATH "Path to store built static libraries")
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin" CACHE PATH "Path to store built executables")
|
||||
|
||||
add_definitions(
|
||||
"-DHAVE_CONFIG_H"
|
||||
"-DLIB_INSTALL_DIR=\"${LIB_INSTALL_DIR}\""
|
||||
"-DEXEC_INSTALL_DIR=\"${EXEC_INSTALL_DIR}\""
|
||||
"-DPACKAGE_BIN_DIR=\"${CMAKE_INSTALL_FULL_BINDIR}\""
|
||||
"-DPACKAGE_LIB_DIR=\"${CMAKE_INSTALL_FULL_LIBDIR}\""
|
||||
"-DPACKAGE_BUILD_DIR=\"${CMAKE_SOURCE_DIR}\""
|
||||
"-DPACKAGE_VERSION=\"${PROJECT_VERSION}\""
|
||||
)
|
||||
|
||||
include_directories(
|
||||
${PROJECT_SOURCE_DIR}/src/lib/efl
|
||||
${PROJECT_BINARY_DIR}/src/lib/efl
|
||||
)
|
||||
|
||||
include(${CMAKE_SOURCE_DIR}/cmake/config/common.cmake)
|
||||
|
||||
EFL_SUPPORT_LIB(lz4)
|
||||
EFL_SUPPORT_LIB(draw)
|
||||
EFL_SUPPORT_LIB(freetype)
|
||||
EFL_SUPPORT_LIB(rg_etc)
|
||||
EFL_SUPPORT_LIB(triangulator)
|
||||
|
||||
EFL_LIB(eina)
|
||||
EFL_LIB(eolian)
|
||||
EFL_LIB(eo)
|
||||
EFL_LIB(efl)
|
||||
EFL_LIB(emile)
|
||||
EFL_LIB(eet)
|
||||
EFL_LIB(ecore)
|
||||
EFL_LIB(ecore_con)
|
||||
EFL_LIB(ecore_ipc)
|
||||
EFL_LIB(ecore_file)
|
||||
EFL_LIB(eldbus)
|
||||
EFL_LIB(embryo)
|
||||
EFL_LIB(ector)
|
||||
EFL_LIB(eeze)
|
||||
EFL_LIB(ecore_input)
|
||||
EFL_LIB(ecore_x)
|
||||
|
||||
EFL_OPTIONS_SUMMARY()
|
||||
|
||||
# TODO: when autotools is gone, rename this file in repository
|
||||
# and remove this copy (using generate to skip @-subst)
|
||||
file(GENERATE
|
||||
OUTPUT ${PROJECT_BINARY_DIR}/src/lib/efl/config.h
|
||||
INPUT ${PROJECT_SOURCE_DIR}/src/lib/efl/config.h.cmake)
|
||||
EFL_HEADER_CHECKS_FINALIZE(${PROJECT_BINARY_DIR}/src/lib/efl/config_gen.h)
|
||||
|
||||
configure_file(
|
||||
${PROJECT_SOURCE_DIR}/src/lib/efl/Efl_Config.h.cmake
|
||||
${PROJECT_BINARY_DIR}/src/lib/efl/Efl_Config.h)
|
||||
EFL_FINALIZE()
|
|
@ -3,7 +3,8 @@ AM_MAKEFLAGS = --no-print-directory
|
|||
AM_DISTCHECK_CONFIGURE_FLAGS = \
|
||||
--with-tests=regular \
|
||||
--with-systemdunitdir=. \
|
||||
--enable-always-build-examples
|
||||
--enable-always-build-examples \
|
||||
--disable-dependency-tracking
|
||||
|
||||
SUBDIRS = src data doc
|
||||
|
||||
|
|
479
NEWS
479
NEWS
|
@ -1,7 +1,484 @@
|
|||
==========
|
||||
EFL 1.20.0
|
||||
EFL 1.21.0
|
||||
==========
|
||||
|
||||
Changes since 1.20.0:
|
||||
---------------------
|
||||
|
||||
Features:
|
||||
|
||||
* evas: Make all EO canvas objects visible by default
|
||||
* Eo: Allow multiple functions overrides (T5580)
|
||||
* eo: Add debug_name read-only property to ease debugging
|
||||
* evas/edje/elm: Override debug_name in core classes
|
||||
* wayland: add efl-hints protocol for setting aspect on surfaces
|
||||
* efl-wl: support min/max hinting
|
||||
* efl-wl: add handling for external protocol interfaces
|
||||
* edje - add embryo echo command for debugging
|
||||
* layout: Implement missing edje APIs (T5315)
|
||||
* ecore-wl2: Add support for Window Iconify State Change
|
||||
* ecore-evas-wayland: Add handler for Iconify State Change event
|
||||
* efl: Introduce Efl.Ui.Direction interface (T5870)
|
||||
* Efl.Ui.Panes: implement allow_user_size_hints on parts (T5359)
|
||||
* Efl.Ui.Panes: rename left/right_size_set to split_ratio (T5359)
|
||||
* efl-wl: add EFL_WL_DEBUG env variable for enabling wayland debug
|
||||
* efl-wl: add functionality for extracting surfaces for external use
|
||||
* elput: Add API to set pointer acceleration speed (T4736)
|
||||
* ecore-drm2: Add API function to allow setting pointer acceleration speed (T4736)
|
||||
* ecore-drm2: Add API to allow setting pointer acceleration profile (T4736)
|
||||
* Introduce text on path widget
|
||||
* eina: Add convenience eina_rectangle_equal
|
||||
* evas textblock: support ZWJ, ZWNJ, LRM, RLM in escaped form
|
||||
* evas: Add EO API to get clipper in smart object
|
||||
* evas: Add group_member_is to smart objects
|
||||
* efl: Introduce Eina.Rect and switch EO APIs to it
|
||||
* efl_ui_image: add new scale type: EFL_UI_IMAGE_SCALE_TYPE_TILE
|
||||
* Canvas text async: add async layout functionality
|
||||
* Ui text: add Efl.Ui.Text_Async object
|
||||
* edje: Add part_type_get API
|
||||
* ecore exe - add an "isolate io"f lag for sending io to /dev/null
|
||||
* evas: Add scale feature for embedded bitmap fonts.
|
||||
* eo_debug: Enable logging of all ref/unref
|
||||
* eo: Add API to allow deletion by unref
|
||||
* Efl text: add Efl.Text.Markup interface
|
||||
* evas: Implement support for different H/V font DPI
|
||||
* elm_config: add offline and powersave config members
|
||||
* efl_wl: add function for returning the evas object for an extracted surface
|
||||
* wayland: add support for efl weight hint propagation from elm_win to efl_wl
|
||||
* evas textblocke: add align=end for putting a text at the opposite side of LTR/RTL
|
||||
* eina: eina_value - Add "struct tm" support (T6204)
|
||||
* edje_cc - add offset_scale/offscale per desc to allow offsets to scale
|
||||
* Genlist Item Pin Feature (T6241)
|
||||
* saver/svg: parse loaded tree data into svg XML file and save it
|
||||
* build: improve configure accessibility
|
||||
* eolian: Add API's for part enumeration
|
||||
* evas filters: Add "alphaonly" flag for blend and blur
|
||||
* elm: Add "shadow" part to all widgets
|
||||
* efl-wl: add function to get the parent of an extracted surface
|
||||
* ecore_imf: Add transaction start and end event callback
|
||||
* entry: Add autofill hint
|
||||
* eo: Add "destruct" event
|
||||
* efl-wl: move to xdg-shell vfinal
|
||||
* wayland: add xdg-shell vfinal support for client-side
|
||||
* Canvas image: add Efl.Canvas.Text.Factory + use in Ui.Text
|
||||
* efl-wl: add functionality for directly passing through xkb objects
|
||||
* ecore-x: add more info to Ecore_X_Event_Xkb event
|
||||
* ecore-x: add some useful xkb function wrappers
|
||||
* eolian: deferred parsing of inherits + better static checks
|
||||
* ecore: add function for prepending an event handler
|
||||
* efl-wl: add functions for managing allowed client pids
|
||||
* efl-wl: add function for passing ecore-exe flags to launched exes
|
||||
* ecore-drm2: Add API functions to get/set output relative mode
|
||||
* efl-wl: send surface enter/leave based on compositor object visibility
|
||||
* ecore-drm2: Add API to get/set which output is relative to another
|
||||
* ecore-drm2: Add API function to retrieve output user data
|
||||
* edje: add ability to reference images from other edje files
|
||||
* eolian: add API to query information about Objects
|
||||
* eolian: clean rollback support
|
||||
* evas: apply fribidi bracket types to show paired bracket properly
|
||||
* efreet: add method for disabling efreetd connection
|
||||
* efl_ui_spin: Added special value feature.
|
||||
* elm_entry: add elm_entry_prediction_hint_hash_set/del API
|
||||
* edje_cc: add option for verifying namespace usage (T6911)
|
||||
* eio: add method for setting the global file polling rate for fallback monitors
|
||||
* eina_debug: add function to reset debug subsystem after fork
|
||||
* eio: add method for determining if a monitor is using the fallback mechanism
|
||||
* edje_cc: add 'skip_namespace_validation' keyword (T7072)
|
||||
|
||||
Fixes:
|
||||
|
||||
* ecore-wl2: pass display to aux hint event_adds
|
||||
* ecore-wl2: don't send null set_parent requests for every window
|
||||
* ecore-wl2: sync aux hints after window creation
|
||||
* efl-wl: block connection attempts from unmanaged clients
|
||||
* wayland: fix min/max size setting
|
||||
* efl-wl: do shm pool ref/unref for bm safety
|
||||
* ecore-evas-wayland: update size when size hints are changed
|
||||
* efl-wl: add handling for commit during canvas render
|
||||
* efl-wl: set cursor surface roles
|
||||
* theme: clip start gadget arrow to intended clipper
|
||||
* edje crash with run program references - fix
|
||||
* Allow to override build date (T5495)
|
||||
* elm_win: simplify/fix recalc logic when changing csd
|
||||
* elm_win: set shadow geometry based on borderless state
|
||||
* elementary cursor: remove a warning message from Wayland supports
|
||||
* elm: Add missing undef EAPI to Elementary.h
|
||||
* ecore glib support - if we are not the main ctx owner loop to acquire
|
||||
* evas: Fix crash in E (T5868)
|
||||
* eolian: implement proper return type serialization (T5024)
|
||||
* eo: Check refs in efl_data_scope_safe_get (T5869)
|
||||
* wayland: fix xdg-shell popup windows
|
||||
* efl-wl: use correct accessor method for keyboard resource hash
|
||||
* elm_widget: do not reparent subobjs to top widget for non-elm objects
|
||||
* efl-wl: always dismiss popups on hide
|
||||
* efl-wl: handle case where eglBindWaylandDisplay fails
|
||||
* ecore: always set delete_me before removing fd from poll
|
||||
* efl-wl: initialize seat keymap fd to -1
|
||||
* ecore_evas_extn: Fix socket & plug windows
|
||||
* elm_test: Fail nicely if plug can't connect
|
||||
* evas: make top object returning functions return the top object
|
||||
* theme: handle e dialog sizing when no buttons are present
|
||||
* wayland: fix num/caps lock handling in events (T5737)
|
||||
* elm segment control: delete event cbs on obj delete.
|
||||
* glview: Fix ALWAYS render policy
|
||||
* elm_box: Fix support of aspect hints (T5888)
|
||||
* theme: fix dialog sizing when no buttons are present
|
||||
* edje: Fix warning message
|
||||
* efl_ui_clock: Parses the format recursively.
|
||||
* photocam: Fix key zoom in/out
|
||||
* elm init - fix init seq and quicklaunch as we shut down x before evas
|
||||
* ecore-wl2: normalize axis event values (T5427)
|
||||
* efl-wl: match nested wl seats based on display ordering
|
||||
* elm_win: update opaque region for fake windows
|
||||
* elm_win: check for wayland engine during finalize by checking for wl win
|
||||
* efl_ui_image: maintain geometry for prev image while preloading new image (T5936)
|
||||
* access: Fix crash in ecore
|
||||
* Canvas text: fix non-dirty paragraph width calculation (T5939)
|
||||
* evas: fix invalid return of evas_textgrid_cellrow_get()
|
||||
* eina file - use recursive locks for cache and file to avoid deadlock
|
||||
* eina mmap safety - only map zeropages if it's an eina file that sigbuses
|
||||
* multibuttonentry: Separate selected item and focused item logic.
|
||||
* efl_ui_clock: Add 'O' character to ignore POSIX alternative format in format.
|
||||
* elm focus manager - dont leak child lists when updating focus order (T5800)
|
||||
* elm focus manager - dont leak child lists when updating focus order (T5800)
|
||||
* eina_array: Fix magic checks to return
|
||||
* evas: handle object names with a list hash
|
||||
* evas: fix event grabber child stacking
|
||||
* ecore_exe - fix failed finalize fork to reutrn NULL not ecore_exe_free
|
||||
* evas: proceed glyph iterator to handle next index properly
|
||||
* evas_thread: only join the thread if the thread is still alive (T5245)
|
||||
* filters: Safety++
|
||||
* cxx: generate a constructor with a parent and a lambda function (T5980)
|
||||
* evas: don't search other fonts only for INHERITED script unicodes
|
||||
* edje: Add legacy compatibility code (T5944)
|
||||
* evas box - fix longstanding bug where min size is miscalculated
|
||||
* ecore exe - fix fix malloc fail handling
|
||||
* efl net - adapt to openssl 1.1.0 changes with tls method support
|
||||
* eina: prevent memory corruption in chained mempool
|
||||
* efl net http - fix protocol error handling to not crash and handle it
|
||||
* flip: Fix invalid use of EOAPI in legacy header
|
||||
* eina file: Fix map_populate on the global map
|
||||
* eina file: Ensure populate is safe to call
|
||||
* elm image: Fix async open to avoid multiple mmap
|
||||
* Entry: use _edje_seat_name_get to get the seat
|
||||
* edje: Fix invalid storage of efl_part objects (T6032)
|
||||
* efl po files - fix LTR/RTL translation string to be correct for langs
|
||||
* efl ui layout - handle content unset properly and remove the unset item
|
||||
* hover: Fix hover parts usage
|
||||
* ecore-x: reject successive MappingNotify events if they are identical
|
||||
* elm hoversel - fix alignment in ephoto (T6078)
|
||||
* evas textblock: use primary font's size as minimum size of a line
|
||||
* elm: Fix module load with ELM_RUN_IN_TREE
|
||||
* elm: Properly unregister providers on shutdown
|
||||
* evas: Fix shutdown of async cmd cache
|
||||
* eo: Fix crashes with call cache after init cycle
|
||||
* elm: Delete atspi root object on shutdown
|
||||
* ecore: Reset do_quit when ecore shuts down
|
||||
* elm: Fix shutdown of atspi (unregister handlers)
|
||||
* evas textblock: use main font's ascent/descent as minimum value
|
||||
* evas: Fix dangling references with input devices
|
||||
* eo: Fix unnecessary ERR logs with eo_debug
|
||||
* eo: Allow efl_reuse to be called with a parent
|
||||
* evas ector gl - fix leak of image data on data put (CID1374645)
|
||||
* evas font: check returned value of FcPatternGet function
|
||||
* edje entry: fill content info when text is deleted by imf event
|
||||
* ecore-file: do not emit events when an inotify watch is removed
|
||||
* elput: Fix issue of pointer rotation not being set on startup
|
||||
* eolian-bin: Free previously allocated eina_strbuf (CID1381502)
|
||||
* evas-gl-common: Fix dereference after null check (CID1374272)
|
||||
* evas-gl-image: Fix dereference after null check (CID1374273)
|
||||
* elementary: passing NULL to variadic funtion can be undefined.
|
||||
* eet: wrong comparision to less than zero with unsigned integer.
|
||||
* evas: there is no effect of variable assignment outside the function.
|
||||
* efreet: unsigned int cannot be compared to less than zero.
|
||||
* emotion gst1 - handle null imagwe data returrn and dont crash
|
||||
* eina: same expression on both statement.
|
||||
* eina: comparing less than zero with unsigned long int
|
||||
* emile: comparing less than zero with unsigned interger.
|
||||
* ephysic: comparing with same statement.
|
||||
* evas: there is no effect of variable assignment while clean up.
|
||||
* emotion: Properly unmap video frame
|
||||
* efl_ui_bg: fix ELM_BG_OPTION_CENTER bg in left top side.
|
||||
* edje_cc: fix a memory leak issue when edje_cc writes images
|
||||
* evas gl generic/common - add more linking for gles mode to fix deb build (T6158)
|
||||
* jp2k module - dont print ERR on llading if format wrong
|
||||
* edje_edit: duplicate assignment to variable.
|
||||
* ecore_wayland: fix assigned value is never used.
|
||||
* ecore: remove doxygen warning messages
|
||||
* win: Do not forward all key events on win (legacy) (T6148)
|
||||
* evas: Prevent crash with image_data_get (T5957)
|
||||
* elm_code_widget: make sure the widget is cleared properly. (T6185)
|
||||
* ecore_wl2: Remove just the flush from the idle handler (T6250)
|
||||
* elm_tooltip: set parent window for windowed tooltips
|
||||
* efl_wl: more closely follow wl spec for input regions
|
||||
* efl_wl: destroy extant shell surface upon surface deletion
|
||||
* efl_wl: do not propagate hints to main widget for child surfaces
|
||||
* ecore-wl2: correctly handle configure events on popup surfaces
|
||||
* ecore_cocoa: fix the backspace key
|
||||
* edje_cc: fix errors in documentation
|
||||
* edje_cc: add missing default values to documentation
|
||||
* edje_cc: fix color2 and color3 descriptions
|
||||
* edje_cc: fix state.no_render description
|
||||
* edje_cc: parse "fixed" as bool
|
||||
* edje_cc: fix incorrect type in minmul defaults
|
||||
* edje_cc: fix color_class description
|
||||
* edje_cc: move part_remove and program_remove to group
|
||||
* edje_cc: fix default color_class colors
|
||||
* edje_cc: fix spelling
|
||||
* edje_cc: make bool parsing consistent
|
||||
* edje_cc: make color parsing consistent
|
||||
* edje_cc: move box and table properties documentation
|
||||
* edje_cc: limit map.zoom to non-negative values
|
||||
* edje_cc: fix text.align description
|
||||
* edje_cc: fix program.filter description
|
||||
* edje_cc: fix item.max parsing
|
||||
* edje_cc: fix parsing and documentation
|
||||
* ecore-drm2: Fix issue of not being able to set output mode
|
||||
* Efl.Ui.Radio: remove value{} api
|
||||
* edje: don't return negative width and height from _parts_extends
|
||||
* evas textblock: handle ellipsis when text's height exceed its area by "br"
|
||||
* evas-software-generic: Check for render engine function before calling
|
||||
* evas-wayland-shm: Do not dereference a potentially freed pointer (CID1381707)
|
||||
* emotion: Fix data race condition (CID1381624)
|
||||
* evas-object-main: Fix null dereference (CID1381710)
|
||||
* evas-object-main: Fix null dereference (CID1381711)
|
||||
* evas-object-main: Fix potential null dereference (CID1381713)
|
||||
* evas_vg_cache: load svg from any file, not from defined only
|
||||
* ector: use cairo_pattern_add_color_stop_rgba in gradient_radial
|
||||
* vg_loaders/svg: set up default focal values for radialGradient
|
||||
* efl_gfx_path: fix typo in _path_bounds_get
|
||||
* evas_vg_load_svg: default stop opacity color should be 255, not 0
|
||||
* evas_vg_load_svg: get rid of static Evas_SVG_Parsing
|
||||
* efl ui win - make win centering work with multiple screens (T6323)
|
||||
* eo - fix freeq usage to not use freeq for a vtable cleaning
|
||||
* efl_ui_radio: keep radio state when theme is changed
|
||||
* efl net - handle proxy helper fails better and abort proxy lookups
|
||||
* elput - re-enable switches (power buttons, lid etc.)
|
||||
* elm_code_widget: keep track of visibility.
|
||||
* Ctxpopup: resizing ctxpopup after its content is removed (T6327)
|
||||
* genlist: fix state corruption of content
|
||||
* Efl.Ui.Slider: add default indicator format to %0.2f
|
||||
* elm_genlist: fix rare segfault
|
||||
* elput: Remove unreachable code (CID1382857)
|
||||
* ecore-wl2: Destroy buffer before we exit the buffer_test function
|
||||
* efl_ui_bg: fix unclipped image on EFL_UI_IMAGE_SCALE_TYPE_NONE
|
||||
* eo - by default on 64bit only use 47 bits because of luajit
|
||||
* elm ifrace scrollable - fix uninitialized values on scroll asjust
|
||||
* ecore ipc/con: fix nasty ... they dont mutually exclude
|
||||
* efl_ui_bg: add Efl.Gfx.color_get.
|
||||
* eina_file: make sure we use a stringshare when virtualized. (T6449)
|
||||
* ecore-evas-drm: Check for XDG_SEAT existence (T6455)
|
||||
* efl_ui_text: apply new theme logic and use constructor/destructor
|
||||
* Efl.Ui.Popup.Alert: add message signal process function for scroller size calculation
|
||||
* elementary: Fix resource leak (CID1383549)
|
||||
* elementary: Fix resource leak (CID1383550)
|
||||
* elementary: Fix resource leak (CID1383551)
|
||||
* eina: Fix typo in doxygen
|
||||
* evas: Fix potential crash with draw context
|
||||
* eeze: Don't leak udev enumeration
|
||||
* eeze: Remove unused device variables
|
||||
* eldbus test - del not unref obj as it has a parent ...
|
||||
* eina: fix random segfaults when displaying BT
|
||||
* Elementary: fix makefile ignore efl_ui_theme edc's change
|
||||
* ecore_con: bug workaround SO_REUSEADDR and EADDRINUSE from bind (fix)
|
||||
* elm - scroll manager - fix up momentum animator code to use real consts
|
||||
* elm: fix memleak in combobox
|
||||
* emotion: unset DISPLAY when loading an engine under wayland (T6418)
|
||||
* ecore evas init - init ecore then evas not the other way...
|
||||
* fix evas test suite to now init both ecore and evas.... correctly.
|
||||
* ecore-drm2: Fix enabling outputs
|
||||
* ecore-drm2: return supported rotations if not using hardware
|
||||
* efl-wl: do not modify extracted surface visibility during commit (T6443)
|
||||
* elementary: Remove use of implicit declaration
|
||||
* evas sw generic - don't dlopen osmesa until first needed.
|
||||
* ecore_audio - don't about destruction because of failed sndfile load
|
||||
* elm_tooltip: force immediate hint recalc during tooltip creation if 0x0 size
|
||||
* elm_tooltip: immediately show tooltip if callback is set for obj under pointer
|
||||
* efl-wl: unset cursor role on existing cursor surface if new cursor is set
|
||||
* ecore_audio wasapi - fix ecore win32 handler deletion and destruction (T6607)
|
||||
* efl theme - fix bug in e init splash that would do hide anim 2x (T6619)
|
||||
* efl-wl: send more mouse buttons to clients
|
||||
* efl-wl: propagate surface activation back to parent if child is hidden
|
||||
* efl-wl: set event ON_HOLD flag when they are sent to a surface
|
||||
* efl-wl: remove some broken logic for activating toplevel parents
|
||||
* efl-wl: only send keyboard enter and activation for mapped surfaces
|
||||
* efl-wl: immediately unset a destroyed surface's cursor
|
||||
* efl-wl: only perform mouse-out operations for a seat if the mouse was "in"
|
||||
* wayland: always flush client display when protocol sends are pending
|
||||
* ecore-wl2: correctly translate spacebar keyname into key events (T6620)
|
||||
* ecore-x: perform internal shutdown on io error if callback is set
|
||||
* ecore-x: add more null checks for functions
|
||||
* elementary config: Fix to use ELEMENTARY_BASE_DIR for configure path
|
||||
* ecore-x: filter XkbNewKeyboardNotifyEvent before emitting ecore-x event
|
||||
* ecore-x: re-add implementation of ecore_x_connection_get()
|
||||
* efl-wl: fix no-op of setting keyboard enter on already-entered surface
|
||||
* efl-wl: unset kbd mods changed flag after sending modifiers
|
||||
* ecore: prune existing thread_join callbacks during ecore_fork_reset
|
||||
* edje_cc: make -thread option
|
||||
* Efl.Ui.Image: remove previous image when NULL is set
|
||||
* elm: call ecore_event_init() during init
|
||||
* ecore-file: make monitoring truly fork-safe
|
||||
* eio: make inotify monitors fork-safe
|
||||
* disable async mode (use sync mode) for ibus when keymap changes
|
||||
* ecore-drm2: Ensure output changed event is sent for removed outputs
|
||||
* eio: remove broken pid-based monitor reset copied from ecore-file
|
||||
* ecore-imf: do ecore-x init during ctx creation instead of module init
|
||||
* elm: call ecore_app_args_set() after quicklaunch fork
|
||||
* elm: remove ecore-x init from quicklaunch post-fork
|
||||
* elm progressbar - fix val set (T6697)
|
||||
* efl ui format - fix format checking to be correct (T6697)
|
||||
* edje - entry - fix empty item handling (T6668)
|
||||
* ecore-evas-drm: Use output viewport in ecore_evas_animator_tick calls
|
||||
* evas drm engines: Fix variable type for output
|
||||
* elementary: fix legacy widget type name for backward compat
|
||||
* ecore - fix fd handlers to also set read/write/err flags on hup's
|
||||
* ecore - loop handler - fix wakeup to reslect active flag mask
|
||||
* evas event_grabber: fix child ordering when adding non-top children
|
||||
* elm_datetime: Handle wrong param case for legacy.
|
||||
* elm: set default theme name internally when applying config
|
||||
* efreet_xml: make sure we unmap the right pointer. (T5949)
|
||||
* evas: increase offset by 4 to do work for next map points
|
||||
* efl_ui_multibuttonentry: maintainance legacy function type.
|
||||
* elementary: add missed type for legacy.
|
||||
* elementary: bg - keep file path and key string for legacy bg widget
|
||||
* ecore-wl2: Reduce calls to strlen
|
||||
* ecore-wl2: Check for valid string before passing to strlen()
|
||||
* genlist: fix "insane" order [BUG COMPATIBILITY] (T5938)
|
||||
* efl_ui_clock: Fix wrong target to compare with.
|
||||
* ecore ipc - fix flush to not lose messages
|
||||
* evas: fix Evas Map AA changes the alpha flag of an image issue. (T1975)
|
||||
* eldbus: call ecore_init in eldbus_init
|
||||
* efl selection - fix paste with multiple windows and filter by window
|
||||
* efl selection manager - handle multi window selections properly
|
||||
* evas - plug in dirty + pixels get hold in "is inside" for images (T6791)
|
||||
* elm - selection manager - fix string buffer handling and format types (T6284)
|
||||
* ecore: poll the thread pipe twice during shutdown
|
||||
* ecore: reduce pipe wait time during shutdown
|
||||
* edje: fix potential memory leak.
|
||||
* edje: fix potential memory leak.
|
||||
* ecore: fix a potential memory leak.
|
||||
* ecore ipc - fix send to skip data payload if null/0
|
||||
* evas - loading extension query - fix to not skip small extensions
|
||||
* efl selection manager - fix crashes when doing selections on non-x11
|
||||
* efl selection manager - fix anoyther binary buffer treated as string bug
|
||||
* efl selection - fix entry <-> plain text compy and paste in wl
|
||||
* efl selection - fix another binary buffer treates as string bug
|
||||
* efl selection manager - fix dnd end handling to only handle on dnd
|
||||
* efl selection manager - fix x11 cnp from entry to plain text conversion
|
||||
* edje: Dont append font source if fonts are not embedded in edje
|
||||
* edje edje_cc: fix memory leak.
|
||||
* ecore: fix a potential memory leak.
|
||||
* ecore_wl_dnd: correct wrong variable assignment
|
||||
* elm: resolve possible memory leak.
|
||||
* elm: resolve possible memory leak.
|
||||
* ector cairo: fix a memory leak.
|
||||
* elm: resolve possible memory leak.
|
||||
* elm: resolve possible memory leak.
|
||||
* elementary bg: allow NULL pointers in legacy usage
|
||||
* elementary: fix build on X11.
|
||||
* edje: remove recalc from content_get and text_get
|
||||
* ecore animator, x, vsync ecore evas restore x vsync to work again
|
||||
* evas: fix default return value of image-related legacy functions
|
||||
* edje: fix backward compatibility issue caused by legacy cursor funcs
|
||||
* ecore-evas-win32: set draw_block until the window receives a configure event (T6907)
|
||||
* efl_ui_image: add NULL check in elm_image_memfile_set() function
|
||||
* evas textblock: fix double free issue from user style push/pop and free
|
||||
* Evas textblock: fix wrong hyphenation issues with non UTF8 encoded dictionary (T3221)
|
||||
* edje: return proper value from the function.
|
||||
* elm_multibuttonentry: Fix to install eo header files
|
||||
* edje: Fix to support translation for textblock part
|
||||
* evas textblock: update format nodes when a Evas Textblock Style is updated
|
||||
* evas textblock: manage default style properly for new interfaces
|
||||
* efl_ui_tags: Fixed bug when setting format string.
|
||||
* evas: fix a map rendering problem.
|
||||
* elm_main: call _elm_config_shutdown() after loop_iterate()
|
||||
* efl_ui_win: fix wrong comparison in icon_object_set
|
||||
* elm_interface_scrollable: change return value for post events.
|
||||
* edje: don't give a wrong Edje data when an Edje object has group parts
|
||||
* elm_notify: remove allow_events_set call in destructor
|
||||
* elm_spinner: Spinner value adjust when round enabled.
|
||||
* elementary textpath: update Evas map when text is updated
|
||||
* elementary widget: fix to trigger object signal emit properly. (T6981)
|
||||
* evas engines: do not immediately free native surface when unsetting it (T6970)
|
||||
* edje_cc: fixup edje_collections_lookup hash ids during collection pruning
|
||||
* evas vg: fix broken vg rendering. (T6993)
|
||||
* edje: fix an issue "description.text.text" is not shown (T6997)
|
||||
* evas vg: get rid of memory leak.
|
||||
* ecore_evas: fix crash on free of smart data. (T6974)
|
||||
* eina_barrier: handle PTHREAD_BARRIER_SERIAL_THREAD return from barrier_wait
|
||||
* evas vg: fix broken morphing(interpolation) (T6996)
|
||||
* evas vg: fix another memory leak
|
||||
* efreet: mark efreet_menu_async_parse() deprecated. (T585)
|
||||
* eina_lock: do not set PTHREAD_MUTEX_ERRORCHECK on recursive locks (T1984)
|
||||
* eina_lock: modify mutex debugging to ignore recursive locks
|
||||
* eina_lock: remove locks from eina tracking list on free while thread debugging
|
||||
* eina: disable abort on shutdown when triggered by system monitoring thread
|
||||
* eet: handle decode failures as errors in variant decoding (T5379)
|
||||
* ecore - handle G_IO_ERR conditions for net sockets (T5725)
|
||||
* emotion_generic: clean up event handlers on fork failure
|
||||
* eina_threadqueue: fix spinlock destruction by using spinlock api
|
||||
* eina_threadqueue: add locking for variable used between threads
|
||||
* eina: call eina_threads_init from eina_debug_init
|
||||
* eina: prevent threads subcomponent from being shutdown while eina is active
|
||||
* eina_debug_bt: only enable SIGPROF handler when profiling is enabled (T7028)
|
||||
* Edje load: add safecheck for TEXTBLOCK-specific code path (T6279)
|
||||
* ecore_cocoa: fix ECORE_EVENT_KEY_DOWN/UP on MacOS. (T6944)
|
||||
* efl: Bump required libinput version for Elput
|
||||
* edje: fix text set/get issue without edje calculation
|
||||
* Edje: recalc edje before fetching the real part (T7057)
|
||||
* ecore/thread: track "no_queue" threads (T7041)
|
||||
* ecore_con: make dns resolver thread stop blocking when canceled (T7041)
|
||||
* elm/win: move trigger for "shot" to first pre-render callback (T6929)
|
||||
* eina/lock: add errno wrapping for backtrace() calls in thread debug blocks
|
||||
* ecore/thread: track "no_queue" threads (T7041)
|
||||
* ecore/thread: flush main loop threads during ecore_thread_wait()
|
||||
* eio/fallback: fix fallback shutdown when threads exist
|
||||
* eio/fallback: remove intermediate idler
|
||||
* eio/fallback: fix MODIFY event emission on base path when monitoring (T7042)
|
||||
* eio/fallback: mark all fallback monitors as fallbacks, not just for win32
|
||||
* eio/fallback: do not modify the children hash while iterating it
|
||||
* tests: cancel the timeout timer when cleaning up eio tests
|
||||
* evas map: check render condition more elaborately. (T6975)
|
||||
* Elm label: fix "horizontal_fixed" usage with different styles (T5382)
|
||||
* eet: set parent struct member when adding a child to a parent node (T4600)
|
||||
* Evas font: fix inifinite loop problem for fallback fonts
|
||||
* Evas font: add comparison for fallbacks in evas_font_desc_cmp()
|
||||
* Evas font: simplify fallback parsing step
|
||||
* Evas textblock: clear ellipsis item at start of layout (T6986)
|
||||
* elm_test: fix invalid read in dnd image drop
|
||||
* ecore-con/legacy: kill server with DEL event if a dialer error occurs (T6330)
|
||||
* efreet: use correct path when generating error message about stale efreetd socket (T7045)
|
||||
* eo/base_class: explicitly refuse to set an object as its own parent
|
||||
* ecore-con/proxy_helper: fix in-tree run path (T6713)
|
||||
* efreet: simplify and fix efreetd launch (T6713)
|
||||
* build: always check for fork() and clearenv()
|
||||
* popup: fix popup sizing when scroll enabled. (T6886)
|
||||
* evas gl-x11 engine - nvidia driver - fix performance drop
|
||||
* canvas vg_loader: close opened file after using it.
|
||||
* elm/win: correctly track and set x11 shaped state
|
||||
* evas textblock: adds missing legacy types
|
||||
* canvas render: stop render_pre/post cb if it didn't render.
|
||||
* Evas text textblock: call evas_font_free even on null fonts
|
||||
* emile image: close file properly.
|
||||
* examples/evas: do not attempt to free animator on window delete (T7000)
|
||||
* ecore_evas: when window resized in ecore_evas, check evas rotate state.
|
||||
* elm_code: (cherry-pick) Fix cusor pos after newline when indenting with tabs
|
||||
* ecore x - fix vsync to not block amdgpu drivers
|
||||
* elm_code_widget: resize cursor at time of font change. (T6470)
|
||||
* evas canvas: fix not to trigger unnecessary events.
|
||||
* build: fix rpath for binaries which use ecore-x dependencies
|
||||
* elm/genlist: remove conditional in _calc_job for verifying show_item code (T6368)
|
||||
* elementary image: don't calc size using empty ones.
|
||||
* evas image: fix screen flickering issue at partial + image preloading
|
||||
* edje_cc: change .mo file write location to be relative to the .edj file
|
||||
* theme: add programs for deferred naviframe push/pop signals
|
||||
* edje: unset internal _need_imf flag on shutdown
|
||||
* elm_panel: return instead of EINA_SAFETY_ON_FALSE_RETURN (T7265)
|
||||
* build: fix evas static build of gl engines
|
||||
* ecore/main: only update loop_time during loop iteration if the change is monotonic
|
||||
* evas gl: fix missing map texture target.
|
||||
* elm_code: fix crash on backspace and selection delete. (T7259)
|
||||
|
||||
Changes since 1.19.0:
|
||||
---------------------
|
||||
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
# BUILDING EFL WITH MESON
|
||||
|
||||
Building, testing, installing:
|
||||
mkdir build
|
||||
cd build
|
||||
meson ..
|
||||
ninja all
|
||||
ninja test
|
||||
sudo ninja install
|
||||
|
||||
In autotools there have been a few flags that are used to disable loaders. In meson the following four disbler arrays are used:
|
||||
|
||||
emotion-generic-loaders-disabler
|
||||
|
||||
emotion-loaders-disabler
|
||||
|
||||
ecore-imf-loaders-disabler
|
||||
|
||||
evas-loaders-disabler
|
||||
|
||||
Autotools options that are converted are:
|
||||
|
||||
--disable-poppler -> Disable pdf loader
|
||||
--disable-spectre -> Disable ps loader
|
||||
--disable-libraw -> Disable raw loader
|
||||
--disable-librsvg -> Disable svg loader
|
||||
--disable-xcf -> Disable xcf loader
|
||||
--disable-xim -> Disable xim loader
|
||||
--disable-scim -> Disable scim loader
|
||||
--disable-ibus -> Disable ibus loader
|
||||
--enable-xine -> Disable xine loader
|
||||
--enable-libvlc -> Disable vlc loader
|
||||
--disable-librsvg -> Disable svg loader
|
||||
|
||||
The following options are dropped as they did not affect compilation
|
||||
--enable-lua-old
|
||||
--enable-cancel-ok
|
||||
--enable-debug
|
||||
--disable-quick-launch
|
||||
--enable-tile-rotate
|
||||
|
||||
The following options are merged into the pixman option
|
||||
--enable-pixman-font
|
||||
--enable-pixman-rect
|
||||
--enable-pixman-line
|
||||
--enable-pixman-poly
|
||||
--enable-pixman-image
|
||||
--enable-pixman-image-scale-sample
|
||||
|
||||
|
||||
--disable-valgrind Is dropped, and handled due to the build profile, this can be handled with --buildtype release or plain.
|
|
@ -1,67 +0,0 @@
|
|||
Help Cmake build system come true by helping with the following
|
||||
tasks. Most of them can be done on top of autotools only, then we'll
|
||||
catch-up with the cmake parts.
|
||||
|
||||
General (non-CMake specific) Tasks:
|
||||
|
||||
- move each target (binary, lib, test) to its own directory, example:
|
||||
src/lib/efreet contains efreet_mime and efreet_trash in addition to
|
||||
efreet. Create src/lib/efreet_mime and src/lib/efreet_trash.
|
||||
|
||||
It also applies to tests (ie: src/tests/ector which contains both
|
||||
ector_suite and cxx_compile_test), in the case of binaries and
|
||||
tests make sure to contain them in the library folder:
|
||||
src/tests/ector should then contain 2 folders, one for each
|
||||
test. Another one is src/tests/eo, which contains lots of
|
||||
stand-alone tests in addition to eo_suite.
|
||||
|
||||
- uniform installation (and lookup!) of modules, like
|
||||
lib/evas/modules/engines/NAME/v-1.18/module.so versus
|
||||
lib/ecore/system/NAME/v-1.18/module.so (missing 'modules/')
|
||||
lib/ecore_evas/engines/NAME/v-1.18/module.so (missing 'modules/')
|
||||
|
||||
- uniform module enable variables:
|
||||
{LIB}_MODULE_TYPE_{SCOPE}_{MODNAME}_STATIC (static/built-in, with scope)
|
||||
{LIB}_MODULE_TYPE_{SCOPE}_{MODNAME}_DYNAMIC (dynamic, with scope)
|
||||
{LIB}_MODULE_TYPE_{MODNAME}_STATIC (static/built-in, no scope)
|
||||
{LIB}_MODULE_TYPE_{MODNAME}_DYNAMIC (dynamic, no scope)
|
||||
Example:
|
||||
EINA_MODULE_TYPE_MP_PASS_THROUGH_STATIC
|
||||
instead of EINA_STATIC_BUILD_PASS_THROUGH
|
||||
EVAS_MODULE_TYPE_ENGINE_FB
|
||||
instead of EVAS_STATIC_BUILD_FB
|
||||
As this will make clear we're dealing with modules and their scope
|
||||
(if any, things like Ecore_IMF have no module scope).
|
||||
|
||||
|
||||
CMake Tasks:
|
||||
|
||||
- add src/lib/NAME/CMakeLists.txt defining SOURCES, PUBLIC_HEADERS,
|
||||
PKG_CONFIG_REQUIRES, PKG_CONFIG_REQUIRES_PRIVATE, LIBRARIES,
|
||||
PUBLIC_LIBRARIES and so on. See src/lib/eina/CMakeLists.txt as an
|
||||
example.
|
||||
|
||||
- add options and dependency detection to cmake/config/NAME.cmake,
|
||||
see cmake/config/eina.cmake and cmake/config/common.cmake
|
||||
|
||||
- add src/modules/NAME/SCOPE/MODNAME/CMakeLists.txt or
|
||||
src/modules/NAME/MODNAME/CMakeLists.txt (if no module scope). If
|
||||
single source and no special requiresments (libs, etc), then it
|
||||
should require no CMakeLists.txt and will be built automatically.
|
||||
|
||||
- add src/bin/NAME/CMakeLists.txt (single binary of a lib) or
|
||||
src/bin/NAME/EXE_NAME/CMakeLists.txt (multiple binaries for a lib).
|
||||
If single source (one .c), then no CMakeLists.txt should be needed,
|
||||
see if it's already being built.
|
||||
|
||||
- add src/tests/NAME/CMakeLists.txt (single test of a lib) or
|
||||
src/tests/NAME/EXE_NAME/CMakeLists.txt (multiple tests for a lib).
|
||||
If single source (one .c), then no CMakeLists.txt should be needed,
|
||||
see if it's already being built.
|
||||
|
||||
Since it's under development, check the code in cmake/helpers/*.cmake,
|
||||
in particular cmake/helpers/EflMacros.cmake and check the comments and
|
||||
also fix bugs :-)
|
||||
|
||||
Feedback on repetitive tasks and if you spot some
|
||||
unification/simplification/automatization.
|
|
@ -1,124 +0,0 @@
|
|||
include(CheckSymbolExists)
|
||||
include(CheckIncludeFile)
|
||||
include(CheckTypeSize)
|
||||
include(FindPkgConfig)
|
||||
include(FindJPEG)
|
||||
include(CTest)
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
pkg_check_modules(CHECK check)
|
||||
pkg_check_modules(LIBSYSTEMD libsystemd)
|
||||
pkg_check_modules(VALGRIND valgrind)
|
||||
pkg_check_modules(OPENSSL openssl>=1.0)
|
||||
pkg_check_modules(GNUTLS gnutls>=2.12.16)
|
||||
if (NOT JPEG_FOUND)
|
||||
error("a jpeg library is needed.")
|
||||
endif()
|
||||
|
||||
set(SUGGEST_VALGRIND OFF)
|
||||
if("${BUILD_PROFILE}" STREQUAL "dev")
|
||||
set(SUGGEST_VALGRIND ${VALGRIND_FOUND})
|
||||
elseif("${BUILD_PROFILE}" STREQUAL "debug")
|
||||
set(SUGGEST_VALGRIND ${VALGRIND_FOUND})
|
||||
endif()
|
||||
|
||||
EFL_OPTION(BUILD_PROFILE "How to build EFL" dev CHOICE release;dev;debug)
|
||||
EFL_OPTION(EFL_NOLEGACY_API_SUPPORT "Whenever to disable non-Eo (Legacy) APIs" ON)
|
||||
EFL_OPTION(EFL_EO_API_SUPPORT "Whenever to enable new Eo APIs" ON)
|
||||
if(NOT EFL_EO_API_SUPPORT)
|
||||
EFL_OPTION_SET_MESSAGE(EFL_EO_API_SUPPORT "Risky!")
|
||||
endif()
|
||||
|
||||
EFL_OPTION_BACKEND(WITH_CRYPTO "Choose crypto backend" OPENSSL GNUTLS)
|
||||
|
||||
EFL_OPTION(ENABLE_SYSTEMD "Enable systemd support" "${LIBSYSTEMD_FOUND}" DEPENDS "LIBSYSTEMD_FOUND" OFF)
|
||||
EFL_OPTION(ENABLE_VALGRIND "Enable valgrind support" "${SUGGEST_VALGRIND}" DEPENDS "VALGRIND_FOUND" OFF)
|
||||
|
||||
# BEGIN: HEADER, TYPE and FUNCTION CHECKS
|
||||
# KEEP EACH BLOCK SORTED
|
||||
|
||||
HEADER_CHECK(alloca.h)
|
||||
HEADER_CHECK(asm/hwcap.h)
|
||||
HEADER_CHECK(bsd/string.h)
|
||||
HEADER_CHECK(dirent.h)
|
||||
HEADER_CHECK(execinfo.h)
|
||||
HEADER_CHECK(mcheck.h)
|
||||
HEADER_CHECK(netinet/in.h)
|
||||
HEADER_CHECK(stdlib.h)
|
||||
HEADER_CHECK(sys/auxv.h)
|
||||
HEADER_CHECK(sys/inotify.h)
|
||||
HEADER_CHECK(sys/ioctl.h)
|
||||
HEADER_CHECK(sys/mman.h)
|
||||
HEADER_CHECK(sys/types.h)
|
||||
|
||||
FUNC_CHECK(alloca INCLUDE_FILES alloca.h)
|
||||
FUNC_CHECK(backtrace INCLUDE_FILES execinfo.h)
|
||||
FUNC_CHECK(backtrace_symbols INCLUDE_FILES execinfo.h)
|
||||
FUNC_CHECK(clock_gettime INCLUDE_FILES time.h)
|
||||
FUNC_CHECK(dirfd INCLUDE_FILES dirent.h sys/types.h)
|
||||
FUNC_CHECK(dladdr INCLUDE_FILES dlfcn.h LIBRARIES dl DEFINITIONS "-D_GNU_SOURCE=1")
|
||||
FUNC_CHECK(dlopen INCLUDE_FILES dlfcn.h LIBRARIES dl)
|
||||
FUNC_CHECK(dlsym INCLUDE_FILES dlfcn.h LIBRARIES dl)
|
||||
FUNC_CHECK(fchmod INCLUDE_FILES sys/stat.h)
|
||||
FUNC_CHECK(fcntl INCLUDE_FILES fcntl.h)
|
||||
FUNC_CHECK(fork INCLUDE_FILES unistd.h)
|
||||
FUNC_CHECK(fpathconf INCLUDE_FILES unistd.h)
|
||||
FUNC_CHECK(fstatat NAME HAVE_ATFILE_SOURCE INCLUDE_FILES sys/stat.h)
|
||||
FUNC_CHECK(geteuid INCLUDE_FILES unistd.h)
|
||||
FUNC_CHECK(getpagesize INCLUDE_FILES unistd.h)
|
||||
FUNC_CHECK(getpwent INCLUDE_FILES sys/types.h pwd.h)
|
||||
FUNC_CHECK(getuid INCLUDE_FILES unistd.h)
|
||||
FUNC_CHECK(getxattr INCLUDE_FILES sys/types.h sys/xattr.h)
|
||||
FUNC_CHECK(iconv INCLUDE_FILES iconv.h)
|
||||
FUNC_CHECK(listxattr INCLUDE_FILES sys/types.h sys/xattr.h)
|
||||
FUNC_CHECK(lround INCLUDE_FILES math.h LIBRARIES m)
|
||||
FUNC_CHECK(mallinfo INCLUDE_FILES malloc.h)
|
||||
FUNC_CHECK(malloc_info INCLUDE_FILES malloc.h)
|
||||
FUNC_CHECK(malloc_usable_size INCLUDE_FILES malloc.h)
|
||||
FUNC_CHECK(mkdirat INCLUDE_FILES sys/stat.h)
|
||||
FUNC_CHECK(mmap INCLUDE_FILES sys/mman.h)
|
||||
FUNC_CHECK(mtrace INCLUDE_FILES mcheck.h)
|
||||
FUNC_CHECK(prctl INCLUDE_FILES sys/prctl.h)
|
||||
FUNC_CHECK(realpath INCLUDE_FILES stdlib.h)
|
||||
FUNC_CHECK(sched_getcpu INCLUDE_FILES sched.h DEFINITIONS "-D_GNU_SOURCE=1")
|
||||
FUNC_CHECK(setxattr INCLUDE_FILES sys/types.h sys/xattr.h)
|
||||
FUNC_CHECK(shm_open INCLUDE_FILES sys/mman.h sys/stat.h fcntl.h LIBRARIES rt)
|
||||
FUNC_CHECK(siglongjmp INCLUDE_FILES setjmp.h)
|
||||
FUNC_CHECK(splice INCLUDE_FILES fcntl.h DEFINITIONS "-D_GNU_SOURCE=1")
|
||||
FUNC_CHECK(strerror_r INCLUDE_FILES string.h)
|
||||
|
||||
if(HAVE_BSD_STRING_H)
|
||||
FUNC_CHECK(strlcpy INCLUDE_FILES bsd/string.h LIBRARIES bsd)
|
||||
else()
|
||||
FUNC_CHECK(strlcpy INCLUDE_FILES string.h)
|
||||
endif()
|
||||
|
||||
TYPE_CHECK(siginfo_t INCLUDE_FILES signal.h)
|
||||
|
||||
# END: HEADER, TYPE and FUNCTION CHECKS
|
||||
|
||||
# TODO: move to a FindUnwind.cmake?
|
||||
# or is pkg-config enough these days?
|
||||
pkg_check_modules(UNWIND libunwind libunwind-generic)
|
||||
|
||||
CHECK_APPEND_DEFINE(EFL_EO_API_SUPPORT 1)
|
||||
CHECK_APPEND_DEFINE(EFL_BETA_API_SUPPORT 1)
|
||||
if(CMAKE_THREAD_LIBS_INIT)
|
||||
set(EFL_HAVE_THREADS 1)
|
||||
endif()
|
||||
CHECK_APPEND_DEFINE(EFL_HAVE_THREADS "${EFL_HAVE_THREADS}")
|
||||
|
||||
CHECK_APPEND_DEFINE(HAVE_CIPHER ${WITH_CRYPTO_ENABLED})
|
||||
CHECK_APPEND_DEFINE(HAVE_SIGNATURE ${WITH_CRYPTO_ENABLED})
|
||||
CHECK_APPEND_DEFINE(HAVE_SYSTEMD ${ENABLE_SYSTEMD})
|
||||
|
||||
CHECK_APPEND_DEFINE(MODULE_ARCH "\"v-${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}\"")
|
||||
CHECK_APPEND_DEFINE(SHARED_LIB_SUFFIX "\"${CMAKE_SHARED_LIBRARY_SUFFIX}\"")
|
||||
CHECK_APPEND_DEFINE(EXEEXT "\"${CMAKE_EXECUTABLE_SUFFIX}\"")
|
||||
|
||||
# TODO: change code and remove:
|
||||
CHECK_APPEND_DEFINE(VMAJ ${PROJECT_VERSION_MAJOR})
|
||||
CHECK_APPEND_DEFINE(VMIN ${PROJECT_VERSION_MINOR})
|
||||
CHECK_APPEND_DEFINE(VMIC ${PROJECT_VERSION_PATCH})
|
||||
CHECK_APPEND_DEFINE(VREV ${PROJECT_VERSION_TWEAK})
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
pkg_check_modules(GLIB glib-2.0)
|
||||
pkg_check_modules(TIZEN vconf)
|
||||
|
||||
EFL_OPTION(ENABLE_GLIB "Whenever to integrate with Glib" ${GLIB_FOUND} DEPENDS GLIB_FOUND OFF)
|
||||
|
||||
EFL_OPTION(ENABLE_GLIB_ALWAYS "Always integrate with Glib, otheriwse needs explicit call to ecore_main_loop_glib_integrate()" OFF DEPENDS "ENABLE_GLIB" OFF)
|
||||
|
||||
EFL_OPTION(ENABLE_G_MAIN_LOOP "Enable ecore_main_loop based on g_main_loop" OFF DEPENDS "ENABLE_GLIB" OFF)
|
||||
|
||||
EFL_OPTION(ENABLE_TIZEN "Enable tizen support" OFF DEPENDS "TIZEN_FOUND" OFF)
|
||||
|
||||
set(ECORE_MODULE_TYPE_SYSTEM_SYSTEMD_DEFAULT ${ENABLE_SYSTEMD})
|
||||
set(ECORE_MODULE_TYPE_SYSTEM_UPOWER_DEFAULT ON)
|
||||
set(ECORE_MODULE_TYPE_SYSTEM_TIZEN_DEFAULT ${ENABLE_TIZEN})
|
||||
|
||||
# TODO libuv
|
||||
# TODO gstreamer
|
||||
# TODO gstreamer1
|
||||
|
||||
if("${BUILD_PROFILE}" STREQUAL "dev" AND HAVE_BACKTRACE)
|
||||
CHECK_APPEND_DEFINE(WANT_ECORE_TIMER_DUMP 1)
|
||||
else()
|
||||
CHECK_APPEND_DEFINE(WANT_ECORE_TIMER_DUMP "")
|
||||
endif()
|
||||
|
||||
CHECK_APPEND_DEFINE(GLIB_INTEGRATION_ALWAYS "${ENABLE_GLIB_ALWAYS}")
|
||||
CHECK_APPEND_DEFINE(HAVE_GLIB "${ENABLE_GLIB}")
|
||||
CHECK_APPEND_DEFINE(HAVE_TIZEN_CONFIGURATION_MANAGER "${ENABLE_TIZEN}")
|
||||
CHECK_APPEND_DEFINE(USE_G_MAIN_LOOP "${ENABLE_G_MAIN_LOOP}")
|
||||
|
||||
FUNC_CHECK(epoll_create NAME HAVE_EPOLL INCLUDE_FILES sys/epoll.h)
|
||||
FUNC_CHECK(execvp INCLUDE_FILES unistd.h)
|
||||
FUNC_CHECK(gettimeofday INCLUDE_FILES sys/time.h)
|
||||
FUNC_CHECK(isfinite INCLUDE_FILES math.h LIBRARIES m)
|
||||
FUNC_CHECK(pause INCLUDE_FILES unistd.h)
|
||||
FUNC_CHECK(timerfd_create INCLUDE_FILES sys/timerfd.h)
|
||||
|
||||
HEADER_CHECK(ieeefp.h)
|
||||
HEADER_CHECK(langinfo.h)
|
||||
HEADER_CHECK(sys/epoll.h)
|
||||
HEADER_CHECK(sys/timerfd.h)
|
||||
HEADER_CHECK(sys/wait.h)
|
|
@ -1,14 +0,0 @@
|
|||
EFL_OPTION(WITH_EFL_NET_CONTROL_BACKEND "Choose the Efl.Net.Control backend" "connman" CHOICE connman;none)
|
||||
|
||||
FUNC_CHECK(accept4 INCLUDE_FILES sys/types.h sys/socket.h DEFINITIONS "-D_GNU_SOURCE=1")
|
||||
FUNC_CHECK(gmtime_r INCLUDE_FILES time.h DEFINITIONS "-D_POSIX_C_SOURCE=1 -D_BSD_SOURCE=1 -D_SVID_SOURCE=1")
|
||||
|
||||
HEADER_CHECK(arpa/inet.h)
|
||||
HEADER_CHECK(net/if.h)
|
||||
HEADER_CHECK(netinet/in.h)
|
||||
HEADER_CHECK(netinet/ssl.h)
|
||||
HEADER_CHECK(netinet/tcp.h)
|
||||
HEADER_CHECK(netinet/udp.h)
|
||||
HEADER_CHECK(sys/socket.h)
|
||||
HEADER_CHECK(sys/un.h)
|
||||
HEADER_CHECK(ws2tcpip.h)
|
|
@ -1,110 +0,0 @@
|
|||
include(FindX11)
|
||||
|
||||
EFL_OPTION(XGESTURE "Whenever you want ecore_x to use gesture" OFF)
|
||||
EFL_OPTION(XPRESENT "Whenever you want ecore_x to use xpresent" OFF)
|
||||
EFL_OPTION(XINPUT2 "Whenever you want ecore_x to use xinput2" ON)
|
||||
EFL_OPTION(XINPUT22 "Whenever you want ecore_x to use xinput22" OFF)
|
||||
|
||||
#the rest is just statically enabled
|
||||
CHECK_APPEND_DEFINE(HAVE_ECORE_X_XLIB ON)
|
||||
CHECK_APPEND_DEFINE(ECORE_XKB ON)
|
||||
CHECK_APPEND_DEFINE(ECORE_XCOMPOSITE ON)
|
||||
CHECK_APPEND_DEFINE(ECORE_XDAMAGE ON)
|
||||
CHECK_APPEND_DEFINE(ECORE_XDPMS ON)
|
||||
CHECK_APPEND_DEFINE(ECORE_XFIXES ON)
|
||||
CHECK_APPEND_DEFINE(ECORE_XINERAMA ON)
|
||||
CHECK_APPEND_DEFINE(ECORE_XRANDR ON)
|
||||
CHECK_APPEND_DEFINE(ECORE_XSS ON)
|
||||
CHECK_APPEND_DEFINE(ECORE_XTEST ON)
|
||||
|
||||
#FindX11 does not cover all parts we need so here are the 4 extensions we need to check
|
||||
|
||||
#copied from https://github.com/Kitware/CMake/blob/master/Modules/FindX11.cmake#L65
|
||||
set(X11_INC_SEARCH_PATH
|
||||
/usr/pkg/xorg/include
|
||||
/usr/X11R6/include
|
||||
/usr/X11R7/include
|
||||
/usr/include/X11
|
||||
/usr/openwin/include
|
||||
/usr/openwin/share/include
|
||||
/opt/graphics/OpenGL/include
|
||||
/opt/X11/include
|
||||
)
|
||||
|
||||
set(X11_LIB_SEARCH_PATH
|
||||
/usr/pkg/xorg/lib
|
||||
/usr/X11R6/lib
|
||||
/usr/X11R7/lib
|
||||
/usr/openwin/lib
|
||||
/opt/X11/lib
|
||||
)
|
||||
|
||||
macro(find_lib_and_include name path lib)
|
||||
string(TOUPPER ${name} ecore_name)
|
||||
set(X11_${name}_FOUND OFF)
|
||||
find_library(X11_${name}_LIB ${lib} ${X11_LIB_SEARCH_PATH})
|
||||
find_path(X11_${name}_INCLUDE_PATH X11/extensions/${path} ${X11_INC_SEARCH_PATH})
|
||||
if (X11_${name}_LIB AND X11_${name}_INCLUDE_PATH)
|
||||
set(X11_${name}_FOUND ON)
|
||||
endif()
|
||||
|
||||
CHECK_APPEND_DEFINE(ECORE_${ecore_name} ON)
|
||||
endmacro()
|
||||
|
||||
if (${XGESTURE})
|
||||
find_lib_and_include(XGesture gesture.h Xgesture)
|
||||
endif()
|
||||
|
||||
if(${XPRESENT})
|
||||
find_lib_and_include(Xpresent Xpresent.h Xpresent)
|
||||
endif()
|
||||
|
||||
if(${XINPUT2})
|
||||
find_lib_and_include(Xi2 XInput2.h Xi)
|
||||
endif()
|
||||
|
||||
if(${XINPUT22})
|
||||
find_lib_and_include(Xi2_2 Xpresent2.h Xi)
|
||||
endif()
|
||||
|
||||
#build a list of all components we use
|
||||
set(_X_EXTENSIONS
|
||||
X11
|
||||
X11_Xkb
|
||||
X11_Xcomposite
|
||||
X11_Xdamage
|
||||
X11_dpms
|
||||
X11_Xfixes
|
||||
X11_Xinerama
|
||||
X11_Xrandr
|
||||
X11_Xrender
|
||||
X11_XTest
|
||||
X11_Xscreensaver
|
||||
)
|
||||
|
||||
if(${XGESTURE})
|
||||
list(APPEND _X_EXTENSIONS X11_Xgesture)
|
||||
endif()
|
||||
|
||||
if(${XPRESENT})
|
||||
list(APPEND _X_EXTENSIONS X11_Xpresent)
|
||||
endif()
|
||||
|
||||
if(${XINPUT2})
|
||||
list(APPEND _X_EXTENSIONS X11_Xi2)
|
||||
endif()
|
||||
|
||||
if(${XINPUT22})
|
||||
list(APPEND _X_EXTENSIONS X11_Xi2_2)
|
||||
endif()
|
||||
|
||||
foreach(ext ${_X_EXTENSIONS})
|
||||
if (NOT ${ext}_FOUND)
|
||||
message(FATAL_ERROR "Xserver extension ${ext} not found")
|
||||
endif()
|
||||
list(APPEND X_EXTENSIONS find-${ext})
|
||||
endforeach()
|
||||
|
||||
configure_file(
|
||||
${PROJECT_SOURCE_DIR}/src/lib/ecore_x/ecore_x_version.h.cmake
|
||||
${PROJECT_BINARY_DIR}/src/lib/ecore_x/ecore_x_version.h)
|
|
@ -1,24 +0,0 @@
|
|||
|
||||
#check what versions of mount
|
||||
pkg_check_modules(MOUNT mount)
|
||||
EFL_OPTION(HAVE_EEZE_MOUNT "Whenever to use libmount" ${MOUNT_FOUND} DEPENDS MOUNT_FOUND OFF)
|
||||
CHECK_APPEND_DEFINE(HAVE_EEZE_MOUNT ${HAVE_EEZE_MOUNT})
|
||||
|
||||
pkg_check_modules(UDEV REQUIRED udev>=148)
|
||||
|
||||
if(NOT ${UDEV_FOUND})
|
||||
error("Udev is required")
|
||||
endif()
|
||||
|
||||
#todo tizen
|
||||
if(ENABLED_TIZEN)
|
||||
pkg_check_modules(SENSORS REQUIRED capi-system-sensor>=0.1.17 )
|
||||
endif()
|
||||
|
||||
set(EEZE_MODULE_TYPE_SENSOR_FAKE ON)
|
||||
set(EEZE_MODULE_TYPE_SENSOR_TIZEN OFF)
|
||||
set(EEZE_MODULE_TYPE_SENSOR_UDEV ON)
|
||||
|
||||
CHECK_APPEND_DEFINE(EEZE_MOUNT_BIN \"bla\")
|
||||
CHECK_APPEND_DEFINE(EEZE_UNMOUNT_BIN \"bla\")
|
||||
CHECK_APPEND_DEFINE(EEZE_EJECT_BIN \"bla\")
|
|
@ -1,80 +0,0 @@
|
|||
|
||||
# set default option values based on BUILD_PROFILE
|
||||
set(EINA_DEBUG_THREADS OFF)
|
||||
if("${BUILD_PROFILE}" STREQUAL "dev")
|
||||
elseif("${BUILD_PROFILE}" STREQUAL "debug")
|
||||
set(EINA_DEBUG_THREADS ON)
|
||||
elseif("${BUILD_PROFILE}" STREQUAL "release")
|
||||
endif()
|
||||
|
||||
EFL_OPTION(EINA_MAGIC_DEBUG "magic debug of eina structure" ON)
|
||||
EFL_OPTION(EINA_DEBUG_THREADS "debugging of eina threads" ${EINA_DEBUG_THREADS})
|
||||
|
||||
set(EINA_MODULE_TYPE_MP_CHAINED_POOL_DEFAULT "STATIC")
|
||||
set(EINA_MODULE_TYPE_MP_ONE_BIG_DEFAULT "STATIC")
|
||||
set(EINA_MODULE_TYPE_MP_PASS_THROUGH_DEFAULT "STATIC")
|
||||
|
||||
# no CHECK_INIT() yet, all CHECK_APPEND_DEFINE(), FUNC_CHECK(),
|
||||
# HEADER_CHECK() and TYPE_CHECK() goes to src/lib/efl/config_gen.h
|
||||
|
||||
if(ENABLE_VALGRIND)
|
||||
CHECK_APPEND_DEFINE(NVALGRIND "")
|
||||
else()
|
||||
CHECK_APPEND_DEFINE(NVALGRIND 1)
|
||||
endif()
|
||||
|
||||
|
||||
# we want the following checks inside src/lib/eina/eina_config.h to be
|
||||
# generated from cmake/post/eina.cmake.
|
||||
#
|
||||
# By default all symbols are prefixed with EINA_
|
||||
CHECK_INIT(eina)
|
||||
|
||||
if("${BUILD_PROFILE}" STREQUAL "dev")
|
||||
elseif("${BUILD_PROFILE}" STREQUAL "debug")
|
||||
set(EINA_STRINGSHARE_USAGE ON)
|
||||
set(EINA_DEBUG_MALLOC ON)
|
||||
set(EINA_COW_MAGIC_ON ON)
|
||||
set(EINA_DEFAULT_MEMPOOL ON)
|
||||
set(EINA_DEBUG_MALLOC ON)
|
||||
elseif("${BUILD_PROFILE}" STREQUAL "release")
|
||||
set(EINA_LOG_LEVEL_MAXIMUM 3)
|
||||
endif()
|
||||
|
||||
CHECK_APPEND_DEFINE(EINA_MAGIC_DEBUG ${EINA_MAGIC_DEBUG})
|
||||
CHECK_APPEND_DEFINE(EINA_SAFETY_CHECKS 1)
|
||||
CHECK_APPEND_DEFINE(EINA_DEBUG_THREADS "${EINA_DEBUG_THREADS}")
|
||||
CHECK_APPEND_DEFINE(EINA_STRINGSHARE_USAGE "${EINA_STRINGSHARE_USAGE}")
|
||||
CHECK_APPEND_DEFINE(EINA_DEBUG_MALLOC "${EINA_DEBUG_MALLOC}")
|
||||
CHECK_APPEND_DEFINE(EINA_COW_MAGIC_ON "${EINA_COW_MAGIC_ON}")
|
||||
CHECK_APPEND_DEFINE(EINA_DEFAULT_MEMPOOL "${EINA_DEFAULT_MEMPOOL}")
|
||||
CHECK_APPEND_DEFINE(EINA_DEBUG_MALLOC "${EINA_DEBUG_MALLOC}")
|
||||
CHECK_APPEND_DEFINE(EINA_LOG_LEVEL_MAXIMUM "${EINA_LOG_LEVEL_MAXIMUM}")
|
||||
CHECK_APPEND_DEFINE(EINA_HAVE_THREADS "${EFL_HAVE_THREADS}")
|
||||
|
||||
#check for symbols in pthread
|
||||
#TODO Make the definitions depending on the platform
|
||||
FUNC_CHECK(pthread_barrier_init NAME EINA_HAVE_PTHREAD_BARRIER INCLUDE_FILES pthread.h FLAGS ${CMAKE_THREAD_LIBS_INIT} DEFINITIONS "-D_GNU_SOURCE=1")
|
||||
FUNC_CHECK(pthread_attr_setaffinity_np NAME EINA_HAVE_PTHREAD_AFFINITY INCLUDE_FILES pthread.h FLAGS ${CMAKE_THREAD_LIBS_INIT} DEFINITIONS "-D_GNU_SOURCE=1")
|
||||
FUNC_CHECK(pthread_setname_np NAME EINA_HAVE_PTHREAD_SETNAME INCLUDE_FILES pthread.h FLAGS ${CMAKE_THREAD_LIBS_INIT} DEFINITIONS "-D_GNU_SOURCE=1")
|
||||
FUNC_CHECK(pthread_spin_init NAME EINA_HAVE_POSIX_SPINLOCK INCLUDE_FILES pthread.h FLAGS ${CMAKE_THREAD_LIBS_INIT} DEFINITIONS "-D_GNU_SOURCE=1")
|
||||
|
||||
#check for eina header files that are required
|
||||
HEADER_CHECK(alloca.h)
|
||||
HEADER_CHECK(byteswap.h)
|
||||
HEADER_CHECK(fnmatch.h)
|
||||
#only enable log when fnmatch is there
|
||||
CHECK_APPEND_DEFINE(EINA_ENABLE_LOG ${EINA_HAVE_FNMATCH_H})
|
||||
HEADER_CHECK(dirent.h)
|
||||
|
||||
TYPE_CHECK(wchar_t)
|
||||
TYPE_CHECK(uintptr_t)
|
||||
TYPE_CHECK(wchar_t)
|
||||
|
||||
# TODO: fix define name to not need a name!
|
||||
#check for swap16/32/64
|
||||
FUNC_CHECK(bswap_16 NAME EINA_HAVE_BSWAP16 INCLUDE_FILES byteswap.h)
|
||||
FUNC_CHECK(bswap_32 NAME EINA_HAVE_BSWAP32 INCLUDE_FILES byteswap.h)
|
||||
FUNC_CHECK(bswap_64 NAME EINA_HAVE_BSWAP64 INCLUDE_FILES byteswap.h)
|
||||
|
||||
#Check if there is the alloca header
|
|
@ -1 +0,0 @@
|
|||
pkg_check_modules(DBUS dbus-1 REQUIRED)
|
|
@ -1,10 +0,0 @@
|
|||
pkg_check_modules(LZ4 liblz4)
|
||||
|
||||
set(_choices "internal")
|
||||
set(_defval "internal")
|
||||
if(LZ4_FOUND)
|
||||
set(_choices system internal)
|
||||
set(_defval system)
|
||||
endif()
|
||||
|
||||
EFL_OPTION(WITH_LZ4 "Choose if system or internal liblz4 should be used" ${_defval} CHOICE ${_choices})
|
|
@ -1,3 +0,0 @@
|
|||
EFL_OPTION(HAVE_EO_ID "Have Eo id indirection" ON)
|
||||
|
||||
CHECK_APPEND_DEFINE(HAVE_EO_ID ${HAVE_EO_ID})
|
|
@ -1 +0,0 @@
|
|||
EFL_OPTION(EOLIAN_BIN "The eolian_gen binary to use" ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/eolian_gen FILEPATH)
|
File diff suppressed because it is too large
Load Diff
|
@ -1,27 +0,0 @@
|
|||
|
||||
# TODO: change code to avoid these
|
||||
if(EINA_MODULE_TYPE_MP_CHAINED_POOL STREQUAL "STATIC")
|
||||
CHECK_APPEND_DEFINE(EINA_STATIC_BUILD_CHAINED_POOL 1)
|
||||
else()
|
||||
CHECK_APPEND_DEFINE(EINA_STATIC_BUILD_CHAINED_POOL "")
|
||||
endif()
|
||||
if(EINA_MODULE_TYPE_MP_ONE_BIG STREQUAL "STATIC")
|
||||
CHECK_APPEND_DEFINE(EINA_STATIC_BUILD_ONE_BIG 1)
|
||||
else()
|
||||
CHECK_APPEND_DEFINE(EINA_STATIC_BUILD_ONE_BIG "")
|
||||
endif()
|
||||
if(EINA_MODULE_TYPE_MP_PASS_THROUGH STREQUAL "STATIC")
|
||||
CHECK_APPEND_DEFINE(EINA_STATIC_BUILD_PASS_THROUGH 1)
|
||||
else()
|
||||
CHECK_APPEND_DEFINE(EINA_STATIC_BUILD_PASS_THROUGH "")
|
||||
endif()
|
||||
|
||||
# generate the file and close the scope started with CHECK_INIT(eina):
|
||||
EFL_HEADER_CHECKS_FINALIZE(${CMAKE_CURRENT_BINARY_DIR}/src/lib/eina/eina_config_gen.h)
|
||||
|
||||
# TODO: when autotools is gone, rename this file in repository
|
||||
# and remove this copy (using generate to skip @-subst)
|
||||
file(GENERATE
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/src/lib/eina/eina_config.h
|
||||
INPUT ${CMAKE_CURRENT_SOURCE_DIR}/src/lib/eina/eina_config.h.cmake
|
||||
)
|
|
@ -0,0 +1,61 @@
|
|||
|
||||
cmake_src = [
|
||||
'Ecore',
|
||||
'EcoreCxx',
|
||||
'Edje',
|
||||
'Eet',
|
||||
'EetCxx',
|
||||
'Eeze',
|
||||
'Efl',
|
||||
'Efreet',
|
||||
'Eina',
|
||||
'EinaCxx',
|
||||
'Eio',
|
||||
'Eldbus',
|
||||
'Elementary',
|
||||
'Elua',
|
||||
'Emile',
|
||||
'Emotion',
|
||||
'Eo',
|
||||
'EoCxx',
|
||||
'Eolian',
|
||||
'EolianCxx',
|
||||
'EthumbClient',
|
||||
'Ethumb',
|
||||
'Evas',
|
||||
'EvasCxx',
|
||||
]
|
||||
|
||||
cmake_version_src = [
|
||||
'EFL',
|
||||
'Elementary',
|
||||
]
|
||||
|
||||
foreach cmake_file : cmake_src
|
||||
configure_file(
|
||||
input: cmake_file+'Config.cmake.in',
|
||||
output: cmake_file+'Config.cmake',
|
||||
install_dir: join_paths(dir_lib, 'cmake', cmake_file),
|
||||
copy: true,
|
||||
)
|
||||
endforeach
|
||||
|
||||
conf = configuration_data()
|
||||
|
||||
conf.set('VERSION', meson.version())
|
||||
|
||||
foreach cmake_version_file : cmake_version_src
|
||||
configure_file(
|
||||
input: cmake_version_file+'ConfigVersion.cmake.in',
|
||||
output: cmake_version_file+'ConfigVersion.cmake',
|
||||
install_dir: join_paths(dir_lib, 'cmake', cmake_version_file),
|
||||
configuration : conf,
|
||||
)
|
||||
endforeach
|
||||
|
||||
configure_file(
|
||||
input: 'EolianHelper.cmake.in',
|
||||
output: 'EolianHelper.cmake',
|
||||
install_dir: join_paths(dir_lib, 'cmake', 'Eolian'),
|
||||
copy: true
|
||||
)
|
189
configure.ac
189
configure.ac
|
@ -1,4 +1,4 @@
|
|||
EFL_VERSION([1], [20], [99], [dev])
|
||||
EFL_VERSION([1], [21], [99], [dev])
|
||||
AC_INIT([efl], [efl_version], [enlightenment-devel@lists.sourceforge.net])
|
||||
|
||||
AC_PREREQ([2.60])
|
||||
|
@ -17,12 +17,13 @@ AH_BOTTOM([
|
|||
|
||||
AM_INIT_AUTOMAKE([1.6 dist-xz no-dist-gzip -Wall color-tests subdir-objects])
|
||||
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
|
||||
|
||||
AM_CONDITIONAL([HAVE_AM_16], [test $(echo "${am__api_version}"|cut -d. -f2) -ge 16])
|
||||
# Due to a bug in automake 1.14 we need to use this after AM_INIT_AUTOMAKE
|
||||
# http://debbugs.gnu.org/cgi/bugreport.cgi?bug=15981
|
||||
AC_USE_SYSTEM_EXTENSIONS
|
||||
|
||||
CFOPT_WARNING=""
|
||||
CXXFLAGS="${CXXFLAGS} -Wno-shadow" # No shadow warnings
|
||||
|
||||
#### Apply configuring with legacy api's only, eo api's or both.
|
||||
|
||||
|
@ -286,7 +287,15 @@ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
|
|||
LT_INIT([win32-dll disable-static pic-only])
|
||||
EFL_INIT
|
||||
|
||||
if ! test "x${have_win32}" = "xyes" ; then
|
||||
if test "x${have_win32}" = "xyes" ; then
|
||||
# We should be using ${CXX} here, but there is a bug in
|
||||
# autotools macro and CXX is always set to g++ even if
|
||||
# it's not found. So we are using an internal variable
|
||||
# that does the work for now, may get broken in the future.
|
||||
if test "x${ac_ct_CXX}" = "x" -a "x${CXX}" = "xg++"; then
|
||||
AC_MSG_ERROR([efl requires a C++ compiler got ${ac_ct_CXX} and ${CXX}.])
|
||||
fi
|
||||
else
|
||||
CXXFLAGS="${CXXFLAGS} -fPIC -DPIC"
|
||||
LDFLAGS="${LDFLAGS} -fPIC -DPIC"
|
||||
fi
|
||||
|
@ -337,13 +346,6 @@ AM_CONDITIONAL([BUILD_EFL_NATIVE], [test "x${cross_compiling}" = "xno"])
|
|||
if test "x${ac_cv_prog_cc_c99}" = "xno" ; then
|
||||
AC_MSG_ERROR([efl requires a c99-capable compiler])
|
||||
fi
|
||||
# We should be using ${CXX} here, but there is a bug in
|
||||
# autotools macro and CXX is always set to g++ even if
|
||||
# it's not found. So we are using an internal variable
|
||||
# that does the work for now, may get broken in the future.
|
||||
if test "x${ac_ct_CXX}" = "x" -a "x${CXX}" = "xg++"; then
|
||||
AC_MSG_ERROR([efl requires a C++ compiler got ${ac_ct_CXX} and ${CXX}.])
|
||||
fi
|
||||
|
||||
AC_SYS_LARGEFILE
|
||||
|
||||
|
@ -655,6 +657,7 @@ case $host_cpu in
|
|||
AC_DEFINE([BUILD_NEON], [1], [Build NEON Code])
|
||||
AC_DEFINE([BUILD_NEON_INTRINSICS], [1], [Build NEON Intrinsics])
|
||||
build_cpu_neon="yes"
|
||||
build_cpu_neon_intrinsics="yes"
|
||||
],[
|
||||
AC_MSG_RESULT([no])
|
||||
build_cpu_neon="no"
|
||||
|
@ -663,6 +666,9 @@ case $host_cpu in
|
|||
;;
|
||||
esac
|
||||
|
||||
AM_CONDITIONAL([BUILD_NEON], [test "${build_cpu_neon}" = "yes"])
|
||||
AM_CONDITIONAL([BUILD_NEON_INTRINSICS], [test "${build_cpu_neon_intrinsics}" = "yes"])
|
||||
|
||||
AC_SUBST([ALTIVEC_CFLAGS])
|
||||
AC_SUBST([SSE3_CFLAGS])
|
||||
AC_SUBST([NEON_CFLAGS])
|
||||
|
@ -798,7 +804,7 @@ EFL_SELECT_WINDOWS_VERSION
|
|||
|
||||
### Checks for libraries
|
||||
|
||||
EFL_ADD_LIBS([EVIL], [-lpsapi -lole32 -lws2_32 -lsecur32 -luuid])
|
||||
EFL_ADD_LIBS([EVIL], [-lpsapi -lole32 -lws2_32 -lsecur32 -luuid -lmsvcr100])
|
||||
|
||||
### Checks for header files
|
||||
|
||||
|
@ -900,7 +906,7 @@ case "${build_profile}" in
|
|||
;;
|
||||
|
||||
release)
|
||||
with_max_log_level="3"
|
||||
with_max_log_level=""
|
||||
have_stringshare_usage="no"
|
||||
want_valgrind="no"
|
||||
want_debug_malloc="no"
|
||||
|
@ -1126,15 +1132,25 @@ EFL_LIB_END([Eina])
|
|||
#### Eina CXX
|
||||
EFL_LIB_START([Eina_Cxx])
|
||||
|
||||
EFL_CXX_COMPILE_STDCXX_11([ext])
|
||||
AC_ARG_ENABLE([cxx-bindings],
|
||||
[AS_HELP_STRING([--disable-cxx-bindings],[disable C++11 bindings. @<:@default=enabled@:>@])],
|
||||
[want_cxx11="${enableval}"], [want_cxx11="yes"])
|
||||
|
||||
if test "x${HAVE_CXX11}" = "x1" -a "x${want_cxx11}" = "xyes"; then
|
||||
have_cxx11="yes"
|
||||
else
|
||||
have_cxx11="no"
|
||||
have_cxx11="no"
|
||||
if test "x${want_cxx11}" = "xyes"; then
|
||||
EFL_CXX_COMPILE_STDCXX_11([ext])
|
||||
if test "x${HAVE_CXX11}" = "x1" ; then
|
||||
|
||||
# We should be using ${CXX} here, but there is a bug in
|
||||
# autotools macro and CXX is always set to g++ even if
|
||||
# it's not found. So we are using an internal variable
|
||||
# that does the work for now, may get broken in the future.
|
||||
if test "x${ac_ct_CXX}" = "x" -a "x${CXX}" = "xg++"; then
|
||||
AC_MSG_ERROR([efl requires a C++ compiler got ${ac_ct_CXX} and ${CXX}.])
|
||||
fi
|
||||
|
||||
have_cxx11="yes"
|
||||
fi
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL([HAVE_CXX], [test "x${have_cxx11}" = "xyes"])
|
||||
|
@ -1333,6 +1349,17 @@ EFL_LIB_END_OPTIONAL([Eo_Js])
|
|||
#### End of Eo JS
|
||||
|
||||
#### Efl C Sharp Bindings
|
||||
want_csharp_beta="no"
|
||||
AC_ARG_ENABLE([csharp-beta],
|
||||
[AS_HELP_STRING([--enable-csharp-beta],[enable C Sharp bindings. @<:@default=disabled@:>@])],
|
||||
[
|
||||
if test "x${enableval}" = "xyes" ; then
|
||||
want_csharp_beta="yes"
|
||||
else
|
||||
want_csharp_beta="no"
|
||||
fi
|
||||
],
|
||||
[want_csharp_beta="no"])
|
||||
|
||||
want_csharp="no"
|
||||
AC_ARG_ENABLE([csharp-bindings],
|
||||
|
@ -1356,6 +1383,11 @@ AC_DEFINE_IF([HAVE_CSHARP], [test "x${want_csharp}" = "xyes"],
|
|||
[1], [Compiling bindings for C Sharp])
|
||||
AC_SUBST([want_csharp])
|
||||
|
||||
AM_CONDITIONAL([HAVE_CSHARP_BETA], [test "x${want_csharp_beta}" = "xyes"])
|
||||
AC_DEFINE_IF([HAVE_CSHARP_BETA], [test "x${want_csharp_beta}" = "xyes"],
|
||||
[1], [Compiling bindings for C Sharp with beta methods, properties and classes])
|
||||
AC_SUBST([want_csharp_beta])
|
||||
|
||||
if test "x${have_windows}" = "xyes"; then
|
||||
eflmonodlldir="$prefix/bin"
|
||||
else
|
||||
|
@ -2955,44 +2987,6 @@ AC_CHECK_LIB([m], [lround],
|
|||
)
|
||||
|
||||
|
||||
# Evas cserve2
|
||||
|
||||
AC_ARG_ENABLE([cserve],
|
||||
[AS_HELP_STRING([--enable-cserve],[enable shared cache server (cserve2). @<:@default=enabled@:>@])],
|
||||
[
|
||||
if test "x${enableval}" = "xyes" ; then
|
||||
want_evas_cserve2="yes"
|
||||
else
|
||||
want_evas_cserve2="no"
|
||||
CFOPT_WARNING="xyes"
|
||||
fi
|
||||
],
|
||||
[want_evas_cserve2="yes"])
|
||||
|
||||
if test "x${want_evas_image_loader_generic}" = "xyes" || test "x${want_evas_cserve2}" = "xyes" ; then
|
||||
EFL_ADD_LIBS([EVAS], [${requirements_libs_shm}])
|
||||
fi
|
||||
|
||||
# cserve2 only works on Linux so far.
|
||||
|
||||
if test "x${efl_func_shm_open}" = "xno" ; then
|
||||
want_evas_cserve2="no"
|
||||
fi
|
||||
|
||||
if test "x${want_evas_cserve2}" = "xyes"; then
|
||||
if test "x${ac_cv_header_sys_epoll_h}" = "xno" || test "x${ac_cv_header_sys_inotify_h}" = "xno" || test "x${ac_cv_header_sys_signalfd_h}" = "xno"; then
|
||||
want_evas_cserve2="no"
|
||||
else
|
||||
EVAS_CSERVE2_SLAVE_LIBS="${EFLALL_COV_LIBS} ${EFL_LIBS} ${requirements_libs_shm}"
|
||||
AC_SUBST([EVAS_CSERVE2_SLAVE_LIBS])
|
||||
fi
|
||||
fi
|
||||
|
||||
AC_DEFINE_IF([EVAS_CSERVE2],
|
||||
[test "x${want_evas_cserve2}" = "xyes"],
|
||||
[1], [Shared cache server.])
|
||||
AM_CONDITIONAL([EVAS_CSERVE2], [test "x${want_evas_cserve2}" = "xyes"])
|
||||
|
||||
### Configuration
|
||||
|
||||
## Tile rotation
|
||||
|
@ -3030,7 +3024,6 @@ esac
|
|||
EFL_ADD_FEATURE([EVAS], [fontconfig])
|
||||
EFL_ADD_FEATURE([EVAS], [fribidi])
|
||||
EFL_ADD_FEATURE([EVAS], [harfbuzz])
|
||||
EFL_ADD_FEATURE([EVAS], [cserve], [${want_evas_cserve2}])
|
||||
EFL_ADD_FEATURE([EVAS], [tile-rotate])
|
||||
EFL_ADD_FEATURE([EVAS], [dither-mask], [${build_evas_dither_mask}])
|
||||
EFL_ADD_FEATURE([EVAS], [hyphen])
|
||||
|
@ -3098,6 +3091,16 @@ if test "x${want_poppler}" = "xyes"; then
|
|||
PKG_CHECK_MODULES([POPPLER], [poppler-cpp >= 0.12], [have_poppler="yes"])
|
||||
fi
|
||||
|
||||
if test "x${have_poppler}" = "xyes" ; then
|
||||
# We should be using ${CXX} here, but there is a bug in
|
||||
# autotools macro and CXX is always set to g++ even if
|
||||
# it's not found. So we are using an internal variable
|
||||
# that does the work for now, may get broken in the future.
|
||||
if test "x${ac_ct_CXX}" = "x" -a "x${CXX}" = "xg++"; then
|
||||
AC_MSG_ERROR([efl requires a C++ compiler got ${ac_ct_CXX} and ${CXX}.])
|
||||
fi
|
||||
fi
|
||||
|
||||
if test "x${want_spectre}" = "xyes"; then
|
||||
PKG_CHECK_MODULES([SPECTRE], [libspectre], [have_spectre="yes"])
|
||||
fi
|
||||
|
@ -3609,8 +3612,6 @@ EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [ecore])
|
|||
EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eo])
|
||||
EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [efl])
|
||||
EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [eina])
|
||||
EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [evas])
|
||||
EFL_INTERNAL_DEPEND_PKG([ECORE_COCOA], [emile])
|
||||
|
||||
### Checks for header files
|
||||
|
||||
|
@ -3949,8 +3950,22 @@ EFL_INTERNAL_DEPEND_PKG([ELPUT], [eina])
|
|||
|
||||
EFL_DEPEND_PKG([ELPUT], [LIBINPUT], [libinput >= 1.7.0 xkbcommon >= 0.3.0 libudev])
|
||||
|
||||
AC_ARG_ENABLE([elogind],
|
||||
[AS_HELP_STRING([--enable-elogind],[enable elogind support.@<:@default=disabled@:>@])],
|
||||
[
|
||||
if test "x${enableval}" = "xyes" ; then
|
||||
want_elogind="yes"
|
||||
else
|
||||
want_elogind="no"
|
||||
fi
|
||||
], [
|
||||
want_elogind="no"
|
||||
])
|
||||
|
||||
EFL_OPTIONAL_DEPEND_PKG([ELPUT], [${want_systemd}], [SYSTEMD], [libsystemd])
|
||||
EFL_OPTIONAL_DEPEND_PKG([ELPUT], [${want_elogind}], [ELOGIND], [libelogind])
|
||||
EFL_ADD_FEATURE([ELPUT], [systemd-logind], [${want_systemd}])
|
||||
EFL_ADD_FEATURE([ELPUT], [elogind], [${want_elogind}])
|
||||
|
||||
EFL_ADD_LIBS([ELPUT], [-lm])
|
||||
|
||||
|
@ -4823,6 +4838,16 @@ AC_ARG_ENABLE([physics],
|
|||
],
|
||||
[want_physics="yes"])
|
||||
|
||||
if test "x${want_physics}" = "xyes" ; then
|
||||
# We should be using ${CXX} here, but there is a bug in
|
||||
# autotools macro and CXX is always set to g++ even if
|
||||
# it's not found. So we are using an internal variable
|
||||
# that does the work for now, may get broken in the future.
|
||||
if test "x${ac_ct_CXX}" = "x" -a "x${CXX}" = "xg++"; then
|
||||
AC_MSG_ERROR([efl requires a C++ compiler got ${ac_ct_CXX} and ${CXX}.])
|
||||
fi
|
||||
fi
|
||||
|
||||
EFL_LIB_START_OPTIONAL([EPhysics], [test "${want_physics}" = "yes"])
|
||||
|
||||
### Additional options to configure
|
||||
|
@ -5189,18 +5214,29 @@ AC_ARG_ENABLE([elua],
|
|||
want_elua="no"
|
||||
fi
|
||||
],
|
||||
[want_elua="no"])
|
||||
[want_elua="yes"])
|
||||
|
||||
# turn this into an AC_ARG_ENABLE when bindings are reenabled
|
||||
want_lua_bindings="no"
|
||||
|
||||
have_elua="yes"
|
||||
have_lua_bindings="yes"
|
||||
|
||||
if test "${want_lua_old}" = "yes" -o "x$want_elua" = "xno"; then
|
||||
have_elua="no"
|
||||
fi
|
||||
|
||||
if test "x$have_elua" = "xno" -o "x$want_lua_bindings" = "xno"; then
|
||||
have_lua_bindings="no"
|
||||
fi
|
||||
|
||||
AM_CONDITIONAL([HAVE_ELUA], [test "x${have_elua}" = "xyes"])
|
||||
AM_CONDITIONAL([HAVE_LUA_BINDINGS], [test "x${have_lua_bindings}" = "xyes"])
|
||||
|
||||
EFL_LIB_START_OPTIONAL([Elua], [test "${have_elua}" = "yes"])
|
||||
|
||||
### Default values
|
||||
|
||||
AM_CONDITIONAL([HAVE_ELUA], [test "x${have_elua}" = "xyes"])
|
||||
|
||||
### Additional options to configure
|
||||
|
||||
### Checks for programs
|
||||
|
@ -5562,9 +5598,7 @@ AC_FUNC_ALLOCA
|
|||
|
||||
AC_CHECK_FUNCS([geteuid getuid getpwent])
|
||||
|
||||
if test "x${want_quicklaunch}" != "xno"; then
|
||||
AC_CHECK_FUNCS([fork clearenv])
|
||||
fi
|
||||
AC_CHECK_FUNCS([fork clearenv])
|
||||
|
||||
build_quicklaunch="no"
|
||||
if test "x${ac_cv_func_fork}" = "xyes" -a "x${efl_func_dlopen}" = "xyes"; then
|
||||
|
@ -5718,24 +5752,7 @@ src/bindings/mono/efl_mono/efl_libs.csv
|
|||
src/benchmarks/eina/Makefile
|
||||
src/benchmarks/eo/Makefile
|
||||
src/benchmarks/evas/Makefile
|
||||
src/examples/eina/Makefile
|
||||
src/examples/eina_cxx/Makefile
|
||||
src/examples/eet/Makefile
|
||||
src/examples/evas/Makefile
|
||||
src/examples/ecore/Makefile
|
||||
src/examples/ecore_avahi/Makefile
|
||||
src/examples/eio/Makefile
|
||||
src/examples/eldbus/Makefile
|
||||
src/examples/ephysics/Makefile
|
||||
src/examples/edje/Makefile
|
||||
src/examples/emotion/Makefile
|
||||
src/examples/emile/Makefile
|
||||
src/examples/ethumb_client/Makefile
|
||||
src/examples/elua/Makefile
|
||||
src/examples/eolian_cxx/Makefile
|
||||
src/examples/efl_mono/Makefile
|
||||
src/examples/elocation/Makefile
|
||||
src/examples/elementary/Makefile
|
||||
src/examples/Makefile
|
||||
src/lib/eina/eina_config.h
|
||||
src/lib/efl/Efl_Config.h
|
||||
src/lib/elementary/Elementary_Options.h
|
||||
|
@ -6129,14 +6146,6 @@ if test -n "$CFOPT_WARNING"; then
|
|||
echo "some functionality as useless, leading to visible application bugs."
|
||||
echo "_____________________________________________________________________"
|
||||
fi
|
||||
if test "x${want_evas_cserve2}" = "xno"; then
|
||||
echo "_____________________________________________________________________"
|
||||
echo "Evas Cserve is built and on by default and no testing is done"
|
||||
echo "for the old non-cserve2 code paths, so by disabling this you"
|
||||
echo "may be introducing bugs. Be aware of this and be prepared to"
|
||||
echo "deal with the bugs as a result of this."
|
||||
echo "_____________________________________________________________________"
|
||||
fi
|
||||
if test "x${want_audio}" = "xno"; then
|
||||
echo "_____________________________________________________________________"
|
||||
echo "You disabled audio support in Ecore. This is not tested and may"
|
||||
|
|
|
@ -0,0 +1,3 @@
|
|||
install_data('edje.inc',
|
||||
install_dir : join_paths(dir_data, 'edje', 'include')
|
||||
)
|
|
@ -0,0 +1,5 @@
|
|||
subdir('include')
|
||||
|
||||
install_data(files('edje.xml'),
|
||||
install_dir : join_paths(dir_data, 'mime', 'packages')
|
||||
)
|
|
@ -1,30 +1,41 @@
|
|||
group "Elm_Config" struct {
|
||||
value "config_version" int: 131089;
|
||||
value "config_version" int: 131092;
|
||||
value "entry_select_allow" uchar: 1;
|
||||
value "engine" string: "";
|
||||
value "vsync" uchar: 0;
|
||||
//
|
||||
value "thumbscroll_enable" uchar: 1;
|
||||
value "thumbscroll_threshold" int: 24;
|
||||
value "thumbscroll_hold_threshold" int: 24;
|
||||
value "thumbscroll_momentum_threshold" double: 100.0;
|
||||
value "thumbscroll_flick_distance_tolerance" int: 1000;
|
||||
value "thumbscroll_friction" double: 1.0;
|
||||
value "thumbscroll_min_friction" double: 1.0;
|
||||
value "thumbscroll_friction_standard" double: 2000.0;
|
||||
//
|
||||
value "thumbscroll_bounce_friction" double: 0.5;
|
||||
value "thumbscroll_bounce_enable" uchar: 1;
|
||||
value "thumbscroll_border_friction" double: 0.5;
|
||||
value "thumbscroll_sensitivity_friction" double: 0.25;
|
||||
//
|
||||
value "thumbscroll_momentum_threshold" double: 100.0;
|
||||
value "thumbscroll_momentum_distance_max" int: 3000;
|
||||
value "thumbscroll_momentum_friction" double: 0.95;
|
||||
value "thumbscroll_momentum_animation_duration_min_limit" double: 0.3;
|
||||
value "thumbscroll_momentum_animation_duration_max_limit" double: 1.3;
|
||||
//
|
||||
value "thumbscroll_acceleration_threshold" double: 500.0;
|
||||
value "thumbscroll_acceleration_time_limit" double: 0.7;
|
||||
value "thumbscroll_acceleration_weight" double: 1.5;
|
||||
value "page_scroll_friction" double: 0.5;
|
||||
value "bring_in_scroll_friction" double: 0.5;
|
||||
value "zoom_friction" double: 0.5;
|
||||
value "thumbscroll_border_friction" double: 0.5;
|
||||
value "thumbscroll_sensitivity_friction" double: 0.25;
|
||||
//
|
||||
value "scroll_smooth_start_enable" uchar: 1;
|
||||
value "scroll_smooth_amount" double: 1.0;
|
||||
value "scroll_smooth_time_window" double: 0.15;
|
||||
value "scroll_accel_factor" double: 7.0;
|
||||
// deprecated
|
||||
value "thumbscroll_min_friction" double: 1.0;
|
||||
value "thumbscroll_friction_standard" double: 2000.0;
|
||||
value "thumbscroll_friction" double: 0.95;
|
||||
value "thumbscroll_flick_distance_tolerance" int: 1000;
|
||||
//
|
||||
value "page_scroll_friction" double: 0.5;
|
||||
value "bring_in_scroll_friction" double: 0.5;
|
||||
value "zoom_friction" double: 0.5;
|
||||
value "focus_autoscroll_mode" uchar: 0;
|
||||
value "slider_indicator_visible_mode" int: 0;
|
||||
value "scale" double: 1.0;
|
||||
|
@ -2623,6 +2634,29 @@ group "Elm_Config" struct {
|
|||
}
|
||||
}
|
||||
}
|
||||
group "Elm_Config_Bindings_Widget" struct {
|
||||
value "name" string: "Efl.Ui.Tab_Bar";
|
||||
group "key_bindings" list {
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "Return";
|
||||
value "action" string: "select";
|
||||
value "params" string: "";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "KP_Enter";
|
||||
value "action" string: "select";
|
||||
value "params" string: "";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "space";
|
||||
value "action" string: "select";
|
||||
value "params" string: "";
|
||||
}
|
||||
}
|
||||
}
|
||||
group "Elm_Config_Bindings_Widget" struct {
|
||||
value "name" string: "Efl.Ui.Video";
|
||||
group "key_bindings" list {
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
custom_target('config_'+config,
|
||||
input: config_file,
|
||||
output: 'base.cfg',
|
||||
command: [eet_bin, '-e', '@OUTPUT@', 'config', '@INPUT@', '0'],
|
||||
install: true,
|
||||
install_dir: join_paths(dir_data, 'elementary', 'config', config),
|
||||
)
|
|
@ -0,0 +1,21 @@
|
|||
configs = ['default', 'mobile', 'standard']
|
||||
|
||||
foreach config : configs
|
||||
config_file = join_paths(meson.current_source_dir(), config, 'base.src.in')
|
||||
config_icon = join_paths(meson.current_source_dir(), config, 'icon.png')
|
||||
config_desktop = join_paths(meson.current_source_dir(), config, 'profile.desktop')
|
||||
|
||||
install_data([config_icon, config_desktop],
|
||||
install_dir : join_paths(dir_data, 'elementary', 'config', config)
|
||||
)
|
||||
|
||||
subdir(config)
|
||||
endforeach
|
||||
|
||||
custom_target('config_profile',
|
||||
input: 'profile.src',
|
||||
output: 'profile.cfg',
|
||||
command: [eet_bin, '-i', '@OUTPUT@', 'config', '@INPUT@', '0'],
|
||||
install: true,
|
||||
install_dir: join_paths(dir_data, 'elementary', 'config'),
|
||||
)
|
|
@ -1,5 +1,5 @@
|
|||
group "Elm_Config" struct {
|
||||
value "config_version" int: 131089;
|
||||
value "config_version" int: 131092;
|
||||
value "entry_select_allow" uchar: 1;
|
||||
value "engine" string: "";
|
||||
value "vsync" uchar: 0;
|
||||
|
@ -7,20 +7,24 @@ group "Elm_Config" struct {
|
|||
value "thumbscroll_threshold" int: 24;
|
||||
value "thumbscroll_hold_threshold" int: 100;
|
||||
value "thumbscroll_momentum_threshold" double: 100.0;
|
||||
value "thumbscroll_flick_distance_tolerance" int: 1000;
|
||||
value "thumbscroll_friction" double: 1.0;
|
||||
value "thumbscroll_flick_distance_tolerance" int: 3000;
|
||||
value "thumbscroll_friction" double: 0.95;
|
||||
value "thumbscroll_momentum_animation_duration_min_limit" double: 0.3;
|
||||
value "thumbscroll_momentum_animation_duration_max_limit" double: 1.3;
|
||||
// will not be used
|
||||
value "thumbscroll_min_friction" double: 0.3;
|
||||
value "thumbscroll_friction_standard" double: 3000.0;
|
||||
//
|
||||
value "thumbscroll_bounce_friction" double: 0.5;
|
||||
value "thumbscroll_bounce_enable" uchar: 1;
|
||||
value "thumbscroll_acceleration_threshold" double: 2000.0;
|
||||
value "thumbscroll_acceleration_time_limit" double: 0.5;
|
||||
value "thumbscroll_acceleration_weight" double: 1.5;
|
||||
value "thumbscroll_border_friction" double: 0.5;
|
||||
value "thumbscroll_sensitivity_friction" double: 0.7;
|
||||
value "page_scroll_friction" double: 0.5;
|
||||
value "bring_in_scroll_friction" double: 0.5;
|
||||
value "zoom_friction" double: 0.5;
|
||||
value "thumbscroll_border_friction" double: 0.5;
|
||||
value "thumbscroll_sensitivity_friction" double: 0.7;
|
||||
value "scroll_smooth_start_enable" uchar: 1;
|
||||
value "scroll_smooth_amount" double: 1.0;
|
||||
value "scroll_smooth_time_window" double: 0.15;
|
||||
|
@ -2627,6 +2631,29 @@ group "Elm_Config" struct {
|
|||
}
|
||||
}
|
||||
}
|
||||
group "Elm_Config_Bindings_Widget" struct {
|
||||
value "name" string: "Efl.Ui.Tab_Bar";
|
||||
group "key_bindings" list {
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "Return";
|
||||
value "action" string: "select";
|
||||
value "params" string: "";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "KP_Enter";
|
||||
value "action" string: "select";
|
||||
value "params" string: "";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "space";
|
||||
value "action" string: "select";
|
||||
value "params" string: "";
|
||||
}
|
||||
}
|
||||
}
|
||||
group "Elm_Config_Bindings_Widget" struct {
|
||||
value "name" string: "Efl.Ui.Video";
|
||||
group "key_bindings" list {
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
custom_target('config_'+config,
|
||||
input: config_file,
|
||||
output: 'base.cfg',
|
||||
command: [eet_bin, '-e', '@OUTPUT@', 'config', '@INPUT@', '0'],
|
||||
install: true,
|
||||
install_dir: join_paths(dir_data, 'elementary', 'config', config),
|
||||
)
|
|
@ -1,5 +1,5 @@
|
|||
group "Elm_Config" struct {
|
||||
value "config_version" int: 131089;
|
||||
value "config_version" int: 131092;
|
||||
value "entry_select_allow" uchar: 1;
|
||||
value "engine" string: "";
|
||||
value "vsync" uchar: 0;
|
||||
|
@ -9,8 +9,12 @@ group "Elm_Config" struct {
|
|||
value "thumbscroll_momentum_threshold" double: 100.0;
|
||||
value "thumbscroll_flick_distance_tolerance" int: 1000;
|
||||
value "thumbscroll_friction" double: 1.0;
|
||||
value "thumbscroll_momentum_animation_duration_min_limit" double: 0.3;
|
||||
value "thumbscroll_momentum_animation_duration_max_limit" double: 1.3;
|
||||
// will not be used
|
||||
value "thumbscroll_min_friction" double: 1.0;
|
||||
value "thumbscroll_friction_standard" double: 2000.0;
|
||||
//
|
||||
value "thumbscroll_bounce_friction" double: 0.5;
|
||||
value "thumbscroll_bounce_enable" uchar: 0;
|
||||
value "thumbscroll_acceleration_threshold" double: 500.0;
|
||||
|
@ -2624,6 +2628,29 @@ group "Elm_Config" struct {
|
|||
}
|
||||
}
|
||||
}
|
||||
group "Elm_Config_Bindings_Widget" struct {
|
||||
value "name" string: "Efl.Ui.Tab_Bar";
|
||||
group "key_bindings" list {
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "Return";
|
||||
value "action" string: "select";
|
||||
value "params" string: "";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "KP_Enter";
|
||||
value "action" string: "select";
|
||||
value "params" string: "";
|
||||
}
|
||||
group "Elm_Config_Binding_Key" struct {
|
||||
value "context" int: 0;
|
||||
value "key" string: "space";
|
||||
value "action" string: "select";
|
||||
value "params" string: "";
|
||||
}
|
||||
}
|
||||
}
|
||||
group "Elm_Config_Bindings_Widget" struct {
|
||||
value "name" string: "Efl.Ui.Video";
|
||||
group "key_bindings" list {
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
custom_target('config_'+config,
|
||||
input: config_file,
|
||||
output: 'base.cfg',
|
||||
command: [eet_bin, '-e', '@OUTPUT@', 'config', '@INPUT@', '0'],
|
||||
install: true,
|
||||
install_dir: join_paths(dir_data, 'elementary', 'config', config),
|
||||
)
|
|
@ -0,0 +1,8 @@
|
|||
[Desktop Entry]
|
||||
Type=Application
|
||||
Name=Elementary Perf
|
||||
Comment=Elementary Performance Test Application
|
||||
Icon=elementary
|
||||
Exec=elementary_perf
|
||||
Terminal=false
|
||||
Categories=Development;Utility;
|
|
@ -0,0 +1,13 @@
|
|||
desktop_files = files(
|
||||
'elementary_config.desktop',
|
||||
'elementary_test.desktop',
|
||||
'elementary_perf.desktop')
|
||||
elementary_icon = files('elementary.png')
|
||||
|
||||
install_data(desktop_files,
|
||||
install_dir : join_paths(dir_data, 'applications')
|
||||
)
|
||||
|
||||
install_data(elementary_icon,
|
||||
install_dir : join_paths(dir_data, 'icons', 'hicolor', '128x128', 'apps')
|
||||
)
|
|
@ -0,0 +1,11 @@
|
|||
custom_target('edje_cc_edje_externals',
|
||||
input : 'icons.edc',
|
||||
output : '@BASENAME@.edj',
|
||||
command : edje_cc_exe + [ '-beta',
|
||||
'-id', join_paths(meson.current_source_dir()),
|
||||
'-id', elm_themes_image_include,
|
||||
'@INPUT@', '@OUTPUT@'],
|
||||
depends : edje_cc,
|
||||
install : true,
|
||||
install_dir : join_paths(dir_data, 'elementary', 'edje_externals'),
|
||||
)
|
|
@ -0,0 +1,10 @@
|
|||
subdir('config')
|
||||
subdir('desktop')
|
||||
subdir('themes')
|
||||
subdir('objects')
|
||||
subdir('edje_externals')
|
||||
|
||||
install_subdir('images',
|
||||
install_dir : join_paths(dir_data, 'elementary'),
|
||||
exclude_files : ['Makefile.am']
|
||||
)
|
|
@ -0,0 +1,41 @@
|
|||
edc_files = [
|
||||
'test.edc',
|
||||
'test_external.edc',
|
||||
'test_focus_style.edc',
|
||||
'test_masking.edc',
|
||||
'test_tab_pager.edc',
|
||||
'test_tooltip.edc',
|
||||
'test_prefs.edc',
|
||||
'cursors.edc',
|
||||
'font_preview.edc',
|
||||
'multibuttonentry.edc',
|
||||
'multip.edc',
|
||||
'postit_ent.edc'
|
||||
]
|
||||
|
||||
elm_themes = []
|
||||
|
||||
foreach edc_file : edc_files
|
||||
elm_themes += custom_target('edje_cc_elm_' + edc_file,
|
||||
input : edc_file,
|
||||
output : '@BASENAME@.edj',
|
||||
command : edje_cc_exe + [ '-beta',
|
||||
'-sd', join_paths(meson.current_source_dir()),
|
||||
'-id', elm_themes_image_include,
|
||||
'-id', join_paths(meson.current_source_dir()),
|
||||
'-fd', join_paths(meson.current_source_dir()),
|
||||
'@INPUT@', '@OUTPUT@'],
|
||||
depends : edje_cc,
|
||||
install : true,
|
||||
install_dir : join_paths(dir_data, 'elementary', 'objects'),
|
||||
)
|
||||
endforeach
|
||||
|
||||
custom_target('prefs_compile',
|
||||
input: 'test_prefs.epc',
|
||||
output: 'test_prefs.epb',
|
||||
command : elm_prefs_cc_exe + ['@INPUT@', '@OUTPUT@'],
|
||||
depends : elm_prefs_cc,
|
||||
install : true,
|
||||
install_dir : join_paths(dir_data, 'elementary', 'objects'),
|
||||
)
|
|
@ -149,6 +149,7 @@ elementary/themes/edc/elm/textpath.edc \
|
|||
elementary/themes/edc/elm/thumb.edc \
|
||||
elementary/themes/edc/elm/toolbar.edc \
|
||||
elementary/themes/edc/elm/tooltip.edc \
|
||||
elementary/themes/edc/elm/uiclock.edc \
|
||||
elementary/themes/edc/elm/video.edc \
|
||||
elementary/themes/edc/elm/win.edc \
|
||||
\
|
||||
|
@ -1021,9 +1022,11 @@ elementary/themes/edc/efl/uiclock.edc \
|
|||
elementary/themes/edc/efl/cursor.edc \
|
||||
elementary/themes/edc/efl/focus.edc \
|
||||
elementary/themes/edc/efl/frame.edc \
|
||||
elementary/themes/edc/efl/grid.edc \
|
||||
elementary/themes/edc/efl/navigation_bar.edc \
|
||||
elementary/themes/edc/efl/navigation_layout.edc \
|
||||
elementary/themes/edc/efl/tags.edc \
|
||||
elementary/themes/edc/efl/panel.edc \
|
||||
elementary/themes/edc/efl/nstate.edc \
|
||||
elementary/themes/edc/efl/panes.edc \
|
||||
elementary/themes/edc/efl/photocam.edc \
|
||||
|
|
|
@ -35,6 +35,7 @@ collections {
|
|||
#include "edc/elm/access.edc"
|
||||
#include "edc/elm/photo.edc"
|
||||
#include "edc/elm/focus.edc"
|
||||
#include "edc/elm/uiclock.edc"
|
||||
#include "edc/elm/player.edc"
|
||||
#include "edc/elm/thumb.edc"
|
||||
#include "edc/elm/pointer.edc"
|
||||
|
@ -173,6 +174,7 @@ collections {
|
|||
// XXX: mobile mode needs invisible scrollers... make signals that do this
|
||||
#include "edc/efl/scroller.edc"
|
||||
#include "edc/efl/list.edc"
|
||||
#include "edc/efl/grid.edc"
|
||||
// XXX: mobile mode needs different entry setup
|
||||
#include "edc/efl/text.edc"
|
||||
#include "edc/efl/frame.edc"
|
||||
|
@ -184,6 +186,7 @@ collections {
|
|||
#include "edc/efl/video.edc"
|
||||
#include "edc/efl/focus.edc"
|
||||
#include "edc/efl/tags.edc"
|
||||
#include "edc/efl/panel.edc"
|
||||
#include "edc/efl/tooltip.edc"
|
||||
#include "edc/efl/photocam.edc"
|
||||
#include "edc/efl/progress.edc"
|
||||
|
|
|
@ -221,13 +221,11 @@ group { name: "e/widgets/about/main";
|
|||
signal: "mouse,down,1*"; source: "base";
|
||||
action: STATE_SET "clicked" 0.0;
|
||||
target: "base";
|
||||
target: "e.text.label";
|
||||
}
|
||||
program {
|
||||
signal: "mouse,up,1"; source: "base";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "base";
|
||||
target: "e.text.label";
|
||||
}
|
||||
program {
|
||||
signal: "mouse,clicked,1*"; source: "base";
|
||||
|
|
|
@ -331,15 +331,3 @@ group { "efl/datepicker/spin_button";
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
group { "efl/datepicker/spin_button/text_button";
|
||||
inherit: "efl/spin_button/text_button";
|
||||
}
|
||||
|
||||
group { "efl/datepicker/spin_button/inc_button";
|
||||
inherit: "efl/spin_button/inc_button:vertical";
|
||||
}
|
||||
|
||||
group { "efl/datepicker/spin_button/dec_button";
|
||||
inherit: "efl/spin_button/dec_button:vertical";
|
||||
}
|
||||
|
|
|
@ -0,0 +1,269 @@
|
|||
group { "efl/grid";
|
||||
inherit: "efl/scroller";
|
||||
}
|
||||
|
||||
group { "efl/view_grid";
|
||||
inherit: "efl/grid";
|
||||
}
|
||||
|
||||
group { "efl/grid_item";
|
||||
data.item: "selectraise" "on";
|
||||
data.item: "focusraise" "on";
|
||||
images.image: "bevel_dark_out.png" COMP;
|
||||
images.image: "shadow_rounded_horiz.png" COMP;
|
||||
images.image: "vgrad_med_dark.png" COMP;
|
||||
images.image: "bevel_out.png" COMP;
|
||||
images.image: "shine.png" COMP;
|
||||
parts {
|
||||
|
||||
// BASE PARTS //
|
||||
rect { "event";
|
||||
desc { "default";
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
desc { "disabled";
|
||||
inherit: "default";
|
||||
hid;
|
||||
}
|
||||
}
|
||||
rect { "base"; mouse;
|
||||
desc { "default";
|
||||
}
|
||||
}
|
||||
image { "bevel"; nomouse;
|
||||
desc { "default";
|
||||
image.normal: "bevel_dark_out.png";
|
||||
image.border: 2 2 2 2;
|
||||
image.middle: 0;
|
||||
fill.smooth: 0;
|
||||
}
|
||||
}
|
||||
image { "sel_shadow"; nomouse;
|
||||
desc { "default";
|
||||
image.normal: "shadow_rounded_horiz.png";
|
||||
image.border: 0 0 9 9;
|
||||
rel1.offset: 0 -4;
|
||||
rel2.offset: -1 5;
|
||||
fill.smooth: 0;
|
||||
hid;
|
||||
}
|
||||
desc { "selected";
|
||||
inherit: "default";
|
||||
vis;
|
||||
}
|
||||
}
|
||||
image { "sel_base"; nomouse;
|
||||
desc { "default";
|
||||
image.normal: "vgrad_med_dark.png";
|
||||
fill.smooth: 0;
|
||||
hid;
|
||||
TILED_HORIZ(120)
|
||||
}
|
||||
desc { "selected";
|
||||
inherit: "default";
|
||||
vis;
|
||||
}
|
||||
}
|
||||
image { "sel_bevel"; nomouse;
|
||||
desc { "default";
|
||||
image.normal: "bevel_out.png";
|
||||
image.border: 2 2 2 2;
|
||||
image.middle: 0;
|
||||
fill.smooth: 0;
|
||||
hid;
|
||||
}
|
||||
desc { "selected";
|
||||
inherit: "default";
|
||||
vis;
|
||||
}
|
||||
}
|
||||
// BASE PARTS //
|
||||
|
||||
// TEXT PARTS //
|
||||
text { "efl.text"; nomouse;
|
||||
effect: SHADOW BOTTOM;
|
||||
scale: 1;
|
||||
desc { "default";
|
||||
fixed: 0 1;
|
||||
rel1.relative: 0.0 1.0;
|
||||
rel1.offset: 5 -5;
|
||||
rel2.relative: 1.0 1.0;
|
||||
rel2.offset: -5 -5;
|
||||
color: FN_COL_DEFAULT;
|
||||
color_class: "grid_item";
|
||||
align: 0.5 1.0;
|
||||
text { font: FN; size: 10;
|
||||
min: 0 1;
|
||||
align: 0.5 1.0;
|
||||
text_class: "grid_item";
|
||||
}
|
||||
}
|
||||
desc { "selected";
|
||||
inherit: "default";
|
||||
hid;
|
||||
}
|
||||
desc { "disabled";
|
||||
inherit: "default";
|
||||
hid;
|
||||
}
|
||||
}
|
||||
text { "label2"; nomouse;
|
||||
effect: SHADOW BOTTOM;
|
||||
scale: 1;
|
||||
desc { "default";
|
||||
rel1.to: "efl.text";
|
||||
rel2.to: "efl.text";
|
||||
color: FN_COL_DISABLE;
|
||||
color_class: "grid_item_disabled";
|
||||
text { font: FN; size: 10;
|
||||
text_source: "efl.text";
|
||||
align: 0.5 1.0;
|
||||
text_class: "grid_item";
|
||||
}
|
||||
hid;
|
||||
}
|
||||
desc { "selected";
|
||||
inherit: "default";
|
||||
hid;
|
||||
}
|
||||
desc { "disabled";
|
||||
inherit: "default";
|
||||
vis;
|
||||
}
|
||||
}
|
||||
text { "label3"; nomouse;
|
||||
effect: GLOW;
|
||||
scale: 1;
|
||||
desc { "default";
|
||||
rel1.offset: -2 -2;
|
||||
rel1.to: "efl.text";
|
||||
rel2.offset: 1 0;
|
||||
rel2.to: "efl.text";
|
||||
color: FN_COL_HIGHLIGHT;
|
||||
color_class: "grid_item_selected";
|
||||
text { font: FN; size: 10;
|
||||
text_source: "efl.text";
|
||||
align: 0.5 1.0;
|
||||
text_class: "grid_item";
|
||||
}
|
||||
hid;
|
||||
}
|
||||
desc { "selected";
|
||||
inherit: "default";
|
||||
vis;
|
||||
}
|
||||
desc { "disabled";
|
||||
inherit: "default";
|
||||
hid;
|
||||
}
|
||||
}
|
||||
// TEXT PARTS //
|
||||
|
||||
// CONTENT PARTS //
|
||||
rect { "icon_area";
|
||||
desc { "default";
|
||||
fixed: 1 0;
|
||||
rel1.offset: 2 2;
|
||||
rel2.to_y: "efl.text";
|
||||
rel2.relative: 1.0 0.0;
|
||||
rel2.offset: -3 -3;
|
||||
}
|
||||
desc { "disabled";
|
||||
inherit: "default";
|
||||
color: 255 255 255 64;
|
||||
}
|
||||
}
|
||||
swallow { "efl.icon";
|
||||
clip_to: "icon_area";
|
||||
desc { "default";
|
||||
rel1.to: "icon_area";
|
||||
rel2.to: "icon_area";
|
||||
}
|
||||
}
|
||||
swallow { "efl.end";
|
||||
clip_to: "icon_area";
|
||||
desc { "default";
|
||||
fixed: 1 1;
|
||||
align: 1.0 0.0;
|
||||
rel1.relative: 1.0 0.0;
|
||||
rel1.offset: -3 2;
|
||||
rel2.relative: 1.0 0.0;
|
||||
rel2.offset: -3 2;
|
||||
}
|
||||
}
|
||||
// CONTENT PARTS //
|
||||
|
||||
// TOP PARTS //
|
||||
image { "sel_shine"; nomouse;
|
||||
desc { "default";
|
||||
image.normal: "shine.png";
|
||||
rel1.offset: 0 -2;
|
||||
rel1.to: "sel_base";
|
||||
rel2.relative: 1.0 0.0;
|
||||
rel2.offset: -1 2;
|
||||
rel2.to: "sel_base";
|
||||
hid;
|
||||
FIXED_SIZE(69, 5)
|
||||
}
|
||||
desc { "selected";
|
||||
inherit: "default";
|
||||
vis;
|
||||
}
|
||||
}
|
||||
rect { "event_block";
|
||||
desc { "default";
|
||||
color: 0 0 0 0;
|
||||
hid;
|
||||
}
|
||||
desc { "disabled";
|
||||
inherit: "default";
|
||||
vis;
|
||||
}
|
||||
}
|
||||
// TOP PARTS //
|
||||
}
|
||||
programs {
|
||||
program {
|
||||
signal: "efl,state,selected"; source: "efl";
|
||||
action: STATE_SET "selected";
|
||||
target: "sel_shadow";
|
||||
target: "sel_base";
|
||||
target: "sel_bevel";
|
||||
target: "sel_shine";
|
||||
target: "efl.text";
|
||||
target: "label2";
|
||||
target: "label3";
|
||||
}
|
||||
program {
|
||||
signal: "efl,state,unselected"; source: "efl";
|
||||
action: STATE_SET "default";
|
||||
target: "sel_shadow";
|
||||
target: "sel_base";
|
||||
target: "sel_bevel";
|
||||
target: "sel_shine";
|
||||
target: "efl.text";
|
||||
target: "label2";
|
||||
target: "label3";
|
||||
}
|
||||
program {
|
||||
signal: "efl,state,disabled"; source: "efl";
|
||||
action: STATE_SET "disabled";
|
||||
target: "event";
|
||||
target: "event_block";
|
||||
target: "efl.text";
|
||||
target: "label2";
|
||||
target: "label3";
|
||||
target: "icon_area";
|
||||
}
|
||||
program {
|
||||
signal: "efl,state,enabled"; source: "efl";
|
||||
action: STATE_SET "default";
|
||||
target: "event";
|
||||
target: "event_block";
|
||||
target: "efl.text";
|
||||
target: "label2";
|
||||
target: "label3";
|
||||
target: "icon_area";
|
||||
}
|
||||
}
|
||||
}
|
|
@ -2,7 +2,7 @@ group { "efl/list";
|
|||
inherit: "efl/scroller";
|
||||
}
|
||||
|
||||
group { "efl/view_list";
|
||||
group { "efl/list_view";
|
||||
inherit: "efl/list";
|
||||
}
|
||||
|
||||
|
@ -468,4 +468,4 @@ group { "efl/list_item:empty";
|
|||
target: "event_block";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,831 @@
|
|||
group { name: "efl/panel";
|
||||
data {
|
||||
item: "handler_size" "30";
|
||||
}
|
||||
parts {
|
||||
part { name: "efl.content";
|
||||
type: SWALLOW;
|
||||
description { state: "default" 0.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
group { name: "efl/panel/scrollable/left";
|
||||
parts {
|
||||
part { name: "efl.panel_area";
|
||||
type: SWALLOW;
|
||||
description { state: "default" 0.0;
|
||||
rel2.relative: 0.0 1.0;
|
||||
align: 0.0 0.5;
|
||||
fixed: 1 1;
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "visible" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
part { name: "efl.event_area";
|
||||
type: SWALLOW;
|
||||
description { state: "default" 0.0;
|
||||
rel1 {
|
||||
relative: 1.0 0.0;
|
||||
to: "efl.panel_area";
|
||||
}
|
||||
rel2 {
|
||||
relative: 1.0 1.0;
|
||||
to: "efl.panel_area";
|
||||
}
|
||||
align: 0.0 0.5;
|
||||
fixed: 1 1;
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "visible" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
part { name: "access.outline";
|
||||
type: RECT;
|
||||
repeat_events: 1;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "efl.panel_area";
|
||||
rel2.to: "efl.panel_area";
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
}
|
||||
part { name: "bg";
|
||||
type: RECT;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "efl.panel_area";
|
||||
rel2.to: "efl.panel_area";
|
||||
color: 64 64 64 255;
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "visible" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
part { name: "efl.content";
|
||||
type: SWALLOW;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "efl.panel_area";
|
||||
rel2.to: "efl.panel_area";
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "visible" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
program { name: "active";
|
||||
signal: "efl,state,content,visible";
|
||||
source: "efl";
|
||||
action: STATE_SET "visible" 0.0;
|
||||
target: "efl.panel_area";
|
||||
target: "efl.event_area";
|
||||
target: "bg";
|
||||
target: "efl.content";
|
||||
}
|
||||
program { name: "inactive";
|
||||
signal: "efl,state,content,hidden";
|
||||
source: "efl";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "efl.panel_area";
|
||||
target: "efl.event_area";
|
||||
target: "bg";
|
||||
target: "efl.content";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
group { name: "efl/panel/scrollable/right";
|
||||
parts {
|
||||
part { name: "efl.event_area";
|
||||
type: SWALLOW;
|
||||
description { state: "default" 0.0;
|
||||
rel2.relative: 0.0 1.0;
|
||||
align: 0.0 0.5;
|
||||
fixed: 1 1;
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "visible" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
part { name: "efl.panel_area";
|
||||
type: SWALLOW;
|
||||
description { state: "default" 0.0;
|
||||
rel1 {
|
||||
relative: 1.0 0.0;
|
||||
to: "efl.event_area";
|
||||
}
|
||||
rel2 {
|
||||
relative: 1.0 1.0;
|
||||
to: "efl.event_area";
|
||||
}
|
||||
align: 0.0 0.5;
|
||||
fixed: 1 1;
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "visible" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
part { name: "access.outline";
|
||||
type: RECT;
|
||||
repeat_events: 1;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "efl.panel_area";
|
||||
rel2.to: "efl.panel_area";
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
}
|
||||
part { name: "bg";
|
||||
type: RECT;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "efl.panel_area";
|
||||
rel2.to: "efl.panel_area";
|
||||
color: 64 64 64 255;
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "visible" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
part { name: "efl.content";
|
||||
type: SWALLOW;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "efl.panel_area";
|
||||
rel2.to: "efl.panel_area";
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "visible" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
program { name: "active";
|
||||
signal: "efl,state,content,visible";
|
||||
source: "efl";
|
||||
action: STATE_SET "visible" 0.0;
|
||||
target: "efl.panel_area";
|
||||
target: "efl.event_area";
|
||||
target: "bg";
|
||||
target: "efl.content";
|
||||
}
|
||||
program { name: "inactive";
|
||||
signal: "efl,state,content,hidden";
|
||||
source: "efl";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "efl.panel_area";
|
||||
target: "efl.event_area";
|
||||
target: "bg";
|
||||
target: "efl.content";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
group { name: "efl/panel/scrollable/top";
|
||||
parts {
|
||||
part { name: "efl.panel_area";
|
||||
type: SWALLOW;
|
||||
description { state: "default" 0.0;
|
||||
rel2.relative: 1.0 0.0;
|
||||
align: 0.5 0.0;
|
||||
fixed: 1 1;
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "visible" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
part { name: "efl.event_area";
|
||||
type: SWALLOW;
|
||||
description { state: "default" 0.0;
|
||||
rel1 {
|
||||
relative: 0.0 1.0;
|
||||
to: "efl.panel_area";
|
||||
}
|
||||
rel2 {
|
||||
relative: 1.0 1.0;
|
||||
to: "efl.panel_area";
|
||||
}
|
||||
align: 0.5 0.0;
|
||||
fixed: 1 1;
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "visible" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
part { name: "access.outline";
|
||||
type: RECT;
|
||||
repeat_events: 1;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "efl.panel_area";
|
||||
rel2.to: "efl.panel_area";
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
}
|
||||
part { name: "bg";
|
||||
type: RECT;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "efl.panel_area";
|
||||
rel2.to: "efl.panel_area";
|
||||
color: 64 64 64 255;
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "visible" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
part { name: "efl.content";
|
||||
type: SWALLOW;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "efl.panel_area";
|
||||
rel2.to: "efl.panel_area";
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "visible" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
program { name: "active";
|
||||
signal: "efl,state,content,visible";
|
||||
source: "efl";
|
||||
action: STATE_SET "visible" 0.0;
|
||||
target: "efl.panel_area";
|
||||
target: "efl.event_area";
|
||||
target: "bg";
|
||||
target: "efl.content";
|
||||
}
|
||||
program { name: "inactive";
|
||||
signal: "efl,state,content,hidden";
|
||||
source: "efl";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "efl.panel_area";
|
||||
target: "efl.event_area";
|
||||
target: "bg";
|
||||
target: "efl.content";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
group { name: "efl/panel/scrollable/bottom";
|
||||
parts {
|
||||
part { name: "efl.event_area";
|
||||
type: SWALLOW;
|
||||
description { state: "default" 0.0;
|
||||
rel2.relative: 1.0 0.0;
|
||||
align: 0.5 0.0;
|
||||
fixed: 1 1;
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "visible" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
part { name: "efl.panel_area";
|
||||
type: SWALLOW;
|
||||
description { state: "default" 0.0;
|
||||
rel1 {
|
||||
relative: 0.0 1.0;
|
||||
to: "efl.event_area";
|
||||
}
|
||||
rel2 {
|
||||
relative: 1.0 1.0;
|
||||
to: "efl.event_area";
|
||||
}
|
||||
align: 0.5 0.0;
|
||||
fixed: 1 1;
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "visible" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
part { name: "access.outline";
|
||||
type: RECT;
|
||||
repeat_events: 1;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "efl.panel_area";
|
||||
rel2.to: "efl.panel_area";
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
}
|
||||
part { name: "bg";
|
||||
type: RECT;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "efl.panel_area";
|
||||
rel2.to: "efl.panel_area";
|
||||
color: 64 64 64 255;
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "visible" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
part { name: "efl.content";
|
||||
type: SWALLOW;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "efl.panel_area";
|
||||
rel2.to: "efl.panel_area";
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "visible" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
program { name: "active";
|
||||
signal: "efl,state,content,visible";
|
||||
source: "efl";
|
||||
action: STATE_SET "visible" 0.0;
|
||||
target: "efl.panel_area";
|
||||
target: "efl.event_area";
|
||||
target: "bg";
|
||||
target: "efl.content";
|
||||
}
|
||||
program { name: "inactive";
|
||||
signal: "efl,state,content,hidden";
|
||||
source: "efl";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "efl.panel_area";
|
||||
target: "efl.event_area";
|
||||
target: "bg";
|
||||
target: "efl.content";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
group { name: "efl/panel/left";
|
||||
images.image: "bevel_out.png" COMP;
|
||||
images.image: "shine.png" COMP;
|
||||
images.image: "shadow_square_tiny.png" COMP;
|
||||
images.image: "holes_tiny_glow_vert.png" COMP;
|
||||
images.image: "holes_tiny_glow_horiz.png" COMP;
|
||||
images.image: "win_glow.png" COMP;
|
||||
images.image: "icon_arrow_right.png" COMP;
|
||||
images.image: "icon_arrow_left.png" COMP;
|
||||
images.image: "icon_arrow_up.png" COMP;
|
||||
images.image: "icon_arrow_down.png" COMP;
|
||||
data.item: "focus_highlight" "on";
|
||||
script {
|
||||
public is_rtl = 0;
|
||||
}
|
||||
parts {
|
||||
part { name: "shadow"; mouse_events: 0;
|
||||
description { state: "default" 0.0;
|
||||
rel1.offset: -3 -2;
|
||||
rel1.to: "base";
|
||||
rel2.offset: 2 4;
|
||||
rel2.to: "base";
|
||||
image.normal: "shadow_square_tiny.png";
|
||||
image.border: 6 6 6 6;
|
||||
fill.smooth: 0;
|
||||
}
|
||||
}
|
||||
part { name: "glow"; mouse_events: 0;
|
||||
description { state: "default" 0.0;
|
||||
image.normal: "win_glow.png";
|
||||
image.border: 9 9 9 9;
|
||||
image.middle: 0;
|
||||
rel1.offset: -5 -5;
|
||||
rel1.to: "base";
|
||||
rel2.offset: 4 4;
|
||||
rel2.to: "base";
|
||||
fill.smooth: 0;
|
||||
color: 255 255 255 0;
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "focused" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
color: 255 255 255 255;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
part { name: "all"; type: SPACER;
|
||||
description { state: "default" 0.0;
|
||||
}
|
||||
}
|
||||
part { name: "base"; type: RECT;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to_x: "all";
|
||||
rel2.to_x: "efl.swallow.event";
|
||||
rel2.relative: 0.0 1.0;
|
||||
rel2.offset: -4 -1;
|
||||
color: 64 64 64 255;
|
||||
}
|
||||
}
|
||||
part { name: "efl.content"; type: SWALLOW;
|
||||
description { state: "default" 0.0;
|
||||
rel1.offset: 4 4;
|
||||
rel1.to: "base";
|
||||
rel2.offset: -5 -5;
|
||||
rel2.to: "base";
|
||||
}
|
||||
}
|
||||
part { name: "bevel"; mouse_events: 0;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "base";
|
||||
rel2.to: "base";
|
||||
image.normal: "bevel_out.png";
|
||||
image.border: 1 1 1 1;
|
||||
image.middle: 0;
|
||||
fill.smooth: 0;
|
||||
}
|
||||
}
|
||||
part { name: "shine"; mouse_events: 0;
|
||||
description { state: "default" 0.0;
|
||||
image.normal: "shine.png";
|
||||
rel1.offset: 0 -2;
|
||||
rel1.to: "base";
|
||||
rel2.relative: 1.0 0.0;
|
||||
rel2.offset: -1 2;
|
||||
rel2.to: "base";
|
||||
FIXED_SIZE(69, 5)
|
||||
}
|
||||
}
|
||||
part { name: "efl.swallow.event"; type: SWALLOW;
|
||||
description { state: "default" 0.0;
|
||||
fixed: 1 1;
|
||||
min: 20 20;
|
||||
max: 20 20;
|
||||
align: 1.0 0.5;
|
||||
rel1.relative: 1.0 0.0;
|
||||
rel2.relative: 1.0 1.0;
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
description { state: "hidden" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
align: 0.0 0.5;
|
||||
rel1.relative: 0.0 0.0;
|
||||
rel2.relative: 0.0 1.0;
|
||||
}
|
||||
}
|
||||
part { name: "btn"; type: RECT;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "efl.swallow.event";
|
||||
rel2.to: "efl.swallow.event";
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
description { state: "hidden" 0.0;
|
||||
rel1.to: "efl.swallow.event";
|
||||
rel2.to: "efl.swallow.event";
|
||||
}
|
||||
}
|
||||
part { name: "dots"; mouse_events: 0;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "icn";
|
||||
rel2.to: "icn";
|
||||
align: 0.0 0.5;
|
||||
image.normal: "holes_tiny_glow_vert.png";
|
||||
FIXED_SIZE(11, 17)
|
||||
}
|
||||
}
|
||||
part { name: "icn"; mouse_events: 0;
|
||||
scale: 1;
|
||||
description { state: "default" 0.0;
|
||||
fixed: 1 1;
|
||||
min: 20 20;
|
||||
max: 20 20;
|
||||
rel1.to: "btn";
|
||||
rel2.to: "btn";
|
||||
image.normal: "icon_arrow_left.png";
|
||||
}
|
||||
description { state: "hidden" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
image.normal: "icon_arrow_right.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
program {
|
||||
signal: "mouse,clicked,1"; source: "btn";
|
||||
action: SIGNAL_EMIT "efl,action,panel,toggle" "efl";
|
||||
}
|
||||
program {
|
||||
signal: "efl,action,show"; source: "efl";
|
||||
action: STATE_SET "default" 0.0;
|
||||
transition: DECELERATE 0.3;
|
||||
target: "efl.swallow.event";
|
||||
target: "base";
|
||||
}
|
||||
program {
|
||||
signal: "efl,action,show"; source: "efl";
|
||||
script {
|
||||
if (get_int(is_rtl) == 0)
|
||||
set_state(PART:"icn", "default", 0.0);
|
||||
else
|
||||
set_state(PART:"icn", "hidden", 0.0);
|
||||
}
|
||||
}
|
||||
program {
|
||||
signal: "edje,state,rtl";
|
||||
source: "edje";
|
||||
script {
|
||||
new st[31];
|
||||
new Float:vl;
|
||||
get_state(PART:"efl.swallow.event", st, 30, vl);
|
||||
if (!strcmp(st, "default"))
|
||||
set_state(PART:"icn", "hidden", 0.0);
|
||||
else
|
||||
set_state(PART:"icn", "default", 0.0);
|
||||
set_int(is_rtl, 1);
|
||||
}
|
||||
}
|
||||
program {
|
||||
signal: "edje,state,ltr";
|
||||
source: "edje";
|
||||
script {
|
||||
new st[31];
|
||||
new Float:vl;
|
||||
get_state(PART:"efl.swallow.event", st, 30, vl);
|
||||
if (!strcmp(st, "default"))
|
||||
set_state(PART:"icn", "default", 0.0);
|
||||
else
|
||||
set_state(PART:"icn", "hidden", 0.0);
|
||||
set_int(is_rtl, 0);
|
||||
}
|
||||
}
|
||||
program {
|
||||
signal: "efl,action,hide"; source: "efl";
|
||||
action: STATE_SET "hidden" 0.0;
|
||||
transition: ACCELERATE 0.3;
|
||||
target: "efl.swallow.event";
|
||||
}
|
||||
program {
|
||||
signal: "efl,action,hide"; source: "efl";
|
||||
script {
|
||||
if (get_int(is_rtl) == 0)
|
||||
set_state(PART:"icn", "hidden", 0.0);
|
||||
else
|
||||
set_state(PART:"icn", "default", 0.0);
|
||||
}
|
||||
}
|
||||
program { name: "hide1";
|
||||
signal: "efl,action,hide"; source: "efl";
|
||||
script {
|
||||
new x, y, w, h;
|
||||
if (get_int(is_rtl) == 0)
|
||||
{
|
||||
custom_state(PART:"base", "default", 0.0);
|
||||
set_state_val(PART:"base", STATE_REL1, -1.0, 0.0);
|
||||
get_geometry(PART:"efl.swallow.event", x, y, w, h);
|
||||
set_state_val(PART:"base", STATE_REL1_OFFSET, w, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
custom_state(PART:"base", "default", 0.0);
|
||||
set_state_val(PART:"base", STATE_REL1, -1.0, 0.0);
|
||||
set_state_val(PART:"base", STATE_REL2, -2.0, 1.0);
|
||||
get_geometry(PART:"efl.swallow.event", x, y, w, h);
|
||||
set_state_val(PART:"base", STATE_REL2_OFFSET, -w, 0);
|
||||
}
|
||||
}
|
||||
after: "hide2";
|
||||
}
|
||||
program { name: "hide2";
|
||||
action: STATE_SET "custom" 0.0;
|
||||
transition: ACCELERATE 0.3;
|
||||
target: "base";
|
||||
}
|
||||
program {
|
||||
signal: "efl,action,focus_highlight,show"; source: "efl";
|
||||
action: STATE_SET "focused" 0.0;
|
||||
transition: ACCELERATE 0.2;
|
||||
target: "glow";
|
||||
}
|
||||
program {
|
||||
signal: "efl,action,focus_highlight,hide"; source: "efl";
|
||||
action: STATE_SET "default" 0.0;
|
||||
transition: DECELERATE 0.5;
|
||||
target: "glow";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
group { name: "efl/panel/right";
|
||||
inherit: "efl/panel/left";
|
||||
parts {
|
||||
part { name: "base";
|
||||
description { state: "default" 0.0;
|
||||
rel1.relative: 1.0 0.0;
|
||||
rel1.to_x: "efl.swallow.event";
|
||||
rel1.offset: 3 0;
|
||||
rel2.relative: 1.0 1.0;
|
||||
rel2.to_x: "all";
|
||||
rel2.offset: -1 -1;
|
||||
}
|
||||
}
|
||||
part { name: "efl.swallow.event";
|
||||
description { state: "default" 0.0;
|
||||
align: 0.0 0.5;
|
||||
rel1.relative: 0.0 0.0;
|
||||
rel2.relative: 0.0 1.0;
|
||||
}
|
||||
description { state: "hidden" 0.0;
|
||||
align: 1.0 0.5;
|
||||
rel1.relative: 1.0 0.0;
|
||||
rel2.relative: 1.0 1.0;
|
||||
}
|
||||
}
|
||||
part { name: "dots";
|
||||
description { state: "default" 0.0;
|
||||
align: 1.0 0.5;
|
||||
}
|
||||
}
|
||||
part { name: "icn";
|
||||
description { state: "default" 0.0;
|
||||
image.normal: "icon_arrow_right.png";
|
||||
}
|
||||
description { state: "hidden" 0.0;
|
||||
image.normal: "icon_arrow_left.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
program { name: "hide1";
|
||||
script {
|
||||
new x, y, w, h;
|
||||
|
||||
custom_state(PART:"base", "default", 0.0);
|
||||
set_state_val(PART:"base", STATE_REL1, 1.0, 0.0);
|
||||
set_state_val(PART:"base", STATE_REL2, 2.0, 1.0);
|
||||
get_geometry(PART:"efl.swallow.event", x, y, w, h);
|
||||
set_state_val(PART:"base", STATE_REL2_OFFSET, -w, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
group { name: "efl/panel/top";
|
||||
inherit: "efl/panel/left";
|
||||
parts {
|
||||
part { name: "base";
|
||||
description { state: "default" 0.0;
|
||||
rel1.relative: 0.0 0.0;
|
||||
rel1.to_x: "all";
|
||||
rel1.to_y: "all";
|
||||
rel1.offset: 0 0;
|
||||
rel2.relative: 1.0 0.0;
|
||||
rel2.to_x: "all";
|
||||
rel2.to_y: "efl.swallow.event";
|
||||
rel2.offset: -1 -4;
|
||||
}
|
||||
}
|
||||
part { name: "efl.swallow.event";
|
||||
description { state: "default" 0.0;
|
||||
align: 0.5 1.0;
|
||||
rel1.relative: 0.0 1.0;
|
||||
rel2.relative: 1.0 1.0;
|
||||
}
|
||||
description { state: "hidden" 0.0;
|
||||
align: 0.5 0.0;
|
||||
rel1.relative: 0.0 0.0;
|
||||
rel2.relative: 1.0 0.0;
|
||||
}
|
||||
}
|
||||
part { name: "dots";
|
||||
description { state: "default" 0.0;
|
||||
align: 0.5 0.0;
|
||||
image.normal: "holes_tiny_glow_horiz.png";
|
||||
FIXED_SIZE(17, 11)
|
||||
}
|
||||
}
|
||||
part { name: "icn";
|
||||
description { state: "default" 0.0;
|
||||
image.normal: "icon_arrow_up.png";
|
||||
}
|
||||
description { state: "hidden" 0.0;
|
||||
image.normal: "icon_arrow_down.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
program { name: "hide1";
|
||||
script {
|
||||
new x, y, w, h;
|
||||
|
||||
custom_state(PART:"base", "default", 0.0);
|
||||
set_state_val(PART:"base", STATE_REL1, 0.0, -1.0);
|
||||
set_state_val(PART:"base", STATE_REL2, 1.0, 0.0);
|
||||
get_geometry(PART:"efl.swallow.event", x, y, w, h);
|
||||
set_state_val(PART:"base", STATE_REL1_OFFSET, 0, h);
|
||||
}
|
||||
}
|
||||
program {
|
||||
signal: "efl,action,show"; source: "efl";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "icn";
|
||||
}
|
||||
program {
|
||||
signal: "edje,state,rtl";
|
||||
source: "edje";
|
||||
script {
|
||||
new st[31];
|
||||
new Float:vl;
|
||||
get_state(PART:"efl.swallow.event", st, 30, vl);
|
||||
if (!strcmp(st, "default"))
|
||||
set_state(PART:"icn", "default", 0.0);
|
||||
else
|
||||
set_state(PART:"icn", "hidden", 0.0);
|
||||
}
|
||||
}
|
||||
program {
|
||||
signal: "edje,state,ltr";
|
||||
source: "edje";
|
||||
script {
|
||||
new st[31];
|
||||
new Float:vl;
|
||||
get_state(PART:"efl.swallow.event", st, 30, vl);
|
||||
if (!strcmp(st, "default"))
|
||||
set_state(PART:"icn", "default", 0.0);
|
||||
else
|
||||
set_state(PART:"icn", "hidden", 0.0);
|
||||
}
|
||||
}
|
||||
program {
|
||||
signal: "efl,action,hide"; source: "efl";
|
||||
action: STATE_SET "hidden" 0.0;
|
||||
target: "icn";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
group { name: "efl/panel/bottom";
|
||||
inherit: "efl/panel/top";
|
||||
parts {
|
||||
part { name: "base";
|
||||
description { state: "default" 0.0;
|
||||
rel1.relative: 0.0 1.0;
|
||||
rel1.to_x: "all";
|
||||
rel1.to_y: "efl.swallow.event";
|
||||
rel1.offset: 0 3;
|
||||
rel2.relative: 1.0 1.0;
|
||||
rel2.to_x: "all";
|
||||
rel2.to_y: "all";
|
||||
rel2.offset: -1 -1;
|
||||
}
|
||||
}
|
||||
part { name: "efl.swallow.event";
|
||||
description { state: "default" 0.0;
|
||||
align: 0.5 0.0;
|
||||
rel1.relative: 0.0 0.0;
|
||||
rel2.relative: 1.0 0.0;
|
||||
}
|
||||
description { state: "hidden" 0.0;
|
||||
align: 0.5 1.0;
|
||||
rel1.relative: 0.0 1.0;
|
||||
rel2.relative: 1.0 1.0;
|
||||
}
|
||||
}
|
||||
part { name: "dots";
|
||||
description { state: "default" 0.0;
|
||||
align: 0.5 0.0;
|
||||
image.normal: "holes_tiny_glow_horiz.png";
|
||||
FIXED_SIZE(17, 11)
|
||||
}
|
||||
}
|
||||
part { name: "icn";
|
||||
description { state: "default" 0.0;
|
||||
image.normal: "icon_arrow_down.png";
|
||||
}
|
||||
description { state: "hidden" 0.0;
|
||||
image.normal: "icon_arrow_up.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
program { name: "hide1";
|
||||
script {
|
||||
new x, y, w, h;
|
||||
custom_state(PART:"base", "default", 0.0);
|
||||
set_state_val(PART:"base", STATE_REL1, 0.0, 1.0);
|
||||
set_state_val(PART:"base", STATE_REL2, 1.0, 2.0);
|
||||
get_geometry(PART:"efl.swallow.event", x, y, w, h);
|
||||
set_state_val(PART:"base", STATE_REL2_OFFSET, 0, -h);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -23,9 +23,9 @@ group { "efl/popup";
|
|||
}
|
||||
}
|
||||
|
||||
group { "efl/popup_alert";
|
||||
alias: "efl/popup_alert_scroll";
|
||||
alias: "efl/popup_alert_text";
|
||||
group { "efl/alert_popup";
|
||||
alias: "efl/scroll_alert_popup";
|
||||
alias: "efl/text_alert_popup";
|
||||
images.image: "rounded_square.png" COMP;
|
||||
parts {
|
||||
alias: "title" "efl.text.title";
|
||||
|
@ -111,15 +111,15 @@ group { "efl/popup_alert";
|
|||
}
|
||||
}
|
||||
|
||||
group { "efl/popup_anchor";
|
||||
group { "efl/anchor_popup";
|
||||
inherit: "efl/popup";
|
||||
}
|
||||
|
||||
group { "efl/popup/backwall";
|
||||
alias: "efl/popup_alert/backwall";
|
||||
alias: "efl/popup_alert_scroll/backwall";
|
||||
alias: "efl/popup_alert_text/backwall";
|
||||
alias: "efl/popup_anchor/backwall";
|
||||
alias: "efl/alert_popup/backwall";
|
||||
alias: "efl/scroll_alert_popup/backwall";
|
||||
alias: "efl/text_alert_popup/backwall";
|
||||
alias: "efl/anchor_popup/backwall";
|
||||
parts {
|
||||
rect { "base";
|
||||
desc { "default";
|
||||
|
@ -168,18 +168,18 @@ group { "efl/popup/backwall";
|
|||
}
|
||||
}
|
||||
|
||||
group { "efl/popup_alert/button_layout1";
|
||||
alias: "efl/popup_alert_scroll/button_layout1";
|
||||
alias: "efl/popup_alert_text/button_layout1";
|
||||
group { "efl/alert_popup/button_layout1";
|
||||
alias: "efl/scroll_alert_popup/button_layout1";
|
||||
alias: "efl/text_alert_popup/button_layout1";
|
||||
parts {
|
||||
swallow { "efl.button1";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
group { "efl/popup_alert/button_layout2";
|
||||
alias: "efl/popup_alert_scroll/button_layout2";
|
||||
alias: "efl/popup_alert_text/button_layout2";
|
||||
group { "efl/alert_popup/button_layout2";
|
||||
alias: "efl/scroll_alert_popup/button_layout2";
|
||||
alias: "efl/text_alert_popup/button_layout2";
|
||||
parts {
|
||||
spacer { "div1";
|
||||
desc { "default";
|
||||
|
@ -203,9 +203,9 @@ group { "efl/popup_alert/button_layout2";
|
|||
}
|
||||
}
|
||||
|
||||
group { "efl/popup_alert/button_layout3";
|
||||
alias: "efl/popup_alert_scroll/button_layout3";
|
||||
alias: "efl/popup_alert_text/button_layout3";
|
||||
group { "efl/alert_popup/button_layout3";
|
||||
alias: "efl/scroll_alert_popup/button_layout3";
|
||||
alias: "efl/text_alert_popup/button_layout3";
|
||||
parts {
|
||||
spacer { "div1";
|
||||
desc { "default";
|
||||
|
@ -244,15 +244,15 @@ group { "efl/popup_alert/button_layout3";
|
|||
}
|
||||
}
|
||||
|
||||
group { "efl/popup_alert/button";
|
||||
group { "efl/alert_popup/button";
|
||||
inherit: "efl/button";
|
||||
alias: "efl/popup_alert_scroll/button";
|
||||
alias: "efl/popup_alert_text/button";
|
||||
alias: "efl/scroll_alert_popup/button";
|
||||
alias: "efl/text_alert_popup/button";
|
||||
}
|
||||
|
||||
group { "efl/popup_alert_scroll/scroller";
|
||||
group { "efl/scroll_alert_popup/scroller";
|
||||
inherit: "efl/scroller";
|
||||
alias: "efl/popup_alert_text/scroller";
|
||||
alias: "efl/text_alert_popup/scroller";
|
||||
parts {
|
||||
swallow { "efl.content";
|
||||
desc { "default";
|
||||
|
@ -273,6 +273,6 @@ group { "efl/popup_alert_scroll/scroller";
|
|||
}
|
||||
}
|
||||
|
||||
group { "efl/popup_alert_text/text";
|
||||
group { "efl/text_alert_popup/text";
|
||||
inherit: "efl/text";
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
group { "efl/spin_button";
|
||||
group { "efl/spin_button/horizontal";
|
||||
images.image: "vert_bar_inset.png" COMP;
|
||||
parts {
|
||||
rect { "clip";
|
||||
|
@ -53,11 +53,6 @@ group { "efl/spin_button";
|
|||
scale;
|
||||
desc { "default";
|
||||
fixed: 1 0;
|
||||
rel1.to: "inset";
|
||||
rel1.offset: 1 1;
|
||||
rel2.to: "inset";
|
||||
rel2.offset: 1 -2;
|
||||
rel2.relative: 0.0 1.0;
|
||||
align: 0.0 0.5;
|
||||
min: 15 15;
|
||||
aspect: 1.0 1.0; aspect_preference: VERTICAL;
|
||||
|
@ -67,11 +62,6 @@ group { "efl/spin_button";
|
|||
scale;
|
||||
desc { "default";
|
||||
fixed: 1 0;
|
||||
rel1.to: "inset";
|
||||
rel1.offset: 1 1;
|
||||
rel1.relative: 1.0 0.0;
|
||||
rel2.to: "inset";
|
||||
rel2.offset: 1 -2;
|
||||
align: 1.0 0.5;
|
||||
min: 15 15;
|
||||
aspect: 1.0 1.0; aspect_preference: VERTICAL;
|
||||
|
@ -160,47 +150,53 @@ group { "efl/spin_button";
|
|||
}
|
||||
}
|
||||
|
||||
group { "efl/spin_button:vertical";
|
||||
inherit: "efl/spin_button";
|
||||
group { "efl/spin_button/vertical";
|
||||
inherit: "efl/spin_button/horizontal";
|
||||
parts {
|
||||
image { "inset"; nomouse;
|
||||
desc { "default";
|
||||
min: 40 150;
|
||||
}
|
||||
}
|
||||
swallow { "efl.inc_button";
|
||||
scale;
|
||||
desc { "default";
|
||||
rel1.to: "inset";
|
||||
rel1.offset: 1 1;
|
||||
rel1.relative: 1.0 0.0;
|
||||
rel2.to: "inset";
|
||||
rel2.offset: 1 -2;
|
||||
align: 1.0 0.5;
|
||||
}
|
||||
}
|
||||
swallow { "efl.text_button";
|
||||
scale;
|
||||
desc { "default";
|
||||
vis;
|
||||
rel1.to_y: "inset";
|
||||
rel1.to_x: "efl.dec_button";
|
||||
rel1.relative: 1.0 0.0;
|
||||
rel1.offset: 1 1;
|
||||
rel2.to_y: "inset";
|
||||
rel2.to_x: "efl.inc_button";
|
||||
rel2.relative: 0.0 1.0;
|
||||
rel2.offset: -2 -2;
|
||||
}
|
||||
desc { "active";
|
||||
inherit: "default";
|
||||
hid;
|
||||
rel.to: "inset";
|
||||
align: 0.5 0.0;
|
||||
min: 40 40;
|
||||
max: 40 40;
|
||||
fixed: 1 1;
|
||||
}
|
||||
}
|
||||
swallow { "efl.dec_button";
|
||||
scale;
|
||||
desc { "default";
|
||||
rel1.to: "inset";
|
||||
rel1.offset: 1 1;
|
||||
rel2.to: "inset";
|
||||
rel2.offset: 1 -2;
|
||||
rel2.relative: 0.0 1.0;
|
||||
align: 0.0 0.5;
|
||||
rel.to: "inset";
|
||||
align: 0.5 1.0;
|
||||
min: 40 40;
|
||||
max: 40 40;
|
||||
fixed: 1 1;
|
||||
}
|
||||
}
|
||||
swallow { "efl.text_button";
|
||||
scale;
|
||||
desc { "default";
|
||||
rel.to_x: "inset";
|
||||
rel1 {
|
||||
to_y: "efl.inc_button";
|
||||
relative: 0.0 1.0;
|
||||
}
|
||||
rel2 {
|
||||
to_y: "efl.dec_button";
|
||||
relative: 1.0 0.0;
|
||||
}
|
||||
min: 0 70;
|
||||
max: -1 70;
|
||||
fixed: 0 1;
|
||||
}
|
||||
desc { "inactive";
|
||||
inherit: "default";
|
||||
hid;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -357,6 +353,7 @@ group { "efl/spin_button/inc_button";
|
|||
}
|
||||
|
||||
group { "efl/spin_button/entry";
|
||||
alias: "efl/spin_button/vertical/entry";
|
||||
inherit: "efl/text";
|
||||
}
|
||||
|
||||
|
@ -386,7 +383,7 @@ group { "efl/spin_button/dec_button";
|
|||
}
|
||||
|
||||
group { "efl/spin_button/text_button";
|
||||
alias: "efl/spin_button/text_button:vertical";
|
||||
alias: "efl/spin_button/vertical/text_button";
|
||||
parts {
|
||||
part { name: "bg";
|
||||
type: SPACER;
|
||||
|
@ -462,7 +459,7 @@ group { "efl/spin_button/text_button";
|
|||
}
|
||||
}
|
||||
|
||||
group { "efl/spin_button/inc_button:vertical";
|
||||
group { "efl/spin_button/vertical/inc_button";
|
||||
inherit: "efl/spin_button/inc_button";
|
||||
images.image: "sym_up_light_normal.png" COMP;
|
||||
images.image: "sym_up_glow_normal.png" COMP;
|
||||
|
@ -487,7 +484,7 @@ group { "efl/spin_button/inc_button:vertical";
|
|||
}
|
||||
}
|
||||
|
||||
group { "efl/spin_button/dec_button:vertical";
|
||||
group { "efl/spin_button/vertical/dec_button";
|
||||
inherit: "efl/spin_button/dec_button";
|
||||
images.image: "sym_down_light_normal.png" COMP;
|
||||
images.image: "sym_down_glow_normal.png" COMP;
|
||||
|
|
|
@ -484,7 +484,7 @@ group { "efl/tab_bar/tab";
|
|||
action: SIGNAL_EMIT "efl,mouse,out" "efl";
|
||||
}
|
||||
program { name: "st1";
|
||||
signal: "efl,text,hidden"; source: "efl";
|
||||
signal: "efl,state,text,unset"; source: "efl";
|
||||
script {
|
||||
new m = get_int(btmode);
|
||||
m &= ~LABEL; set_int(btmode, m);
|
||||
|
@ -492,7 +492,7 @@ group { "efl/tab_bar/tab";
|
|||
}
|
||||
}
|
||||
program { name: "st2";
|
||||
signal: "efl,text,visible"; source: "efl";
|
||||
signal: "efl,state,text,set"; source: "efl";
|
||||
script {
|
||||
new m = get_int(btmode);
|
||||
m |= LABEL; set_int(btmode, m);
|
||||
|
@ -500,7 +500,7 @@ group { "efl/tab_bar/tab";
|
|||
}
|
||||
}
|
||||
program { name: "st3";
|
||||
signal: "efl,icon,hidden"; source: "efl";
|
||||
signal: "efl,state,icon,unset"; source: "efl";
|
||||
script {
|
||||
new m = get_int(btmode);
|
||||
m &= ~ICON; set_int(btmode, m);
|
||||
|
@ -508,7 +508,7 @@ group { "efl/tab_bar/tab";
|
|||
}
|
||||
}
|
||||
program { name: "st4";
|
||||
signal: "efl,icon,visible"; source: "efl";
|
||||
signal: "efl,state,icon,set"; source: "efl";
|
||||
script {
|
||||
new m = get_int(btmode);
|
||||
m |= ICON; set_int(btmode, m);
|
||||
|
@ -537,16 +537,8 @@ group { "efl/tab_bar/tab";
|
|||
target: "shadow1";
|
||||
target: "shadow2";
|
||||
}
|
||||
program {
|
||||
signal: "efl,state,icon_set,forward"; source: "efl";
|
||||
after: "icon_set,animation";
|
||||
}
|
||||
program {
|
||||
signal: "efl,state,icon_set,backward"; source: "efl";
|
||||
after: "icon_set,animation";
|
||||
}
|
||||
program { name: "icon_set,animation";
|
||||
signal: "efl,state,icon_set"; source: "efl";
|
||||
signal: "efl,state,icon_new,set"; source: "efl";
|
||||
action: STATE_SET "animation" 0.0;
|
||||
target: "icon_clip1";
|
||||
target: "icon_clip2";
|
||||
|
|
|
@ -506,6 +506,15 @@ group { "efl/text/anchor";
|
|||
}
|
||||
|
||||
group { "efl/text";
|
||||
data {
|
||||
item: "font.name" "Sans";
|
||||
item: "font.size" "10";
|
||||
item: "style.color" "#fff";
|
||||
|
||||
item: "guide.font.name" "Sans";
|
||||
item: "guide.font.size" "10";
|
||||
item: "guide.style.color" "#666";
|
||||
}
|
||||
sounds {
|
||||
sample { name: "key-tap1" LOSSY 64;
|
||||
source: "kbd-tap.wav";
|
||||
|
@ -536,21 +545,6 @@ group { "efl/text";
|
|||
rel2.offset: -2 -2;
|
||||
}
|
||||
}
|
||||
part { name: "efl.guide"; type: TEXTBLOCK; mouse_events: 0;
|
||||
scale: 1;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "efl.text";
|
||||
rel2.to: "efl.text";
|
||||
text { style: "efl_ui_text_guide_style";
|
||||
min: 0 1;
|
||||
align: 0.0 0.0;
|
||||
}
|
||||
}
|
||||
description { state: "hidden" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 0;
|
||||
}
|
||||
}
|
||||
part { name: "efl.text"; type: SWALLOW;
|
||||
scale: 1;
|
||||
description { state: "default" 0.0;
|
||||
|
@ -563,6 +557,17 @@ group { "efl/text";
|
|||
inherit: "default" 0.0;
|
||||
}
|
||||
}
|
||||
part { name: "efl.text_guide"; type: SWALLOW;
|
||||
scale: 1;
|
||||
description { state: "default" 0.0;
|
||||
fixed: 0 0;
|
||||
rel1.offset: 2 2;
|
||||
rel2.offset: -3 -3;
|
||||
}
|
||||
description { state: "disabled" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
program {
|
||||
|
|
|
@ -377,21 +377,6 @@ group { "efl/timepicker";
|
|||
}
|
||||
}
|
||||
|
||||
group { "efl/timepicker/spin_button";
|
||||
inherit: "efl/datepicker/spin_button";
|
||||
}
|
||||
|
||||
group { "efl/timepicker/spin_button/text_button";
|
||||
inherit: "efl/spin_button/text_button";
|
||||
}
|
||||
|
||||
group { "efl/timepicker/spin_button/inc_button";
|
||||
inherit: "efl/spin_button/inc_button:vertical";
|
||||
}
|
||||
|
||||
group { "efl/timepicker/spin_button/dec_button";
|
||||
inherit: "efl/spin_button/dec_button:vertical";
|
||||
}
|
||||
group { "efl/timepicker/button";
|
||||
inherit: "efl/button";
|
||||
parts {
|
||||
|
|
|
@ -702,29 +702,6 @@ group { name: "elm/button/base/media_player/prev/default";
|
|||
target: "shadow1";
|
||||
target: "shadow2";
|
||||
}
|
||||
program {
|
||||
signal: "mouse,up,1"; source: "event";
|
||||
action: SIGNAL_EMIT "elm,action,unpress" "elm";
|
||||
after: "button_unclick_anim";
|
||||
}
|
||||
program { name: "button_unclick_anim";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "shadow1";
|
||||
target: "shadow2";
|
||||
}
|
||||
program {
|
||||
signal: "elm,anim,activate"; source: "elm";
|
||||
action: STATE_SET "clicked" 0.0;
|
||||
target: "shadow1";
|
||||
target: "shadow2";
|
||||
after: "button_unpressed_anim";
|
||||
}
|
||||
program { name: "button_unpressed_anim";
|
||||
action: STATE_SET "default" 0.0;
|
||||
in: 0.5 0.0;
|
||||
target: "shadow1";
|
||||
target: "shadow2";
|
||||
}
|
||||
program {
|
||||
signal: "mouse,clicked,1"; source: "event";
|
||||
action: SIGNAL_EMIT "elm,action,click" "elm";
|
||||
|
|
|
@ -38,7 +38,7 @@ group { name: "elm/gengrid/item/default/default";
|
|||
} \
|
||||
program { \
|
||||
signal: "elm,state,odd"; source: "elm"; \
|
||||
action: STATE_SET "odd" 1.0; \
|
||||
action: STATE_SET "odd" 0.0; \
|
||||
target: "base"; \
|
||||
} \
|
||||
program { \
|
||||
|
|
|
@ -3292,7 +3292,7 @@ group { "elm/genlist/item/edit/default"; nomouse;
|
|||
}
|
||||
program {
|
||||
signal: "elm,state,odd";
|
||||
action: STATE_SET "odd" 1.0;
|
||||
action: STATE_SET "odd" 0.0;
|
||||
target: "base";
|
||||
}
|
||||
program {
|
||||
|
|
|
@ -1134,12 +1134,12 @@ group { name: "elm/hover/base/main_menu_submenu/default";
|
|||
program { name: "show";
|
||||
signal: "elm,action,show"; source: "elm";
|
||||
action: STATE_SET "visible" 0.0;
|
||||
target: "base";
|
||||
target: "top";
|
||||
}
|
||||
program { name: "hide";
|
||||
signal: "elm,action,hide"; source: "elm";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "base";
|
||||
target: "top";
|
||||
}
|
||||
program { name: "bottomshow";
|
||||
signal: "elm,action,slot,bottom,show"; source: "elm";
|
||||
|
|
|
@ -129,7 +129,7 @@ group { name: "elm/naviframe/item/basic/default";
|
|||
} \
|
||||
}
|
||||
BOTTOMMAX()
|
||||
|
||||
|
||||
part { name: "title1"; type: TEXT;
|
||||
scale: 1;
|
||||
description { state: "default" 0.0;
|
||||
|
@ -375,7 +375,7 @@ group { name: "elm/naviframe/item/basic/default";
|
|||
max: 1 1;
|
||||
fixed: 1 1;
|
||||
}
|
||||
description { state: "hidden" 0.0;
|
||||
description { state: "title-hidden" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 0;
|
||||
}
|
||||
|
@ -396,7 +396,7 @@ group { name: "elm/naviframe/item/basic/default";
|
|||
max: 1 1;
|
||||
fixed: 1 1;
|
||||
}
|
||||
description { state: "hidden" 0.0;
|
||||
description { state: "title-hidden" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 0;
|
||||
}
|
||||
|
@ -463,6 +463,8 @@ group { name: "elm/naviframe/item/basic/default";
|
|||
target: "shadow";
|
||||
target: "elm.swallow.content";
|
||||
target: "buttons_clip";
|
||||
target: "elm.swallow.prev_btn";
|
||||
target: "elm.swallow.next_btn";
|
||||
}
|
||||
program {
|
||||
signal: "elm,action,title,show"; source: "elm";
|
||||
|
@ -477,6 +479,8 @@ group { name: "elm/naviframe/item/basic/default";
|
|||
action: STATE_SET "default" 0.0;
|
||||
target: "buttons_clip";
|
||||
after: "title_transition_finished";
|
||||
target: "elm.swallow.prev_btn";
|
||||
target: "elm.swallow.next_btn";
|
||||
}
|
||||
program {
|
||||
signal: "elm,state,title,hide"; source: "elm";
|
||||
|
@ -485,11 +489,15 @@ group { name: "elm/naviframe/item/basic/default";
|
|||
target: "top";
|
||||
target: "shadow";
|
||||
target: "elm.swallow.content";
|
||||
target: "elm.swallow.prev_btn";
|
||||
target: "elm.swallow.next_btn";
|
||||
}
|
||||
program {
|
||||
signal: "elm,action,title,hide"; source: "elm";
|
||||
action: STATE_SET "title-hidden" 0.0;
|
||||
target: "buttons_clip";
|
||||
target: "elm.swallow.prev_btn";
|
||||
target: "elm.swallow.next_btn";
|
||||
after: "titlehide2";
|
||||
}
|
||||
program { name: "titlehide2";
|
||||
|
@ -506,21 +514,23 @@ group { name: "elm/naviframe/item/basic/default";
|
|||
program {
|
||||
signal: "elm,state,prev_btn,show"; source: "elm";
|
||||
action: STATE_SET "default" 0.0;
|
||||
filter: "elm.swallow.content" "default";
|
||||
target: "elm.swallow.prev_btn";
|
||||
}
|
||||
program {
|
||||
signal: "elm,state,prev_btn,hide"; source: "elm";
|
||||
action: STATE_SET "hidden" 0.0;
|
||||
action: STATE_SET "title-hidden" 0.0;
|
||||
target: "elm.swallow.prev_btn";
|
||||
}
|
||||
program {
|
||||
signal: "elm,state,next_btn,show"; source: "elm";
|
||||
action: STATE_SET "default" 0.0;
|
||||
filter: "elm.swallow.content" "default";
|
||||
target: "elm.swallow.next_btn";
|
||||
}
|
||||
program {
|
||||
signal: "elm,state,next_btn,hide"; source: "elm";
|
||||
action: STATE_SET "hidden" 0.0;
|
||||
action: STATE_SET "title-hidden" 0.0;
|
||||
target: "elm.swallow.next_btn";
|
||||
}
|
||||
program {
|
||||
|
@ -559,9 +569,9 @@ group { name: "elm/naviframe/item/basic/default";
|
|||
action: STATE_SET "default" 0.0;
|
||||
target: "base";
|
||||
target: "elements_clip";
|
||||
after: "pushed2";
|
||||
}
|
||||
program { name: "pushed2";
|
||||
program {
|
||||
signal: "elm,state,cur,pushed,deferred"; source: "elm";
|
||||
action: STATE_SET "prev" 0.0;
|
||||
transition: DECEL 0.5;
|
||||
target: "base";
|
||||
|
@ -578,9 +588,9 @@ group { name: "elm/naviframe/item/basic/default";
|
|||
action: STATE_SET "default" 0.0;
|
||||
target: "base";
|
||||
target: "elements_clip";
|
||||
after: "popped2";
|
||||
}
|
||||
program { name: "popped2";
|
||||
program {
|
||||
signal: "elm,state,cur,popped,deferred"; source: "elm";
|
||||
action: STATE_SET "next" 0.0;
|
||||
transition: DECEL 0.5;
|
||||
target: "base";
|
||||
|
@ -597,9 +607,9 @@ group { name: "elm/naviframe/item/basic/default";
|
|||
action: STATE_SET "next" 0.0;
|
||||
target: "base";
|
||||
target: "elements_clip";
|
||||
after: "pushedb2";
|
||||
}
|
||||
program { name: "pushedb2";
|
||||
program {
|
||||
signal: "elm,state,new,pushed,deferred"; source: "elm";
|
||||
action: STATE_SET "default" 0.0;
|
||||
transition: DECELERATE 0.5;
|
||||
target: "base";
|
||||
|
@ -616,9 +626,9 @@ group { name: "elm/naviframe/item/basic/default";
|
|||
action: STATE_SET "prev" 0.0;
|
||||
target: "base";
|
||||
target: "elements_clip";
|
||||
after: "poppedb2";
|
||||
}
|
||||
program { name: "poppedb2";
|
||||
program {
|
||||
signal: "elm,state,prev,popped,deferred"; source: "elm";
|
||||
action: STATE_SET "default" 0.0;
|
||||
transition: DECELERATE 0.5;
|
||||
target: "base";
|
||||
|
|
|
@ -0,0 +1,207 @@
|
|||
#define DATETIME_FIELD(_pos) \
|
||||
part { \
|
||||
name: "elm.field"#_pos; type: SWALLOW; \
|
||||
scale: 1; \
|
||||
clip_to: "clip"; \
|
||||
description { state: "default" 0.0; \
|
||||
visible: 0; \
|
||||
min: 0 0; \
|
||||
align: 0.0 0.5; \
|
||||
fixed: 1 1; \
|
||||
rel1.relative: 1.0 0.0; \
|
||||
rel1.to: "elm.separator"#_pos; \
|
||||
rel2.relative: 1.0 1.0; \
|
||||
rel2.to: "elm.separator"#_pos; \
|
||||
} \
|
||||
description { state: "enable" 0.0; \
|
||||
inherit: "default" 0.0; \
|
||||
visible: 1; \
|
||||
min: 8 10; \
|
||||
} \
|
||||
} \
|
||||
programs{ \
|
||||
program { name: "field_"#_pos"enabled"; \
|
||||
signal: "field"#_pos",enable"; source: "elm"; \
|
||||
action: STATE_SET "enable" 0.0; \
|
||||
target: "elm.field"#_pos; \
|
||||
} \
|
||||
program { name: "field_"#_pos"disabled"; \
|
||||
signal: "field"#_pos",disable"; source: "elm"; \
|
||||
action: STATE_SET "default" 0.0; \
|
||||
target: "elm.field"#_pos; \
|
||||
} \
|
||||
}
|
||||
#define DATETIME_SEPARATOR(_pos, _after) \
|
||||
part { \
|
||||
name: "elm.separator"#_pos; type: TEXT; \
|
||||
scale: 1; \
|
||||
effect: SHADOW BOTTOM; \
|
||||
clip_to: "disclip"; \
|
||||
description { state: "default" 0.0; \
|
||||
visible: 0; \
|
||||
min: 0 0; \
|
||||
align: 0.0 0.5; \
|
||||
fixed: 1 0; \
|
||||
rel1 { \
|
||||
relative: 1.0 0.0; \
|
||||
to: "elm.field"#_after; \
|
||||
} \
|
||||
rel2 { \
|
||||
relative: 1.0 1.0; \
|
||||
to: "elm.field"#_after; \
|
||||
} \
|
||||
color_class: "datetime_separator_text"; \
|
||||
text { \
|
||||
font: "Sans"; size: 10; \
|
||||
min: 1 0; \
|
||||
ellipsis: -1; \
|
||||
align: 0.5 0.5; \
|
||||
text_class: "datetime_separator_text"; \
|
||||
} \
|
||||
} \
|
||||
description { state: "enable" 0.0; \
|
||||
inherit: "default" 0.0; \
|
||||
visible: 1; \
|
||||
min: 8 10; \
|
||||
} \
|
||||
} \
|
||||
part { \
|
||||
name: "separator"#_pos"d"; type: TEXT; \
|
||||
scale: 1; \
|
||||
effect: SHADOW BOTTOM; \
|
||||
clip_to: "disclip2"; \
|
||||
description { state: "default" 0.0; \
|
||||
visible: 0; \
|
||||
rel1.to: "elm.separator"#_pos; \
|
||||
rel2.to: "elm.separator"#_pos; \
|
||||
color_class: "datetime_separator_text_disabled"; \
|
||||
text { \
|
||||
text_source: "elm.separator"#_pos; \
|
||||
font: "Sans"; size: 10; \
|
||||
text_class: "datetime_separator_text_disabled"; \
|
||||
} \
|
||||
} \
|
||||
description { state: "enable" 0.0; \
|
||||
inherit: "default" 0.0; \
|
||||
visible: 1; \
|
||||
} \
|
||||
} \
|
||||
programs { \
|
||||
program { \
|
||||
signal: "field"#_after",enable"; source: "elm"; \
|
||||
action: STATE_SET "enable" 0.0; \
|
||||
target: "elm.separator"#_pos; \
|
||||
target: "separator"#_pos"d"; \
|
||||
} \
|
||||
program { \
|
||||
signal: "field"#_after",disable"; source: "elm"; \
|
||||
action: STATE_SET "default" 0.0; \
|
||||
target: "elm.separator"#_pos; \
|
||||
target: "separator"#_pos"d"; \
|
||||
} \
|
||||
}
|
||||
group { name: "elm/uiclock/base/default";
|
||||
parts {
|
||||
part { name: "bg"; type: RECT;
|
||||
description { state: "default" 0.0;
|
||||
color_class: "datetime_bg";
|
||||
}
|
||||
}
|
||||
part { name: "clip"; type: RECT;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "elm.separator0";
|
||||
rel2.to: "elm.separator7";
|
||||
}
|
||||
}
|
||||
part { name: "disclip"; type: RECT;
|
||||
clip_to: "clip";
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "elm.separator0";
|
||||
rel2.to: "elm.separator7";
|
||||
}
|
||||
description { state: "disabled" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 0;
|
||||
}
|
||||
}
|
||||
part { name: "disclip2"; type: RECT;
|
||||
clip_to: "clip";
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "elm.separator0";
|
||||
rel2.to: "elm.separator7";
|
||||
visible: 0;
|
||||
}
|
||||
description { state: "disabled" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
part { name: "elm.separator0"; type: SPACER;
|
||||
scale: 1;
|
||||
description { state: "default" 0.0;
|
||||
min: 8 10;
|
||||
align: 0.0 0.5;
|
||||
fixed: 1 0;
|
||||
rel2.relative: 0.0 1.0;
|
||||
}
|
||||
}
|
||||
DATETIME_FIELD(0)
|
||||
DATETIME_SEPARATOR(1,0)
|
||||
DATETIME_FIELD(1)
|
||||
DATETIME_SEPARATOR(2,1)
|
||||
DATETIME_FIELD(2)
|
||||
DATETIME_SEPARATOR(3,2)
|
||||
DATETIME_FIELD(3)
|
||||
DATETIME_SEPARATOR(4,3)
|
||||
DATETIME_FIELD(4)
|
||||
DATETIME_SEPARATOR(5,4)
|
||||
DATETIME_FIELD(5)
|
||||
DATETIME_SEPARATOR(6,5)
|
||||
DATETIME_FIELD(6)
|
||||
DATETIME_SEPARATOR(7,6)
|
||||
DATETIME_FIELD(7)
|
||||
DATETIME_SEPARATOR(8,7)
|
||||
part { name: "elm.separator9"; type: SPACER;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "elm.separator7";
|
||||
rel1.relative: 1.0 0.0;
|
||||
min: 8 10;
|
||||
}
|
||||
}
|
||||
part { name: "discover"; type: RECT;
|
||||
description { state: "default" 0.0;
|
||||
rel1.to: "elm.separator0";
|
||||
rel2.to: "elm.separator7";
|
||||
visible: 0;
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
description { state: "disabled" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
}
|
||||
}
|
||||
part { name: "elm.access"; type: RECT; repeat_events: 1;
|
||||
description { state: "default" 0.0;
|
||||
color: 0 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
programs {
|
||||
program {
|
||||
signal: "elm,state,disabled"; source: "elm";
|
||||
action: STATE_SET "disabled" 0.0;
|
||||
target: "disclip";
|
||||
target: "disclip2";
|
||||
target: "discover";
|
||||
}
|
||||
program {
|
||||
signal: "elm,state,enabled"; source: "elm";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "disclip";
|
||||
target: "disclip2";
|
||||
target: "discover";
|
||||
}
|
||||
}
|
||||
}
|
||||
#undef DATETIME_SEPARATOR
|
||||
#undef DATETIME_FIELD
|
|
@ -1026,7 +1026,6 @@ group { name: "e/modules/everything/thumbview/main/scrollframe";
|
|||
program {
|
||||
signal: "mouse,down,1*"; source: "sb_vbar_a1";
|
||||
action: STATE_SET "clicked" 0.0;
|
||||
target: "sb_vbar_a1";
|
||||
target: "arrow1_vbar";
|
||||
}
|
||||
program {
|
||||
|
@ -1037,13 +1036,11 @@ group { name: "e/modules/everything/thumbview/main/scrollframe";
|
|||
program {
|
||||
signal: "mouse,up,1"; source: "sb_vbar_a1";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "sb_vbar_a1";
|
||||
target: "arrow1_vbar";
|
||||
}
|
||||
program {
|
||||
signal: "mouse,down,1*"; source: "sb_vbar_a2";
|
||||
action: STATE_SET "clicked" 0.0;
|
||||
target: "sb_vbar_a2";
|
||||
target: "arrow2_vbar";
|
||||
}
|
||||
program {
|
||||
|
@ -1054,7 +1051,6 @@ group { name: "e/modules/everything/thumbview/main/scrollframe";
|
|||
program {
|
||||
signal: "mouse,up,1"; source: "sb_vbar_a2";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "sb_vbar_a2";
|
||||
target: "arrow2_vbar";
|
||||
}
|
||||
program {
|
||||
|
@ -1218,7 +1214,6 @@ group { name: "e/modules/everything/thumbview/main/scrollframe";
|
|||
program {
|
||||
signal: "mouse,down,1*"; source: "e.dragable.vbar";
|
||||
action: STATE_SET "clicked" 0.0;
|
||||
target: "e.dragable.vbar";
|
||||
target: "shadow_vbar";
|
||||
target: "glow_vbar";
|
||||
target: "center_glow_vbar";
|
||||
|
@ -1226,7 +1221,6 @@ group { name: "e/modules/everything/thumbview/main/scrollframe";
|
|||
program {
|
||||
signal: "mouse,up,1"; source: "e.dragable.vbar";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "e.dragable.vbar";
|
||||
target: "shadow_vbar";
|
||||
target: "glow_vbar";
|
||||
target: "center_glow_vbar";
|
||||
|
|
|
@ -806,13 +806,11 @@ group { name: "e/fileman/default/window/main";
|
|||
program {
|
||||
signal: "e,toolbar,left"; source: "e";
|
||||
action: STATE_SET "tb_left" 0.0;
|
||||
target: "e.swallow.toolbar";
|
||||
target: "region";
|
||||
}
|
||||
program {
|
||||
signal: "e,toolbar,right"; source: "e";
|
||||
action: STATE_SET "tb_right" 0.0;
|
||||
target: "e.swallow.toolbar";
|
||||
target: "region";
|
||||
}
|
||||
program {
|
||||
|
|
|
@ -778,8 +778,6 @@
|
|||
target: "icon_box_shadow";
|
||||
target: "icon_box";
|
||||
target: "base";
|
||||
target: "icon_zoom";
|
||||
target: "e.swallow.content";
|
||||
target: "events";
|
||||
after: "thumb_gen2";
|
||||
}
|
||||
|
@ -1059,8 +1057,6 @@
|
|||
target: "icon_box_shadow";
|
||||
target: "icon_box";
|
||||
target: "base";
|
||||
target: "icon_zoom";
|
||||
target: "e.swallow.content";
|
||||
target: "events";
|
||||
target: "theme";
|
||||
after: "thumb_gen2";
|
||||
|
@ -1272,8 +1268,6 @@
|
|||
target: "icon_box_shadow";
|
||||
target: "icon_box";
|
||||
target: "base";
|
||||
target: "icon_zoom";
|
||||
target: "e.swallow.content";
|
||||
target: "events";
|
||||
after: "thumb_gen2";
|
||||
}
|
||||
|
|
|
@ -0,0 +1,39 @@
|
|||
edc_files = [
|
||||
'default.edc',
|
||||
]
|
||||
|
||||
elm_themes = []
|
||||
|
||||
elm_themes_image_include = join_paths(meson.current_source_dir(), 'img')
|
||||
|
||||
foreach edc_file : edc_files
|
||||
elm_themes += custom_target('edje_cc_' + edc_file,
|
||||
input : edc_file,
|
||||
depfile: '@BASENAME@.edj.d',
|
||||
output : '@BASENAME@.edj',
|
||||
command : edje_cc_exe + [ '-beta',
|
||||
'-deps', '@DEPFILE@',
|
||||
'-sd', join_paths(meson.current_source_dir(), 'snd'),
|
||||
'-id', elm_themes_image_include,
|
||||
'-id', join_paths(meson.current_source_dir(), 'fdo'),
|
||||
'-fd', join_paths(meson.current_source_dir(), 'fnt'),
|
||||
'@INPUT@', '@OUTPUT@'],
|
||||
depends : edje_cc,
|
||||
install : true,
|
||||
install_dir : join_paths(dir_data, 'elementary', 'themes'),
|
||||
)
|
||||
endforeach
|
||||
|
||||
install_subdir('fdo',
|
||||
install_dir : join_paths(dir_data, 'icons', 'Enlightenment-X'),
|
||||
strip_directory : true,
|
||||
exclude_directories : [
|
||||
join_paths('status', '128-svg'),
|
||||
join_paths('places', '16-svg'),
|
||||
join_paths('places', '128-svg'),
|
||||
join_paths('emblems', '96-svg'),
|
||||
join_paths('devices', '128-svg'),
|
||||
join_paths('categories', '128-svg'),
|
||||
join_paths('actions', '128-svg'),
|
||||
]
|
||||
)
|
|
@ -0,0 +1,3 @@
|
|||
install_data('default.inc',
|
||||
install_dir : join_paths(dir_data, 'embryo', 'include')
|
||||
)
|
|
@ -0,0 +1,13 @@
|
|||
install_data('eo_gdb.py',
|
||||
install_dir : join_paths(dir_data, 'eo', 'gdb')
|
||||
)
|
||||
|
||||
configuration = configuration_data()
|
||||
configuration.set('datadir', dir_data)
|
||||
|
||||
configure_file(
|
||||
input: 'libeo-gdb.py.in',
|
||||
output: 'libeo.so.'+meson.project_version()+'-gdb.py',
|
||||
configuration: configuration,
|
||||
install_dir: join_paths(dir_data, 'gdb', 'autoload', 'usr', 'lib')
|
||||
)
|
|
@ -0,0 +1,14 @@
|
|||
ethumb_frame = files('default.edc')
|
||||
|
||||
custom_target('edje_cc_ethumb_frame',
|
||||
input : ethumb_frame,
|
||||
output : '@BASENAME@.edj',
|
||||
command : edje_cc_exe + [ '-beta',
|
||||
'-sd', join_paths(meson.current_source_dir()),
|
||||
'-id', join_paths(meson.current_source_dir()),
|
||||
'-fd', join_paths(meson.current_source_dir()),
|
||||
'@INPUT@', '@OUTPUT@'],
|
||||
depends : edje_cc,
|
||||
install : true,
|
||||
install_dir : join_paths(dir_data, 'ethumb', 'frames'),
|
||||
)
|
|
@ -0,0 +1,12 @@
|
|||
checkme_files = ['ecore', 'ecore_imf', 'ecore_x', 'eeze', 'efreet', 'elua', 'emotion', 'ethumb', 'ethumb_client', 'evas']
|
||||
foreach checkme : checkme_files
|
||||
install_data(join_paths(checkme, 'checkme'),
|
||||
install_dir : join_paths(dir_data, checkme)
|
||||
)
|
||||
endforeach
|
||||
|
||||
subdir('eo')
|
||||
subdir('edje')
|
||||
subdir('embryo')
|
||||
subdir(join_paths('ethumb', 'frames'))
|
||||
subdir('elementary')
|
|
@ -0,0 +1,18 @@
|
|||
dep = dependency('dbus-1')
|
||||
|
||||
org_enlightenment_ethumb_service_config = configuration_data()
|
||||
|
||||
org_enlightenment_ethumb_service_config.set('prefix', dir_prefix)
|
||||
|
||||
systemd_dbus_prefix = '# '
|
||||
if get_option('systemd') == true
|
||||
systemd_dbus_prefix = ''
|
||||
endif
|
||||
org_enlightenment_ethumb_service_config.set('systemd_dbus_prefix',
|
||||
systemd_dbus_prefix)
|
||||
|
||||
configure_file(
|
||||
input: 'org.enlightenment.Ethumb.service.in',
|
||||
output: 'org.enlightenment.Ethumb.service',
|
||||
configuration: org_enlightenment_ethumb_service_config,
|
||||
install_dir: dep.get_pkgconfig_variable('session_bus_services_dir'))
|
|
@ -0,0 +1,11 @@
|
|||
###############
|
||||
# folder #
|
||||
###############
|
||||
/**/DROP/
|
||||
/**/TEMP/
|
||||
/**/packages/
|
||||
/**/bin/
|
||||
/**/obj/
|
||||
_site
|
||||
images
|
||||
articles
|
|
@ -0,0 +1,28 @@
|
|||
EFL DocFX SUPPORT
|
||||
-----------------
|
||||
|
||||
DocFX (https://dotnet.github.io/docfx/) generates documentation HTML pages
|
||||
directly from source code and Markdown files for C# projects.
|
||||
|
||||
Although significantly slow, it is a simple alternative while our own
|
||||
documentation generator for C# is being written.
|
||||
|
||||
The scripts in this folder create a documentation site which contains the API
|
||||
reference guide and articles with tutorials and guides.
|
||||
The API guide is generated from the EFL mono sources, which are generated as
|
||||
part of the normal build process.
|
||||
The articles are fetched from the EFL www-content repository and adapted to
|
||||
DocFX syntax.
|
||||
|
||||
USAGE
|
||||
-----
|
||||
|
||||
First off, build EFL with C# support enabled so the C# sources are generated
|
||||
(you will need to have mono 5 installed for this).
|
||||
Then, from this folder, run the `setup.sh` script to download and extract the
|
||||
DocFX binaries to the `bin` folder, fetch the articles from the `www-content`
|
||||
repository and adapt them to the DocFX syntax.
|
||||
Finally, run the `gendoc.sh` script (also from this folder) to produce the HTML
|
||||
files. First run can take a long time (from 10' to 1h), subsequent runs use
|
||||
cached results and take about 5 minutes.
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
###############
|
||||
# temp file #
|
||||
###############
|
||||
*.yml
|
||||
.manifest
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
uid: api-reference-root
|
||||
---
|
||||
# EFL C# API reference documentation
|
||||
Use the menu on the left to select a namespace or class.
|
|
@ -0,0 +1,73 @@
|
|||
{
|
||||
"metadata": [
|
||||
{
|
||||
"src": [
|
||||
{
|
||||
"src": "../..",
|
||||
"files": [
|
||||
"**/*.cs"
|
||||
]
|
||||
}
|
||||
],
|
||||
"dest": "api",
|
||||
"filter": "filterConfig.yml",
|
||||
"disableGitFeatures": false,
|
||||
"disableDefaultFilter": false
|
||||
}
|
||||
],
|
||||
"build": {
|
||||
"content": [
|
||||
{
|
||||
"files": [
|
||||
"api/**.yml",
|
||||
"api/index.md"
|
||||
]
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"articles/**.md",
|
||||
"articles/**/toc.yml",
|
||||
"toc.yml",
|
||||
"*.md"
|
||||
]
|
||||
}
|
||||
],
|
||||
"resource": [
|
||||
{
|
||||
"files": ["e-logo-title.png"]
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"images/**"
|
||||
]
|
||||
}
|
||||
],
|
||||
"overwrite": [
|
||||
{
|
||||
"files": [
|
||||
"apidoc/**.md"
|
||||
],
|
||||
"exclude": [
|
||||
"obj/**",
|
||||
"_site/**"
|
||||
]
|
||||
}
|
||||
],
|
||||
"globalMetadata": {
|
||||
"_appLogoPath": "e-logo-title.png",
|
||||
"_appFaviconPath": "e-logo-title.png"
|
||||
},
|
||||
"dest": "_site",
|
||||
"globalMetadataFiles": [],
|
||||
"fileMetadataFiles": [],
|
||||
"template": [
|
||||
"default"
|
||||
],
|
||||
"postProcessors": [],
|
||||
"markdownEngineName": "markdig",
|
||||
"noLangKeyword": false,
|
||||
"keepFileLink": false,
|
||||
"cleanupCacheHistory": false,
|
||||
"disableGitFeatures": false
|
||||
}
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 4.3 KiB |
|
@ -0,0 +1,7 @@
|
|||
apiRules:
|
||||
- include:
|
||||
uidRegex: ^Efl
|
||||
- include:
|
||||
uidRegex: ^Eina
|
||||
- exclude:
|
||||
uidRegex: ^.*
|
|
@ -0,0 +1,26 @@
|
|||
#!/bin/bash
|
||||
|
||||
# This script invokes the locally-installed DocFX to produce the reference
|
||||
# documentation. Run it every time EO documentation changes.
|
||||
|
||||
# DocFX Step 1: Generate metadata (*.yml) files
|
||||
mono bin/docfx.exe metadata docfx.json
|
||||
|
||||
# Process the generated metadata files:
|
||||
# DocFX uses short names for all <see> links which is inconvenient for us
|
||||
# because we have multiple types with the same name in different namespaces
|
||||
# ("Object" can be "Efl.Object" or "Efl.Canvas.Object").
|
||||
# MarkDown files can add "?displayProperty=fullName" to crefs to show them
|
||||
# fully-qualified, but this is stripped out from triple-slash comments in C#
|
||||
# source files.
|
||||
#
|
||||
# This script adds the displayProperty suffix to all cref links from the
|
||||
# metadata yml files (by that time links have been turned into <xref href="">
|
||||
# tags).
|
||||
for f in `ls api/*.yml`; do
|
||||
sed -e 's/\(<xref href="[^"]*\)"/\1?displayProperty=fullName"/g' -i $f
|
||||
sed -e 's/\(<xref href=\\"[^\\]*\)\\"/\1?displayProperty=fullName\\"/g' -i $f
|
||||
done;
|
||||
|
||||
# DocFX Step 2: Generate HTML files
|
||||
mono bin/docfx.exe build docfx.json && echo "Docs ready in the _site folder!"
|
|
@ -0,0 +1,2 @@
|
|||
# EFL C# Documentation site
|
||||
Use the top menu to access the API reference documentation and the tutorial guides.
|
|
@ -0,0 +1,100 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# This script installs DocFX and brings all content pages from EFL's documentation
|
||||
# content repository, transforming them from DokuWiki's format to DocFX's.
|
||||
# This step only needs to be done once (or every time the content pages change).
|
||||
# After this step, you can run the gendoc.sh script as many times as you want,
|
||||
# to generate the actual HTML pages, including the reference guide extracted from
|
||||
# libefl_mono.dll and libefl_mono.xml
|
||||
#
|
||||
# This script could be improved a lot, but it gets the job done.
|
||||
# Xavi (xartigas@yahoo.es)
|
||||
|
||||
#
|
||||
# Check mono version since DocFX has been known to fail with mono 4.
|
||||
#
|
||||
mono_version="$(mono --version | awk '/version/ { print $5 }')"
|
||||
if [ $mono_version \< 5 ];
|
||||
then
|
||||
echo "Requires at least mono version 5, detected $mono_version"
|
||||
exit 1
|
||||
fi;
|
||||
|
||||
#
|
||||
# Download and extract DocFX
|
||||
#
|
||||
if [ ! -d "bin" ]; then
|
||||
rm -rf docfx.zip bin
|
||||
wget https://github.com/dotnet/docfx/releases/download/v2.40.4/docfx.zip
|
||||
unzip -q docfx.zip -d bin
|
||||
rm docfx.zip
|
||||
else
|
||||
echo "Skipping DocFX download because 'bin' folder already exists."
|
||||
fi
|
||||
|
||||
#
|
||||
# Clone whole Content site
|
||||
#
|
||||
rm -rf www-content
|
||||
git clone --depth 1 git+ssh://git@git.enlightenment.org/website/www-content.git www-content
|
||||
|
||||
#
|
||||
# Copy all pages related to C# (those inside a folder called 'csharp') to the articles folder
|
||||
#
|
||||
rm -rf articles
|
||||
mkdir articles
|
||||
# Copy them
|
||||
find www-content -wholename "*/csharp/*.md.txt" -exec cp --parents {} articles \;
|
||||
# Except tutorials and guides summary pages (start.md)
|
||||
find articles/www-content/pages/develop/tutorials -name "start.md.txt" -exec rm {} \;
|
||||
find articles/www-content/pages/develop/guides -name "start.md.txt" -exec rm {} \;
|
||||
# Remove the trailing .txt from filenames (DocFX wants only the .md)
|
||||
for f in `find articles -name "*.md.txt"`; do mv $f $(echo $f | rev | cut -c5- | rev) ; done
|
||||
# Copy all media files to the images folder
|
||||
rm -rf images
|
||||
mkdir images
|
||||
cp -r www-content/media/* images
|
||||
# Remove git clone now that we have everything we wanted
|
||||
rm -rf www-content
|
||||
|
||||
#
|
||||
# Parse all Markdown files to adapt them to DocFX
|
||||
#
|
||||
# Remove special Dokuwiki headers like ~~NOCACHE~~ because DocFX complains about them.
|
||||
find articles -name "*.md" | xargs sed -i -e "s/^~~.*~~$//g"
|
||||
# Transform media links in articles from /_media/* to ~/images/*
|
||||
find articles -name "*.md" | xargs sed -i -e "s#/_media#~/images#g"
|
||||
# Transform API root links from /develop/api/ to @api-reference-root (the UID of the API root)
|
||||
find articles -name "*.md" | xargs sed -i -e "s#\(\[[^]]*\](\)/develop/api/)#\1xref:api-reference-root)#g"
|
||||
# Transform API class links from */api/namespace/class to @Namespace.Class (that should be the UID of the reference page)
|
||||
find articles -name "*.md" | xargs sed -i -e "s#\(\[[^]]*\](\)[^)]*/api/\([^/.]*\)/\([^/.]*\))#\1xref:\u\2.\u\3)#g"
|
||||
# Point links to Legacy API to the www.enlightenment.org site
|
||||
find articles -name "*.md" | xargs sed -i -e "s#\(\[[^]]*\](\)\(/develop/legacy/api/[^)]*)\)#\1https://www.enlightenment.org\2#g"
|
||||
# Point the rest of links to /develop/api/* to the root the API, since we don't know how to transform them
|
||||
find articles -name "*.md" | xargs sed -i -e "s#\(\[[^]]*\](\)/develop/api/[^)]*)#\1xref:api-reference-root)#g"
|
||||
# Add start.md to links pointing to a folder inside ~/develop/
|
||||
find articles -name "*.md" | xargs sed -i -e "s#\(\[[^]]*\](/develop/[^)]*/\))#\1start.md)#g"
|
||||
# Transform absolute links from /develop/* to ~/articles/www-content/pages/develop/*
|
||||
find articles -name "*.md" | xargs sed -i -e "s#\(\[[^]]*\]\)(\(/develop/[^)]*\))#\1(~/articles/www-content/pages\2)#g"
|
||||
# Transform page anchor links from [label](#Anchor_Title) to [label](#anchor-title).
|
||||
for f in `find articles -name "*.md"`; do
|
||||
awk -v RS=' ' '{ if ($0 ~ ".*\(#.*\)") { gsub( /_/, "-" ); printf "%s ", tolower($0) } else { printf "%s ",$0 } }' $f > /tmp/efl_docfx_setup.tmp
|
||||
mv /tmp/efl_docfx_setup.tmp $f
|
||||
done
|
||||
|
||||
#
|
||||
# Populate articles TOC file from the articles' titles
|
||||
#
|
||||
cd articles
|
||||
rm -f toc.yml
|
||||
echo "- name: Setup Guide" >> toc.yml
|
||||
echo " href: www-content/pages/develop/setup/csharp/start.md" >> toc.yml
|
||||
echo "- name: Tutorials" >> toc.yml
|
||||
echo " items:" >> toc.yml
|
||||
find www-content/pages/develop/tutorials -name "*.md" -exec sh -c "cat {} | grep '^# ' && echo ' href: {}'" \; >> toc.yml
|
||||
echo "- name: Guides" >> toc.yml
|
||||
echo " items:" >> toc.yml
|
||||
find www-content/pages/develop/guides -name "*.md" -exec sh -c "cat {} | grep '^# ' && echo ' href: {}'" \; >> toc.yml
|
||||
sed -i -e "s/^# \(.*\) #/ - name: '\1'/g" toc.yml
|
||||
sed -i -e "s/ in C#//g" toc.yml
|
||||
cd ..
|
|
@ -0,0 +1,5 @@
|
|||
- name: REFERENCE
|
||||
href: api/
|
||||
homepage: api/index.md
|
||||
- name: GUIDES
|
||||
href: articles/
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue