build: make configure better, especially on windows 01/19101/2
authorKitae Kim <kt920.kim@samsung.com>
Mon, 7 Apr 2014 10:30:37 +0000 (19:30 +0900)
committerKitae Kim <kt920.kim@samsung.com>
Mon, 7 Apr 2014 11:06:17 +0000 (20:06 +0900)
Change the way to search libraries and headers such as libpng and libcurl.

Change-Id: Ic7743d4196968b0dc702d858dcce52fc4d0671fb
Signed-off-by: Kitae Kim <kt920.kim@samsung.com>
configure
package/build.windows-32
tizen/emulator_configure.sh
tizen/src/Makefile.tizen

index 334904f..0791234 100755 (executable)
--- a/configure
+++ b/configure
@@ -265,6 +265,7 @@ gl="yes"
 maru="no"
 shm="no"
 libav="no"
+png="no"
 #
 glusterfs=""
 glusterfs_discard="no"
@@ -1017,6 +1018,8 @@ for opt do
   ;;
   --enable-libav) libav="yes"
   ;;
+  --enable-png) png="yes"
+  ;;
 #
   --disable-glusterfs) glusterfs="no"
   ;;
@@ -1302,6 +1305,7 @@ echo "TIZEN-maru options:"
 echo "  --enable-maru            enable maru board"
 echo "  --enable-shm             enable shared memory for framebuffer"
 echo "  --enable-libav           enable libav library"
+echo "  --enable-png             enable png library"
 
 echo "NOTE: The object files are built at the place where configure is launched"
 exit 1
@@ -3623,68 +3627,82 @@ fi
 if test "$libav" != "no"; then
     libavcodec_package="libavcodec"
     libavcodec_version="54.35.0"
-       libavutil_package="libavutil"
-       libavutil_version="52.3.0"
-       libavformat_package="libavformat"
-       libavformat_version="54.20.3"
-       libavresample_package="libavresample"
-       libavresample_version="1.0.1"
+    libavutil_package="libavutil"
+    libavutil_version="52.3.0"
+    libavformat_package="libavformat"
+    libavformat_version="54.20.3"
+    libavresample_package="libavresample"
+    libavresample_version="1.0.1"
 
     if $pkg_config --exists "$libavcodec_package >= $libavcodec_version" ; then
-               libav_cflags=`$pkg_config --cflags $libavcodec_package`
-               libav_libs=`$pkg_config --libs $libavcodec_package`
-               libs_softmmu="$libav_libs $libs_softmmu"
-           QEMU_CFLAGS="$QEMU_CFLAGS $libav_cflags"
-               libav="yes"
+        libav_cflags=`$pkg_config --cflags $libavcodec_package`
+        libav_libs=`$pkg_config --libs $libavcodec_package`
+        libs_softmmu="$libav_libs $libs_softmmu"
+        QEMU_CFLAGS="$QEMU_CFLAGS $libav_cflags"
+        libav="yes"
     else
-               if test "$libav" = "yes" ; then
-                       feature_not_found "libav"
-               fi
-               libav="no"
+        if test "$libav" = "yes" ; then
+            feature_not_found "libav"
+        fi
+        libav="no"
     fi
 
     if $pkg_config --exists "$libavutil_package >= $libavutil_version" ; then
-               libav_cflags=`$pkg_config --cflags $libavutil_package`
-               libav_libs=`$pkg_config --libs $libavutil_package`
-               libs_softmmu="$libav_libs $libs_softmmu"
-           QEMU_CFLAGS="$QEMU_CFLAGS $libav_cflags"
-               libav="yes"
+        libav_libs=`$pkg_config --libs-only-l $libavutil_package`
+        libs_softmmu="$libav_libs $libs_softmmu"
+        libav="yes"
     else
-               if test "$libav" = "yes" ; then
-                       feature_not_found "libav"
-               fi
-               libav="no"
+        if test "$libav" = "yes" ; then
+            feature_not_found "libav"
+        fi
+        libav="no"
     fi
 
     if $pkg_config --exists "$libavformat_package >= $libavformat_version" ; then
-               libav_cflags=`$pkg_config --cflags $libavformat_package`
-               libav_libs=`$pkg_config --libs $libavformat_package`
-               libs_softmmu="$libav_libs $libs_softmmu"
-           qemu_cflags="$qemu_cflags $libav_cflags"
-               libav="yes"
+        libav_libs=`$pkg_config --libs-only-l $libavformat_package`
+        libs_softmmu="$libav_libs $libs_softmmu"
+        libav="yes"
     else
