VirtualBox

Changeset 59681 in vbox for trunk/configure


Ignore:
Timestamp:
Feb 15, 2016 1:15:47 PM (9 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
105538
Message:

FE/Qt: Qt5 migration (part 93): Preparing Qt5 tool: X11: Qt5 tuning for configure script.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/configure

    r59469 r59681  
    8282WITH_GSOAP=0
    8383WITH_QT4=1
     84WITH_QT5=0
    8485WITH_SDL=1
    8586WITH_SDL_TTF=1
     
    154155QT4DIR="/usr/lib/qt4 /usr/share/qt4 /usr/lib64/qt4 /usr /usr/local"
    155156QT4DIR_PKGCONFIG=1
     157QT5DIR="/usr/lib/qt5 /usr/share/qt5 /usr/lib64/qt5 /usr /usr/local"
     158QT5DIR_PKGCONFIG=1
    156159KBUILDDIR="`cd \`dirname $0\`; pwd`/kBuild"
    157160DEVDIR="`cd \`dirname $0\`; pwd`/tools"
     
    287290  cat $ODIR.tmp_src.cc >> $LOG
    288291  echo "using the following command line:" >> $LOG
    289   echo "$CXX $CXX_FLAGS -g -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc \"$1\"" >> $LOG
    290   $CXX $CXX_FLAGS -g -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc $1 >> $LOG 2>&1
     292  echo "$CXX $CXX_FLAGS -fPIC -g -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc \"$1\"" >> $LOG
     293  $CXX $CXX_FLAGS -fPIC -g -O -Wall -o $ODIR.tmp_out $ODIR.tmp_src.cc $1 >> $LOG 2>&1
    291294  if [ $? -ne 0 ]; then
    292295    if [ -z "$4" ]; then
     
    15001503      FLGQT4="-framework QtCore"
    15011504    else
    1502       log_failure "Qt4 framework not found (can be disabled using --disable-qt4)"
     1505      log_failure "Qt4 framework not found (can be disabled using --disable-qt)"
    15031506      fail
    15041507    fi
     
    16271630
    16281631#
     1632# Check for the Qt5 library, needed by the VirtualBox frontend
     1633#
     1634# Currently not fatal.
     1635#
     1636check_qt5()
     1637{
     1638  foundqt5=
     1639  test_header Qt5
     1640  cat > $ODIR.tmp_src.cc << EOF
     1641#include <QtGlobal>
     1642extern "C" int main(void)
     1643{
     1644#if QT_VERSION >= 0x050501
     1645  return 0;
     1646#else
     1647  return 1;
     1648#endif
     1649}
     1650EOF
     1651  if [ "$OS" = "darwin" ]; then
     1652    # First check if there is the internal version of Qt. If yes nothing else
     1653    # has to be done.
     1654    QT_INTERNAL=`/bin/ls -rd1 $PWD/tools/$BUILD_TARGET.$BUILD_PLATFORM_ARCH/qt/* 2> /dev/null`
     1655    for t in $QT_INTERNAL; do
     1656      if [ -f "$t/Frameworks/QtCoreVBox.framework/QtCoreVBox" ]; then
     1657        cnf_append "VBOX_WITH_ORACLE_QT" "1"
     1658        log_success "use internal version"
     1659        return
     1660      fi
     1661    done
     1662    # Now try the user provided directory and some of the standard directories.
     1663    QT_TRIES="$QT5DIR /System/Library /Library"
     1664    for t in $QT_TRIES; do
     1665      if [ -f "$t/Frameworks/QtCore.framework/QtCore" ]; then
     1666        PATH_SDK_QT5="$t"
     1667        break
     1668      fi
     1669    done
     1670    # Add the necessary params for building the test application
     1671    if [ -n "$PATH_SDK_QT5" ]; then
     1672      foundqt5=1
     1673      INCQT5=-I$PATH_SDK_QT5/Frameworks/QtCore.framework/Headers
     1674      LIBQT5=-F$PATH_SDK_QT5/Frameworks
     1675      FLGQT5="-framework QtCore"
     1676    else
     1677      log_failure "Qt5 framework not found (can be disabled using --disable-qt)"
     1678      fail
     1679    fi
     1680  else # !darwin
     1681    if [ $QT5DIR_PKGCONFIG -eq 1 ]; then
     1682      # Default is to use pkg-config:
     1683      if which_wrapper pkg-config > /dev/null; then
     1684        qt5_ver=`pkg-config Qt5Core --modversion 2>> $LOG`
     1685        if [ $? -eq 0 ]; then
     1686          FLGQT5=`pkg-config Qt5Core --cflags`
     1687          INCQT5=`strip_I "$FLGQT5"`
     1688          LIBDIR5=`pkg-config Qt5Core --variable=libdir`
     1689          LIBQT5=`pkg-config Qt5Core --libs`
     1690          LIBQT5="-L$LIBDIR5 $LIBQT5"
     1691          TOOLQT5=`pkg-config Qt5Core --variable=prefix`
     1692          TOOLQT5BIN=`pkg-config Qt5Core --variable=host_bins`
     1693          if test_compile "$LIBQT5 $LIBPTHREAD $I_INCQT5 $FLGQT5" qt5 qt5 nofatal; then
     1694            test_execute_path "`strip_L "$LIBQT5"`" nofatal && foundqt5=3 # pkg-config
     1695          fi
     1696        fi
     1697      else
     1698        log_failure "pkg-config not found"
     1699        fail
     1700      fi
     1701    fi
     1702    if [ -z "$foundqt5" ]; then
     1703      # Do it the old way (e.g. user has specified QT5DIR):
     1704      for q in $QT5DIR "$PWD/tools/linux.$TARGET_MACHINE"/qt/v5.*; do
     1705        INCQT5="$q/include $q/include/QtCore"
     1706        FLGQT5="-DQT_SHARED"
     1707        I_INCQT5=`prefix_I "$INCQT5"`
     1708        LIBQT5="-L$q/lib -lQt5CoreVBox"
     1709        TOOLQT5="$q"
     1710        if test_compile "$LIBQT5 $LIBPTHREAD $I_INCQT5 $FLGQT5" qt5 qt5 nofatal &&
     1711            test_execute_path "`strip_L "$LIBQT5"`" nofatal; then
     1712          foundqt5=2 # internal
     1713          break;
     1714        fi
     1715        LIBQT5="-L$q/lib -lQt5Core"
     1716        if test_compile "$LIBQT5 $LIBPTHREAD $I_INCQT5 $FLGQT5" qt5 qt5 nofatal &&
     1717            test_execute_path "`strip_L "$LIBQT5"`" nofatal; then
     1718          foundqt5=1 # no pkg-config, Qt directory
     1719          break;
     1720        fi
     1721      done
     1722    fi
     1723  fi
     1724  if [ -n "$foundqt5" ]; then
     1725    # We decided which version of Qt to use, now enforce the version requirement:
     1726    cat > $ODIR.tmp_src.cc << EOF
     1727#include <cstdio>
     1728#include <QtGlobal>
     1729extern "C" int main(void)
     1730{
     1731  printf("found version %s", QT_VERSION_STR);
     1732#if QT_VERSION >= 0x050501
     1733  printf(", OK.\n");
     1734  return 0;
     1735#else
     1736  printf(", expected version 5.5.1 or higher\n");
     1737  return 1;
     1738#endif
     1739}
     1740EOF
     1741    [ -n "$INCQT5" ] && I_INCQT5=`prefix_I "$INCQT5"`
     1742    if test_compile "$LIBQT5 $LIBPTHREAD $I_INCQT5 $FLGQT5" qt5 qt5 nofatal; then
     1743      if test_execute_path "`strip_L "$LIBQT5"`"; then
     1744        if [ "$OS" = "darwin" ]; then
     1745          # Successful build & run the test application so add the necessary
     1746          # params to AutoConfig.kmk:
     1747          cnf_append "PATH_SDK_QT5_INC" "$PATH_SDK_QT5/Frameworks"
     1748          cnf_append "PATH_SDK_QT5_LIB" "$PATH_SDK_QT5/Frameworks"
     1749          cnf_append "PATH_SDK_QT5" "$PATH_SDK_QT5/Frameworks"
     1750          # Check for the moc tool in the Qt directory found & some standard
     1751          # directories.
     1752          for q in $PATH_SDK_QT5 /usr /Developer/Tools/Qt; do
     1753            if which_wrapper "$q/bin/moc" > /dev/null; then
     1754              cnf_append "PATH_TOOL_QT5_BIN" "$q/bin"
     1755            fi
     1756          done
     1757        else
     1758          # Strip .../QtCore as we add components ourself:
     1759          INCQT5=`echo "$INCQT5"|$KBUILD_SED 's|\([^ ]*\)/QtCore|\1|g; s| $||g'`
     1760          # store only the first path, remove all other paths
     1761          # most likely pkg-config gave us -I/usr/include/qt5 -I/usr/include/qt5/QtCore
     1762          INCQT5=`echo "$INCQT5"|$KBUILD_SED 's|\([^ ]*\) .*|\1|'`
     1763          cnf_append "VBOX_PATH_QT_LIB" "`strip_L "$LIBQT5"`"
     1764          cnf_append "PATH_SDK_QT5_INC" "$INCQT5"
     1765          # This is not quite right since the qt libpath does not have to be first...
     1766          cnf_append "PATH_SDK_QT5_LIB" '$'"(firstword `strip_L "$LIBQT5"`)"
     1767          if [ "$foundqt5" = "2" ]; then
     1768            cnf_append "VBOX_WITH_ORACLE_QT" "1"
     1769          fi
     1770          if [ "$foundqt5" != "3" ]; then
     1771            TOOLQT5BIN="$TOOLQT5/bin"
     1772          fi
     1773          test_header "Qt5 devtools"
     1774          # Try it with a suffix, some platforms use that
     1775          if which_wrapper "$TOOLQT5BIN/moc-qt5" > /dev/null; then
     1776            QT5BINSUFF="-qt5"
     1777          else
     1778            QT5BINSUFF=""
     1779          fi
     1780          moc_ver=`$TOOLQT5BIN/moc$QT5BINSUFF -v 2>&1|sed 's+^.*(Qt \(.*\))+\1+'`
     1781          if [ $? -ne 0 ]; then
     1782            log_failure "moc$QT5BINSUFF not working"
     1783            fail
     1784          else
     1785            log_success "found version $moc_ver"
     1786            cnf_append "VBOX_PATH_QT" "$TOOLQT5"
     1787            cnf_append "PATH_SDK_QT5" "$TOOLQT5"
     1788            cnf_append "PATH_TOOL_QT5_BIN" "$TOOLQT5BIN"
     1789            [ -n "$QT5BINSUFF" ] && cnf_append "TOOL_QT5_BIN_SUFF" "$QT5BINSUFF"
     1790          fi
     1791        fi
     1792      fi
     1793    else
     1794      log_failure "qt5 not working"
     1795      fail
     1796    fi
     1797  else
     1798    log_failure "qt5 not found"
     1799    fail
     1800  fi
     1801}
     1802
     1803
     1804#
    16291805# Check for libvpx
    16301806#
     
    22782454[ $WITH_VMMRAW  -eq 1 ] && echo "  --disable-vmmraw         disable VMM raw mode (VT-x/AMD-V mandatory!)"
    22792455[ $WITH_SDL_TTF -eq 1 ] && echo "  --disable-sdl-ttf        disable SDL_ttf detection"
     2456[ $WITH_QT4     -eq 1 ] && echo "  --disable-qt             disable Qt detection"
     2457[ $WITH_QT5     -eq 1 ] && echo "  --disable-qt             disable Qt detection"
    22802458[ $WITH_ALSA    -eq 1 ] && echo "  --disable-alsa           disable the ALSA sound backend"
    22812459[ $WITH_PULSE   -eq 1 ] && echo "  --disable-pulse          disable the PulseAudio backend"
     
    22832461[ $WITH_KMODS   -eq 1 ] && echo "  --disable-kmods          don't build Linux kernel modules (host and guest)"
    22842462[ $WITH_OPENGL  -eq 1 ] && echo "  --disable-opengl         disable OpenGL support (2D & 3D)"
     2463[ $WITH_QT4     -eq 0 ] && echo "  --enable-qt4             enable Qt4 detection"
     2464[ $WITH_QT5     -eq 0 ] && echo "  --enable-qt5             enable Qt5 detection"
    22852465[ $WITH_GSOAP   -eq 0 ] && echo "  --enable-webservice      enable the webservice stuff"
    22862466[ $OSE          -eq 1 ] && echo "  --enable-vnc             enable the VNC server"
     
    23162496[ "$OS"   = "darwin" ] && echo "                           only, ignored for the rest)"
    23172497[ "$OS"    = "linux" ] && echo "  --with-linux=DIR         Linux kernel source directory [$LINUX]"
    2318 [ $WITH_QT4    -eq 1 ] && echo "  --with-qt-dir=DIR        directory for Qt4 headers/libraries [pkgconfig]"
     2498[ $WITH_QT4    -eq 1 ] && echo "  --with-qt-dir=DIR        directory for Qt headers/libraries [pkgconfig]"
     2499[ $WITH_QT5    -eq 1 ] && echo "  --with-qt-dir=DIR        directory for Qt headers/libraries [pkgconfig]"
    23192500[ $WITH_GSOAP  -eq 1 ] && echo "  --with-gsoap-dir=PATH    directory for gSOAP compiler/headers/libraries"
    23202501[ $WITH_GSOAP  -eq 1 ] && echo "                           (soapcpp2 and wsdl2h, soapstd2.h, libgsoap++.a/so)"
     
    24082589      fi
    24092590      ;;
    2410     --with-qt-dir=*|--with-qt4-dir=*)
    2411       QT4DIR=`echo $option | cut -d'=' -f2`
    2412       QT4DIR_PKGCONFIG=0
     2591    --with-qt-dir=*)
     2592      [ $WITH_QT4 -eq 1 ] && QT4DIR=`echo $option | cut -d'=' -f2`
     2593      [ $WITH_QT4 -eq 1 ] && QT4DIR_PKGCONFIG=0
     2594      [ $WITH_QT5 -eq 1 ] && QT5DIR=`echo $option | cut -d'=' -f2`
     2595      [ $WITH_QT5 -eq 1 ] && QT5DIR_PKGCONFIG=0
    24132596      ;;
    24142597    --with-openssl-dir=*)
     
    24622645    --disable-qt)
    24632646      [ $WITH_QT4 -eq 1 ] && WITH_QT4=0
    2464       ;;
    2465     --disable-qt4)
     2647      [ $WITH_QT5 -eq 1 ] && WITH_QT5=0
     2648      ;;
     2649    --enable-qt4)
     2650      [ $WITH_QT4 -eq 0 ] && WITH_QT4=1
     2651      [ $WITH_QT5 -eq 1 ] && WITH_QT5=0
     2652      ;;
     2653    --enable-qt5)
     2654      [ $WITH_QT5 -eq 0 ] && WITH_QT5=1
    24662655      [ $WITH_QT4 -eq 1 ] && WITH_QT4=0
    24672656      ;;
     
    25452734      WITH_OPENGL=0
    25462735      WITH_QT4=0
     2736      WITH_QT5=0
    25472737      ;;
    25482738    --ose)
     
    26912881fi
    26922882[ $WITH_XPCOM     -eq 0 ] && cnf_append "VBOX_WITH_MAIN" ""
    2693 [ $WITH_QT4       -eq 0 ] && cnf_append "VBOX_WITH_QTGUI" ""
     2883[ $WITH_QT4       -eq 0 -a $WITH_QT5       -eq 0 ] && cnf_append "VBOX_WITH_QTGUI" ""
     2884[ $WITH_QT5       -eq 1 ] && cnf_append "VBOX_WITH_QTGUI_V5" "1"
    26942885[ $WITH_SDL_TTF   -eq 0 ] && cnf_append "VBOX_WITH_SECURELABEL" ""
    26952886[ $WITH_PYTHON    -eq 0 ] && cnf_append "VBOX_WITH_PYTHON" ""
     
    27412932  [ $WITH_OPENGL -eq 1 ] && check_opengl
    27422933  [ $WITH_QT4    -eq 1 ] && check_qt4
     2934  [ $WITH_QT5    -eq 1 ] && check_qt5
    27432935  [ $WITH_PYTHON -eq 1 ] && check_python
    27442936  [ $WITH_JAVA   -eq 1 ] && check_java
Note: See TracChangeset for help on using the changeset viewer.

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