Files
thunderpad/src/config
2014-02-18 02:00:55 +01:00

124 lines
3.8 KiB
Bash
Executable File

#!/bin/bash
if( ! pkg-config --exists xtst ); then
echo "Error: you will need libxtst to compile this program";
exit 1;
fi;
if( ! pkg-config --atleast-version=4.2 QtCore ); then
echo "Error: you need at least Qt version 4.2 to use this program";
exit 1;
fi;
if( ! ( qmake --version | grep -qi 'Qt version 4' ) ); then
echo "WARNING: Falling back on qmake-qt4; this may or may not work";
echo "WARNING: if it fails please see the compilation instructions on
qjoypad.sourceforge.net";
QMAKE_EXEC="qmake-qt4";
else
QMAKE_EXEC="qmake";
fi;
devdir="/dev/input"
prefix="/usr/local"
installdir="";
plain_keys=""
debug_option="";
build_mode="release";
for arg in $*
do
case $arg in
--help) echo "
Usage: ./config [--devdir=\"dir\"] [--prefix=\"prefix\"] [--help]
Options:
--devdir=DIR Set the path where QJoyPad will look for your joystick
devices to be DIR. If your devices are /dev/js0, /dev/js1,
etc., this should be just \"/dev\". By default, this is
/dev/input.
--prefix=DIR Set the path where QJoyPad and its components will be
installed. By default, this is /usr/local.
--plain_keys Force QJoyPad to use standard XWindows keynames without
filtering them for appearance. This will make displays
less attractive and readable, but will save processor power
and ensure that you see the right names for keys you press.
--install-dir=DIR Sets an optional installation path that will be prepended
to prefix during installation.
--debug Causes Qjoypad to spit out debugging messages (debug messages
will be compiled in; to get rid of the messages you'll have
to recompile).
--qmake4bin=EXEC Overrides the qmake executable used by this script.
EXEC may be relative to PATH or an absolute pathname.
--help Show this message.
"; exit 0;;
--devdir=*) devdir=${arg##*=}
if [[ ! -d $devdir ]]
then
echo "Invalid device directory given: $devdir"
exit 1
fi ;;
--prefix=*) prefix=${arg##*=}
if [[ ! -d $prefix ]]
then
echo "Invalid prefix directory given: $prefix"
exit 1
fi;;
--install-dir=*) installdir=${arg##*=}
if [[ ! -d $installdir ]]
then
echo "invalid destination directory given: $installdir";
exit 1
fi;;
--plain_keys) plain_keys="PLAIN_KEYS";;
--debug)
debug_option+="_DEBUG";
build_mode="debug";;
--qmake4bin=*) QMAKE_EXEC=${arg##*=};;
*) echo "Unrecognized argument: \"$arg\". Try ./config --help for help."
esac
done
if ( ! $QMAKE_EXEC -makefile DEVDIR=$devdir PREFIX=$prefix \
"DEFINES += $plain_keys $debug_option" \
INSTALL_PREFIX=${installdir}/${prefix}/ \
"CONFIG += $build_mode" \
qjoypad.pro ); then
echo "Config failed. If you overrode the qmake exec, make sure it
is valid! Otherwise, email virtuoussin13@users.sourceforge.net for help";
exit 1;
fi
echo "
Configuring QJoyPad installation...
------------------------------------------------------------
Device directory: $devdir
-- Devices will be looked for in:
$devdir/js0
$devdir/js1
etc.
Prefix directory: $prefix
-- Files to be installed in:
$prefix/bin
$prefix/doc
$prefix/share/pixmaps"
if [[ -n $plain_keys ]]; then
echo "
-- Using regular XWindows key names.";
fi
echo "
---------------------------------------------------------
If these settings are okay, go ahead and run 'make' and
then 'make install'.
To make changes, run ./config --help for details.
"