summaryrefslogtreecommitdiff
path: root/solenv/bin
diff options
context:
space:
mode:
Diffstat (limited to 'solenv/bin')
-rwxr-xr-xsolenv/bin/lo_find_src_root23
-rwxr-xr-xsolenv/bin/lo_proxy_start31
2 files changed, 54 insertions, 0 deletions
diff --git a/solenv/bin/lo_find_src_root b/solenv/bin/lo_find_src_root
new file mode 100755
index 000000000000..a91c84759822
--- /dev/null
+++ b/solenv/bin/lo_find_src_root
@@ -0,0 +1,23 @@
+#!/usr/bin/env bash
+#
+# (c) 2011 Norbert Thiebaud. License : GPLv3
+#
+# try to locate the SRC_ROOT based on the working directory
+# we search for first Repository.mk
+# in the current directoyr or its parent, all teh way to /
+# Ths is a heuristic. it works 'most of the times
+# but it could give false positive if you try hard enough
+#
+
+current=$(pwd)
+
+while [ "${current}" != "/" ] ; do
+ if [ -f ${current}/.src_root ] ; then
+ echo "${current}"
+ exit 0;
+ fi
+ current=$(dirname "${current}")
+done
+
+echo "Error cannot determine SRC_ROOT" 1>&2
+exit 1;
diff --git a/solenv/bin/lo_proxy_start b/solenv/bin/lo_proxy_start
new file mode 100755
index 000000000000..67dcabf5c18a
--- /dev/null
+++ b/solenv/bin/lo_proxy_start
@@ -0,0 +1,31 @@
+#!/usr/bin/env bash
+
+bin_dir=$(dirname $0)
+action=$(basename $0)
+
+if [ "$action" = "lo_proxy_start" ] ; then
+ action=$1
+ shift
+fi
+
+if [ -z "$SRC_ROOT" ] ; then
+ SRC_ROOT=$($bin_dir/lo_find_src_root) || exit 1
+fi
+if [ -z "$SOLARINC" ] ; then
+ if [ -e "$SRC_ROOT/config.mk" ] ; then
+ . "$SRC_ROOT/config.mk"
+ fi
+ if [ -e "$SRC_ROOT/Env.Host.sh" ] ; then
+ . "$SRC_ROOT/Env.Host.sh"
+ fi
+fi
+
+if [ -e $SRC_ROOT/solenv/bin/$action.pl ] ; then
+ $SRC_ROOT/solenv/bin/$action.pl "$@"
+elif [ -e $SRC_ROOT/solenv/bin/$action.sh ] ; then
+ $SRC_ROOT/solenv/bin/$action.sh "$@"
+else
+ echo "$action.[pl|sh] not found" 2>&1
+ exit 1
+fi
+