configure revision 6935743bcd4b9d0c8eaf01b6c3589e9501aa5330
2085N/A# The purpose of this script is to check for all external tools, headers, and 0N/A# libraries VBox OSE depends on. 0N/A# Copyright (C) 2006-2013 Oracle Corporation 0N/A# This file is part of VirtualBox Open Source Edition (OSE), as 0N/A# you can redistribute it and/or modify it under the terms of the GNU 0N/A# General Public License (GPL) as published by the Free Software 0N/A# Foundation, in version 2 as it comes in the "COPYING" file of the 0N/A# VirtualBox OSE distribution. VirtualBox OSE is distributed in the 0N/A# hope that it will be useful, but WITHOUT ANY WARRANTY of any kind. 0N/A# Solaris (order of paths important for tr, echo, grep, sed to work) 1879N/A echo "Cannot determine OS!" 0N/A# the restricting tool is ar (mri mode). 0N/A echo "Error: VBox base path contains invalid characters!" 0N/A# darwin /bin/sh has a builtin echo that doesn't grok -n. gotta love it. 0N/A echo "$1"|$KBUILD_SED 's|-l\([^ ]\+\)|\1|g; s|^-[^l][^ ]*||g; s| -[^l][^ ]*||g; s|^ ||; s| *$||g' 0N/A echo "$1"|$KBUILD_SED 's|-L\([^ ]\+\)|\1|g; s|^-[^L][^ ]*||g; s| -[^L][^ ]*||g; s|^ ||; s| *$||g' 0N/A echo "$1"|$KBUILD_SED 's|-I\([^ ]\+\)|\1|g; s|^-[^I][^ ]*||g; s| -[^I][^ ]*||g; s|^ ||; s| *$||g' 0N/A if [ -z "$1" ]; then 0N/A echo "***** Checking $1 *****" >> $LOG 0N/A# $4 if this argument is 'nofatal', don't abort 0N/A echo "compiling the following source file:" >> $LOG 0N/A echo "using the following command line:" >> $LOG 0N/A if [ -z "$4" ]; then 0N/A echo " $2 not found at $1 or $3 headers not found" 0N/A echo " Check the file $LOG for detailed error information." 0N/A# Execute a compiled test binary 0N/A echo "executing the binary" >> $LOG 0N/A# Execute a compiled test binary 0N/A echo "executing the binary (LD_LIBRARY_PATH=$1)" >> $LOG 0N/A# Check for OS, MACHINE, CPU 0N/A if [ "$OS" != "solaris" ]; then 0N/A # on AMD64 systems, 64bit libs are usually located in /usr/lib64 0N/A # Solaris doesn't seem to subscribe to fhs, libs are usually in 0N/A # a '64' subdirectory of the standard 'lib' dirs while some 64-bit 0N/A # alternative binaries can be found in 'amd64' subdirs of the 'bin' 0N/A # ones. So, in order to find the right stuff (esp. sdl-config) we'll 0N/A # have to make sure the */bin/amd64 dirs are searched before the */bin 0N/A # ones. (The sed has some sideeffects, but they shouldn't harm us...) 0N/A echo "64-bit Solaris detected, hacking the PATH" >> $LOG 0N/A -e 's/^:*//' -e 's/:*$//g' -e 's/::*/:/g' ` 0N/A echo "export BUILD_TARGET_CPU" >> $ENV 0N/A# Check for gcc with version >= 3.2. 0N/A# We depend on a working gcc, if we fail terminate in every case. 0N/A # gcc-4.0 is allowed for Darwin only 0N/A # this isn't not necessary, there is not such tool. 0N/A # Solaris sports a 32-bit gcc/g++. 0N/A# Check for the OpenWatcom compiler, needed for compiling the BIOS 0N/A# If the system has Open Watcom installed, WATCOM will be set in the 0N/A# environment. If the user has her/his own Open Watcom install it will be 0N/A# pointed to by on the command line, which will set the WATCOM variable. 0N/A # Check that the tools we use are there. 0N/A # Use WASM to get the version. 0N/A# Check for yasm, needed to compile assembler files 0N/A# Check for the iasl ACPI compiler, needed to compile vbox.dsl 0N/A# Check for xsltproc, needed by Main 0N/A# Check for mkisofs, needed to build the CDROM image containing the additions 0N/A# Check for libxml2, needed by VBoxSettings and Runtime. 0N/A# 2.6.24 is known to NOT work, 2.6.26 is known to work (there is no 2.6.25 release) 0N/A#include <libxml/xmlversion.h> 0N/Aextern "C" int main(void) 0N/A printf("found version %s", LIBXML_DOTTED_VERSION); 0N/A#if LIBXML_VERSION >= 20626 877N/A printf(", expected version 2.6.26 or higher\n"); 0N/A#include <libxml/xmlversion.h> 0N/Aextern "C" int main(void) 0N/A printf("found version %s", LIBXML_DOTTED_VERSION); 0N/A#if LIBXML_VERSION >= 20626 0N/A printf(", expected version 2.6.26 or higher\n"); 0N/A# Check for libIDL, needed by xpcom 0N/A# Check for libdevmapper, needed by the VBoxVolInfo 0N/A#include <libdevmapper.h> 0N/A if (!dm_get_library_version(version, sizeof(version))) 1410N/A printf("dm_get_library_version() failed.\n"); 0N/A const char* v=version; 0N/A unsigned int major = 0, minor = 0, micro = 0; 0N/A for (; *v !='.' && *v != '\0'; v++) major = major*10 + *v-'0'; 0N/A for (; *v !='.' && *v != '\0'; v++) minor = minor*10 + *v-'0'; 0N/A for (; *v !='.' && *v != '\0'; v++) micro = micro*10 + *v-'0'; 0N/A printf("found version %s", version); 0N/A if (major*10000 + minor*100 + micro >= 10200) 0N/A printf(", expected version 1.02 or higher\n"); 342N/A# Check for openssl, needed for RDP and S3 0N/A#include <openssl/opensslv.h> 0N/A#include <openssl/ssl.h> 0N/Aextern "C" int main(void) 0N/A printf("found version %s", OPENSSL_VERSION_TEXT); 0N/A#if OPENSSL_VERSION_NUMBER >= 0x00908000 0N/A printf(", expected version 0.9.8 or higher\n"); 0N/A# Check for pthread, needed by VBoxSVC, frontends, ... 0N/Aextern "C" int main(void) 0N/A pthread_mutex_t mutex; 0N/A if (pthread_mutex_init(&mutex, NULL)) { 0N/A printf("pthread_mutex_init() failed\n"); 0N/A if (pthread_mutex_lock(&mutex)) { 0N/A printf("pthread_mutex_lock() failed\n"); 0N/A if (pthread_mutex_unlock(&mutex)) { 0N/A printf("pthread_mutex_unlock() failed\n"); 0N/A printf("found, OK.\n"); 0N/A# Check for zlib, needed by VBoxSVC, Runtime, ... 0N/Aextern "C" int main(void) 0N/A printf("found version %s", ZLIB_VERSION); 0N/A#if ZLIB_VERNUM >= 0x1210 0N/A printf(", expected version 1.2.1 or higher\n"); 0N/A echo "if1of (\$(KBUILD_TARGET),darwin freebsd haiku linux solaris)" >> $CNF 0N/A# Check for libpng, needed by kchmviewer 2085N/A printf("found version %s", PNG_LIBPNG_VER_STRING); 2085N/A printf(", expected version 1.2.5 or higher\n"); 2085N/A# Check for libvncserver, needed for VNC in OSE 2085N/A const char* v=LIBVNCSERVER_VERSION; 2085N/A unsigned int major = 0, minor = 0, micro = 0; 2085N/A for (; *v !='.' && *v != '\0'; v++) major = major*10 + *v-'0'; 2085N/A for (; *v !='.' && *v != '\0'; v++) minor = minor*10 + *v-'0'; 2086N/A for (; *v !='.' && *v != '\0'; v++) micro = micro*10 + *v-'0'; 2086N/A printf("found version %s", LIBVNCSERVER_PACKAGE_VERSION); 2086N/A if (major*10000 + minor*100 + micro >= 900) 2085N/A printf(", expected version 0.9 or higher\n"); 2337N/A# Check for libcurl, needed by S3 2085N/A printf("found version %s", LIBCURL_VERSION); 2085N/A#if 10000*LIBCURL_VERSION_MAJOR + 100*LIBCURL_VERSION_MINOR + LIBCURL_VERSION_PATCH >= 71901 2085N/A printf(", expected version 7.19.1 or higher\n"); 0N/A# Check for pam, needed by VRDPAuth 0N/A# Version 79 was introduced in 9/2005, do we support older versions? 0N/A# OpenSUSE comes with 0.99.xxx where they changed the versioning scheme. 0N/A#include <security/pam_appl.h> 0N/Aextern "C" int main(void) 0N/A printf("found version %d", __LIBPAM_VERSION); 0N/A if (__LIBPAM_VERSION >= 76) 0N/A printf(", expected version 76 or higher\n"); 0N/A#include <security/pam_appl.h> 0N/Aextern "C" int main(void) 0N/A printf("found version %d.%d", __LINUX_PAM__, __LINUX_PAM_MINOR__); 0N/A if (__LINUX_PAM__ >= 1) 0N/A printf(", expected version 1.0 or higher\n"); 0N/A# Check for the SDL library, needed by VBoxSDL and VirtualBox 0N/A# We depend at least on version 1.2.7 0N/A#include <SDL_main.h> 0N/Aextern "C" int main(int argc, char** argv) 0N/A printf("found version %d.%d.%d", 0N/A SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_PATCHLEVEL); 0N/A#if SDL_VERSION_ATLEAST(1,2,7) 0N/A printf(", expected version 1.2.7 or higher\n"); 0N/A# Check for the SDL_ttf library, needed by VBoxSDL (secure label) 691N/A#ifndef SDL_TTF_MAJOR_VERSION 691N/A#define SDL_TTF_MAJOR_VERSION TTF_MAJOR_VERSION 691N/A#define SDL_TTF_MINOR_VERSION TTF_MINOR_VERSION 691N/A#define SDL_TTF_PATCHLEVEL TTF_PATCHLEVEL 691N/Aextern "C" int main(void) 691N/A printf("found version %d.%d.%d", 691N/A SDL_TTF_MAJOR_VERSION, SDL_TTF_MINOR_VERSION, SDL_TTF_PATCHLEVEL); 691N/A#if 10000*SDL_TTF_MAJOR_VERSION + 100*SDL_TTF_MINOR_VERSION + SDL_TTF_PATCHLEVEL >= 20006 691N/A printf(", expected version 2.0.6 or higher\n"); 691N/A echo "not found -- disabling VBoxSDL secure label." 691N/A# Check for libasound, needed by the ALSA audio backend 691N/A#include <alsa/asoundlib.h> 691N/Aextern "C" int main(void) 242N/A printf("found version %d.%d.%d", 691N/A SND_LIB_MAJOR, SND_LIB_MINOR, SND_LIB_SUBMINOR); 691N/A#if 10000*SND_LIB_MAJOR + 100*SND_LIB_MINOR + SND_LIB_SUBMINOR >= 10006 691N/A printf(", expected version 1.0.6 or higher\n"); 0N/A# Check for PulseAudio 0N/A#include <pulse/version.h> 0N/Aextern "C" int main(void) 0N/A printf("found version %s API version %d", pa_get_headers_version(), PA_API_VERSION); 0N/A#if PA_API_VERSION >= 9 0N/A printf(", expected version 0.9.0 (API version 9) or higher\n"); 0N/A# Check for the X libraries (Xext, X11) 0N/A#include <X11/Xlib.h> 0N/Aextern "C" int main(void) 0N/A dpy = XOpenDisplay(NULL); 0N/A scrn_num = DefaultScreen(dpy); 0N/A scrn = ScreenOfDisplay(dpy, scrn_num); 0N/A win = XCreateWindow(dpy, RootWindowOfScreen(scrn), 0, 0, 100, 100, 0N/A 0, 16, InputOutput, CopyFromParent, 0, NULL); 0N/A XDestroyWindow(dpy, win); 0N/A# Check for the Xcursor library, needed by VBoxSDL. 0N/A#include <X11/Xlib.h> 0N/A#include <X11/Xcursor/Xcursor.h> 0N/Aextern "C" int main(void) 0N/A XcursorImage *cursor = XcursorImageCreate (10, 10); 0N/A XcursorImageDestroy(cursor); 0N/A# Check for the Xinerama library, needed by the Qt GUI 0N/A#include <X11/Xlib.h> 0N/A#include <X11/extensions/Xinerama.h> 0N/Aextern "C" int main(void) 0N/A dpy = XOpenDisplay(NULL); 0N/A flag = XineramaIsActive(dpy); 0N/A# Check for the Xinerama library, needed by the Qt GUI 0N/A#include <X11/Xlib.h> 0N/A#include <X11/extensions/Xrandr.h> 0N/Aextern "C" int main(void) 0N/A dpy = XOpenDisplay(NULL); 0N/A flag = XRRQueryVersion(dpy, &major, &minor); 0N/A # On darwin this is a on/off decision only 0N/A# Check for the Xmu library, needed by OpenGL 0N/A#include <X11/Xatom.h> 0N/A#include <X11/Xlib.h> 0N/A#include <X11/Xutil.h> 0N/A#include <X11/Xmu/StdCmap.h> 0N/Aextern "C" int main(void) 0N/A dpy = XOpenDisplay(NULL); 0N/A scrn_num = DefaultScreen(dpy); 0N/A scrn = ScreenOfDisplay(dpy, scrn_num); 0N/A Status status = XmuLookupStandardColormap(dpy, RootWindowOfScreen(scrn), 0, 0N/A 24, XA_RGB_DEFAULT_MAP, False, True); 0N/A printf("Status = %x\n", status); 0N/A# Check for Mesa, needed by OpenGL 0N/A#include <X11/Xlib.h> 0N/Aextern "C" int main(void) 0N/A dpy = XOpenDisplay(NULL); 0N/A Bool glx_version = glXQueryVersion(dpy, &major, &minor); 0N/A printf("found version %u.%u, OK.\n", major, minor); 0N/A printf("found (inactive), OK.\n"); 0N/A# Check for the Qt4 library, needed by the VirtualBox frontend 0N/A# Currently not fatal. 0N/A # First check if there is the internal version of Qt. If yes nothing else 0N/A # Now try the user provided directory and some of the standard directories. 0N/A # Add the necessary params for building the test application 0N/A log_failure "Qt4 framework not found (can be disabled using --disable-qt4)" 0N/A # default is to use pkg-config 0N/A # this braindead path is necessary for mdv2008.1 0N/A # do it the old way (e.g. user has specified QT4DIR) 0N/Aextern "C" int main(void) 0N/A printf("found version %s", QT_VERSION_STR); 0N/A#if QT_VERSION >= 0x040602 0N/A printf(", expected version 4.6.2 or higher\n"); 0N/Aextern "C" int main(void) 0N/A printf("found version %s", QT_VERSION_STR); 0N/A#if QT_VERSION >= 0x040602 0N/A printf(", expected version 4.6.2 or higher\n"); 0N/A # Successful build & run the test application so add the necessary 0N/A # Check for the moc tool in the Qt directory found & some standard 0N/A # strip .../QtCore as we add components ourself 0N/A # store only the first path, remove all other pathes 0N/A # this is not quite right since the qt libpath does not have to be first... 0N/A # first try it with a suffix, some platforms use that 273N/A#include <vpx/vpx_codec.h> 273N/Aextern "C" int main(void) 273N/A int version = vpx_codec_version(); 273N/A int verMajor = VPX_VERSION_MAJOR(version); 273N/A int verMinor = VPX_VERSION_MINOR(version); 273N/A int verPatch = VPX_VERSION_PATCH(version); 273N/A printf("found version %d.%d.%d", verMajor, verMinor, verPatch); 273N/A if (verMajor == 1 && verMinor >= 0) 273N/A printf(", expected version 1.0.0 or higher\n"); 273N/A# Check whether static libstdc++ is installed. This library is required 273N/A# for the Linux guest additions. 962N/Aextern "C" int main(void) 962N/A std::string s = "test"; 273N/A# Check for Linux sources 273N/A#include <linux/version.h> 273N/Aint printf(const char *format, ...); 273N/A printf("found version %d.%d.%d", LINUX_VERSION_CODE / 65536, 273N/A (LINUX_VERSION_CODE % 65536) / 256, 273N/A LINUX_VERSION_CODE % 256); 273N/A#if LINUX_VERSION_CODE > KERNEL_VERSION(2,4,0) 273N/A printf(", expected version 2.4.0 or higher\n"); 2625N/A echo "compiling the following source file:" >> $LOG 0N/A echo "using the following command line:" >> $LOG 877N/A echo " Check the file $LOG for detailed error information." 0N/A# Check for kchmviewer, needed to display the online help 0N/A# (unused as we ship kchmviewer) 0N/A# Check for the kBuild tools, we don't support GNU make 0N/A echo "export PATH_DEVTOOLS" >> $ENV 0N/A echo "export PATH_KBUILD_BIN" >> $ENV 0N/A echo "path_dev_bin=\"\$PATH_DEVTOOLS/\$BUILD_TARGET.\$BUILD_PLATFORM_ARCH\"/bin" >> $ENV 0N/A if [ "$OS" = "solaris" ]; then 0N/A # Because of sh being non-default shell in Solaris we need to export PATH again when 0N/A # sourcing env.sh. Simply exporting from ./configure does not export PATH correctly. 0N/A echo "echo \"\$PATH\" | /usr/sfw/bin/ggrep -q \"\$path_kbuild_bin\" || PATH=\"\$path_kbuild_bin:\$PATH\"" >> $ENV 0N/A echo "echo \"\$PATH\" | /usr/sfw/bin/ggrep -q \"\$path_dev_bin\" || PATH=\"\$path_dev_bin:\$PATH\"" >> $ENV 0N/A echo "echo \"\$PATH\" | grep -q \"\$path_kbuild_bin\" || PATH=\"\$path_kbuild_bin:\$PATH\"" >> $ENV 0N/A echo "echo \"\$PATH\" | grep -q \"\$path_dev_bin\" || PATH=\"\$path_dev_bin:\$PATH\"" >> $ENV 0N/A echo "unset path_kbuild_bin path_dev_bin" >> $ENV 0N/A # Currently there are no amd64 kBuild bins. So use the x86 variant in any case. 0N/A echo "export PATH_DEVTOOLS" >> $ENV 2149N/A echo "PATH_KBUILD_BIN=\"\$path_kbuild_bin\"" >> $ENV 1934N/A echo "path_dev_bin=\"\$PATH_DEVTOOLS/\$BUILD_TARGET.\$BUILD_PLATFORM_ARCH\"/bin" >> $ENV 1892N/A echo "echo \"\$PATH\" | grep -q \"\$path_kbuild_bin\" || PATH=\"\$path_kbuild_bin:\$PATH\"" >> $ENV 1892N/A echo "echo \"\$PATH\" | grep -q \"\$path_dev_bin\" || PATH=\"\$path_dev_bin:\$PATH\"" >> $ENV 1934N/A echo "unset path_kbuild_bin path_dev_bin" >> $ENV 1892N/A # check for installed kBuild 1892N/A# headers package, some don't. Most don't need it, building might (!) 1892N/A# not succeed on openSUSE without it. 0N/A# Required to pass CAP_NET_RAW to our binaries to allow to open SOCK_RAW 0N/A# sockets for doing ICMP requests. 1887N/A cap_t caps = cap_get_proc(); 1887N/A snprintf(buf, sizeof(buf), "Current caps are '%s'\n", cap_to_text(caps, NULL)); 1887N/A# Check if we are able to build 32-bit applications (needed for the guest additions) 1887N/A echo "compiling the following source file:" >> $LOG 1887N/A echo "using the following command line:" >> $LOG 0N/A echo " Cannot compile 32-bit applications (missing headers and/or libraries)!" 0N/A echo " Check the file $LOG for detailed error information." 0N/A echo "executing the binary" >> $LOG 0N/A echo " Cannot execute 32-bit applications! Either enable 32-bit support in the" 0N/A echo " kernel configuration or use --disable-vmmraw to disable 32-bit guests." 0N/A # On darwin this is a on/off decision only 0N/Aextern "C" int main(void) 0N/A printf("found version %s", PY_VERSION); 0N/A#if PY_VERSION_HEX >= 0x02030000 0N/A printf(", expected version 2.3 or higher\n"); 0N/A# For Solaris we use libpython2.4 for compatibility with Solaris 10 and passing IPS pkg audit 0N/A if [ "$OS" != "solaris" ]; then 0N/A echo "compiling the following source file:" >> $LOG 0N/A echo "using the following command line:" >> $LOG 0N/A echo " wine binary not found" 0N/A echo " wine not found" 0N/A echo " wineprefixcreate not found" 0N/A *) eval "wineprefixcreate() { true ; }" ;; # now created automatically 0N/A echo " wineprefixcreate failed" 0N/A echo '[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment]' >> $tmp 0N/A echo '[HKEY_CURRENT_USER\Software\Wine\AppDefaults\hhc.exe\DllOverrides]' >> $tmp 0N/A echo '[HKEY_CURRENT_USER\Software\Wine\AppDefaults\hhw.exe\DllOverrides]' >> $tmp 0N/A echo " failed to load registry changes (path)." 0N/A # TODO: Check for libgsoap++.a/so 0N/A# Determines the Darwin version. 0N/A# test "$CC" = "gcc" && CC="gcc-4.0" 0N/A# test "$CXX" = "g++" && CXX="g++-4.0" 0N/A# test "$CC" = "gcc" && CC="gcc-4.0" 0N/A# test "$CXX" = "g++" && CXX="g++-4.0" 0N/A# test "$CC" = "gcc" && CC="gcc-4.0" 0N/A# test "$CXX" = "g++" && CXX="g++-4.0" 0N/A# Checks that i386-elf-gcc-3.4.6, i386-elf-gcc-3.4.3, i386-elf-gcc-3.4 or i386-elf-gcc 1214N/A echo " failed to find i386-elf-gcc" 0N/AUsage: ./configure [OPTIONS]... 0N/A -h, --help display this help and exit 0N/A --nofatal don't abort on errors 0N/A[ $WITH_ALSA -eq 1 ] && echo " --disable-alsa disable the ALSA sound backend" 0N/A[ $WITH_DBUS -eq 1 ] && echo " --disable-dbus don't use DBus and hal for hardware detection" 0N/A[ $WITH_KMODS -eq 1 ] && echo " --disable-kmods don't build Linux kernel modules (host and guest)" 0N/A[ $OSE -eq 1 ] && echo " --enable-vnc enable the VNC server" 0N/A[ $OSE -eq 0 ] && echo " --disable-extpack don't build the extpack" 0N/A[ $WITH_DOCS -eq 1 ] && echo " --disable-docs don't build the documentation" 0N/A[ $WITH_LIBVPX -eq 1 ] && echo " --disable-libvpx don't use libvpx for video capturing" 0N/A[ "$OS" = "linux" -o "$OS" = "freebsd" ] && echo " --enable-vde enable VDE networking" 0N/A --disable-udptunnel disable UDP tunnel networking 0N/A --disable-devmapper disable device mapper library access 0N/A --disable-hardening don't be strict about /dev/vboxdrv access 0N/A --build-libxml2 build libxml2 from sources 0N/A --build-libssl build openssl from sources 0N/A --build-libcurl build libcurl from sources 0N/A --build-libvpx build libvpx from sources 0N/A[ "$OS" != "darwin" ] && echo " --setup-wine setup a Wine directory and register the hhc hack" 0N/A --with-gcc=PATH location of the gcc compiler [$CC] 0N/A --with-g++=PATH location of the g++ compiler [$CXX] 0N/A --with-kbuild=DIR kbuild directory [$KBUILDDIR] 0N/A --with-iasl=PATH location of the iasl compiler [$IASL] 0N/A --with-mkisofs=PATH location of mkisofs [$MKISOFS] 0N/A --with-makeself=PATH location of makeself [$MAKESELF] 0N/A[ "$OS" = "linux" ] && echo " --with-linux=DIR Linux kernel source directory [$LINUX]" 0N/A --with-openssl-dir=DIR directory for OpenSSL headers/libraries 0N/A --with-ow-dir=DIR directory where Open Watcom can be found [$WATCOM] 0N/A --out-path=PATH the folder to which configuration and build output 0N/A -d, --build-debug build with debugging symbols and assertions 0N/A --build-profile build with profiling support 0N/A --build-headless build headless (without any GUI frontend) 0N/A # Set this as a reminder to print a log message once we know the path of the 0N/A# Change OS specific defaults; must be before all other stuff 0N/A # it is part of libroot, which is linked by default, 0N/A # but the script wants something 0N/A #[ $OSE -eq 1 ] || BUILD_LIBCURL=1 0N/Aelif [
"$OS" =
"solaris" ];
then 0N/A# scan command line options 0N/A echo "Error: KBUILDDIR contains invalid characters!" 0N/A # This variable has not *yet* been overridden. That can still happen. 0N/A# initialize output files 0N/A# Log file generated by 0N/A# automatically generated by 0N/A# It will be completely overwritten if configure is executed again. 0N/A# automatically generated by 0N/A# It will be completely overwritten if configure is executed again. 0N/A# Make sure you source this file once before you start to build VBox. 0N/A# Print log warning about OSE if necessary 0N/A echo "Found RDP server, assuming VBOX_OSE = FALSE" >>
$LOG 0N/A echo "Creating DEBUG build!" >>
$LOG 0N/A echo "Creating PROFILE build!" >>
$LOG 0N/A# first determine our environment 0N/A# append the tools directory to the default search path 0N/A# if we will be writing to a different out directory then set this up now 0N/A echo "export PATH_OUT_BASE" >>
$ENV 0N/A# some things are not available in for OSE 0N/A# emit disable directives corresponding to any --disable-xxx options. 0N/A# don't check for yasm for the time beeing as 0.40 and 0.50 both have known bugs 0N/A# [ "$OS" != "darwin" ] && check_yasm 0N/Aif [
"$OS" =
"linux" -o
"$OS" =
"freebsd" ];
then 0N/A # don't check for the static libstdc++ in the PUEL version as we build the 0N/A # additions at a dedicated box 0N/Aif [
"$OS" =
"linux" -o
"$OS" =
"freebsd" ];
then 0N/Aecho "Source '$ENV' once before you start to build VBox:" 0N/A echo "To compile the kernel modules, do:" 0N/A echo " +++ WARNING +++ WARNING +++ WARNING +++ WARNING +++ WARNING +++ WARNING +++" 0N/A echo " Hardening is enabled which means that the VBox binaries will not run from" 0N/A echo " the binary directory. The binaries have to be installed suid root and some" 2415N/A echo " more prerequisites have to be fulfilled which is normally done by installing" 2415N/A echo " the final package. For development, the hardening feature can be disabled" 0N/A echo " by specifying the --disable-hardening parameter. Please never disable that" 0N/A echo " feature for the final distribution!" 0N/A echo " +++ WARNING +++ WARNING +++ WARNING +++ WARNING +++ WARNING +++ WARNING +++" 0N/A echo " +++ WARNING +++ WARNING +++ WARNING +++ WARNING +++ WARNING +++ WARNING +++" 0N/A echo " Hardening is disabled. Please do NOT build packages for distribution with" 0N/A echo " disabled hardening!" 0N/A echo " +++ WARNING +++ WARNING +++ WARNING +++ WARNING +++ WARNING +++ WARNING +++"