changeset 1739:064c0acb7c39

Added C++ compiler/runtime enviroment detection and enabled ppc detection.
author atmos4
date Wed, 29 Aug 2001 11:18:37 +0000
parents 888b395b277c
children 46b49783b708
files configure
diffstat 1 files changed, 68 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- a/configure	Tue Aug 28 22:46:15 2001 +0000
+++ b/configure	Wed Aug 29 11:18:37 2001 +0000
@@ -303,19 +303,23 @@
 # LGB: temporary files
 
 TMPC="mplayer-conf-${RANDOM}-$$-${RANDOM}.c"
+TMPCPP="mplayer-conf-${RANDOM}-$$-${RANDOM}.cpp"
 TMPO="mplayer-conf-${RANDOM}-$$-${RANDOM}.o"
 TMPS="mplayer-conf-${RANDOM}-$$-${RANDOM}.S"
 
 if [ ! -z "$TMPDIR" ]; then
 	TMPC="${TMPDIR}/${TMPC}"
+	TMPCPP="${TMPDIR}/${TMPCPP}"
 	TMPO="${TMPDIR}/${TMPO}"
 	TMPS="${TMPDIR}/${TMPS}"
 elif [ ! -z "$TEMPDIR" ]; then
 	TMPC="${TEMPDIR}/${TMPC}"
+	TMPCPP="${TEMPDIR}/${TMPCPP}"
 	TMPO="${TEMPDIR}/${TMPO}"
 	TMPS="${TEMPDIR}/${TMPS}"
 else
 	TMPC="/tmp/${TMPC}"
+	TMPCPP="/tmp/${TMPCPP}"
 	TMPO="/tmp/${TMPO}"
 	TMPS="/tmp/${TMPS}"
 fi
@@ -404,6 +408,61 @@
   fi
 fi
 
+# check if compiler supports C++ and C++-libs are installed correctly
+cat > $TMPCPP << EOF
+/* very useful C++ test program by atmos */
+#include <string>
+
+class myclass {
+  private:
+    int ret;
+  public:
+    int myreturn(void);
+};
+
+int myclass::myreturn(void) {
+  ret = 0;
+  return ret;
+}
+
+int main(void) {
+  myclass myobject;
+  return myobject.myreturn();
+}
+EOF
+echo $_echo_n "Checking if your C++ compiler '$_cc' works ... $_echo_c"
+if $_cc $TMPCPP -o $TMPO > /dev/null 2>&1 ; then
+  echo "yes"
+  echo $_echo_n "Checking for proper C++ runtime enviroment ... $_echo_c"
+  if $TMPO ; then
+    echo "yes"
+  else
+    echo "no"
+    cat << EOF
+Your C++ runtime enviroment is broken, make sure you correctly install the
+C++ libraries (libstdc++) and that the library path containing them is in
+your (/etc/)ld.so.conf!
+If you don't need DirectShow support, you can also use:
+./configure --disable-dshow <your-normal-configure-options>
+to disable building of the C++ based DirectShow code.
+EOF
+    rm -f $TMPCPP $TMPO
+    exit
+  fi
+else
+  echo "no"
+  cat << EOF
+Your C++ compiler does not support C++, make sure you have enabled it on
+compiler compilation or for binary packages, make sure the appropriate
+packages are installed!
+If you don't need DirectShow support, you can also use:
+./configure --disable-dshow <your-normal-configure-options>
+to disable building of the C++ based DirectShow code.
+EOF
+  rm -f $TMPCPP $TMPO
+  exit
+fi
+rm -f $TMPCPP $TMPO
 
 if [ "$host_arch" = i386 ]; then
     if [ -r /proc/cpuinfo ]; then
@@ -697,16 +756,15 @@
     _mcpu=""
     ;;
 
-# Untested:
-#ppc)
-#    _arch="#define ARCH_PPC 1"
-#    _target_arch="TARGET_ARCH_PPC=yes"
-#    _words_endian="#define WORDS_BIGENDIAN 1"
-#    iproc=ppc
-#    proc=
-#    _march=""
-#    _mcpu=""
-#    ;;
+ppc)
+    _arch="#define ARCH_PPC 1"
+    _target_arch="TARGET_ARCH_PPC=yes"
+    _words_endian="#define WORDS_BIGENDIAN 1"
+    iproc=ppc
+    proc=
+    _march=""
+    _mcpu=""
+    ;;
 
 # Untested:
 #alpha)