Browse Source

configure: Simplify final information summary

Luke Dashjr 12 years ago
parent
commit
119db1f4dc
1 changed files with 80 additions and 105 deletions
  1. 80 105
      configure.ac

+ 80 - 105
configure.ac

@@ -85,6 +85,10 @@ AC_CHECK_FUNCS([chroot])
 
 AC_FUNC_ALLOCA
 
+driverlist=
+algolist=SHA256d
+optlist=
+
 need_dynclock=no
 need_fpgautils=no
 have_cygwin=false
@@ -172,6 +176,7 @@ AC_CHECK_DECL([HASH_ITER],[
 ])
 
 
+driverlist="$driverlist cpu/cpumining"
 cpumining="no"
 
 AC_ARG_ENABLE([cpumining],
@@ -180,9 +185,12 @@ AC_ARG_ENABLE([cpumining],
 	)
 if test "x$cpumining" = xyes; then
 	AC_DEFINE_UNQUOTED([WANT_CPUMINE], [1], [Enable CPUMINING])
+	driverlist="$driverlist cpu:asm/has_yasm"
+	driverlist="$driverlist cpu:sse2/have_sse2"
 fi
 AM_CONDITIONAL([HAS_CPUMINE], [test x$cpumining = xyes])
 
+driverlist="$driverlist opencl"
 opencl="yes"
 
 AC_ARG_ENABLE([opencl],
@@ -268,6 +276,7 @@ AC_SUBST(JANSSON_LIBS)
 if test "x$opencl" = xyes; then
 	adl="yes"
 	
+driverlist="$driverlist opencl:sensors/with_sensors"
 AC_ARG_WITH([sensors],
 	[AC_HELP_STRING([--without-sensors],[Build with libsensors monitoring (default enabled)])],
 	[true],[with_sensors=auto])
@@ -292,11 +301,15 @@ if test "x$with_sensors" != xno; then
 	],[
 		with_sensors=no
 		AC_MSG_RESULT([no])
+		if ! $have_win32; then
+			with_sensors_enableaction="install libsensors"
+		fi
 	])
 	LIBS="$save_LIBS"
 fi
 AC_SUBST(sensors_LIBS)
 
