aboutsummaryrefslogtreecommitdiff
path: root/obj
diff options
context:
space:
mode:
authorAndreas Schneider <asn@cryptomilk.org>2014-01-16 08:50:24 +0100
committerAndreas Schneider <asn@cryptomilk.org>2014-01-16 08:53:32 +0100
commit6d09104ad3c048a17749bce5de7b370439e52574 (patch)
treea5284d36b592c9cd557f99bfbbbfb69160452024 /obj
parent57ef959aa3e785658d68c91a7e7ba78cc5dc75f6 (diff)
downloadlibssh-6d09104ad3c048a17749bce5de7b370439e52574.tar.gz
libssh-6d09104ad3c048a17749bce5de7b370439e52574.tar.xz
libssh-6d09104ad3c048a17749bce5de7b370439e52574.zip
Rename build directory to obj.
Some buildsystem use build in the pathname and so we will filter out e.g. docs generation.
Diffstat (limited to 'obj')
-rwxr-xr-xobj/build_make.sh197
1 files changed, 197 insertions, 0 deletions
diff --git a/obj/build_make.sh b/obj/build_make.sh
new file mode 100755
index 00000000..2f2e4a6c
--- /dev/null
+++ b/obj/build_make.sh
@@ -0,0 +1,197 @@
+#!/bin/bash
+#
+# Last Change: 2008-06-18 14:13:46
+#
+# Script to build libssh on UNIX.
+#
+# Copyright (c) 2006-2007 Andreas Schneider <asn@cryptomilk.org>
+#
+
+SOURCE_DIR=".."
+
+LANG=C
+export LANG
+
+SCRIPT="$0"
+COUNT=0
+while [ -L "${SCRIPT}" ]
+do
+ SCRIPT=$(readlink ${SCRIPT})
+ COUNT=$(expr ${COUNT} + 1)
+ if [ ${COUNT} -gt 100 ]; then
+ echo "Too many symbolic links"
+ exit 1
+ fi
+done
+BUILDDIR=$(dirname ${SCRIPT})
+
+cleanup_and_exit () {
+ if test "$1" = 0 -o -z "$1" ; then
+ exit 0
+ else
+ exit $1
+ fi
+}
+
+function configure() {
+ if [ -n "${CMAKEDIR}" ]; then
+ ${CMAKEDIR}/bin/cmake "$@" ${SOURCE_DIR} || cleanup_and_exit $?
+ else
+ cmake "$@" ${SOURCE_DIR} || cleanup_and_exit $?
+ fi
+}
+
+function compile() {
+ if [ -f /proc/cpuinfo ]; then
+ CPUCOUNT=$(grep -c processor /proc/cpuinfo)
+ elif test `uname` = "SunOS" ; then
+ CPUCOUNT=$(psrinfo -p)
+ else
+ CPUCOUNT="1"
+ fi
+
+ if [ "${CPUCOUNT}" -gt "1" ]; then
+ ${MAKE} -j${CPUCOUNT} $1 || cleanup_and_exit $?
+ else
+ ${MAKE} $1 || exit $?
+ fi
+}
+
+function clean_build_dir() {
+ find ! -path "*.svn*" ! -name "*.bat" ! -name "*.sh" ! -name "." -print0 | xargs -0 rm -rf
+}
+
+function usage () {
+echo "Usage: `basename $0` [--prefix /install_prefix|--build [debug|final]|--clean|--verbose|--libsuffix (32|64)|--help|--clang|--cmakedir /directory|--make
+(gmake|make)|--ccompiler (gcc|cc)|--withstaticlib|--unittesting|--clientunittesting|--withssh1|--withserver]"
+ cleanup_and_exit
+}
+
+cd ${BUILDDIR}
+
+# the default CMake options:
+OPTIONS="--graphviz=${BUILDDIR}/libssh.dot"
+
+# the default 'make' utility:
+MAKE="make"
+
+while test -n "$1"; do
+ PARAM="$1"
+ ARG="$2"
+ shift
+ case ${PARAM} in
+ *-*=*)
+ ARG=${PARAM#*=}
+ PARAM=${PARAM%%=*}
+ set -- "----noarg=${PARAM}" "$@"
+ esac
+ case ${PARAM} in
+ *-help|-h)
+ #echo_help
+ usage
+ cleanup_and_exit
+ ;;
+ *-build)
+ DOMAKE="1"
+ BUILD_TYPE="${ARG}"
+ test -n "${BUILD_TYPE}" && shift
+ ;;
+ *-clean)
+ clean_build_dir
+ cleanup_and_exit
+ ;;
+ *-clang)
+ OPTIONS="${OPTIONS} -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++"
+ ;;
+ *-verbose)
+ DOVERBOSE="1"
+ ;;
+ *-memtest)
+ OPTIONS="${OPTIONS} -DMEM_NULL_TESTS=ON"
+ ;;
+ *-libsuffix)
+ OPTIONS="${OPTIONS} -DLIB_SUFFIX=${ARG}"
+ shift
+ ;;
+ *-prefix)
+ OPTIONS="${OPTIONS} -DCMAKE_INSTALL_PREFIX=${ARG}"
+ shift
+ ;;
+ *-sysconfdir)
+ OPTIONS="${OPTIONS} -DSYSCONF_INSTALL_DIR=${ARG}"
+ shift
+ ;;
+ *-cmakedir)
+ CMAKEDIR="${ARG}"
+ shift
+ ;;
+ *-make)
+ MAKE="${ARG}"
+ shift
+ ;;
+ *-ccompiler)
+ OPTIONS="${OPTIONS} -DCMAKE_C_COMPILER=${ARG}"
+ shift
+ ;;
+ *-withstaticlib)
+ OPTIONS="${OPTIONS} -DWITH_STATIC_LIB=ON"
+ ;;
+ *-unittesting)
+ OPTIONS="${OPTIONS} -DWITH_TESTING=ON"
+ ;;
+ *-clientunittesting)
+ OPTIONS="${OPTIONS} -DWITH_CLIENT_TESTING=ON"
+ ;;
+ *-withssh1)
+ OPTIONS="${OPTIONS} -DWITH_SSH1=ON"
+ ;;
+ *-withserver)
+ OPTIONS="${OPTIONS} -DWITH_SERVER=ON"
+ ;;
+ ----noarg)
+ echo "$ARG does not take an argument"
+ cleanup_and_exit
+ ;;
+ -*)
+ echo Unknown Option "$PARAM". Exit.
+ cleanup_and_exit 1
+ ;;
+ *)
+ usage
+ ;;
+ esac
+done
+
+if [ "${DOMAKE}" == "1" ]; then
+ OPTIONS="${OPTIONS} -DCMAKE_BUILD_TYPE=${BUILD_TYPE}"
+fi
+
+if [ -n "${DOVERBOSE}" ]; then
+ OPTIONS="${OPTIONS} -DCMAKE_VERBOSE_MAKEFILE=1"
+else
+ OPTIONS="${OPTIONS} -DCMAKE_VERBOSE_MAKEFILE=0"
+fi
+
+test -f "${BUILDDIR}/.build.log" && rm -f ${BUILDDIR}/.build.log
+touch ${BUILDDIR}/.build.log
+# log everything from here to .build.log
+exec 1> >(exec -a 'build logging tee' tee -a ${BUILDDIR}/.build.log) 2>&1
+echo "${HOST} started build at $(date)."
+echo
+
+configure ${OPTIONS} "$@"
+
+if [ -n "${DOMAKE}" ]; then
+ test -n "${DOVERBOSE}" && compile VERBOSE=1 || compile
+fi
+
+DOT=$(which dot 2>/dev/null)
+if [ -n "${DOT}" ]; then
+ ${DOT} -Tpng -o${BUILDDIR}/libssh.png ${BUILDDIR}/libssh.dot
+ ${DOT} -Tsvg -o${BUILDDIR}/libssh.svg ${BUILDDIR}/libssh.dot
+fi
+
+exec >&0 2>&0 # so that the logging tee finishes
+sleep 1 # wait till tee terminates
+
+cleanup_and_exit 0