VirtualBox

Changeset 3675 in vbox for trunk/configure


Ignore:
Timestamp:
Jul 17, 2007 8:43:22 PM (18 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
22958
Message:

configure: distinguish between build and target, preliminary support for 64-bit builds on 32-bit hosts

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/configure

    r3328 r3675  
    2626#
    2727OSE=1
     28TARGET_MACHINE=""
     29TARGET_CPU=""
    2830WITH_XPCOM=1
    2931WITH_LIBIDL=1
     
    3234WITH_HAL=1
    3335CC="gcc"
     36CC32=""
     37CC64=""
    3438CXX="g++"
     39CXX32=""
     40CXX64=""
    3541BCC="bcc"
    3642YASM="yasm"
     
    214220{
    215221  test_header environment
    216   CPU=`uname -m`
    217   case "$CPU" in
     222  BUILD_CPU=`uname -m`
     223  case "$BUILD_CPU" in
    218224    i[3456789]86|x86)
    219       MACHINE='x86'
     225      BUILD_MACHINE='x86'
    220226      LIB='lib'
    221227      ;;
    222228    x86_64|amd64)
    223       MACHINE='amd64'
    224       CPU='k8'
     229      BUILD_MACHINE='amd64'
     230      BUILD_CPU='k8'
    225231      # on AMD64 systems, 64bit libs are usually located in /usr/lib64
    226232      # see http://www.pathname.com/fhs/pub/fhs-2.3.html#LIB64
     
    232238      ;;
    233239  esac
     240  [ -z "$TARGET_MACHINE" ] && TARGET_MACHINE=$BUILD_MACHINE
     241  [ -z "$TARGET_CPU"     ] && TARGET_CPU=$BUILD_CPU
    234242  OS=`uname -s | sed -e 's/GNU\/Linux/Linux/g' | tr 'A-Z' 'a-z'`
    235243  case "$OS" in
     
    245253      ;;
    246254  esac
    247   DEVDIR_BIN="$DEVDIR/$OS.$MACHINE/bin"
    248   KBUILDDIR_BIN="$KBUILDDIR/bin/$OS.$MACHINE"
    249   log_success "Determined $OS.$MACHINE"
     255  DEVDIR_BIN="$DEVDIR/$OS.$BUILD_MACHINE/bin"
     256  KBUILDDIR_BIN="$KBUILDDIR/bin/$OS.$BUILD_MACHINE"
     257  log_success "Determined build machine: $OS.$BUILD_MACHINE, target machine: $OS.$TARGET_MACHINE"
    250258
    251259  # Automatically disable XPCOM on darwin.
     
    285293        log_success "found version $cc_ver"
    286294      fi
     295      if [ "$BUILD_MACHINE" = "amd64" ]; then
     296        [ -z "$CC32"  ] && CC32="$CC -m32"
     297        [ -z "$CXX32" ] && CXX32="$CXX -m32"
     298      else
     299        [ -z "$CC32"  ] && CC32="$CC"
     300        [ -z "$CXX32" ] && CXX32="$CXX"
     301      fi
     302      if [ "$BUILD_MACHINE" = "x86" -a "$TARGET_MACHINE" = "amd64" ]; then
     303        [ -z "$CC64"  ] && CC64="$CC -m64"
     304        [ -z "$CXX64" ] && CXX64="$CXX -m64"
     305      fi
    287306      if [ "$CC" != "gcc" ]; then
    288         cnf_append "TOOL_GCC3_CC" "$CC"
    289         cnf_append "TOOL_GCC3_AS" "$CC"
    290         cnf_append "TOOL_GXX3_CC" "$CC"
    291         cnf_append "TOOL_GXX3_AS" "$CC"
     307        cnf_append "TOOL_GCC3_CC"   "$CC"
     308        cnf_append "TOOL_GCC3_AS"   "$CC"
     309        cnf_append "TOOL_GCC3_LD"   "$CC"
     310        cnf_append "TOOL_GXX3_CC"   "$CC"
     311        cnf_append "TOOL_GXX3_AS"   "$CC"
    292312      fi
    293313      if [ "$CXX" != "g++" ]; then
    294         cnf_append "TOOL_GCC3_CXX" "$CXX"
    295         cnf_append "TOOL_GCC3_LD"  "$CXX"
    296         cnf_append "TOOL_GXX3_CXX" "$CXX"
    297         cnf_append "TOOL_GXX3_LD"  "$CXX"
     314        cnf_append "TOOL_GCC3_CXX"  "$CXX"
     315        cnf_append "TOOL_GXX3_CXX"  "$CXX"
     316        cnf_append "TOOL_GXX3_LD"   "$CXX"
     317      fi
     318      if [ "$CC32" != "gcc -m32" ]; then
     319        cnf_append "TOOL_GCC32_CC"  "$CC32"
     320        cnf_append "TOOL_GCC32_AS"  "$CC32"
     321        cnf_append "TOOL_GCC32_LD"  "$CC32"
     322        cnf_append "TOOL_GXX32_CC"  "$CC32"
     323        cnf_append "TOOL_GXX32_AS"  "$CC32"
     324      fi
     325      if [ "$CXX32" != "g++ -m32" ]; then
     326        cnf_append "TOOL_GCC32_CXX" "$CXX32"
     327        cnf_append "TOOL_GXX32_CXX" "$CXX32"
     328        cnf_append "TOOL_GXX32_LD"  "$CXX32"
     329      fi
     330      if [ -n "$CC64" ]; then
     331        cnf_append "TOOL_GCC64_CC"  "$CC64"
     332        cnf_append "TOOL_GCC64_AS"  "$CC64"
     333        cnf_append "TOOL_GCC64_LD"  "$CC64"
     334        cnf_append "TOOL_GXX64_CC"  "$CC64"
     335        cnf_append "TOOL_GXX64_AS"  "$CC64"
     336      fi
     337      if [ -n "$CXX64" ]; then
     338        cnf_append "TOOL_GCC64_CXX" "$CXX64"
     339        cnf_append "TOOL_GXX64_CXX" "$CXX64"
     340        cnf_append "TOOL_GXX64_LD"  "$CXX64"
    298341      fi
    299342    fi
     
    10111054    log_success "found"
    10121055    echo "export BUILD_PLATFORM=\"$OS\"" >> $ENV
    1013     echo "export BUILD_PLATFORM_ARCH=\"$MACHINE\"" >> $ENV
     1056    echo "export BUILD_PLATFORM_ARCH=\"$BUILD_MACHINE\"" >> $ENV
    10141057    echo "export BUILD_TARGET=\"$OS\"" >> $ENV
    1015     echo "export BUILD_TARGET_ARCH=\"$MACHINE\"" >> $ENV
    1016     echo "export BUILD_TARGET_CPU=\"$CPU\"" >> $ENV
     1058    echo "export BUILD_TARGET_ARCH=\"$TARGET_MACHINE\"" >> $ENV
     1059    echo "export BUILD_TARGET_CPU=\"$TARGET_CPU\"" >> $ENV
    10171060    echo "export BUILD_TYPE=\"$BUILD_TYPE\"" >> $ENV
    10181061    echo "export PATH_KBUILD=\"`cd $KBUILDDIR ; pwd`\"" >> $ENV
     
    13291372    echo "To compile the kernel module, do:"
    13301373    echo ""
    1331     echo "  cd ./out/$OS.$MACHINE/$BUILD_TYPE/bin/src"
     1374    echo "  cd ./out/$OS.$TARGET_MACHINE/$BUILD_TYPE/bin/src"
    13321375    echo "  make"
    13331376    echo ""
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette