summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKitae Kim <kt920.kim@samsung.com>2014-04-07 19:30:37 +0900
committerKitae Kim <kt920.kim@samsung.com>2014-04-07 20:06:17 +0900
commite94577ebbf0ec461ca192918f12760a9778310dd (patch)
treeebbe1756a59784ebc074945fe6afd43e850dee2a
parentf5cb3bdfb3d08b4ae9a1c1f6a353e21f96bd63bb (diff)
downloadqemu-e94577ebbf0ec461ca192918f12760a9778310dd.tar.gz
qemu-e94577ebbf0ec461ca192918f12760a9778310dd.tar.bz2
qemu-e94577ebbf0ec461ca192918f12760a9778310dd.zip
build: make configure better, especially on windows
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>
-rwxr-xr-xconfigure108
-rwxr-xr-xpackage/build.windows-3212
-rwxr-xr-xtizen/emulator_configure.sh2
-rw-r--r--tizen/src/Makefile.tizen9
4 files changed, 78 insertions, 53 deletions
diff --git a/configure b/configure
index 334904f736..07912347e5 100755
--- 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
diff --git a/package/build.windows-32 b/package/build.windows-32
index 62963b43d2..3e73bc0c36 100755
--- a/package/build.windows-32
+++ b/package/build.windows-32
@@ -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
diff --git a/tizen/emulator_configure.sh b/tizen/emulator_configure.sh
index 32297fc124..27d8e7a958 100755
--- a/tizen/emulator_configure.sh
+++ b/tizen/emulator_configure.sh
@@ -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*)
diff --git a/tizen/src/Makefile.tizen b/tizen/src/Makefile.tizen
index ff9d6e54f7..cf2a4e2fdf 100644
--- a/tizen/src/Makefile.tizen
+++ b/tizen/src/Makefile.tizen
@@ -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