EFL メモ(EFL memo)

EFL のメモ用、Tizen もあるよ。(Memo for EFL, Sometimes Tizen )

EFL をリポジトリから取得し、ビルドする方法

(2012-12-14 追記)
2年前の内容なので古くなっています。
EFL をリポジトリから取得し、ビルドする方法については Enlightenment-svn を入れる - EFL メモ を参照してください。


easy_e17.sh を使わずに e のソースをリポジトリから持ってきてビルドする手順について記述します。

ここでは EFL と Enlightenment、そしてタッチパネル用ウィジットライブラリの elementary をビルドします。

必要ライブラリ

ビルドに必要なソフトウェアは以下の通り。
各 OS によってパッケージのインストール方法が違うのでパッケージのインストール方法については省略します。

  • subversion
  • gcc
  • autoconf 2.59 or better
  • automake 1.10 or better
  • libtool
  • make (gnu make)
  • gettext
  • libpam dev headers
  • libfreetype dev headers
  • libpng dev headers
  • libjpeg dev headers
  • zlib dev headers
  • libdbus dev headers
  • libblua 5.1 or better dev headers
  • libx11 dev headers
  • libxcursor dev headers
  • libxrender dev headers
  • libxrandr dev headers
  • libxfixes dev headers
  • libxdamage dev headers
  • libxcomposite dev headers
  • libxss dev headers
  • libxp dev headers
  • libxext dev headers
  • libxinerama dev headers
  • libxkbfile dev headers
  • libxtst dev headers

必須ではないけど、あると便利になるライブラリは以下の通り。

  • libtiff dev headers (evas の tiff サポート)
  • librsvg dev headers (evas の svg サポート)
  • libungif dev headers (evas の gif サポート)
  • libcurl dev headers (ecore の http プロトコル経由のダウンロードサポート)
  • libgnutls dev headers (eet ファイルの署名や ecore の セキュアな tcp 接続のサポート)

ソースコードの取得方法

下記のどちらかを実行して、ソースコードをチェクアウトします。

% svn co http://svn.enlightenment.org/svn/e
% svn co https://svn.enlightenment.org/svn/e

ビルド

EFL のビルド手順とビルド方法

e/trunk/ ディレクトリにあるライブラリを以下の順でビルドしてください。

  1. eina
  2. eet
  3. evas
  4. ecore
  5. embryo
  6. edje
  7. e_dbus
  8. efreet
  9. expedite

各ライブラリは以下のコマンドでビルドします。

% cd e/trunk/"ライブラリ"
% ./autogen.sh
% make
# make install

デフォルトの状態だと prefix は /usr/local となっています。
prefix を変更するには autogen.sh に --prefix 引数を追加してください。

以下は /opt/e17 を prefix にする例です。

% cd e/trunk/"ライブラリ"
% ./autogen.sh --prefix=/opt/e17
% make
# make install
Enlightenment

EFL のビルド手順のあとに e/trunk/e をビルドしてください。

% cd e/trunk/e
% ./autogen.sh
% make
# make install
Elementary

EFL のビルド手順のあとに e/trunk/TMP/st/elementary をビルドしてください。

% cd e/trunk/TMP/st/elementary
% ./autogen.sh
% make
# make install

動作確認方法

expedite

expedite は evas のテストスイートです。
実行方法は以下のとおりです。

% expedite -e xlib -p vga

操作方法は左右カーソルでモードの選択、エンターキーでモードの実行、エスケープキーで終了です。また、マウスをドラッグすることでモードの選択、左クリックでモードの実行になります。

以下は Image Map 3D Flow を実行しているところ

Enlightenment

Enlightenment はウィンドウマネージャーです。
${PREFIX}/bin/enlightenment_start を実行することで Enlightenment を起動できます。

.xinitrc を使用している方は現在使用しているウィンドウマネージャーの実行をコメントアウトにして、${PREFIX}/bin/enlightenment_start を実行するようにしてください。

# exec startxfce4
exec /usr/local/bin/enlightenment_start 

こんな感じに。

Ubuntu などで gdm を使っている方は /usr/share/xsessions/e17.desktop を以下の内容で作成してください。

[Desktop Entry]
Encoding=UTF-8
Name=Enlightenment DR17
Comment=Highly configurable and low resource X11 Window manager
Exec=/usr/local/bin/enlightenment_start
Terminal=False
TryExec=/usr/local/bin/enlightenment_start
Type=Application

[Window Manager]
SessionManaged=true

起動イメージはこんな感じ。音量や時計、メモリの状態を表示するウィジットを左側に配置させてます。
壁紙は kate beckinsale.

elementary_test

elementary_test は elementary のテストスイートです。
elementary をインストールするとついでに ${PREFIX}/bin にインストールされるようになっています。
実行方法は以下のとおりです。

% elementary

各ウィジットのメニューがリストで表示されます。リストアイテムをクリックすると新規にウィンドウが開いてそのウィジットのプログラムが実行されます。
リストはマウスのスクロールキーを使うか、マウスをフリック(ドラッグして動かしたい方向と逆の方に弾く)することでスクロールできます。

画像は "Entry 4" と "Slideshow" を実行しているところ。どちらのウィジットも動くんだけどスクリーンショットでそれが見せれないのが残念。