dibs: prepared cross building on DIBS
authorSeokYeon Hwang <syeon.hwang@samsung.com>
Wed, 9 Sep 2015 13:52:05 +0000 (22:52 +0900)
committerSeokYeon Hwang <syeon.hwang@samsung.com>
Thu, 10 Sep 2015 01:54:41 +0000 (10:54 +0900)
Change-Id: I2e669d1fb8cc7507608bcd898ac5cde740ca872d
Signed-off-by: SeokYeon Hwang <syeon.hwang@samsung.com>
package/build.common
package/build.linux
tizen/emulator_configure.sh

index e8c2d77c4bab1ba9dd1c0aa92953470465c74152..ed3240ec3fb80bb8d6bc43538d25706dc7c91af4 100644 (file)
@@ -5,14 +5,13 @@ build_common()
 
        cd ${SRCDIR}/tizen
 
-       PKG_CONFIG_PATH=${ROOTDIR}/lib/pkgconfig:${ROOTDIR}/remote/lib/pkgconfig:${ROOTDIR}/libav/lib/pkgconfig
+       PKG_CONFIG_PATH=${ROOTDIR}/lib/pkgconfig
        PATH=${PATH}:${ROOTDIR}/bin
 
        PKG_CONFIG_PATH=${PKG_CONFIG_PATH} ./emulator_configure.sh x86
 
        make clean
-       # FIXME: PKG_CONFIG_PATH is only for qt5_msg_box
-       PATH=${PATH} PKG_CONFIG_PATH=${PKG_CONFIG_PATH} make all_dibs -j8
+       PATH=${PATH} make all_dibs -j8
        make install_dibs
 
        if [ $? -eq 0 ]
index 343ac2121d866f2ef2799cc605f823f498ab3382..d43568dbba04850371fa7fb1b37825e406d5fad6 100755 (executable)
@@ -10,42 +10,69 @@ prepare()
                exit 1
        fi
 
-       REQUIRED_PKG="ant python zlib1g-dev libglib2.0-dev libsdl1.2-dev libasound2-dev \
-        libx11-dev libv4l-dev libxcomposite-dev libpixman-1-dev libcurl4-gnutls-dev \
-        libcap-dev libattr1-dev"
-
-       echo "Checking required packages before compling!!"
-       for pkg in ${REQUIRED_PKG}
-       do
-               dpkg -s ${pkg} > /dev/null
-               if [ "x$?" = "x0" ]
-               then
-                       echo "checking ${pkg} ... OK"
-               else
-                       echo "checking ${pkg} ... failure"
-                       exit 1
-               fi
-       done
+       if [ "${TARGET_OS}" = "windows-32" ] || [ "${TARGET_OS}" = "windows-64" ]
+       then
+               # for Windows target (cross compiling)
+
+               # we should use cross compiler from mingw-x package
+               export PATH=/opt/mingw32/bin:$PATH
+               export CROSS_PREFIX=i686-w64-mingw32-
+
+               # correct pc's prefix since windows install script is not run
+               # on linux
+               PCs=$(find ${ROOTDIR}/lib/pkgconfig -name '*.pc')
+
+               for pc in ${PCs}; do
+                       echo "${pc}"
+                       LIB_DIR=${ROOTDIR}
+                       sed -i '/LIBDIR=/d' ${pc}
+                       sed -i '/^prefix=/!b;c\prefix=${LIBDIR}' ${pc}
+                       sed -i "1s|^|LIBDIR=${LIB_DIR}\n|" ${pc}
+               done
+
+               # mingw-x doesn't have zlib, so we use our own.
+               export EXTRA_CFLAGS=-I${ROOTDIR}/include
+               export EXTRA_LDFLAGS=-L${ROOTDIR}/lib
+       else
+               # for linux target
+
+               REQUIRED_PKG="ant python zlib1g-dev libglib2.0-dev libsdl1.2-dev \
+                       libasound2-dev libx11-dev libv4l-dev libxcomposite-dev \
+                       libpixman-1-dev libcurl4-gnutls-dev     libcap-dev libattr1-dev"
+
+               echo "Checking required packages before compling!!"
+               for pkg in ${REQUIRED_PKG}
+               do
+                       dpkg -s ${pkg} > /dev/null
+                       if [ "x$?" = "x0" ]
+                       then
+                               echo "checking ${pkg} ... OK"
+                       else
+                               echo "checking ${pkg} ... failure"
+                               exit 1
+                       fi
+               done
+       fi
 }
 
 # clean
 clean()
 {
-    echo "nothing to do"
+       echo "nothing to do"
 }
 
 # build
 build()
 {
-    . $SRCDIR/package/build.common
-    build_common
+       . $SRCDIR/package/build.common
+       build_common
 }
 
 # install
 install()
 {
-    . $SRCDIR/package/build.common
-    install_common
+       . $SRCDIR/package/build.common
+       install_common
 }
 
 [ "$1" = "clean" ] && clean
index bb6244e70ac14662cc82e6e21cc9eca61c32a77a..0a88f86a7fb3924827b5fb4b2f56f1619907369c 100755 (executable)
@@ -81,14 +81,18 @@ if [ -z "$TIZEN_SDK_DEV_PATH" ] ; then
     fi
 fi
 
+if [ ! -z "$EXTRA_CFLAGS" ] ; then
+        CONFIGURE_APPEND="$CONFIGURE_APPEND --extra-cflags=$EXTRA_CFLAGS"
+fi
+
+if [ ! -z "$EXTRA_LDFLAGS" ] ; then
+        CONFIGURE_APPEND="$CONFIGURE_APPEND --extra-ldflags=$EXTRA_LDFLAGS"
+fi
+
 echo "##### checking for os... Host OS $hostos, Target OS $targetos"
 echo "##### TIZEN_SDK_DEV_PATH: ${TIZEN_SDK_DEV_PATH}"
 echo "$*"
 
-if [ -z "$EMUL_TARGET_LIST" ] ; then
-  set_target all
-fi
-
 # avoid pkg-config bug on Windows
 if [ -z ${PKG_CONFIG_PATH} ] ; then
 export PKG_CONFIG_PATH=${TIZEN_SDK_DEV_PATH}/distrib/lib/pkgconfig