+driverlist="$driverlist opencl:adl/adl"
 AC_ARG_ENABLE([adl],
 	[AC_HELP_STRING([--disable-adl],[Build without ADL monitoring (default enabled)])],
 	[adl=$enableval]
@@ -310,6 +323,7 @@ else
 	adl="no"
 fi
 
+driverlist="$driverlist bitforce"
 AC_ARG_ENABLE([bitforce],
 	[AC_HELP_STRING([--disable-bitforce],[Compile support for BitForce (default enabled)])],
 	[bitforce=$enableval],
@@ -321,6 +335,7 @@ if test "x$bitforce" = xyes; then
 fi
 AM_CONDITIONAL([HAS_BITFORCE], [test x$bitforce = xyes])
 
+driverlist="$driverlist icarus cairnsmore/icarus erupter/icarus"
 AC_ARG_ENABLE([icarus],
 	[AC_HELP_STRING([--disable-icarus],[Compile support for Icarus (default enabled)])],
 	[icarus=$enableval],
@@ -333,6 +348,7 @@ if test "x$icarus" = xyes; then
 fi
 AM_CONDITIONAL([HAS_ICARUS], [test x$icarus = xyes])
 
+driverlist="$driverlist avalon"
 avalon="no"
 
 AC_ARG_ENABLE([avalon],
@@ -357,6 +373,8 @@ if test "x$httpsrv" != "xno"; then
 		httpsrv=yes
 	],[
 		httpsrv=no
+		httpsrv_enableaction="install libmicrohttpd 0.9.5+"
+		need_bfg_driver_proxy_enableaction="install libmicrohttpd 0.9.5+"
 		if test "x$httpsrv" = "xyes"; then
 			AC_MSG_ERROR([Unable to find libmicrohttpd 0.9.5+])
 		else
@@ -377,6 +395,12 @@ if test "x$libevent" != "xno"; then
 		libevent=yes
 	],[
 		libevent=no
+		libevent_enableaction="install libevent 2.0.3+"
+		if test -n "$need_bfg_driver_proxy_enableaction"; then
+			need_bfg_driver_proxy_enableaction="${need_bfg_driver_proxy_enableaction} (getwork) or libevent 2.0.3+ (stratum)"
+		else
+			need_bfg_driver_proxy_enableaction="install libevent 2.0.3+"
+		fi
 		if test "x$libevent" = "xyes"; then
 			AC_MSG_ERROR([Unable to find libevent 2.0.3+])
 		else
@@ -386,8 +410,16 @@ if test "x$libevent" != "xno"; then
 fi
 AM_CONDITIONAL([USE_LIBEVENT], [test x$libevent = xyes])
 
+driverlist="$driverlist proxy/need_bfg_driver_proxy"
+if test x$libevent$httpsrv = xnono; then
+	need_bfg_driver_proxy=no
+else
+	need_bfg_driver_proxy=yes
+	driverlist="$driverlist proxy:getwork/httpsrv proxy:stratum/libevent"
+fi
 AM_CONDITIONAL([NEED_BFG_DRIVER_PROXY], [test x$libevent$httpsrv != xnono])
 
+driverlist="$driverlist modminer"
 AC_ARG_ENABLE([modminer],
 	[AC_HELP_STRING([--disable-modminer],[Compile support for ModMiner (default enabled)])],
 	[modminer=$enableval],
@@ -431,6 +463,7 @@ PKG_CHECK_MODULES([LIBUSB], [libusb-1.0],[
 	fi
 ])
 
+driverlist="$driverlist x6500"
 AC_ARG_ENABLE([x6500],
 	[AC_HELP_STRING([--disable-x6500],[Compile support for X6500 (default if libusb)])],
 	[x6500=$enableval],
@@ -442,7 +475,7 @@ elif test "x$x6500" = xauto; then
 	x6500="$libusb"
 	if test "x$libusb" = xno; then
 		AC_MSG_WARN([Could not find libusb, required for X6500 support])
-		x6500warn=yes
+		x6500_enableaction="install libusb 1.0+"
 	fi
 fi
 if test "x$x6500" = xyes; then
@@ -452,6 +485,7 @@ if test "x$x6500" = xyes; then
 fi
 AM_CONDITIONAL([HAS_X6500], [test x$x6500 = xyes])
 
+driverlist="$driverlist ztex"
 AC_ARG_ENABLE([ztex],
 	[AC_HELP_STRING([--disable-ztex],[Compile support for ZTEX (default if libusb)])],
 	[ztex=$enableval],
@@ -463,7 +497,7 @@ elif test "x$ztex" = xauto; then
 	ztex="$libusb"
 	if test "x$libusb" = xno; then
 		AC_MSG_WARN([Could not find libusb, required for ZTEX support])
-		ztexwarn=yes
+		ztex_enableaction="install libusb 1.0+"
 	fi
 fi
 if test "x$ztex" = xyes; then
@@ -474,6 +508,7 @@ fi
 AM_CONDITIONAL([HAS_ZTEX], [test x$ztex = xyes])
 
 
+driverlist="$driverlist bitfury_gpio/bitfury"
 bitfury=yes
 AC_ARG_ENABLE([bitfury],
 	[AC_HELP_STRING([--disable-bitfury],[Compile support for Bitfury (default enabled)])],
@@ -485,6 +520,7 @@ fi
 AM_CONDITIONAL([HAS_BITFURY], [test x$bitfury = xyes])
 
 
+driverlist="$driverlist bfsb"
 bfsb=no
 AC_ARG_ENABLE([bfsb],
 	[AC_HELP_STRING([--enable-bfsb],[Compile support for BFSB (default disabled)])],
@@ -499,6 +535,7 @@ fi
 AM_CONDITIONAL([HAS_BFSB], [test x$bfsb = xyes])
 
 
+driverlist="$driverlist bigpic"
 bigpic=auto
 AC_ARG_ENABLE([bigpic],
 	[AC_HELP_STRING([--disable-bigpic],[Compile support for Big Picture Mining USB (default enabled)])],
@@ -520,6 +557,7 @@ fi
 AM_CONDITIONAL([HAS_BIGPIC], [test x$bigpic = xyes])
 
 
+driverlist="$driverlist littlefury"
 littlefury=auto
 AC_ARG_ENABLE([littlefury],
 	[AC_HELP_STRING([--disable-littlefury],[Compile support for LittleFury (default enabled)])],
@@ -541,6 +579,7 @@ fi
 AM_CONDITIONAL([HAS_LITTLEFURY], [test x$littlefury = xyes])
 
 
+driverlist="$driverlist metabank"
 metabank=no
 AC_ARG_ENABLE([metabank],
 	[AC_HELP_STRING([--enable-metabank],[Compile support for Metabank (default disabled)])],
@@ -569,6 +608,7 @@ if test "x$libusb" = xyes; then
 fi
 
 
+algolist="$algolist scrypt"
 scrypt="no"
 
 AC_ARG_ENABLE([scrypt],
@@ -605,8 +645,9 @@ AC_ARG_WITH([curses],
 	[curses=$withval]
 	)
 if test "x$curses" = "xno"; then
-	cursesmsg='User specified --without-curses. TUI support DISABLED'
+	optlist="$optlist curses"
 else
+	curses_enableaction="install a curses library"
 	orig_libs="$LIBS"
 	if test "x${curses}" = "xyes"; then
 		preferl=''
@@ -635,7 +676,7 @@ else
 				mvwprintw(w, 2, 2, "Testing %s", "o hai");
 			]])], [
 				curses=yes
-				cursesmsg="FOUND: ${curses_lib}"
+				optlist="$optlist ${curses_lib}/curses"
 				AC_MSG_RESULT([$curses_lib])
 				NCURSES_LIBS=`${curses_lib}-config --libs`
 				NCURSES_CPPFLAGS=`${curses_lib}-config --cflags`
@@ -655,7 +696,7 @@ else
 				curses=yes
 				eval "curseslib=\"\${ac_cv_search_${sym}}\""
 				barelib="${curseslib/-l/}"
-				cursesmsg="FOUND: ${barelib}"
+				optlist="$optlist ${barelib}/curses"
 				if test "x${curseslib}" != "xnone required"; then
 					NCURSES_LIBS="${curseslib}"
 				fi
@@ -679,7 +720,7 @@ else
 				else
 					AC_MSG_WARN([Could not find curses library - if you want a TUI, install libncurses-dev or pdcurses-dev])
 					curses=no
-					cursesmsg='NOT FOUND. TUI support DISABLED'
+					optlist="$optlist curses"
 				fi
 			])
 	fi
@@ -753,6 +794,7 @@ has_yasm=false
 if test "x$have_x86_32$have_x86_64" != "xfalsefalse"; then
 AC_PATH_PROG([YASM],[yasm],[false])
 if test "x$YASM" != "xfalse" ; then
+  has_yasm_enableaction="install yasm 1.0.1+"
   AC_MSG_CHECKING([if yasm version is greater than 1.0.1])
   yasmver=`"$YASM" --version | head -1 | cut -d\  -f2`
   yamajor=`echo $yasmver | cut -d. -f1`
@@ -1110,106 +1152,39 @@ echo
 echo "Configuration Options Summary:"
 echo
 
-echo "  curses.TUI...........: $cursesmsg"
-if test "x$scrypt" != xno; then
-	echo "  scrypt...............: Enabled"
-else
-	echo "  scrypt...............: Disabled"
-fi
-
-echo
-
-if test "x$opencl" = xyes; then
-	echo "  OpenCL...............: Enabled"
-else
-	echo "  OpenCL...............: Disabled"
-fi
-
-if test "x$with_sensors" = xyes; then
-	echo "    sensors.monitoring.: Enabled"
-elif test "x$opencl" = xyes; then
-	echo "    sensors.monitoring.: Disabled"
-else
-	echo "    sensors.monitoring.: n/a"
-fi
-
-if test "x$adl" = xyes; then
-	echo "    ADL.monitoring.....: Enabled"
-elif test "x$opencl" = xyes; then
-	echo "    ADL.monitoring.....: Disabled"
-else
-	echo "    ADL.monitoring.....: n/a"
-fi
-
-if test "x$avalon" = xyes; then
-	echo "  Avalon.ASICs.........: Enabled"
-else
-	echo "  Avalon.ASICs.........: Disabled"
-fi
-
-if test "x$bigpic" = xyes; then
-	echo "  BPM.USB.ASICs........: Enabled"
-else
-	echo "  BPM.USB.ASICs........: Disabled"
-fi
-
-if test "x$bitforce" = xyes; then
-	echo "  BitForce.devices.....: Enabled"
-else
-	echo "  BitForce.devices.....: Disabled"
-fi
-
-if test "x$icarus" = xyes; then
-	echo "  Icarus.FPGAs.........: Enabled"
-else
-	echo "  Icarus.FPGAs.........: Disabled"
-fi
-
-if test "x$modminer" = xyes; then
-	echo "  ModMiner.FPGAs.......: Enabled"
-else
-	echo "  ModMiner.FPGAs.......: Disabled"
-fi
-
-if test "x$x6500" = xyes; then
-	echo "  X6500.FPGAs..........: Enabled"
-elif test "x$ztexwarn" = xyes; then
-	echo "  X6500.FPGAs..........: Disabled (libusb not found)"
-else
-	echo "  X6500.FPGAs..........: Disabled"
-fi
-
-if test "x$ztex" = xyes; then
-	echo "  ZTEX.FPGAs...........: Enabled"
-elif test "x$ztexwarn" = xyes; then
-	echo "  ZTEX.FPGAs...........: Disabled (libusb not found)"
-else
-	echo "  ZTEX.FPGAs...........: Disabled"
-fi
-
-if test "x$httpsrv" = "xyes"; then
-	echo "  getwork.proxy.server.: Enabled"
-else
-	echo "  getwork.proxy.server.: Disabled"
-fi
 
-if test "x$need_fpgautils" = xyes; then
-	echo "  libudev.detection....: $libudev"
-fi
-
-if test "x$bitfury" = xyes; then
-	echo "  Bitfury.ASICs........: Enabled"
-else
-	echo "  Bitfury.ASICs........: Disabled"
-fi
-
-echo
-if test "x$cpumining" = xyes; then
-	echo "  CPU Mining...........: Enabled"
-	echo "  ASM.(for CPU mining).: $has_yasm"
-else
-	echo "  CPU Mining...........: Disabled"
-fi
+m4_define([BFG_PRINT_LIST],[
+	eval _mylist="\$$2"
+	_yeslist=
+	_nolist=
+	_enableactions=
+	for _opt in $_mylist; do
+		IFS=/ read _opt _var <<EOF
+$_opt
+EOF
+		test -n "$_var" || _var="$_opt"
+		eval "_val=\"\$${_var}\""
+		if test "x$_val" = "xno" || test "x$_val" = "xfalse"; then
+			_nolist="$_nolist $_opt"
+			eval "_enableaction=\"\$${_var}_enableaction\""
+			if test -n "$_enableaction"; then
+				_enableactions="${_enableactions}~    To enable ${_opt}, ${_enableaction}"
+			fi
+		else
+			_yeslist="$_yeslist $_opt"
+		fi
+	done
+	_yeslist=`echo "$_yeslist" | tr ' ' '\n' | sort | tr '\n' ' '`
+	_nolist=`echo "$_nolist" | tr ' ' '\n' | sort | tr '\n' ' '`
+	echo "  Enabled..$1..:$_yeslist"
+	echo "  Disabled.$1..:$_nolist"
+	if test -n "$_enableactions"; then
+		echo "${_enableactions:1}" | tr '~' '\n'
+	fi
+])
+BFG_PRINT_LIST([Drivers...],[driverlist])
+BFG_PRINT_LIST([Algorithms],[algolist])
+BFG_PRINT_LIST([Options...],[optlist])
 
 
 echo