[1/2] configure: support target dependent linking

Submitted by Michael Walle on April 25, 2011, 10:09 p.m.

Details

Message ID 1303769341-21578-1-git-send-email-michael@walle.cc
State New
Headers show

Commit Message

Michael Walle April 25, 2011, 10:09 p.m.
This patch is the first attempt to make configure more intelligent with
regard to how it links to libraries. It divides the softmmu libraries into
two lists, a general one and a list which depends on the target
architecture.

Signed-off-by: Michael Walle <michael@walle.cc>
Reviewed-by: Aurelien Jarno <aurelien@aurel32.net>
---
 configure |   12 +++++++++---
 1 files changed, 9 insertions(+), 3 deletions(-)

Comments

Michael Walle April 25, 2011, 10:24 p.m.
changes v2
 - add libfdt for microblaze targets
Edgar Iglesias April 26, 2011, 5:39 a.m.
On Tue, Apr 26, 2011 at 12:09:00AM +0200, Michael Walle wrote:
> This patch is the first attempt to make configure more intelligent with
> regard to how it links to libraries. It divides the softmmu libraries into
> two lists, a general one and a list which depends on the target
> architecture.

Hi,

I'm currently traveling and cannot test your patch, but please
note that the microblaze arch also uses the fdt lib. Looking
at it quickly it seems like it's missing for mb.

Cheers

Patch hide | download patch | download mbox

diff --git a/configure b/configure
index da2da04..9825b12 100755
--- a/configure
+++ b/configure
@@ -1946,11 +1946,11 @@  int main(void) { return 0; }
 EOF
   if compile_prog "" "$fdt_libs" ; then
     fdt=yes
-    libs_softmmu="$fdt_libs $libs_softmmu"
   else
     if test "$fdt" = "yes" ; then
       feature_not_found "fdt"
     fi
+    fdt_libs=
     fdt=no
   fi
 fi
@@ -1967,11 +1967,11 @@  int main(void) { GL_VERSION; return 0; }
 EOF
   if compile_prog "" "-lGL" ; then
     opengl=yes
-       libs_softmmu="$opengl_libs $libs_softmmu"
   else
     if test "$opengl" = "yes" ; then
       feature_not_found "opengl"
     fi
+    opengl_libs=
     opengl=no
   fi
 fi
@@ -3071,6 +3071,7 @@  target_short_alignment=2
 target_int_alignment=4
 target_long_alignment=4
 target_llong_alignment=8
+target_libs_softmmu=
 
 TARGET_ARCH="$target_arch2"
 TARGET_BASE_ARCH=""
@@ -3104,6 +3105,7 @@  case "$target_arch2" in
   ;;
   lm32)
     target_phys_bits=32
+    target_libs_softmmu="$opengl_libs"
   ;;
   m68k)
     bflt="yes"
@@ -3142,6 +3144,7 @@  case "$target_arch2" in
     gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
     target_phys_bits=32
     target_nptl="yes"
+    target_libs_softmmu="$fdt_libs"
   ;;
   ppcemb)
     TARGET_BASE_ARCH=ppc
@@ -3149,6 +3152,7 @@  case "$target_arch2" in
     gdb_xml_files="power-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
     target_phys_bits=64
     target_nptl="yes"
+    target_libs_softmmu="$fdt_libs"
   ;;
   ppc64)
     TARGET_BASE_ARCH=ppc
@@ -3156,6 +3160,7 @@  case "$target_arch2" in
     gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
     target_phys_bits=64
     target_long_alignment=8
+    target_libs_softmmu="$fdt_libs"
   ;;
   ppc64abi32)
     TARGET_ARCH=ppc64
@@ -3164,6 +3169,7 @@  case "$target_arch2" in
     echo "TARGET_ABI32=y" >> $config_target_mak
     gdb_xml_files="power64-core.xml power-fpu.xml power-altivec.xml power-spe.xml"
     target_phys_bits=64
+    target_libs_softmmu="$fdt_libs"
   ;;
   sh4|sh4eb)
     TARGET_ARCH=sh4
@@ -3249,7 +3255,7 @@  fi
 if test "$target_softmmu" = "yes" ; then
   echo "TARGET_PHYS_ADDR_BITS=$target_phys_bits" >> $config_target_mak
   echo "CONFIG_SOFTMMU=y" >> $config_target_mak
-  echo "LIBS+=$libs_softmmu" >> $config_target_mak
+  echo "LIBS+=$libs_softmmu $target_libs_softmmu" >> $config_target_mak
   echo "HWDIR=../libhw$target_phys_bits" >> $config_target_mak
   echo "subdir-$target: subdir-libhw$target_phys_bits" >> $config_host_mak
 fi