This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
e80140ae0307846a71728bbc4927fc32eab9dab9
[metaconfig.git] / U / threads / archname.U
1 ?RCS: $Id: archname.U,v 3.0.1.3 1997/02/28 15:24:32 ram Exp $
2 ?RCS:
3 ?RCS: Copyright (c) 1991-1993, Raphael Manfredi
4 ?RCS:
5 ?RCS: You may redistribute only under the terms of the Artistic Licence,
6 ?RCS: as specified in the README file that comes with the distribution.
7 ?RCS: You may reuse parts of this distribution only within the terms of
8 ?RCS: that same Artistic Licence; a copy of which may be found at the root
9 ?RCS: of the source tree for dist 3.0.
10 ?RCS:
11 ?RCS: $Log: archname.U,v $
12 ?RCS: Revision 3.0.1.3  1997/02/28  15:24:32  ram
13 ?RCS: patch61: changed the way the archname is mangled from uname
14 ?RCS:
15 ?RCS: Revision 3.0.1.2  1995/05/12  12:05:24  ram
16 ?RCS: patch54: protect against spaces in "uname -m" output (ADO)
17 ?RCS:
18 ?RCS: Revision 3.0.1.1  1995/02/15  14:14:21  ram
19 ?RCS: patch51: created
20 ?RCS:
21 ?MAKE:archname myarchname: sed Loc Myread Oldconfig osname test rm \
22         usethreads usemultiplicity use64bitint use64bitall archname64 \
23         uselongdouble longdblsize doublesize targetarch
24 ?MAKE:  -pick add $@ %<
25 ?S:archname:
26 ?S:     This variable is a short name to characterize the current
27 ?S:     architecture.  It is used mainly to construct the default archlib.
28 ?S:.
29 ?S:myarchname:
30 ?S:     This variable holds the architecture name computed by Configure in
31 ?S:     a previous run. It is not intended to be perused by any user and
32 ?S:     should never be set in a hint file.
33 ?S:.
34 ?C:ARCHNAME:
35 ?C:     This symbol holds a string representing the architecture name.
36 ?C:     It may be used to construct an architecture-dependant pathname
37 ?C:     where library files may be held under a private library, for
38 ?C:     instance.
39 ?C:.
40 ?H:#define ARCHNAME "$archname"         /**/
41 ?H:.
42 ?T:xxx tarch
43 ?F:!archname.cbu
44 ?INIT:archname=''
45 : determine the architecture name
46 echo " "
47 ?X: We always recompute archname in case osname changes. However, we need
48 ?X: to be careful since, as ADO rightfully pointed out, some systems pick
49 ?X: silly architecture names (0001307135000-aix on AIX or 9000/715-ux under
50 ?X: HP-UX). Therefore, we allow hint files to superseed our guess and ask
51 ?X: the user for confirmation.
52 if xxx=`./loc arch blurfl $pth`; $test -f "$xxx"; then
53         tarch=`arch`"-$osname"
54 elif xxx=`./loc uname blurfl $pth`; $test -f "$xxx" ; then
55         if uname -m > tmparch 2>&1 ; then
56                 tarch=`$sed -e 's/ *$//' -e 's/ /_/g' \
57                         -e 's/$/'"-$osname/" tmparch`
58         else
59                 tarch="$osname"
60         fi
61         $rm -f tmparch
62 else
63         tarch="$osname"
64 fi
65 case "$myarchname" in
66 ''|"$tarch") ;;
67 *)
68         echo "(Your architecture name used to be $myarchname.)"
69         archname=''
70         ;;
71 esac
72 case "$targetarch" in
73 '') ;;
74 ?X: Very GCCian.
75 *)  archname=`echo $targetarch|sed 's,^[^-]*-,,'` ;;
76 esac
77 myarchname="$tarch"
78 case "$archname" in
79 '') dflt="$tarch";;
80 *) dflt="$archname";;
81 esac
82 rp='What is your architecture name'
83 . ./myread
84 archname="$ans"
85 @if usethreads
86 case "$usethreads" in
87 $define)
88         echo "Threads selected." >&4
89         case "$archname" in
90         *-thread*) echo "...and architecture name already has -thread." >&4
91                 ;;
92         *)      archname="$archname-thread"
93                 echo "...setting architecture name to $archname." >&4
94                 ;;
95         esac
96         ;;
97 esac
98 @end
99 @if usemultiplicity
100 case "$usemultiplicity" in
101 $define)
102         echo "Multiplicity selected." >&4
103         case "$archname" in
104         *-multi*) echo "...and architecture name already has -multi." >&4
105                 ;;
106         *)      archname="$archname-multi"
107                 echo "...setting architecture name to $archname." >&4
108                 ;;
109         esac
110         ;;
111 esac
112 @end
113 @if use64bitint
114 case "$use64bitint$use64bitall" in
115 *"$define"*)
116         case "$archname64" in
117         '')
118                 echo "This architecture is naturally 64-bit, not changing architecture name." >&4
119                 ;;
120         *)
121                 case "$use64bitint" in
122                 "$define") echo "64 bit integers selected." >&4 ;;
123                 esac
124                 case "$use64bitall" in
125                 "$define") echo "Maximal 64 bitness selected." >&4 ;;
126                 esac
127                 case "$archname" in
128                 *-$archname64*) echo "...and architecture name already has $archname64." >&4
129                         ;;
130                 *)      archname="$archname-$archname64"
131                         echo "...setting architecture name to $archname." >&4
132                         ;;
133                 esac
134                 ;;
135         esac
136 esac
137 @end
138 @if uselongdouble
139 case "$uselongdouble" in
140 $define)
141         echo "Long doubles selected." >&4
142         case "$longdblsize" in
143         $doublesize)
144                 echo "...but long doubles are equal to doubles, not changing architecture name." >&4
145                 ;;
146         *)
147                 case "$archname" in
148                 *-ld*) echo "...and architecture name already has -ld." >&4
149                         ;;
150                 *)      archname="$archname-ld"
151                         echo "...setting architecture name to $archname." >&4
152                         ;;
153                 esac
154                 ;;
155         esac
156         ;;
157 esac
158 @end
159 if $test -f archname.cbu; then
160         echo "Your platform has some specific hints for architecture name, using them..."
161         . ./archname.cbu
162 fi
163