xref: /trunk/main/source_soenv.sh (revision b339e61b0e4c15004c00f5d1a4e0671656d90a8f)
1b63233d8Sdamjan#!/bin/sh
2b63233d8Sdamjan###############################################################
3b63233d8Sdamjan#
4b63233d8Sdamjan#  Licensed to the Apache Software Foundation (ASF) under one
5b63233d8Sdamjan#  or more contributor license agreements.  See the NOTICE file
6b63233d8Sdamjan#  distributed with this work for additional information
7b63233d8Sdamjan#  regarding copyright ownership.  The ASF licenses this file
8b63233d8Sdamjan#  to you under the Apache License, Version 2.0 (the
9b63233d8Sdamjan#  "License"); you may not use this file except in compliance
10b63233d8Sdamjan#  with the License.  You may obtain a copy of the License at
11b63233d8Sdamjan#
12b63233d8Sdamjan#    http://www.apache.org/licenses/LICENSE-2.0
13b63233d8Sdamjan#
14b63233d8Sdamjan#  Unless required by applicable law or agreed to in writing,
15b63233d8Sdamjan#  software distributed under the License is distributed on an
16b63233d8Sdamjan#  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17b63233d8Sdamjan#  KIND, either express or implied.  See the License for the
18b63233d8Sdamjan#  specific language governing permissions and limitations
19b63233d8Sdamjan#  under the License.
20b63233d8Sdamjan#
21b63233d8Sdamjan###############################################################
22b63233d8Sdamjan
23b63233d8Sdamjan# if no environment is set, try to find one, and source it
24b63233d8Sdamjan# user can override auto-detection via SOLAR_SHELL_ENVIRONMENT
25b63233d8Sdamjan# it is not currently possible to handle corner cases like you have an
26b63233d8Sdamjan# AMD64 linux box, create configure environments for both x86 and x86_64,
27b63233d8Sdamjan# and then expect to auto-detect both.
28b63233d8Sdamjan# use SOLAR_SHELL_ENVIRONMENT in such cases.
29b63233d8Sdamjan
30b63233d8Sdamjanme=source_soenv.sh
31b63233d8Sdamjan
32b63233d8Sdamjanif test -n "${SOLARENV}"; then
33b63233d8Sdamjan    echo "$me: error: only call this if you do not have an environment set!"
34b63233d8Sdamjan    exit 1
35b63233d8Sdamjanfi
36b63233d8Sdamjan
37b63233d8Sdamjanif test -n "${SOLAR_SHELL_ENVIRONMENT}"; then
38b63233d8Sdamjan    if test -f "${SOLAR_SHELL_ENVIRONMENT}"; then
39b63233d8Sdamjan        . "${SOLAR_SHELL_ENVIRONMENT}"
40b63233d8Sdamjan    else
41b63233d8Sdamjan        echo "$me: error: \$SOLAR_SHELL_ENVIRONMENT set, but the file does not exist"
42b63233d8Sdamjan        exit 1
43b63233d8Sdamjan    fi
44b63233d8Sdamjanelse
45b63233d8Sdamjan    config_guess_result=`./config.guess`
46b63233d8Sdamjan    case "${config_guess_result}" in
47b63233d8Sdamjan        i[3456]86-*-solaris*)
48b63233d8Sdamjan            . ./SolarisX86Env.Set.sh
49b63233d8Sdamjan        ;;
50b63233d8Sdamjan        sparc-*-solaris*)
51b63233d8Sdamjan            . ./SolarisSparcEnv.Set.sh
52b63233d8Sdamjan        ;;
53b63233d8Sdamjan        i[3456]86-*-linux*)
54b63233d8Sdamjan            . ./LinuxX86Env.Set.sh
55b63233d8Sdamjan        ;;
56b63233d8Sdamjan        x86_64-*-linux*)
57b63233d8Sdamjan            . ./LinuxX86-64Env.Set.sh
58b63233d8Sdamjan        ;;
59b63233d8Sdamjan        ia64-*-linux*)
60b63233d8Sdamjan            . ./LinuxIA64Env.Set.sh
61b63233d8Sdamjan        ;;
62b63233d8Sdamjan        sparc-*-linux*)
63b63233d8Sdamjan            . ./LinuxSparcEnv.Set.sh
64b63233d8Sdamjan        ;;
65b63233d8Sdamjan        powerpc-*-linux*)
66b63233d8Sdamjan            . ./LinuxPPCEnv.Set.sh
67b63233d8Sdamjan        ;;
68b63233d8Sdamjan        powerpc64-*-linux*)
69b63233d8Sdamjan            . ./LinuxPPC64Env.Set.sh
70b63233d8Sdamjan        ;;
71b63233d8Sdamjan        s390-*-linux*)
72b63233d8Sdamjan            . ./LinuxS390Env.Set.sh
73b63233d8Sdamjan        ;;
74b63233d8Sdamjan        s390x-*-linux*)
75b63233d8Sdamjan            . ./LinuxS390XEnv.Set.sh
76b63233d8Sdamjan        ;;
77b63233d8Sdamjan        m68k-*-linux*)
78b63233d8Sdamjan            . ./LinuxM68KEnv.Set.sh
79b63233d8Sdamjan        ;;
80b63233d8Sdamjan        hppa-*-linux*)
81b63233d8Sdamjan            . ./LinuxHPPAEnv.Set.sh
82b63233d8Sdamjan        ;;
83b63233d8Sdamjan        alpha-*-linux*)
84b63233d8Sdamjan            . ./LinuxAlphaEnv.Set.sh
85b63233d8Sdamjan        ;;
86b63233d8Sdamjan        arm*-*-linux*)
87b63233d8Sdamjan            . ./LinuxARMEnv.Set.sh
88b63233d8Sdamjan        ;;
89b63233d8Sdamjan        mips-*-linux*)
90b63233d8Sdamjan            . ./LinuxMIPSEnv.Set.sh
91b63233d8Sdamjan        ;;
92b63233d8Sdamjan        i386-*-freebsd*)
93b63233d8Sdamjan            . ./FreeBSDX86Env.Set.sh
94b63233d8Sdamjan        ;;
95b63233d8Sdamjan        amd64-*-freebsd*|x86_64-*-freebsd*)
96b63233d8Sdamjan            . ./FreeBSDAMDEnv.Set.sh
97b63233d8Sdamjan        ;;
98b70b890eSPedro Giffuni        arm*-*-freebsd*)
99b70b890eSPedro Giffuni            . ./FreeBSDARMEnv.Set.sh
100b70b890eSPedro Giffuni        ;;
101b70b890eSPedro Giffuni        powerpc-*-freebsd*)
102b70b890eSPedro Giffuni            . ./FreeBSDPPCEnv.Set.sh
103b70b890eSPedro Giffuni        ;;
104b70b890eSPedro Giffuni        powerpc64-*-freebsd*)
105b70b890eSPedro Giffuni            . ./FreeBSDPPC64Env.Set.sh
106b70b890eSPedro Giffuni        ;;
107b63233d8Sdamjan        # the result here (whether you get x86_64) seems to depend on $CC...
108b63233d8Sdamjan        i[3456]86-*-darwin*|x86_64-*-darwin*)
109*f669900dSJim Jagielski            . ./MacOSXX64Env.Set.sh
110b63233d8Sdamjan        ;;
111b63233d8Sdamjan        powerpc-*-darwin*)
112b63233d8Sdamjan            . ./MacOSXPPCEnv.Set.sh
113b63233d8Sdamjan        ;;
114b63233d8Sdamjan        *-cygwin*)
115b63233d8Sdamjan            . ./winenv.set.sh || . ./winmingw.set.sh
116b63233d8Sdamjan        ;;
117b63233d8Sdamjan        *)
118b63233d8Sdamjan            echo "$me: error: unknown *Env.Set.sh for: ${config_guess_result}"
119b63233d8Sdamjan            exit 1
120b63233d8Sdamjan        ;;
121b63233d8Sdamjan    esac
122b63233d8Sdamjanfi
123b63233d8Sdamjanif test -z "${SOLARENV}"; then
124b63233d8Sdamjan    echo "$me: error: No environment set!"
125b63233d8Sdamjan    exit 1
126b63233d8Sdamjanfi
127