summaryrefslogtreecommitdiff
path: root/hints/hpux.sh
blob: 2c3126dbb403dcf58efe1b846d5735666d3eda4d (plain)
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
# hints/hpux.sh
# Perl Configure hints file for Hewlett Packard HP/UX 9.x and 10.x
# This file is based on 
# hints/hpux_9.sh, Perl Configure hints file for Hewlett Packard HP/UX 9.x
# Use Configure -Dcc=gcc to use gcc.
# From: Jeff Okamoto <okamoto@hpcc123.corp.hp.com>
# Date: Thu, 28 Sep 95 11:06:07 PDT
# and
# hints/hpux_10.sh, Perl Configure hints file for Hewlett Packard HP/UX 10.x
# From: Giles Lean <giles@nemeton.com.au>
# Date: Tue, 27 Jun 1995 08:17:45 +1000

# Use Configure -Dcc=gcc to use gcc.
# Use Configure -Dprefix=/usr/local to install in /usr/local.

# Some users have reported problems with dynamic loading if the 
# environment variable LDOPTS='-a archive' .

# Turn on the _HPUX_SOURCE flag to get many of the HP add-ons
ccflags="$ccflags -D_HPUX_SOURCE"
ldflags="$ldflags"

# Check if you're using the bundled C compiler.  This compiler doesn't support
# ANSI C (the -Aa flag) nor can it produce shared libraries.  Thus we have
# to turn off dynamic loading.
case "$cc" in
'') if cc $ccflags -Aa 2>&1 | $contains 'Unknown option "A"' >/dev/null
    then
	case "$usedl" in
	 '') usedl="$undef"
	     cat <<'EOM'

The bundled C compiler can not produce shared libraries, so you will
not be able to use dynamic loading. 

EOM
	     ;;
	esac
    else
	ccflags="$ccflags -Aa"	# The add-on compiler supports ANSI C
    fi
    optimize='-O'
    ;;
esac

# Determine the architecture type of this system.
xxuname=`uname -r`
if echo $xxuname | $contains '10'
then
	# This system is running 10.0
	xxcontext=`grep $(printf %#x $(getconf CPU_VERSION)) /usr/include/sys/unistd.h`
	if echo "$xxcontext" | $contains 'PA-RISC1.1'
	then
		archname='PA-RISC1.1'
	elif echo "$xxcontext" | $contains 'PA-RISC1.0'
	then
		archname='PA-RISC1.0'
	elif echo "$xxcontext" | $contains 'PA-RISC2'
	then
		archname='PA-RISC2'
	else
		echo "This 10.0 system is of a PA-RISC type I don't recognize."
		echo "Debugging output: $xxcontext"
		archname=''
	fi
else
	# This system is not running 10.0
	xxcontext=`/bin/getcontext`
	if echo "$xxcontext" | $contains 'PA-RISC1.1'
	then
		archname='PA-RISC1.1'
	elif echo "$xxcontext" | $contains 'PA-RISC1.0'
	then
		archname='PA-RISC1.0'
	elif echo "$xxcontext" | $contains 'HP-MC'
	then
		archname='HP-MC68K'
	else
		echo "I cannot recognize what chip set this system is using."
		echo "Debugging output: $xxcontext"
		archname=''
	fi
fi

# Remove bad libraries that will cause problems
# (This doesn't remove libraries that don't actually exist)
# -lld is unneeded (and I can't figure out what it's used for anyway)
# -ldbm is obsolete and should not be used
# -lBSD contains BSD-style duplicates of SVR4 routines that cause confusion
# -lPW is obsolete and should not be used
# The libraries crypt, malloc, ndir, and net are empty.
# Although -lndbm should be included, it will make perl blow up if you should
# copy the binary to a system without libndbm.sl.  See ccdlflags below.
set `echo " $libswanted " | sed  -e 's@ ld @ @' -e 's@ dbm @ @' -e 's@ BSD @ @' -e 's@ PW @ @'`
libswanted="$*"

# If you copy the perl binaries to other systems and the dynamic loader
# complains about missing libraries, you can either copy the shared libraries
# or switch the comments to recompile perl to use archive libraries
# ccdlflags="-Wl,-E -Wl,-a,archive $ccdlflags"
ccdlflags="-Wl,-E $ccdlflags"

usemymalloc='y'
alignbytes=8
selecttype='int *' 

# There are some lingering issues about whether g/setpgrp should be a part
# of the perl core.  This setting should cause perl to conform to the Principle
# of Least Astonishment.  The best thing is to use the g/setpgrp in the POSIX
# module.
d_bsdpgrp='define'

# If your compile complains about FLT_MIN, uncomment the next line
# POSIX_cflags='ccflags="$ccflags -DFLT_MIN=1.17549435E-38"'

# Comment this out if you don't want to follow the SVR4 filesystem layout
# that HP-UX 10.0 uses
case "$prefix" in
'') prefix='/opt/perl5' ;;
esac