summaryrefslogtreecommitdiffstats
path: root/build.sh
diff options
context:
space:
mode:
authortpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-17 00:43:50 +0000
committertpearson <tpearson@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>2010-02-17 00:43:50 +0000
commitceea23677c61f20759ae986bd77b0d5c4d673edb (patch)
tree3fcec1702eaf9c14d1dd736e594f5df08dab4001 /build.sh
downloadkbfx-ceea23677c61f20759ae986bd77b0d5c4d673edb.tar.gz
kbfx-ceea23677c61f20759ae986bd77b0d5c4d673edb.zip
Added old KDE3 version of kbfx
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/applications/kbfx@1091549 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'build.sh')
-rwxr-xr-xbuild.sh246
1 files changed, 246 insertions, 0 deletions
diff --git a/build.sh b/build.sh
new file mode 100755
index 0000000..d3f4983
--- /dev/null
+++ b/build.sh
@@ -0,0 +1,246 @@
+#! /bin/sh
+
+CMAKE_OPT_PREFIX_KDE3="-DCMAKE_INSTALL_PREFIX:PATH=`kde-config --prefix 2>/dev/null` "
+CMAKE_OPT_PREFIX_KDE4="-DCMAKE_INSTALL_PREFIX:PATH=`kde4-config --prefix 2>/dev/null` "
+CMAKE_OPT_PREFIX=""
+MAKE_VERBOSE=""
+USE_STRIGI_SEARCH=""
+MENUDRAKE=""
+KDE4=""
+ACTION="install"
+NOCHECK=0
+build_state="touch kbfx_build"
+command_line_args=$@
+eval "which kbfxconfigapp > /dev/null 2>&1" && kbfx_installed="1" || kbfx_installed="0"
+
+color_ok="\\033[1;32m"
+color_error="\\033[1;31m"
+color_normal="\\033[0;39m"
+color_warn="\\033[1;33m"
+
+
+prog_action(){
+ echo
+ echo -e "$color_ok $@ $color_normal"
+}
+
+prog_err(){
+ echo
+ echo -e "$color_error ERROR doing $@ $color_normal\n"
+}
+
+confirm() {
+ printf "$color_warn %s (Y)es/(N)o? [%s]$color_normal " "$1" "$2"
+ unset user_input
+ answer="$2"
+ read user_input
+if [ "$user_input" = "y" -o "$user_input" = "Y" -o "$user_input" = "YES" -o "$user_input" = "Yes" -o "$user_input" = "yes" ]; then
+ answer="Y"
+fi
+if [ "$user_input" = "n" -o "$user_input" = "N" -o "" = "NO" -o "$user_input" = "No" -o "$user_input" = "no" ]; then
+ answer="N"
+fi
+}
+
+parse_command_line() {
+ if [ "$#" -eq 0 ]; then
+ return 0
+ fi
+ while [ "$1" != "${1##-}" ]; do
+ case $1 in
+ --verbose|-v)
+ MAKE_VERBOSE="VERBOSE=1"
+ shift 1
+ ;;
+ --prefix|-p)
+ if [ -n "$2" -a "$2" = "${2##-}" ]; then
+ t=0
+ stop=0
+ s=""
+ for p in $@
+ do
+ t=$[t+1]
+ if [ $t -gt 1 -a "$p" = "${p##-}" -a $stop -eq 0 ]; then
+ s="$s$p "
+ fi
+ if [ $t -gt 1 -a "$p" != "${p##-}" ]; then
+ stop=$[t-1]
+ fi
+ done
+ if [ $stop -eq 0 ]; then
+ stop=$[t-1]
+ fi
+ if [ -n "$s" ]; then
+ s=${s%%[ ]}
+ CMAKE_OPT_PREFIX="-DCMAKE_INSTALL_PREFIX:PATH='$s' "
+ fi
+ shift $stop
+ else
+ shift 1
+ return 1
+ fi
+ ;;
+ --strigi|-s)
+ USE_STRIGI_SEARCH="-DUSE_STRIGI:BOOL=TRUE"
+ shift 1
+ ;;
+ --menudrake-off|-m)
+ MENUDRAKE="-DUSE_MENUDRAKE:BOOL=FALSE"
+ shift 1
+ ;;
+ --kde4|-k)
+ KDE4="-DUSE_KDE4:BOOL=TRUE"
+ shift 1
+ ;;
+ --uninstall|-u)
+ ACTION="uninstall"
+ shift 1
+ ;;
+ --nocheck|-n)
+ NOCHECK=1
+ shift 1
+ ;;
+ *)
+ if [ "$#" -ge 1 ]; then
+ return 1
+ fi
+ return 0
+ ;;
+ esac
+ done
+}
+
+show_usage(){
+ echo
+ echo -e "$color_warn Usage: \n\t build.sh \t [(-v|--verbose) Be verbose when compiling (default: no)] \n\t\t\t [(-u|--uninstall) Uninstall KBFX (default: no)] \n\t\t\t [(-p|--prefix) Install prefix (default: KDE prefix)] \n\t\t\t [(-s|--strigi) Compile strigi search plugin (default: no)] \n\t\t\t [(-m|-menudrake-off) Don't use menudrake in Mandriva (default: auto)] \n\t\t\t [(-k|--kde4) Compile for KDE4 (default: no)] \n\t\t\t [(-n|--nocheck) Do not check for old KBFX versions (default: check)] $color_normal"
+ echo
+}
+
+parse_command_line $command_line_args
+if [ "$?" -eq 1 ]; then
+ prog_err "build.sh"
+ show_usage
+ exit 1
+fi
+
+show_usage
+
+if [ "$ACTION" = "install" ]
+then {
+ if [ $kbfx_installed -eq 1 -a $NOCHECK -eq 0 ] ; then
+ echo
+ echo -e "$color_error \n\t You have KBFX installed in your \$PATH!\n\t In order to compile the new version you HAVE TO REMOVE the old KBFX first!\n $color_normal"
+ exit 1
+ fi
+
+ if [ -d build ] ; then
+ echo
+ echo -e "$color_warn Directory 'build' exists! Using it...$color_normal"
+ echo -e "$color_error If 'build.sh' fails, try removing the directory 'build' and run 'build.sh' again! $color_normal"
+ else
+ mkdir build
+ fi
+ cd build
+
+ if [ "$CMAKE_OPT_PREFIX" = "" ]
+ then {
+ if [ "$KDE4" = "" ]
+ then {
+ CMAKE_OPT_PREFIX=$CMAKE_OPT_PREFIX_KDE3
+ }
+ else {
+ CMAKE_OPT_PREFIX=$CMAKE_OPT_PREFIX_KDE4
+ }
+ fi
+ }
+ fi
+
+ CMAKE_OPT="$CMAKE_OPT_PREFIX $KDE4 $MENUDRAKE $USE_STRIGI_SEARCH"
+
+ prog_action "Doing CMake configure..."
+ echo $CMAKE_OPT
+ eval "cmake ../ $CMAKE_OPT"
+ if [ $? -ne 0 ]; then
+ prog_err "CMake configure..."
+ exit 1
+ fi
+
+ prog_action "Doing make..."
+ make $MAKE_VERBOSE
+ if [ $? -ne 0 ]; then
+ prog_err "make..."
+ exit 1
+ fi
+
+ eval $build_state
+ prog_action "Success building KBFX...\n"
+
+ confirm "Do you want to install KBFX?" "Y"
+ if [ "$answer" = "Y" ]
+ then
+ sucommand="make install"
+ after_su="touch kbfx_install_user"
+ if [ `whoami` != 'root' ]
+ then {
+ confirm "To install KBFX as 'root', answer 'Yes'. To install as '`whoami`', answer 'No'" "N"
+ if [ "$answer" = "Y" ]
+ then {
+ sucommand="su root -c 'make install'"
+ after_su="touch kbfx_install_root"
+ }
+ fi
+ }
+ fi
+
+ prog_action "Doing 'make install'..."
+ eval $sucommand
+ if [ $? -ne 0 ]; then
+ prog_err "make install..."
+ exit 1
+ fi
+ eval $after_su
+ echo
+ echo -e "$color_warn NOTE: If you have used a custom prefix for your install (-p or --prefix option for script), \n you should add '$s' to your \$KDEDIRS environment variable\n and '$s/lib' to your \$LD_LIBRARY_PATH environment variable!\n $color_normal"
+ fi
+}
+else {
+ if [ -d build ]
+ then
+ cd build
+ else
+ echo
+ echo -e "$color_error \n\t Directory 'build' DOES NOT exist!\n\t You HAVE NOT used 'build.sh' script for installing KBFX! \n\t Uninstall CAN NOT continue!\n $color_normal"
+ exit 1
+ fi
+
+ if [ -f kbfx_install_user ]
+ then
+ sucommand="make uninstall"
+ after_su="rm -f kbfx_install_user"
+ elif [ -f kbfx_install_root ]
+ then
+ sucommand="su root -c 'make uninstall'"
+ after_su="rm -f kbfx_install_root"
+ elif [ -f kbfx_build ]
+ then
+ echo
+ echo -e "$color_error \n\t KBFX IS NOT installed! \n\t Uninstall CAN NOT continue!\n $color_normal"
+ exit 1
+ else
+ echo
+ echo -e "$color_error \n\t You HAVE NOT used 'build.sh' script for installing KBFX! \n\t Uninstall CAN NOT continue!\n $color_normal"
+ exit 1
+ fi
+
+ prog_action "Uninstalling..."
+ eval $sucommand
+ if [ $? -ne 0 ]; then
+ prog_err "uninstall..."
+ exit 1
+ fi
+ eval $after_su
+
+}
+fi
+
+prog_action "All actions ended successfully...\n"