automatically build plugins
[pcsx_rearmed.git] / configure
index ecd2215..4aed26a 100755 (executable)
--- a/configure
+++ b/configure
@@ -28,6 +28,8 @@ platform_list="generic pandora maemo caanoo"
 platform="generic"
 sound_driver_list="oss alsa none"
 sound_driver="alsa"
+plugins="plugins/spunull/spunull.so \
+plugins/dfxvideo/gpu_peops.so plugins/gpu_unai/gpu_unai.so"
 ram_fixed="no"
 drc_cache_base="no"
 have_armv6=""
@@ -41,6 +43,7 @@ optimize_arm926ej="no"
 
 # hardcoded stuff
 CC="${CC-${CROSS_COMPILE}gcc}"
+CXX="${CXX-${CROSS_COMPILE}g++}"
 AS="${AS-${CROSS_COMPILE}as}"
 AR="${AS-${CROSS_COMPILE}ar}"
 config_mak="config.mak"
@@ -110,7 +113,7 @@ if [ "$show_help" = "yes" ]; then
   echo "  --disable-dynarec        disable dynamic recompiler"
   echo "                           (dynarec is only available and enabled on ARM)"
   echo "influential environment variables:"
-  echo "  CROSS_COMPILE CC AS AR CFLAGS ASFLAGS LDFLAGS LDLIBS"
+  echo "  CROSS_COMPILE CC CXX AS AR CFLAGS ASFLAGS LDFLAGS LDLIBS"
   exit 1
 fi
 
@@ -218,6 +221,25 @@ EOF
   fi
 fi
 
+# check for GLES headers
+cat > $TMPC <<EOF
+#include <GLES/gl.h>
+#include <GLES/glext.h>
+#include <EGL/egl.h>
+void *test(void) {
+  return eglGetDisplay( (EGLNativeDisplayType)0 );
+}
+EOF
+if compile_object; then
+  plugins="$plugins plugins/gpu-gles/gpu_gles.so"
+fi
+
+# short plugin list for display
+for p in $plugins; do
+  p1=`basename $p`
+  plugins_short="$p1 $plugins_short"
+done
+
 # set things that failed to autodetect to "no"
 test "x$have_armv6" != "x" || have_armv6="no"
 test "x$have_armv7" != "x" || have_armv7="no"
@@ -226,6 +248,7 @@ test "x$have_arm_neon" != "x" || have_arm_neon="no"
 echo "architecture        $ARCH"
 echo "platform            $platform"
 echo "sound driver        $sound_driver"
+echo "plugins             $plugins_short"
 echo "C compiler          $CC"
 echo "C compiler flags    $CFLAGS"
 echo "linker flags        $LDFLAGS"
@@ -240,6 +263,7 @@ printf " '%s'" "$0" "$@" >> $config_mak
 echo >> $config_mak
 
 echo "CC = $CC" >> $config_mak
+echo "CXX = $CXX" >> $config_mak
 echo "AS = $AS" >> $config_mak
 echo "CFLAGS += $CFLAGS" >> $config_mak
 echo "ASFLAGS += $ASFLAGS" >> $config_mak
@@ -261,6 +285,15 @@ none)
   echo "USE_NO_SOUND = 1" >> $config_mak
   ;;
 esac
+if [ "$ARCH" = "arm" ]; then
+  echo "PLUGINS = $plugins" >> $config_mak
+else
+  echo -n "PLUGINS =" >> $config_mak
+  for p in $plugins; do
+    echo -n " ${p}.${ARCH}" >> $config_mak
+  done
+  echo >> $config_mak
+fi
 if [ "$have_armv6" = "yes" ]; then
   echo "HAVE_ARMV6 = 1" >> $config_mak
 fi