diff --git a/legacy/edje/configure.in b/legacy/edje/configure.in
index 5487407358..08a766755e 100644
--- a/legacy/edje/configure.in
+++ b/legacy/edje/configure.in
@@ -4,10 +4,13 @@ dnl Process this file with autoconf to produce a configure script.
rm -f config.cache
AC_INIT(configure.in)
+AC_CANONICAL_BUILD
+AC_CANONICAL_HOST
+AC_CANONICAL_TARGET
+AC_ISC_POSIX
AM_INIT_AUTOMAKE(edje, 0.0.1)
AM_CONFIG_HEADER(config.h)
-AC_ISC_POSIX
AC_PROG_CC
AM_PROG_CC_STDC
AC_HEADER_STDC
@@ -80,33 +83,89 @@ dnl Set PACKAGE_SOURCE_DIR in config.h.
packagesrcdir=`cd $srcdir && pwd`
AC_DEFINE_UNQUOTED(PACKAGE_SOURCE_DIR, "${packagesrcdir}", [Source code directory])
+AC_MSG_CHECKING(whether to build only fb support)
+have_fb_only="no"
+AC_ARG_ENABLE(fb-only, [ --enable-fb-only enable building of fb support only ], [
+ if [ test "$enableval" = "yes" ]; then
+ AC_MSG_RESULT(yes)
+ have_fb_only="yes"
+ else
+ AC_MSG_RESULT(no)
+ have_fb_only="no"
+ fi
+ ], [
+ AC_MSG_RESULT($have_fb_only)
+ ]
+)
+
+AC_MSG_CHECKING(whether to build edje_cc)
+have_edje_cc="yes"
+AC_ARG_ENABLE(edje-cc, [ --disable-edje-cc disable building of edje_cc ], [
+ if [ test "$enableval" = "yes" ]; then
+ AC_MSG_RESULT(yes)
+ have_edje_cc="yes"
+ else
+ AC_MSG_RESULT(no)
+ have_edje_cc="no"
+ fi
+ ], [
+ AC_MSG_RESULT($have_edje_cc)
+ ]
+)
+
+edje_def=""
+if test "x$have_fb_only" = "xyes"; then
+ edje_def="-DEDJE_FB_ONLY"
+fi
+AC_SUBST(edje_def)
+
+EDJE_CC_PRG=""
+if test "x$have_edje_cc" = "xyes"; then
+ AM_CONDITIONAL(BUILD_EDJE_CC, true)
+ EDJE_CC_PRG="edje_cc"
+else
+ AM_CONDITIONAL(BUILD_EDJE_CC, false)
+fi
+AC_SUBST(EDJE_CC_PRG)
+
AC_ARG_WITH(eet,
[ --with-eet=DIR use eet in
],
[CFLAGS="$CFLAGS -I$withval/include"
- LIBS="-L$withval/lib $LIBS"])
+ LIBS="-L$withval/lib $LIBS"])
+
+have_eet="no";
+AC_CHECK_HEADER(Eet.h,
+ [ have_eet="yes" ],
+ [ have_eet="no" ]
+)
-AC_PATH_GENERIC(eet, , [
- AC_SUBST(eet_libs)
- AC_SUBST(eet_cflags)],
- AC_MSG_ERROR(Cannot find eet: Is eet-config in path?))
-eet_libs=`eet-config --libs`
-eet_cflags=`eet-config --cflags`
+if test "x$have_eet" = "xyes"; then
+ if [ test -z "$EET_CONFIG" ]; then EET_CONFIG="eet-config"; fi
+ eet_cflags=`$EET_CONFIG --cflags`
+ eet_libs=`$EET_CONFIG --libs`
+else
+ AC_MSG_ERROR(Cannot find Eet.h)
+ exit -1
+fi
AC_SUBST(eet_cflags)
AC_SUBST(eet_libs)
-AC_ARG_WITH(imlib2,
- [ --with-imlib2=DIR use imlib2 in ],
- [CFLAGS="$CFLAGS -I$withval/include"
- LIBS="-L$withval/lib $LIBS"])
-
-AC_PATH_GENERIC(imlib2, , [
- AC_SUBST(imlib2_libs)
- AC_SUBST(imlib2_cflags)],
- AC_MSG_ERROR(Cannot find imlib2: Is imlib2-config in path?))
-imlib2_libs=`imlib2-config --libs`
-imlib2_cflags=`imlib2-config --cflags`
+imlib2_cflags=""
+imlib2_libs=""
+if test "x$have_edje_cc" = "xyes"; then
+ AC_ARG_WITH(imlib2,
+ [ --with-imlib2=DIR use imlib2 in ],
+ [CFLAGS="$CFLAGS -I$withval/include"
+ LIBS="-L$withval/lib $LIBS"])
+ AC_PATH_GENERIC(imlib2, , [
+ AC_SUBST(imlib2_libs)
+ AC_SUBST(imlib2_cflags)],
+ AC_MSG_ERROR(Cannot find imlib2: Is imlib2-config in path?))
+ imlib2_libs=`imlib2-config --libs`
+ imlib2_cflags=`imlib2-config --cflags`
+fi
AC_SUBST(imlib2_cflags)
AC_SUBST(imlib2_libs)
@@ -119,8 +178,10 @@ AC_PATH_GENERIC(evas, , [
AC_SUBST(evas_libs)
AC_SUBST(evas_cflags)],
AC_MSG_ERROR(Cannot find evas: Is evas-config in path?))
-evas_libs=`evas-config --libs`
-evas_cflags=`evas-config --cflags`
+
+if [ test -z "$EVAS_CONFIG" ]; then EVAS_CONFIG="evas-config"; fi
+evas_cflags=`$EVAS_CONFIG --cflags`
+evas_libs=`$EVAS_CONFIG --libs`
AC_SUBST(evas_cflags)
AC_SUBST(evas_libs)
@@ -133,6 +194,10 @@ AC_CHECK_HEADERS(Evas_Engine_GL_X11.h, [], [], [
#include
])
+AC_CHECK_HEADERS(Evas_Engine_FB.h, [], [], [
+ #include
+ ])
+
AC_ARG_WITH(ecore,
[ --with-ecore=DIR use ecore in ],
[CFLAGS="$CFLAGS -I$withval/include"
@@ -142,8 +207,10 @@ AC_PATH_GENERIC(ecore, , [
AC_SUBST(ecore_libs)
AC_SUBST(ecore_cflags)],
AC_MSG_ERROR(Cannot find ecore: Is ecore-config in path?))
-ecore_libs=`ecore-config --libs`
-ecore_cflags=`ecore-config --cflags`
+
+if [ test -z "$ECORE_CONFIG" ]; then ECORE_CONFIG="ecore-config"; fi
+ecore_cflags=`$ECORE_CONFIG --cflags`
+ecore_libs=`$ECORE_CONFIG --libs`
AC_SUBST(ecore_cflags)
AC_SUBST(ecore_libs)
diff --git a/legacy/edje/make_cross_compile_arm.sh b/legacy/edje/make_cross_compile_arm.sh
index fdda6bf8cb..b1a9471ff5 100755
--- a/legacy/edje/make_cross_compile_arm.sh
+++ b/legacy/edje/make_cross_compile_arm.sh
@@ -1,72 +1,83 @@
#!/bin/sh
+PROJ="edje"
+
+SKIFF="/skiff/local"
+HOSTARCH="i686-pc-linux-gnu"
+TARGETCPU="arm"
+TARGETARCH=$TARGETCPU"-pc-linux-gnu"
+
+export EDB_CONFIG=$SKIFF"/"$TARGETCPU"-linux/bin/edb-config"
+export EET_CONFIG=$SKIFF"/"$TARGETCPU"-linux/bin/eet-config"
+export FREETYPE_CONFIG=$SKIFF"/"$TARGETCPU"-linux/bin/freetype-config"
+export EVAS_CONFIG=$SKIFF"/"$TARGETCPU"-linux/bin/evas-config"
+export ECORE_CONFIG=$SKIFF"/"$TARGETCPU"-linux/bin/ecore-config"
+
make clean distclean
-./configure
+export CC=/skiff/local/bin/arm-linux-gcc
+export CFLAGS=-O9
+./configure \
+--host=$HOSTARCH \
+--build=$TARGETARCH \
+--target=$TARGETARCH \
+--disable-edje-cc \
+--enable-fb-only
-CC="/skiff/local/bin/arm-linux-gcc"
-ST="/skiff/local/bin/arm-linux-strip"
-CFLAGS="-O2"
+INST="/tmp/"$PROJ"-instroot"
+sudo rm -rf $INST
-rm -rf "build"
-mkdir "build"
-DST=`pwd`"/build";
+make
-mkdir $DST"/lib";
-mkdir $DST"/bin";
-mkdir $DST"/include";
-mkdir $DST"/share";
-mkdir $DST"/share/edje";
+for I in `find . -name "*.la" -print`; do
+ sed s:"/usr/local":$INST:g < $I > "/tmp/.sed.tmp"
+ sudo cp "/tmp/.sed.tmp" $I
+ rm -f "/tmp/.sed.tmp"
+done
-pushd src
+sudo \
+make \
+prefix=$INST \
+exec_prefix=$INST \
+bindir=$INST"/bin" \
+sbindir=$INST"/sbin" \
+sysconfdir=$INST"/etc" \
+datadir=$INST"/share" \
+includedir=$INST"/include" \
+libdir=$INST"/lib" \
+libexecdir=$INST"/libexec" \
+localstatedir=$INST"/var/run" \
+mandir=$INST"/share/man" \
+infodir=$INST"/share/info" \
+install
- pushd lib
- LIB="edje"
- $CC \
- *.c \
- -DEDJE_FB_ONLY \
- $CFLAGS \
- -I. \
- -I../.. \
- -I/skiff/local/include \
- -shared -fPIC -DPIC \
- -Wl,-soname -Wl,"lib"$LIB".so.0" \
- -o "lib"$LIB".so.0.0.1"
- $ST -g "lib"$LIB".so.0.0.1"
- rm -f "lib"$LIB".so"
- ln -s "lib"$LIB".so.0.0.1" "lib"$LIB".so"
- rm -f "lib"$LIB".so.0"
- ln -s "lib"$LIB".so.0.0.1" "lib"$LIB".so.0"
- rm -f "lib"$LIB".so.0.0"
- ln -s "lib"$LIB".so.0.0.1" "lib"$LIB".so.0.0"
- cp -a "lib"$LIB".so"* $DST"/lib";
- cp -a Edje.h $DST"/include";
- popd
+## FIXUPS
+for I in $INST"/bin/"* $INST"/sbin/"* $INST"/libexec/"*; do
+ J=`echo $I | sed s:$TARGETARCH"-"::g`
+ sudo mv $I $J
+done
- pushd bin
- BIN="edje"
- $CC edje_main.c \
- -DEDJE_FB_ONLY \
- -I../.. -I../lib \
- -I. \
- -I/skiff/local/include \
- -L. -L../lib \
- -L/skiff/local/lib \
- -ledje \
- -lecore -lecore_evas -lecore_fb -lecore_ipc -lecore_con -lecore_job \
- -levas -leet -ljpeg -lpng -lfreetype -lm -lz \
- -o $BIN
- $ST $BIN
- cp -a $BIN $DST"/bin";
- popd
-popd
+CF=$INST"/bin/"$PROJ"-config"
+sed s:"/usr/local":$SKIFF"/"$TARGETCPU"-linux":g < $CF > "/tmp/.sed.tmp"
+sudo cp "/tmp/.sed.tmp" $CF
+rm -f "/tmp/.sed.tmp"
-mkdir $DST"/share/edje/data"
-cp -ar data/test data/e_logo.eet $DST"/share/edje/data"
+for I in $INST"/lib/"*.la; do
+ sed s:"/usr/local":$SKIFF"/"$TARGETCPU"-linux":g < $I > "/tmp/.sed.tmp"
+ sudo cp "/tmp/.sed.tmp" $I
+ rm -f "/tmp/.sed.tmp"
+done
+
+## package it all up
+PACK=$PROJ"-"$TARGETCPU"-inst.tar.gz"
-PD=`pwd`
-pushd "build"
- tar zcvf $PD"/data.tar.gz" *
- pushd "/skiff/local"
- sudo tar zxvf $PD"/data.tar.gz"
- popd
-popd
+DIR=$PWD
+cd $INST
+sudo tar zcvf $DIR"/"$PACK *
+sudo chown $USER $DIR"/"$PACK
+cd $DIR
+sudo rm -rf $INST
+
+## install it in our skiff tree
+cd $SKIFF"/"$TARGETCPU"-linux"
+sudo tar zxvf $DIR"/"$PACK
+
diff --git a/legacy/edje/src/bin/Makefile.am b/legacy/edje/src/bin/Makefile.am
index f91600070f..0deacc4c20 100644
--- a/legacy/edje/src/bin/Makefile.am
+++ b/legacy/edje/src/bin/Makefile.am
@@ -1,20 +1,23 @@
## Process this file with automake to produce Makefile.in
INCLUDES = \
--I.. \
--I../lib \
--I../.. \
-I$(top_srcdir) \
--I$(top_builddir) \
--I$(top_srcdir)/lib \
--I$(top_builddir)/lib \
--I/usr/local/include \
+-I$(top_srcdir)/bin \
+-I$(top_srcdir)/src/lib \
@eet_cflags@ \
@evas_cflags@ \
@ecore_cflags@ \
@imlib2_cflags@
-bin_PROGRAMS = edje edje_cc edje_ls
+bin_PROGRAMS = \
+edje \
+edje_ls \
+@EDJE_CC_PRG@
+
+EXTRA_PROGRAMS = \
+edje \
+edje_ls \
+edje_cc
edje_SOURCES = \
edje_main.c \
@@ -26,6 +29,7 @@ $(top_builddir)/src/lib/libedje.la \
#edje_LDFLAGS = -static
edje_LDFLAGS =
+edje_CPPFLAGS = @edje_def@
edje_DEPENDENCIES = $(top_builddir)/src/lib/libedje.la
@@ -40,6 +44,7 @@ edje_cc_handlers.c
edje_cc_LDADD = \
$(top_builddir)/src/lib/libedje.la \
@imlib2_libs@
+edje_cc_CPPFLAGS = @edje_def@
edje_cc_LDFLAGS =
@@ -51,6 +56,7 @@ edje_ls.c
edje_ls_LDADD = \
$(top_builddir)/src/lib/libedje.la
+edje_ls_CPPFLAGS = @edje_def@
edje_ls_LDFLAGS =
diff --git a/legacy/edje/src/lib/Makefile.am b/legacy/edje/src/lib/Makefile.am
index fc6aec9aeb..0eaae6c21d 100644
--- a/legacy/edje/src/lib/Makefile.am
+++ b/legacy/edje/src/lib/Makefile.am
@@ -5,9 +5,8 @@ AUTOMAKE_OPTIONS = 1.4 foreign
# A list of all the files in the current directory which can be regenerated
MAINTAINERCLEANFILES = Makefile.in
-LDFLAGS = -L/usr/local/lib
+LDFLAGS =
INCLUDES = \
--I/usr/local/include \
-I$(top_srcdir) \
-I$(top_builddir) \
-I$(includedir) \
@@ -30,5 +29,6 @@ edje_util.c \
edje_private.h
libedje_la_LIBADD = $(LDFLAGS) -lm @evas_libs@ @ecore_libs@ @eet_libs@
+libedje_la_CPPFLAGS = @edje_def@
libedje_la_DEPENDENCIES = $(top_builddir)/config.h
libedje_la_LDFLAGS = -version-info 0:1:0