-               if test "$libav" = "yes" ; then
-                       feature_not_found "libav"
-               fi
-               libav="no"
+        if test "$libav" = "yes" ; then
+            feature_not_found "libav"
+        fi
+        libav="no"
     fi
 
-       if $pkg_config --exists "$libavresample_package >= $libavresample_version" ; then
-               libav_cflags=`$pkg_config --cflags $libavresample_package`
-               libav_libs=`$pkg_config --libs $libavresample_package`
-               libs_softmmu="$libav_libs $libs_softmmu"
-           qemu_cflags="$qemu_cflags $libav_cflags"
-               libav="yes"
+    if $pkg_config --exists "$libavresample_package >= $libavresample_version" ; then
+        libav_libs=`$pkg_config --libs-only-l $libavresample_package`
+        libs_softmmu="$libav_libs $libs_softmmu"
+        libav="yes"
     else
-               if test "$libav" = "yes" ; then
-                       feature_not_found "libav"
-               fi
-               libav="no"
+        if test "$libav" = "yes" ; then
+            feature_not_found "libav"
+        fi
+        libav="no"
     fi
 
 fi
 
 ##########################################
+# png probe
+
+if test "$png" != "no"; then
+    png_package="libpng"
+
+    if $pkg_config --exists "$png_package" ; then
+        png_cflags=`$pkg_config --cflags $png_package`
+        png_libs=`$pkg_config --libs $png_package`
+        libs_softmmu="$png_libs $libs_softmmu"
+        QEMU_CFLAGS="$QEMU_CFLAGS $png_cflags"
+        png="yes"
+    else
+        if test "$png" = "yes" ; then
+            feature_not_found "png"
+        fi
+        png="no"
+    fi
+fi
+
+##########################################
 # End of CC checks
 # After here, no more $cc or $ld runs
 
@@ -3945,6 +3963,7 @@ echo "vhdx              $vhdx"
 echo "TIZEN-maru support $maru"
 echo "TIZEN-maru shared framebuffer support $shm"
 echo "TIZEN-maru libav support $libav"
+echo "TIZEN-maru png support $png"
 #
 
 if test "$sdl_too_old" = "yes"; then
@@ -4391,6 +4410,9 @@ fi
 if test "$libav" = "yes" ; then
   echo "CONFIG_LIBAV=y" >> $config_host_mak
 fi
+if test "$png" = "yes" ; then
+  echo "CONFIG_PNG=y" >> $config_host_mak
+fi
 
 # TPM passthrough support?
 if test "$tpm" = "yes"; then
index 62963b4..3e73bc0 100755 (executable)
@@ -7,7 +7,7 @@ clean()
        cd $SRCDIR/tizen
        if test -e "Makefile"
        then
