1. EFL community에서 소스코드 받기전 필요한 packages들을 설치하는 script
$ cat pkgs-req.sh
#!/bin/bash
sudo apt-get -y install subversion autoconf automake autopoint gettext build-essential pkg-config libtool autotools-dev zlib1g-dev libfreetype6-dev libx11-dev libpng12-dev libxext-dev libxrender-dev libxinerama-dev libxcursor-dev libxrandr-dev libxdamage-dev libxcomposite-dev libxss-dev libssl-dev libcurl4-openssl-dev libdbus-1-dev libpam0g-dev libxml2-dev libxslt1-dev libltdl-dev libtag1-dev libtagc0-dev libxine-dev libsqlite3-dev fontconfig libfontconfig1-dev liblua5.1-0-dev libxfixes-dev libxp-dev libxinerama-dev libxkbfile-dev libtiff4-dev librsvg2-dev libgif-dev libxcb-shape0-dev libv8-dev mesa-common-dev libudev-dev libspectre-dev libraw-dev libpoppler-dev libgnutls-dev libasound2-dev libc-ares-dev libdrm-dev vim doxygen libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev gstreamer-tools libgles1-mesa-dev libegl1-mesa-dev libgles2-mesa-dev libglu1-mesa-dev mesa-utils libgl1-mesa-dev libexif-dev ccache libdbus-glib-1-dev gstreamer0.10-plugins-bad gstreamer0.10-plugins-cutter gstreamer0.10-plugins-ugly gstreamer0.10-plugins-good gstreamer0.10-ffmpeg
2. 스크립트를 수행해 위 패키지들을 설치한다.
$./pkgs-req.sh
3. svn.enlightenment.org하에 trunk 디렉토리 이하 코드를 다운로드 받는 스크립트
$ cat get-source-from-svn.sh
#!/bin/sh
svn co http://svn.enlightenment.org/svn/e/trunk
-----------------------------------
방화벽으로 인해 proxy server를 사용하고 있는경우 다음과 같이 작성하고, ~/.subversion/servers 파일을 수정한다.
#!/bin/sh
svn co https://svn.enlightenment.org/svn/e/trunk
$ vi ~/.subversion/servers
:
:
[global]
http-proxy-host = proxy server address
http-proxy-port = proxy port number
:
:
-----------------------------------
4. 스크립트를 수행해 소스 코드를 받는다. (시간이 많이 걸림)
$ ./get-source-from-svn.sh
5. 필요한 패키지들을 build & install 하는 스크립트
$ cat build_e.sh
#!/bin/sh
sudo ls
set -e
PREFIX="/usr/local"
SVN="http://svn.enlightenment.org/svn/e/trunk"
OPT="--prefix=$PREFIX --enable-gl-x11 --enable-ecore-evas-opengl-x11 --enable-opengl-x11"
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
PROJECTS="eina eet evas ecore expedite embryo edje e_dbus efreet eeze ethumb eio emotion elementary excessive espionnage e terminology PROTO/elev8"
export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH"
export PATH="$PREFIX/bin:$PATH"
export LD_LIBRARY_PATH="$PREFIX/lib:$LD_LIBRARY_PATH"
for PROJ in $PROJECTS; do
cd trunk/$PROJ
make clean distclean || true
./autogen.sh $OPT && make -j12 && sudo make install -j12
cd ../..
sudo ldconfig
done
6. 위 build & install script 를 실행한다. (시간이 많이 걸림)
$ ./build_e.sh
7.전체 코드를 받은 이후 부터는 update build를 한번에 수행하는 스크립트로...
$ cat update-build.sh
#!/bin/bash
sudo ls &&
pushd trunk &&
svn up --accept theirs-full &&
popd &&
./build_e.sh
8. 설치된 예제 실행해 보기
- expedite: evas engine 성능 측정 프로그램
$ expedite -e xlib
- elementary_test: evas 기반 widget library test program
$ ELM_ENGINE=gl elementary_test
- emotion_test: emotion library test program
$ emotion_test CarsCD1.avi CarsCD2.avi CarsCD3.avi