aboutsummaryrefslogtreecommitdiff
path: root/unix/hlib/mkpkg.sf.S34
blob: 9634d72cc0b5f31c9341d6c53c030044a2123ab6 (plain) (blame)
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
# Mkpkg special file list for SUN/IRAF, SUN/UNIX V3.2.

# All files needing special processing for the local host operating system,
# e.g., to permit host dependent optimization or to work around compiler bugs,
# should be listed here.

# Files optimized for the local host system.
# -----------------------------------------

$special "sys$gio/nspp/sysint/":	ishift.x as$ishift.s ;
$special "sys$gio/ncarutil/sysint/":	ishift.x as$ishift.s ;

$special "sys$osb/":		aclrb.c		as$aclrb.c
				bytmov.c	as$bytmov.c
				;

$special "sys$vops/ak/":	aclrc.x		as$aclrc.c
				aclrs.x		as$aclrs.c
				aclri.x		as$aclri.c
				aclrl.x		as$aclrl.c
				aclrr.x		as$aclrr.c
				aclrd.x		as$aclrd.c
				;

$special "sys$vops/lz/":	amovc.x		as$amovc.c
				amovs.x		as$amovs.c
				amovi.x		as$amovi.c
				amovl.x		as$amovl.c
				amovr.x		as$amovr.c
				amovd.x		as$amovd.c
				;

# Files requiring special compilation due to host compiler bugs.
# -------------------------------------------------------------

# Hand compile without SUN-f77 hardware floating point switch, but with
# optimization, otherwise the f77 compiler fails due to complex datatype
# expressions.  (7/31)

$set	XCS	= '& "$xc -c &"'

$special "sys$vops/ak/":
	abeqkx.x	$(XCS)
	abeqx.x		$(XCS)
	abgekx.x	$(XCS)
	abgtkx.x	$(XCS)
	ablekx.x	$(XCS)
	abltkx.x	$(XCS)
	abnekx.x	$(XCS)
	abnex.x		$(XCS)
	advzx.x		$(XCS)
	;

$special "sys$vops/lz/":
	allnx.x		$(XCS)
	alogx.x		$(XCS)
	arcpx.x		$(XCS)
	arczx.x		$(XCS)
	;

# Hand compile without optimization, but with hardware floating point, to
# get around optimizer bugs in SUN-f77.

$set	XCQ	 = '& "$xc -cq -/$(MACH) &"'

$special "sys$etc/":				main.x		$(XCQ);
$special "sys$fmtio/":				fprfmt.x	$(XCQ);
$special "sys$gio/cursor/":			grcwcs.x	$(XCQ);
$special "math$curfit/":			cvaccumd.x	$(XCQ)
						cvaccumr.x	$(XCQ);
$special "images$lib/":				ranges.x	$(XCQ);

# Additions for SunOS 4.0 in case this is used for that too.
# ---------------------------------------------------------------------

$set	XNO	= '& "$xc -cq -/$(MACH) &"'
$set	XO1	= '& "$xc -cq -/O1 -/$(MACH) &"'
$set	XO2	= '& "$xc -cq -/O2 -/$(MACH) &"'

# Files requiring special compilation due to host compiler bugs.
# -------------------------------------------------------------

$special "sys$etc/":
	onerror.x	$(XNO)
	onexit.x	$(XNO)
	;

$special "sys$gio/cursor/":
	grcwcs.x	$(XNO);

# The following causes the compiler to produce semi-infinite intermediate code
# tables, necessitating use of reduced levels (O1 or O2) of optimization.

$special "sys$osb/":
	achtbu.c	$(XO1)
	achtcu.c	$(XO1)
	achtdu.c	$(XO1)
	achtiu.c	$(XO1)
	achtlu.c	$(XO1)
	achtru.c	$(XO1)
	achtsu.c	$(XO1)
	achtuu.c	$(XO1)
	achtxu.c	$(XO1)
	achtub.c	$(XO1)
	achtuc.c	$(XO1)
	achtud.c	$(XO1)
	achtui.c	$(XO1)
	achtul.c	$(XO1)
	achtur.c	$(XO1)
	achtus.c	$(XO1)
	achtuu.c	$(XO1)
	achtux.c	$(XO1)
	;

# Partial optimization needed to prevent infinite loop in iropt.
# In main.c and errs.c, no optimization is needed to avoid an optimizer problem
# associated with ZSVJMP (setjmp).  I tried using a #pragma to fix this but
# it didn't work.

$special "$(pkg)cl/":			ytab.c   & "$xc -cq -/O2 &"
					main.c   & "$xc -cq &"
					errs.c   & "$xc -cq &";