Page MenuHomePhabricator

Enlightenment OpenSolaris
Updated 1,971 Days AgoPublic

Introduction

The OpenSolaris projects Desktop Community includes an Enlightenment area. Nevertheless, this document provides instructions on how to build Enligtenment with SunStudio 10 or higher. This is work in progress. When it is ready, packages will be made.

Installation and configuration of SunStudio

The compiler that will be used will be suncc. It should give better optimized code than with gcc. All the code will be installed locally, in $HOME/local.

Installation

  • Install, with the package manager you prefer, SunStudio version 10 or higher. Also, be sure to have m4, autoconf, automake, libtool and gettext installed.
  • Install pkg-config (SUNWgnome-common-devel package)
  • Install headers of Xlib (SUNWxorg-headers package)
  • If the binariy of autoconf is named autoconf-10.1 or similar, create a symbolic link to it, with name automake. Same for aclocal.
NOTE: if autopoint is not installed (when ecore is configured), then it means that the gettext package is not correct. Install gettext 0.17 from source using the following commands:
LIBS="-lsec" ./configure --prefix=$HOME/local
make
make install

Configuration

As the installation of the libraries are local, some environment variables must be set. Also, the compiler environment variables will be set to choose the suncc compiler. Put the following code in a shell script. That script must be launched before compiling the EFL and Enlightenment.

#!/bin/sh
export PATH="$HOME/local/bin:$PATH"
export CFLAGS="-xc99 -xchar=unsigned -erroff=E_ARGUEMENT_MISMATCH,E_EMPTY_MBR_DECLARATION"
export LD_LIBRARY_PATH="$HOME/local/lib:$LD_LIBRARY_PATH"
export PKG_CONFIG_PATH="/usr/lib/pkgconfig:$HOME/local/lib/pkgconfig"

Normally, the C++ compiler is not needed (so no flag for it). If you want to optimize the code, you can set CFLAGS accordingly in that shell script file.

Build of Eina

Eina is a library that implement data types in an very optimized way. It includes also a small set of tools that can be used in most of the EFL. There is no dependency.

It is better to get Eet from svn. Follow the instructions on that page. Go to the eina/ subdir. Then,

./autogen.sh --prefix=$HOME/local
make
make install

You should now have eina libraries and binaries installed in $HOME/local.

Build of Eet

Eet needs Eina, zlib and libjpeg. They are installed by default in OpenSolaris

It is better to get Eet from svn. Follow the instructions on that page. Go to the eet/ subdir, then

./autogen.sh --prefix=$HOME/local
make
make install

You should now have eet installed in $HOME/local.

Build of Evas

Evas has some required dependencies, as well as optional dependencies (for loaders and engines). They are all already installed, maybe except the GIF library to open GIF images.

It is better to get Evas from svn. Follow the instructions on that page. Go to the evas/ subdir, then:

./autogen.sh --prefix=$HOME/local
make
make install

You should now have evas and its built modules installed in $HOME/local.

Build of Expedite

Expedite has some required dependencies: Eina and Evas, already installed.

It is better to get Expedite from svn. Follow the instructions on that page. Go to the expedite/ subdir, then:

./autogen.sh --prefix=$HOME/local
make
make install

You should now have expedite installed in $HOME/local. To try is, run expedite -e xlib.

Build of Ecore

Ecore has some required dependencies, as well as optional dependencies. They are all already installed.

It is better to get Ecore from svn. Follow the instructions on that page. Go to the ecore/ subdir, then:

./autogen.sh --prefix=$HOME/local
make
make install

You should now have ecore installed in $HOME/local.

Build of Embryo

No dependency for Embryo. Just download it from svn and go to the embryo subdir. Then,

./autogen.sh --prefix=$HOME/local
make
make install

You should now have embryo library and binaries installed in $HOME/local.

Build of Edje

Edje depends on Lua. So install the package SUNWlua. Unfortunately, the package does not provide the lua.pc file. So create it in /usr/lib/pkgconfig and put in it the following text:

prefix=/usr
major_version=5.1
version=5.1.4
#prefix=/usr
#major_version=5.1
#version=5.1.0

lib_name=lua${major_version}
libdir=${prefix}/lib
includedir=${prefix}/include

#
# The following are intended to be used via "pkg-config --variable".

# The location of the libtool library.  This is used when linking to the Lua
# library via libtool.
libtool_lib=${libdir}/lib${lib_name}.la

# Install paths for Lua modules.  For example, if a package wants to install
# Lua source modules to the /usr/local tree, call pkg-config with
# "--define-variable=prefix=/usr/local" and "--variable=INSTALL_LMOD".
INSTALL_LMOD=${prefix}/share/lua/${major_version}
INSTALL_CMOD=${prefix}/lib/lua/${major_version}

Name: Lua
Description: Lua language engine
Version: ${version}
Requires:
Libs: -L${libdir} -l${lib_name}
Libs.private: -lm
Cflags: -I${includedir}/${lib_name}

Then download edje from svn and go to the edje subdir. Then,

./autogen.sh --prefix=$HOME/local
make
make install

You should now have edje library and binaries installed in $HOME/local.

Build of Efreet

No dependency for Efreet. Just download it from svn and go to the efreet subdir. Then,

./autogen.sh --prefix=$HOME/local
make
make install

You should now have efreet library and binaries installed in $HOME/local.

Build of E_Dbus

E_Dbus depends on Dbus. So install the package SUNWdbus-libs. Then download e_dbus from svn and go to the e_dbus subdir. Then,

./autogen.sh --prefix=$HOME/local
make
make install

You should now have e_dbus library and binaries installed in $HOME/local.

Build of Elementary

No dependency for Elementary. Just download it from svn (in trunk/TMP/st) and go to the elementary subdir. Then,

./autogen.sh --prefix=$HOME/local
make
make install

You should now have elementary library and binaries installed in $HOME/local.

Build of Enlightenment

No dependency for Enlightenment. Just download it from svn and go to the e subdir. Then,

./autogen.sh --prefix=$HOME/local
make
make install

You should now have enlightenment binaries and modules installed in $HOME/local.

Imported from https://trac.enlightenment.org/e/wiki/EnlightenmentOpenSolaris
History:
1 vtorri 2009-08-20 03:59:46
2 vtorri 2009-08-20 04:23:59
3 vtorri 2009-08-20 04:25:46
4 vtorri 2009-08-21 04:01:24
5 vtorri 2009-08-21 04:01:52
6 vtorri 2009-08-23 23:57:23
7 vtorri 2009-11-26 23:26:31
8 vtorri 2009-11-26 23:27:02
9 vtorri 2009-11-26 23:30:20
10 vtorri 2009-11-29 07:39:55
11 vtorri 2009-11-29 08:23:32
12 vtorri 2009-11-29 08:35:09
13 vtorri 2009-11-29 08:43:55
14 vtorri 2009-11-29 08:46:48
15 vtorri 2009-11-30 11:38:17
16 vtorri 2009-12-14 23:57:08
17 vtorri 2009-12-15 01:34:17
18 vtorri 2009-12-15 03:27:28
19 vtorri 2010-02-11 08:07:36
20 vtorri 2010-02-15 21:31:08
21 vtorri 2010-09-29 00:25:35
22 vtorri 2010-09-29 00:42:09

Last Author
beber
Last Edited
Aug 28 2013, 5:13 AM
Projects
None
Subscribers
None