components/stdcxx/Solaris/prep_build_area.sh
changeset 402 94ae4d75524c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/components/stdcxx/Solaris/prep_build_area.sh	Thu Jul 14 11:26:11 2011 -0700
@@ -0,0 +1,153 @@
+#!/bin/bash
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
+#
+export SRCDIR=""
+export BUILDDIR=""
+export MACH64=""
+export IS_64_BIT="no"
+export MACH=`uname -p`
+export MACH64=""
+export UNKNOWN_ARG="no"
+export PRINT_HELP="no"
+export PATH="/usr/gnu/bin:${PATH}"
+unset TOPDIR
+
+check_args() {
+    while [ "$#" -gt 0 ] ; do
+        UNKNOWN_ARG=no
+        case "$1" in
+            -m32)
+	    IS_64_BIT="no"
+            ;;
+            -m64)
+	    IS_64_BIT="yes"
+            ;;
+            -srcdir=*)
+            SRCDIR=`echo $1 | sed "s,^-srcdir=\(.*\),\1,"`
+            ;;
+            -builddir=*)
+            BUILDDIR=`echo $1 | sed "s,^-builddir=\(.*\),\1,"`
+            ;;
+            *)
+            UNKNOWN_ARG="yes"
+            ;;
+        esac
+
+        if [ "$UNKNOWN_ARG" = "yes" ] ; then
+            echo "$1: Invalid argument"
+            PRINT_HELP="yes"
+            shift
+            continue
+        fi
+        shift
+    done
+
+    export IS_64_BIT SRCDIR BUILDDIR
+
+    if [ "x${SRCDIR}" = "x" ] || [ "x${BUILDDIR}" = "x" ] ; then
+	PRINT_HELP="yes"
+    fi
+
+    if [ "${PRINT_HELP}" = "yes" ] ; then
+	echo "Usage: `basename $0` [ -m32 | -m64 ]"
+	echo "		[ -srcdir=<source directory> ]"
+	echo "		[ -builddir=<build directory> ]"
+	echo ""
+	exit 1
+    fi
+
+    if [ "${MACH}" = "sparc" ] ; then
+	MACH64="sparcv9"
+    else
+	MACH64="amd64"
+    fi
+
+    export MACH MACH64
+}
+
+clean_symlinks() {
+    if [ ! -d ${BUILDDIR} ] ; then
+	echo "build directory ${BUILDDIR} not found or unreadable!"
+	exit 1
+    fi
+
+    if [ ! -d ${SRCDIR} ] ; then
+	echo "source directory ${SRCDIR} not found or unreadable!"
+	exit 1
+    fi
+
+    cd ${BUILDDIR}/etc/nls
+
+    for file in \
+	languages \
+	encodings \
+	countries \
+	gen_list
+do
+    if [ -L ${file} ] ; then
+	rm ${file}
+    fi
+done
+
+    cd ${BUILDDIR}/build
+
+    if [ -d nls ] ; then
+	rm -rf nls
+    fi
+}
+
+create_symlinks() {
+    cd ${BUILDDIR}/etc/nls
+
+    for file in \
+	languages \
+	encodings \
+	countries \
+	gen_list
+do
+    if [ ! -L ${file} ] ; then
+	if [ -f ${SRCDIR}/etc/nls/${file} ] ; then
+	    ln -sf ${SRCDIR}/etc/nls/${file}
+	else
+	    echo "source file ${SRCDIR}/etc/nls/${file} not found or unreadable!"
+	fi
+    fi
+done
+
+    cd ${BUILDDIR}/build
+
+    if [ -L nls ] ; then
+	rm nls
+    fi
+
+    ln -sf ${SRCDIR}/build/nls
+}
+
+check_args $@
+clean_symlinks
+create_symlinks
+
+exit 0
+
+
+