VirtualBox

Changeset 97397 in vbox for trunk/configure


Ignore:
Timestamp:
Nov 4, 2022 1:11:19 PM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
154397
Message:

configure: Added support for using libogg and libvorbis system libraries, which are required for audio recording. Revamped the patch a bit, also removed Opus (libopus) depdendencies while at it. Thanks to locutusofborg@…! bugref:10275

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/configure

    r96407 r97397  
    109109WITH_DOCS=1
    110110WITH_LIBVPX=1
    111 WITH_LIBOPUS=1
     111WITH_LIBOGG=0
     112WITH_LIBVORBIS=0
    112113WITH_LIBTPMS=1
    113114BUILD_LIBXML2=
     
    17261727
    17271728#
    1728 # Check for libopus
    1729 #
    1730 check_libopus()
    1731 {
    1732   if [ -z "$BUILD_LIBOPUS" ]; then
    1733     test_header libopus
    1734     if which_wrapper pkg-config > /dev/null; then
    1735       libopus_ver=`pkg-config opus --modversion 2>> $LOG`
    1736       if [ $? -eq 0 ]; then
    1737         FLGOPUS=`pkg-config opus --cflags`
    1738         INCOPUS=`strip_I "$FLGOPUS"`
    1739         LIBOPUS=`pkg-config opus --libs`
    1740       fi
    1741       cat > $ODIR.tmp_src.cc << EOF
    1742 #include <cstdio>
    1743 #include <opus/opus.h>
    1744 extern "C" int main(void)
    1745 {
    1746   OpusEncoder *test;
    1747   printf("found, OK.\n");
    1748 }
    1749 EOF
    1750       [ -n "$INCOPUS" ] && I_INCOPUS=`prefix_I "$INCOPUS"`
    1751       if test_compile "$LIBOPUS $I_INCOPUS" opus opus; then
    1752         if test_execute; then
    1753           cnf_append "SDK_VBOX_OPUS_INCS" "$INCOPUS"
    1754           cnf_append "SDK_VBOX_OPUS_LIBS" "`strip_l "$LIBOPUS"`"
    1755           fi
    1756       fi
    1757     fi
    1758   fi
    1759 }
    1760 
    1761 
    1762 #
    17631729# Check for libvpx
    17641730#
     
    18411807        echo "not found -- building libtpms from in-tree code."
    18421808      fi
     1809    fi
     1810  fi
     1811}
     1812
     1813
     1814#
     1815# Check for libvorbis
     1816#
     1817check_libvorbis()
     1818{
     1819  test_header libvorbis
     1820  if which_wrapper pkg-config > /dev/null; then
     1821    libvorbis_ver=`pkg-config vorbis --modversion 2>> $LOG`
     1822    if [ $? -eq 0 ]; then
     1823      FLGVRB=`pkg-config vorbis --cflags`
     1824      INCVRB=`strip_I "$FLGVRB"`
     1825      LIBVRB=`pkg-config vorbis --libs`
     1826    fi
     1827    cat > $ODIR.tmp_src.cc << EOF
     1828#include <cstdio>
     1829#include <vorbis/vorbisenc.h>
     1830extern "C" int main(void)
     1831{
     1832  vorbis_info v;
     1833  vorbis_info_init(&v);
     1834  printf("found, OK.\n");
     1835  return 0;
     1836}
     1837EOF
     1838    [ -n "$INCVRB" ] && I_INCVRB=`prefix_I "$INCVRB"`
     1839    if test_compile "$LIBVRB $I_INCVRB" vorbis vorbis nofatal; then
     1840      if test_execute; then
     1841        cnf_append "SDK_VBOX_VORBIS_INCS" "$INCVRB"
     1842        cnf_append "SDK_VBOX_VORBIS_LIBS" "`strip_l "$LIBVRB"`"
     1843      fi
     1844    else
     1845      echo "not found -- building libvorbis from in-tree code."
     1846    fi
     1847  fi
     1848}
     1849
     1850
     1851#
     1852# Check for libogg
     1853#
     1854check_libogg()
     1855{
     1856  test_header libogg
     1857  if which_wrapper pkg-config > /dev/null; then
     1858    libogg_ver=`pkg-config ogg --modversion 2>> $LOG`
     1859    if [ $? -eq 0 ]; then
     1860      FLGOGG=`pkg-config ogg --cflags`
     1861      INCOGG=`strip_I "$FLGOGG"`
     1862      LIBOGG=`pkg-config ogg --libs`
     1863    fi
     1864    cat > $ODIR.tmp_src.cc << EOF
     1865#include <cstdio>
     1866#include <ogg/ogg.h>
     1867extern "C" int main(void)
     1868{
     1869  oggpack_buffer o;
     1870  oggpack_get_buffer(&o);
     1871  printf("found, OK.\n");
     1872  return 0;
     1873}
     1874EOF
     1875    [ -n "$INCOGG" ] && I_INCVRB=`prefix_I "$INCOGG"`
     1876    if test_compile "$LIBOGG $I_INCOGG" ogg ogg nofatal; then
     1877      if test_execute; then
     1878        cnf_append "SDK_VBOX_OGG_INCS" "$INCOGG"
     1879        cnf_append "SDK_VBOX_OGG_LIBS" "`strip_l "$LIBOGG"`"
     1880      fi
     1881    else
     1882      echo "not found -- building libogg from in-tree code."
    18431883    fi
    18441884  fi
     
    24362476[ $WITH_DOCS    -eq 1 ] && echo "  --disable-docs           don't build the documentation"
    24372477[ $WITH_LIBVPX  -eq 1 ] && echo "  --disable-libvpx         don't use libvpx for video capturing"
    2438 [ $WITH_LIBOPUS -eq 1 ] && echo "  --disable-libopus        don't use libopus for audio capturing"
     2478[ $WITH_LIBVORBIS -eq 0 ] && echo "  --enable-libvorbis       enable system libvorbis"
     2479[ $WITH_LIBOGG -eq 0 ]  && echo "  --enable-libogg          enable system libogg"
    24392480[ $WITH_LIBTPMS -eq 1 ] && echo "  --disable-libtpms        don't use libtpms for TPM emulation"
    24402481[ "$OS" = "linux" -o "$OS" = "freebsd" ] && echo "  --enable-vde             enable VDE networking"
     
    25122553  [ $OSE -eq 1 ] || BUILD_LIBCURL=1
    25132554  [ $OSE -eq 1 ] && WITH_LIBVPX=0
    2514   [ $OSE -eq 1 ] && WITH_LIBOPUS=0
     2555  [ $OSE -eq 1 ] && WITH_LIBOGG=0
     2556  [ $OSE -eq 1 ] && WITH_LIBVORBIS=0
    25152557  WITH_XCODE_DIR=""
    25162558elif [ "$OS" = "haiku" ]; then
     
    25272569  BUILD_LIBXML2=1
    25282570  WITH_LIBVPX=0
    2529   WITH_LIBOPUS=0
    2530   # it is part of libroot, which is linked by default,
     2571  WITH_LIBOGG=0
     2572  WITH_LIBVORBIS=0
    25312573  # but the script wants something
    25322574  LIBPTHREAD="-lroot"
     
    25352577elif [ "$OS" = "solaris" ]; then
    25362578  [ $OSE -eq 1 ] && WITH_LIBVPX=0
    2537   [ $OSE -eq 1 ] && WITH_LIBOPUS=0
     2579  [ $OSE -eq 1 ] && WITH_LIBOGG=0
     2580  [ $OSE -eq 1 ] && WITH_LIBVORBIS=0
    25382581fi
    25392582
     
    26682711      WITH_HARDENING=2
    26692712      ;;
    2670     --build-libopus)
    2671       BUILD_LIBOPUS=1
    2672       ;;
    26732713    --disable-udptunnel)
    26742714      WITH_UDPTUNNEL=0
     
    26832723      WITH_LIBVPX=0
    26842724      ;;
    2685     --disable-libopus)
    2686       WITH_LIBOPUS=0
    2687       ;;
    26882725    --disable-libtpms)
    26892726      WITH_LIBTPMS=0
     2727      ;;
     2728    --enable-libogg)
     2729      WITH_LIBOGG=1
     2730      ;;
     2731    --enable-libvorbis)
     2732      WITH_LIBVORBIS=1
    26902733      ;;
    26912734    --disable-sdl)
     
    28812924  cnf_append "VBOX_WITH_RECORDING" ""
    28822925fi
    2883 if [ $WITH_LIBOPUS -eq 0 ]; then
    2884   cnf_append "VBOX_WITH_LIBOPUS" ""
     2926if [ $WITH_LIBOGG -eq 0 -o $WITH_LIBVORBIS -eq 0 ]; then
     2927  cnf_append "VBOX_WITH_LIBOGG" ""
     2928  cnf_append "VBOX_WITH_LIBVORBIS" ""
    28852929  cnf_append "VBOX_WITH_AUDIO_RECORDING" ""
    28862930fi
     
    29082952  check_curl
    29092953  [ $WITH_LIBVPX -eq 1 ] && check_vpx
    2910   [ $WITH_LIBOPUS -eq 1 ] && check_libopus
     2954  [ $WITH_LIBOGG -eq 1 ] && check_libogg
     2955  [ $WITH_LIBVORBIS -eq 1 ] && check_libvorbis
    29112956  [ $WITH_LIBTPMS -eq 1 ] && check_libtpms
    29122957  [ "$OS" != "darwin"  ] && check_png
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