|
@@ -0,0 +1,88 @@
|
|
|
+##
|
|
|
+## Small script to set the correct environment variables needed for building
|
|
|
+## Minoca OS. Source this into your current environment by running:
|
|
|
+## . ./setenv.sh
|
|
|
+##
|
|
|
+
|
|
|
+if [ "`basename -- $0`" = "setenv.sh" ]; then
|
|
|
+ echo "Error: This script is meant to be sourced, not run. Use: '. $0' to \
|
|
|
+source it into your current environment"
|
|
|
+fi
|
|
|
+
|
|
|
+if [ -z "$SRCROOT" ]; then
|
|
|
+ cd ..
|
|
|
+ export SRCROOT=$PWD
|
|
|
+ cd - > /dev/null
|
|
|
+fi
|
|
|
+
|
|
|
+if [ -z "$ARCH" ]; then
|
|
|
+ if [ "`uname -s`" = "Minoca" ]; then
|
|
|
+ case "`uname -m`" in
|
|
|
+ i586) export ARCH=x86 VARIANT=q ;;
|
|
|
+ i686) export ARCH=x86 ;;
|
|
|
+ armv6) export ARCH=armv6 ;;
|
|
|
+ armv7) export ARCH=armv7 ;;
|
|
|
+ *) export ARCH=x86 ;;
|
|
|
+ esac
|
|
|
+ else
|
|
|
+ export ARCH=x86
|
|
|
+ fi
|
|
|
+fi
|
|
|
+
|
|
|
+if [ -z "$DEBUG" ]; then
|
|
|
+ export DEBUG=dbg
|
|
|
+fi
|
|
|
+
|
|
|
+if ! echo "$PATH" | grep -q "$SRCROOT/$ARCH$VARIANT$DEBUG/tools/bin"; then
|
|
|
+ OLDPATH="$PATH"
|
|
|
+ PATH="$SRCROOT/$ARCH$VARIANT$DEBUG/tools/bin:$OLDPATH"
|
|
|
+fi
|
|
|
+
|
|
|
+##
|
|
|
+## Perform some sanity checks on the environment.
|
|
|
+##
|
|
|
+
|
|
|
+if ! [ -d "$SRCROOT/os" ]; then
|
|
|
+ echo "Warning: I don't see the os repository at $SRCROOT/os."
|
|
|
+fi
|
|
|
+
|
|
|
+case "$ARCH$VARIANT" in
|
|
|
+ x86q) target=i586-pc-minoca ;;
|
|
|
+ x86) target=i686-pc-minoca ;;
|
|
|
+ armv[67]) target=arm-none-minoca ;;
|
|
|
+ x64) target=x86_64-none-minoca ;;
|
|
|
+ *) echo "Warning: Unknown architecture $ARCH$VARIANT."
|
|
|
+esac
|
|
|
+
|
|
|
+tools="awk
|
|
|
+$target-ld
|
|
|
+$target-ar
|
|
|
+$target-gcc
|
|
|
+$target-g++
|
|
|
+iasl
|
|
|
+m4
|
|
|
+make"
|
|
|
+
|
|
|
+failed_tools=
|
|
|
+for tool in $tools; do
|
|
|
+ if ! which $tool > /dev/null 2>&1 && \
|
|
|
+ ! which $tool.exe > /dev/null 2>&1; then
|
|
|
+
|
|
|
+ failed_tools="$failed_tools $tool"
|
|
|
+ fi
|
|
|
+done
|
|
|
+
|
|
|
+if [ "$failed_tools" ]; then
|
|
|
+ if [ -d "$SRCROOT/third-party" ]; then
|
|
|
+ echo "Warning: Failed to find tools$failed_tools. You may need to \
|
|
|
+run 'make tools' in $SRCROOT/third-party."
|
|
|
+ else
|
|
|
+ echo "Warning: Failed to find tools$failed_tools. You may need to \
|
|
|
+download the latest Minoca toolchain for your build OS, or rebuild the tools
|
|
|
+from source by grabbing the third-party repository and running 'make tools'."
|
|
|
+ fi
|
|
|
+else
|
|
|
+ echo "Minoca build environment for $ARCH$VARIANT."
|
|
|
+fi
|
|
|
+
|
|
|
+unset target tools failed_tools
|