1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
# $MirOS: src/gnu/usr.bin/perl/hints/mirbsd.sh,v 1.3 2007/05/07 20:32:09 tg Exp $
#
# hints file for MirOS by Thorsten Glaser <tg@mirbsd.de>
# based upon hints for OpenBSD
[ -z "$cc" ] && cc="${CC:-mgcc}"
# MirOS has a better malloc than perl...
usemymalloc='n'
# Added by bingos.
loclibpth="/usr/mpkg/lib /usr/local/lib"
locincpath="/usr/mpkg/include /usr/local/include"
ccflags="$ccflags -fhonour-copts -I/usr/mpkg/include"
cppflags="$cppflags -fhonour-copts -I/usr/mpkg/include"
# Currently, vfork(2) is not a real win over fork(2).
usevfork="$undef"
test -z "$usedl" && usedl=$define
# We use -fPIC here because -fpic is *NOT* enough for some of the
# extensions like Tk on some platforms (ie: sparc)
cccdlflags="-DPIC -fPIC $cccdlflags"
ld=$cc
lddlflags="-shared -fPIC $lddlflags"
libswanted=$(echo $libswanted | sed 's/ dl / /')
# We need to force ld to export symbols on ELF platforms.
# Without this, dlopen() is crippled. All platforms are ELF.
ldflags="-Wl,-E $ldflags"
# malloc wrap works
case "$usemallocwrap" in
'') usemallocwrap='define' ;;
esac
# MirOS doesn't need libcrypt
libswanted=$(echo $libswanted | sed 's/ crypt / /')
# Configure can't figure this out non-interactively
d_suidsafe=$define
# cc is gcc so we can do better than -O
# Allow a command-line override, such as -Doptimize=-g
test "$optimize" || optimize='-O2'
# This script UU/usethreads.cbu will get 'called-back' by Configure
# after it has prompted the user for whether to use threads.
cat > UU/usethreads.cbu <<'EOCBU'
case "$usethreads" in
$define|true|[yY]*)
ccflags="-pthread $ccflags"
ldflags="-pthread $ldflags"
esac
EOCBU
# This script UU/use64bitint.cbu will get 'called-back' by Configure
# after it has prompted the user for whether to use 64-bitness.
cat > UU/use64bitint.cbu <<'EOCBU'
case "$use64bitint" in
$define|true|[yY]*)
echo " "
echo "Checking if your C library has broken 64-bit functions..." >&4
$cat >check.c <<EOCP
#include <stdio.h>
typedef $uquadtype myULL;
int main (void)
{
struct {
double d;
myULL u;
} *p, test[] = {
{4294967303.15, 4294967303ULL},
{4294967294.2, 4294967294ULL},
{4294967295.7, 4294967295ULL},
{0.0, 0ULL}
};
for (p = test; p->u; p++) {
myULL x = (myULL)p->d;
if (x != p->u) {
printf("buggy\n");
return 0;
}
}
printf("ok\n");
return 0;
}
EOCP
set check
if eval $compile_ok; then
libcquad=$(./check)
echo "Your C library's 64-bit functions are $libcquad."
else
echo "(I can't seem to compile the test program.)"
echo "Assuming that your C library's 64-bit functions are ok."
libcquad="ok"
fi
$rm -f check.c check
case "$libcquad" in
buggy*)
cat >&4 <<EOM
*** You have a C library with broken 64-bit functions.
*** 64-bit support does not work reliably in this configuration.
*** Please rerun Configure without -Duse64bitint and/or -Dusemorebits.
*** Cannot continue, aborting.
EOM
exit 1
;;
esac
esac
EOCBU
# When building in the MirOS tree we use different paths
# This is only part of the story, the rest comes from config.over
case "$mirbsd_distribution" in
''|$undef|false) ;;
*)
# We put things in /usr, not /usr/local
prefix='/usr'
prefixexp='/usr'
sysman='/usr/share/man/man1'
libpth='/usr/lib'
glibpth='/usr/lib'
# Local things, however, do go in /usr/local
siteprefix='/usr/local'
siteprefixexp='/usr/local'
# Ports installs non-std libs in /usr/local/lib so look there too
locincpth='/usr/local/include'
loclibpth='/usr/local/lib'
# Link perl with shared libperl
if [ "$usedl" = "$define" -a -r shlib_version ]; then
useshrplib=true
libperl=$(. ./shlib_version; echo libperl.so.${major}.${minor})
fi
;;
esac
# end
|