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