-               ./emulator_configure.sh x86
+               ./emulator_configure.sh x86 -e "$BUILD_CFLAGS $BUILD_LDFLAGS"
                make distclean
        fi
        rm -rf $SRCDIR/*.zip
@@ -34,18 +34,20 @@ prepare()
        fi
        
        PURIFIED_ROOTDIR=`TEMP=\`echo "${ROOTDIR}" | cut -c-2 | sed "s/[:/]//g" | awk {'print tolower ($_)'}\`; echo \`echo "${ROOTDIR}" | sed "s/^../\/${TEMP}/"\``
-       PATH=$PATH:$PURIFIED_ROOTDIR/bin:$PURIFIED_ROOTDIR/apache-ant_1.9.2/bin:$PURIFIED_ROOTDIR/SDL_1.2.15/bin:$PURIFIED_ROOTDIR/gtk-bundle_2.24.10/bin:$PURIFIED_ROOTDIR/libcurl-4_1.0.1/bin:$PURIFIED_ROOTDIR/pixman_0.30.0/bin
+       PATH=$PATH:$PURIFIED_ROOTDIR/bin:$PURIFIED_ROOTDIR/apache-ant_1.9.2/bin:$PURIFIED_ROOTDIR/SDL_1.2.15/bin:$PURIFIED_ROOTDIR/pixman_0.30.0/bin:$PURIFIED_ROOTDIR/gtk-bundle_2.24.10/bin:$PURIFIED_ROOTDIR/libcurl-4_1.0.1/bin
        export PATH
 
        if [ -z ${PKG_CONFIG_PATH} ]
        then
-               PKG_CONFIG_PATH=$PURIFIED_ROOTDIR/libav/lib/pkgconfig:$PURIFIED_ROOTDIR/SDL_1.2.15/lib/pkgconfig:$PURIFIED_ROOTDIR/gtk-bundle_2.24.10/lib/pkgconfig:$PURIFIED_ROOTDIR/libcurl-4_1.0.1/lib/pkgconfig:$ROOTDIR/pixman_0.30.0/lib/pkgconfig
+               PKG_CONFIG_PATH=$PURIFIED_ROOTDIR/libav/lib/pkgconfig:$PURIFIED_ROOTDIR/SDL_1.2.15/lib/pkgconfig:$PURIFIED_ROOTDIR/pixman_0.30.0/lib/pkgconfig:$PURIFIED_ROOTDIR/gtk-bundle_2.24.10/lib/pkgconfig:$PURIFIED_ROOTDIR/libcurl-4_1.0.1/lib/pkgconfig
        else
-               PKG_CONFIG_PATH=$PURIFIED_ROOTDIR/libav/lib/pkgconfig:$PURIFIED_ROOTDIR/SDL_1.2.15/lib/pkgconfig:$PURIFIED_ROOTDIR/gtk-bundle_2.24.10/lib/pkgconfig:$PURIFIED_ROOTDIR/libcurl-4_1.0.1/lib/pkgconfig:$PURIFIED_ROOTDIR/pixman_0.30.0/lib/pkgconfig:${PKG_CONFIG_PATH}
+               PKG_CONFIG_PATH=$PURIFIED_ROOTDIR/libav/lib/pkgconfig:$PURIFIED_ROOTDIR/SDL_1.2.15/lib/pkgconfig:$PURIFIED_ROOTDIR/pixman_0.30.0/lib/pkgconfig:$PURIFIED_ROOTDIR/gtk-bundle_2.24.10/lib/pkgconfig:$PURIFIED_ROOTDIR/libcurl-4_1.0.1/lib/pkgconfig:${PKG_CONFIG_PATH}
        fi
        export PKG_CONFIG_PATH
 
        echo $PKG_CONFIG_PATH
+       BUILD_CFLAGS+=--extra-cflags="-I$PURIFIED_ROOTDIR/gtk-bundle_2.24.10/include "
+       BUILD_LDFLAGS+=--extra-ldflags="-L$PURIFIED_ROOTDIR/gtk-bundle_2.24.10/lib "
 }
 
 # build
@@ -54,7 +56,7 @@ build()
        prepare
 
        cd $SRCDIR/tizen
-       ./emulator_configure.sh x86
+       ./emulator_configure.sh x86 -e "$BUILD_CFLAGS $BUILD_LDFLAGS"
        make all_dibs
        if [ $? -eq 0 ]
        then
index 32297fc..27d8e7a 100755 (executable)
@@ -237,6 +237,7 @@ exec ./configure \
  --disable-pie \
  --enable-virtfs \
  --disable-xen \
+ --enable-png \
  $CONFIGURE_APPEND \
 ;;
 MINGW*)
@@ -250,6 +251,7 @@ exec ./configure \
  --audio-drv-list=winwave \
  --enable-hax \
  --disable-vnc \
+ --enable-png \
  $CONFIGURE_APPEND \
 ;;
 Darwin*)
index ff9d6e5..cf2a4e2 100644 (file)
@@ -17,14 +17,11 @@ else
 CFLAGS += -g -O0
 endif
 
-# codec
-#LIBS+= -lavformat-emul -lavcodec-emul -lavresample-emul -lavutil-emul
-
 ifdef CONFIG_WIN32
-LIBS += -lcurl -lopengl32 -lglu32 -lgdi32 -lpng14
+LIBS += -lopengl32 -lglu32 -lgdi32 -lpng14
 endif
 ifdef CONFIG_LINUX
-LIBS += -lcurl -lGL -lXcomposite -lXext -lpng
+LIBS += -lGL -lXcomposite -lXext -lpng
 endif
 
 ifdef CONFIG_DEBUG_EXEC
@@ -70,6 +67,8 @@ obj-y += emulator.o emul_state.o maru_err_table.o
 
 # osutil
 obj-y += osutil.o
+QEMU_CFLAGS += $(CURL_CFLAGS)
+
 ifdef CONFIG_LINUX
 obj-y += osutil-linux.o
 endif