View | Details | Raw Unified | Return to bug 191899
Collapse All | Expand All

(-)Makefile (-69 / +145 lines)
Lines 2-8 Link Here
2
# $FreeBSD$
2
# $FreeBSD$
3
3
4
PORTNAME=	smlnj
4
PORTNAME=	smlnj
5
PORTVERSION=	110.71
5
PORTVERSION=	110.76
6
CATEGORIES=	lang
6
CATEGORIES=	lang
7
MASTER_SITES=	http://smlnj.cs.uchicago.edu/dist/working/${PORTVERSION}/ \
7
MASTER_SITES=	http://smlnj.cs.uchicago.edu/dist/working/${PORTVERSION}/ \
8
		ftp://mirror.free.de/http/smlnj.cs.uchicago.edu/dist/working/${PORTVERSION}/
8
		ftp://mirror.free.de/http/smlnj.cs.uchicago.edu/dist/working/${PORTVERSION}/
Lines 12-61 Link Here
12
EXTRACT_ONLY=	config.tgz
12
EXTRACT_ONLY=	config.tgz
13
13
14
MAINTAINER=	joemann@beefree.free.de
14
MAINTAINER=	joemann@beefree.free.de
15
COMMENT=	Popular functional language from Bell Labs
15
COMMENT=	Compiler and tools for Standard ML (SML '97)
16
16
17
BROKEN=		Dysfunctional
18
19
NO_WRKSUBDIR=	yes
17
NO_WRKSUBDIR=	yes
20
USES=		gmake
21
18
22
ONLY_FOR_ARCHS=	i386
23
24
OPTIONS_DEFINE=	EVERYTHING RECOMPILE POSITION64
25
EVERYTHING_DESC=	install everything from the SML/NJ distribution
26
RECOMPILE_DESC=		recompile the SML compiler - implies EVERYTHING
27
POSITION64_DESC=	use 64bit fi""le positions - implies RECOMPILE
28
29
SUB_FILES=	pkg-install
19
SUB_FILES=	pkg-install
30
SUB_LIST=	EXEBINDIR=${MLBINRELATIVE} EXENAMES="${MLEXE}"
20
SUB_LIST=	EXEBINDIR=${MLBINRELATIVE} EXENAMES="${MLEXE}"
31
PKGDEINSTALL=	${PKGINSTALL}
21
PKGDEINSTALL=	${PKGINSTALL}
32
22
33
NO_STAGE=	yes
23
# Calm portlint
24
CALM=
25
26
OPTIONS_RADIO=		RG1
27
OPTIONS_RADIO_RG1=	EVERYTHING RECOMPILE POSITION64
28
OPTIONS_EXCLUDE_amd64=	RECOMPILE POSITION64
29
EVERYTHING_DESC=	install${CALM} everything from the SML/NJ distribution
30
RECOMPILE_DESC=		recompile the SML compiler - implies EVERYTHING
31
POSITION64_DESC=	use 64bit file${CALM} positions - implies RECOMPILE
32
34
.include <bsd.port.pre.mk>
33
.include <bsd.port.pre.mk>
35
34
36
.if (${ARCH} == "i386")
35
# Recompiling the compiler currently fails on amd64
36
.if ${ARCH} == "i386"
37
ML_RECOMPILE_OPTIONS=	RECOMPILE POSITION64
38
.endif
39
40
.if (${ARCH} == "amd64") && (${OSVERSION} >= 1000029)
41
ONLY_FOR_ARCHS=	i386 amd64
42
.elif (${ARCH} == "amd64") && (${OSVERSION} >= 800000)
43
ONLY_FOR_ARCHS=	i386 amd64
44
# Compilation of the i386 runtime source on older amd64 systems requires
45
# i386 system headers from the respective FreeBSD Version, taken from
46
# stable/N/sys/i386/include, r196045 (N=8) and r225736 (N=9).
47
EXTRA_DEFS+=	-DINCLUDE_FREEBSD_I386_SIGNAL=\\\"freebsd-8-i386-signal.h\\\"
48
EXTRA_DEFS+=	-DINCLUDE_FREEBSD_I386_IEEEFP=\\\"freebsd-8-i386-ieeefp.h\\\"
49
.if (${OSVERSION} < 900000)
50
EXTRA_DEFS+=	-DINCLUDE_FREEBSD_I386__TYPES=\\\"freebsd-8-i386-_types.h\\\"
51
EXTRA_DEFS+=	-DINCLUDE_FREEBSD_I386_ENDIAN=\\\"freebsd-8-i386-endian.h\\\"
52
.else
53
EXTRA_DEFS+=	-DINCLUDE_FREEBSD_I386__TYPES=\\\"freebsd-9-i386-_types.h\\\"
54
EXTRA_DEFS+=	-DINCLUDE_FREEBSD_I386_ENDIAN=\\\"freebsd-9-i386-endian.h\\\"
55
.endif
56
.else
57
ONLY_FOR_ARCHS=	i386
58
.endif
59
60
.if (${ARCH} == "amd64")
61
CFLAGS+=	-m32
62
AS?=		as
63
AS+=		--32
64
.endif
65
.if (${ARCH} == "i386" || ${ARCH} == "amd64")
37
MLARCH=		x86
66
MLARCH=		x86
38
DISTFILES+=	boot.x86-unix.tgz
67
DISTFILES+=	boot.x86-unix.tgz
39
.endif
68
.endif
40
DISTFILES+=	MLRISC.tgz ckit.tgz cml.tgz heap2asm.tgz ml-lpt.tgz \
69
DISTFILES+=	MLRISC.tgz ckit.tgz cml.tgz heap2asm.tgz ml-burg.tgz \
41
		ml-lex.tgz ml-yacc.tgz smlnj-lib.tgz trace-debug-profile.tgz
70
		ml-lpt.tgz ml-lex.tgz ml-yacc.tgz nlffi.tgz \
71
		smlnj-lib.tgz trace-debug-profile.tgz
42
72
43
PLIST_SUB=	MLARCH=${MLARCH}
73
PLIST_SUB=	MLARCH=${MLARCH}
44
74
45
.if ${PORT_OPTIONS:MPOSITION64}
75
.if ${PORT_OPTIONS:MPOSITION64} || defined(ML_POSITION64)
46
WITH_RECOMPILE?=	${WITH_POSITION64}
76
ML_POSITION64?=	${PORT_OPTIONS:MPOSITION64}
77
ML_RECOMPILE?=	${ML_POSITION64}
78
ML_EVERYTHING?=	${ML_POSITION64}
47
CMB_COMMAND=	'(\#set o CMB.symval) "USE_64_BIT_POSITIONS" (SOME 1);'
79
CMB_COMMAND=	'(\#set o CMB.symval) "USE_64_BIT_POSITIONS" (SOME 1);'
48
.else
80
.else
49
CMB_COMMAND=
81
CMB_COMMAND=
50
.endif
82
.endif
51
83
52
.if ${PORT_OPTIONS:MRECOMPILE}
84
.if ${PORT_OPTIONS:MRECOMPILE} || defined(ML_RECOMPILE)
53
WITH_EVERYTHING?=	${WITH_RECOMPILE}
85
ML_RECOMPILE?=	${PORT_OPTIONS:MRECOMPILE}
86
ML_EVERYTHING?=	${ML_RECOMPILE}
54
.endif
87
.endif
55
88
56
.if ${PORT_OPTIONS:MEVERYTHING}
89
.if ${PORT_OPTIONS:MEVERYTHING} || defined(ML_EVERYTHING)
57
DISTFILES+=	cm.tgz compiler.tgz eXene.tgz ml-burg.tgz \
90
ML_EVERYTHING?=	${PORT_OPTIONS:MEVERYTHING}
58
		nlffi.tgz pgraph.tgz smlnj-c.tgz system.tgz
91
DISTFILES+=	cm.tgz compiler.tgz eXene.tgz \
92
		pgraph.tgz smlnj-c.tgz system.tgz
93
PLIST_SUB+=	EVERYTHING=""
94
.else
95
PLIST_SUB+=	EVERYTHING="@comment "
59
.endif
96
.endif
60
97
61
MLROOTRELATIVE=	smlnj
98
MLROOTRELATIVE=	smlnj
Lines 63-106 Link Here
63
MLBINRELATIVE=	${MLROOTRELATIVE}/bin
100
MLBINRELATIVE=	${MLROOTRELATIVE}/bin
64
MLBIN=		${MLROOT}/bin
101
MLBIN=		${MLROOT}/bin
65
MLLIB=		${MLROOT}/lib
102
MLLIB=		${MLROOT}/lib
66
MLSTDSRCDIRS=	cml heap2asm ml-lex ml-lpt ml-yacc smlnj-lib
103
MLSTDSRCDIRS=	cml heap2asm ml-burg ml-lex ml-lpt ml-yacc nlffi smlnj-lib
67
MLSRCDIRS=	base ${MLSTDSRCDIRS} \
104
MLSRCDIRS=	base ${MLSTDSRCDIRS} \
68
		ckit eXene ml-burg nlffi pgraph smlnj-c
105
		ckit eXene pgraph smlnj-c
69
MLSRCS=
106
MLSRCS=
70
.for srcdir in ${MLSRCDIRS}
107
.for srcdir in ${MLSRCDIRS}
71
MLSRCS+=	${MLROOT}/${srcdir}
108
MLSRCS+=	${MLROOT}/${srcdir}
72
.endfor
109
.endfor
73
MLTARGETS=	heap2asm
110
MLTARGETS=	heap2asm
74
MLEXE=		heap2exec ml-antlr ml-build ml-lex ml-makedepend \
111
MLEXE=		heap2exec ml-antlr ml-build ml-burg ml-lex ml-makedepend \
75
		ml-ulex ml-yacc sml
112
		ml-nlffigen ml-ulex ml-yacc sml
76
.if ${PORT_OPTIONS:MEVERYTHING}
113
.if defined(ML_EVERYTHING)
77
MLTARGETS+=	eXene ml-burg ml-nlffi-lib ml-nlffigen \
114
MLTARGETS+=	eXene mlrisc-tools nowhere pgraph-util src-smlnj
78
		mlrisc-tools nowhere pgraph-util src-smlnj
115
MLEXE+=		nowhere
79
MLEXE+=		ml-burg ml-nlffigen nowhere
80
PLIST=		${WRKDIR}/.PLIST
116
PLIST=		${WRKDIR}/.PLIST
81
MLRUNTIMEPLIST=	${WRKDIR}/.PLIST-runtime
117
MLRUNTIMEPLIST=	${WRKDIR}/.PLIST-runtime
82
MLSRCPLIST=	${WRKDIR}/.PLIST-src
118
MLSRCPLIST=	${WRKDIR}/.PLIST-src
83
MLPLISTFILES=	${.CURDIR}/pkg-plist ${FILESDIR}/plist-everything \
119
MLPLISTFILES=	${.CURDIR}/pkg-plist ${MLRUNTIMEPLIST} ${MLSRCPLIST}
84
		${MLRUNTIMEPLIST} ${MLSRCPLIST}
85
.endif
120
.endif
86
121
87
pre-fetch:
122
pre-fetch:
88
	@${ECHO}
123
	@${ECHO}
89
.if ! ${PORT_OPTIONS:MEVERYTHING}
124
.if ! defined(ML_EVERYTHING)
90
	@${ECHO} 'Use make WITH_EVERYTHING=yes to also build/install'
125
	@${ECHO} 'Use make ML_EVERYTHING=yes to also build/install'
91
	@${ECHO} ' eXene (X Windows toolkit),'
126
	@${ECHO} ' eXene (X Windows toolkit),'
92
	@${ECHO} ' ml-burg (tree transformer),'
93
	@${ECHO} ' ml-nlffi (foreign function interface to C code),'
94
	@${ECHO} ' nowhere (preprocessor for conditional patterns),'
127
	@${ECHO} ' nowhere (preprocessor for conditional patterns),'
95
	@${ECHO} ' various libraries, and all the sources.'
128
	@${ECHO} ' various libraries, and all the sources.'
96
.endif
129
.endif
97
.if ! ${PORT_OPTIONS:MRECOMPILE}
130
.if !empty(ML_RECOMPILE_OPTIONS:MRECOMPILE) && !defined(ML_RECOMPILE)
98
	@${ECHO} 'Use make WITH_RECOMPILE=yes to recompile the compiler.'
131
	@${ECHO} 'Use make ML_RECOMPILE=yes to recompile the compiler.'
99
	@${ECHO} ' This implies WITH_EVERYTHING.'
132
	@${ECHO} ' This implies ML_EVERYTHING.'
100
.endif
133
.endif
101
.if ! ${PORT_OPTIONS:MPOSITION64}
134
.if !empty(ML_RECOMPILE_OPTIONS:MPOSITION64) && !defined(ML_POSITION64)
102
	@${ECHO} 'Use make WITH_POSITION64=yes to use 64bit file positions.'
135
	@${ECHO} 'Use make ML_POSITION64=yes to use 64bit file positions.'
103
	@${ECHO} ' This implies WITH_RECOMPILE.'
136
	@${ECHO} ' This implies ML_RECOMPILE.'
104
.endif
137
.endif
105
	@${ECHO}
138
	@${ECHO}
106
139
Lines 109-115 Link Here
109
post-extract:
142
post-extract:
110
	cd ${WRKDIR} && ${LN} -sf ${_DISTDIR}/* .
143
	cd ${WRKDIR} && ${LN} -sf ${_DISTDIR}/* .
111
144
112
# Configuring is done by uncommenting the appropriate #request xxx
145
# Configuring is done by uncommenting the appropriate #request
113
# lines of config/targets. Dependency details are handled by
146
# lines of config/targets. Dependency details are handled by
114
# base/system/smlnj/installer using config/dependencies and
147
# base/system/smlnj/installer using config/dependencies and
115
# config/actions.
148
# config/actions.
Lines 125-131 Link Here
125
# Recompilation requires ml-lex and ml-yacc. All requested targets
158
# Recompilation requires ml-lex and ml-yacc. All requested targets
126
# will be built later using the recompiled core system after
159
# will be built later using the recompiled core system after
127
# removing targets.customized. See "do-build" below.
160
# removing targets.customized. See "do-build" below.
128
.if ${PORT_OPTIONS:MRECOMPILE}
161
.if defined(ML_RECOMPILE)
129
	( ${ECHO_CMD} "request	ml-yacc" && \
162
	( ${ECHO_CMD} "request	ml-yacc" && \
130
	  ${ECHO_CMD} "request	ml-lex" && \
163
	  ${ECHO_CMD} "request	ml-lex" && \
131
	  ${ECHO_CMD} "request	ml-lex-mllex-tool" && \
164
	  ${ECHO_CMD} "request	ml-lex-mllex-tool" && \
Lines 138-152 Link Here
138
# a subsequent make install.
171
# a subsequent make install.
139
# See base/system/README for information on recompiling the compiler.
172
# See base/system/README for information on recompiling the compiler.
140
173
141
.if ${PORT_OPTIONS:MRECOMPILE}
174
.if defined(ML_RECOMPILE)
142
RECOMPILEDIR=	base/system
175
RECOMPILEDIR=	base/system
143
.else
176
.else
144
RECOMPILEDIR=
177
RECOMPILEDIR=
145
.endif
178
.endif
146
179
180
.if (${ARCH} == "amd64") && (${OSVERSION} >= 800000) && (${OSVERSION} < 1000029)
147
MLRUNTIMEPATCHES_CMD=	cd ${FILESDIR} && \
181
MLRUNTIMEPATCHES_CMD=	cd ${FILESDIR} && \
182
			( ${LS} do-patch-base_runtime_* extra-patch-base_runtime_* 2>&- || \
183
			  ${TRUE} )
184
.else
185
MLRUNTIMEPATCHES_CMD=	cd ${FILESDIR} && \
148
			( ${LS} do-patch-base_runtime_* 2>&- || \
186
			( ${LS} do-patch-base_runtime_* 2>&- || \
149
			  ${TRUE} )
187
			  ${TRUE} )
188
.endif
150
MLSTANDARDPATCHES_CMD=	cd ${FILESDIR} && \
189
MLSTANDARDPATCHES_CMD=	cd ${FILESDIR} && \
151
			( for srcdir in ${MLSTDSRCDIRS} ; \
190
			( for srcdir in ${MLSTDSRCDIRS} ; \
152
			  do ${LS} do-patch-$${srcdir}_* 2>&- ; \
191
			  do ${LS} do-patch-$${srcdir}_* 2>&- ; \
Lines 156-162 Link Here
156
			  do if ${LS} do-patch-$${srcdir}_* 1>&- 2>&- ; \
195
			  do if ${LS} do-patch-$${srcdir}_* 1>&- 2>&- ; \
157
			     then ${ECHO_CMD} -n $${srcdir} " " ; break ; fi ; \
196
			     then ${ECHO_CMD} -n $${srcdir} " " ; break ; fi ; \
158
			  done ) || ${TRUE}
197
			  done ) || ${TRUE}
159
.if ${PORT_OPTIONS:MEVERYTHING}
198
.if defined(ML_EVERYTHING)
160
MLSOURCEPATCHES_CMD=	cd ${FILESDIR} && \
199
MLSOURCEPATCHES_CMD=	cd ${FILESDIR} && \
161
			( ${LS} do-patch-* 2>&- || \
200
			( ${LS} do-patch-* 2>&- || \
162
			  ${TRUE} )
201
			  ${TRUE} )
Lines 172-179 Link Here
172
	MLSTANDARDPATCHES=`${MLSTANDARDPATCHES_CMD}` \
211
	MLSTANDARDPATCHES=`${MLSTANDARDPATCHES_CMD}` \
173
	MLSTANDARDPATCHDIRS=`${MLSTANDARDPATCHDIRS_CMD}` \
212
	MLSTANDARDPATCHDIRS=`${MLSTANDARDPATCHDIRS_CMD}` \
174
	MLSOURCEPATCHES=`${MLSOURCEPATCHES_CMD}` \
213
	MLSOURCEPATCHES=`${MLSOURCEPATCHES_CMD}` \
214
	CFLAGS='${CFLAGS}' AS='${AS}' EXTRA_DEFS='${EXTRA_DEFS}' \
175
	./config/install.sh
215
	./config/install.sh
176
.if ${PORT_OPTIONS:MRECOMPILE}
216
.if defined(ML_RECOMPILE)
177
	-${RM} ${WRKDIR}/config/targets.customized
217
	-${RM} ${WRKDIR}/config/targets.customized
178
	@${ECHO} '(* Recompiling the core system: *)'
218
	@${ECHO} '(* Recompiling the core system: *)'
179
	cd ${WRKDIR}/${RECOMPILEDIR} && ( \
219
	cd ${WRKDIR}/${RECOMPILEDIR} && ( \
Lines 196-201 Link Here
196
	cd ${WRKDIR} && unset PWD && \
236
	cd ${WRKDIR} && unset PWD && \
197
	FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="${PATCH_ARGS}" \
237
	FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="${PATCH_ARGS}" \
198
	MLNORUNTIMECLEAN=yes RECOMPILEDIR="${RECOMPILEDIR}" \
238
	MLNORUNTIMECLEAN=yes RECOMPILEDIR="${RECOMPILEDIR}" \
239
	CFLAGS='${CFLAGS}' AS='${AS}' EXTRA_DEFS='${EXTRA_DEFS}' \
199
	./config/install.sh
240
	./config/install.sh
200
.endif
241
.endif
201
242
Lines 202-210 Link Here
202
# Nowadays PLIST has to be computed before installation. We do it in
243
# Nowadays PLIST has to be computed before installation. We do it in
203
# "pre-install" because source extraction happens during "build".
244
# "pre-install" because source extraction happens during "build".
204
245
205
.if ${PORT_OPTIONS:MEVERYTHING}
246
.if defined(ML_EVERYTHING)
206
MLNOINSTALL=	.cm
247
MLNOINSTALL=	.cm
207
.if ${PORT_OPTIONS:MRECOMPILE}
248
.if defined(ML_RECOMPILE)
208
MLNOINSTALL+=	sml.bin.${MLARCH}-unix sml.boot.${MLARCH}-unix \
249
MLNOINSTALL+=	sml.bin.${MLARCH}-unix sml.boot.${MLARCH}-unix \
209
		sml.lib sml.${MLARCH}-bsd
250
		sml.lib sml.${MLARCH}-bsd
210
.endif
251
.endif
Lines 215-251 Link Here
215
MLPATCHPATHREGEX=	-E -e 's%(^|[^_])_([^_]|$$)%\1/\2%g' \
256
MLPATCHPATHREGEX=	-E -e 's%(^|[^_])_([^_]|$$)%\1/\2%g' \
216
			   -e 's%(^|[^_])__([^_]|$$)%\1_\2%g' \
257
			   -e 's%(^|[^_])__([^_]|$$)%\1_\2%g' \
217
			   -e 's%(^|[^_])___([^_]|$$)%\1/_\2%g'
258
			   -e 's%(^|[^_])___([^_]|$$)%\1/_\2%g'
259
.endif
218
260
219
pre-install:
261
pre-install:
262
.if defined(ML_EVERYTHING)
220
	@${ECHO} -n '(* Computing package list ...'
263
	@${ECHO} -n '(* Computing package list ...'
221
	@${TAR} -tzf ${WRKDIR}/runtime.tgz | \
264
	@${TAR} -tzf ${WRKDIR}/runtime.tgz | \
222
	${SED} -E -e 's%^(.*[^/])$$%${MLROOTRELATIVE}/base/\1%' \
265
	${SED} -E -e 's%^(.*[^/])$$%${MLROOTRELATIVE}/base/\1%' \
223
		-e 's%^(.*)/$$%@dirrm\ ${MLROOTRELATIVE}/base/\1%' \
266
		-e 's%^(.*)/$$%@dirrm\ ${MLROOTRELATIVE}/base/\1%' \
224
		> ${MLRUNTIMEPLIST}
267
		> ${MLRUNTIMEPLIST}
225
	`${MLRUNTIMEPATCHES_CMD}` | \
268
	@${MLRUNTIMEPATCHES_CMD} | \
226
	${SED} ${MLPATCHPATHREGEX} | \
269
	${SED} ${MLPATCHPATHREGEX} | \
227
	${SED} -E -e 's%^do-patch-(base/.*)%${MLROOTRELATIVE}/\1.orig%' \
270
	${SED} -E -e 's%^(do|extra)-patch-(base/.*)%${MLROOTRELATIVE}/\2%' \
271
	> ${MLRUNTIMEPLIST}.patched
272
	-@${GREP} -F -v -f ${MLRUNTIMEPLIST} ${MLRUNTIMEPLIST}.patched \
273
	> ${MLRUNTIMEPLIST}.patchednew
274
	@${CAT} ${MLRUNTIMEPLIST}.patchednew >> ${MLRUNTIMEPLIST}
275
	@${MLRUNTIMEPATCHES_CMD} | \
276
	${SED} ${MLPATCHPATHREGEX} | \
277
	${SED} -E -e 's%^(do|extra)-patch-(base/.*)%${MLROOTRELATIVE}/\2.orig%' \
228
	>> ${MLRUNTIMEPLIST}
278
	>> ${MLRUNTIMEPLIST}
229
	@cd "${WRKDIR}" && ( \
279
	@cd "${WRKDIR}" && ( \
230
	( ${FIND} -s -d ${MLSRCDIRS} \! -type d | \
280
	( ${FIND} -s -d ${MLSRCDIRS} \! -type d | \
231
	${AWK} '{ print "${MLROOTRELATIVE}/" $$0 }' ) ; \
281
	${AWK} '{ print "${MLROOTRELATIVE}/" $$0 }' ) ; \
232
	( ${FIND} -s -d ${MLSRCDIRS} -type d -empty | \
282
	( ${FIND} -s -d ${MLSRCDIRS} -type d -empty | \
233
	${AWK} '{ print "@exec mk""dir -p %D/${MLROOTRELATIVE}/" $$0 }' ) ; \
283
	${AWK} '{ print "@exec mkdir${CALM} -p %D/${MLROOTRELATIVE}/" $$0 }' ) ; \
234
	( ${FIND} -s -d ${MLSRCDIRS} -type d | \
284
	( ${FIND} -s -d ${MLSRCDIRS} -type d | \
235
	${AWK} '{ print "@dirrm ${MLROOTRELATIVE}/" $$0 }' ) ) | \
285
	${AWK} '{ print "@dirrm ${MLROOTRELATIVE}/" $$0 }' ) ) | \
236
	${EGREP} -v ${MLSRCEXCLUDEREGEX} > ${MLSRCPLIST}
286
	${EGREP} -v ${MLSRCEXCLUDEREGEX} > ${MLSRCPLIST}
237
	@${GREP} -h "^[^@]" ${MLPLISTFILES} | ${SORT} -u > ${PLIST}
287
	@${SED} -e 's/^%%EVERYTHING%%//' ${MLPLISTFILES} | \
238
	@${GREP} -h "^@exec mk""dir" ${MLPLISTFILES} | ${SORT} -u >> ${PLIST}
288
	${GREP} -h -v "^@dirrm" | ${SORT} -u > ${PLIST}
239
	@${GREP} -h "^@dirrm" ${MLPLISTFILES} | ${SORT} -r -u >> ${PLIST}
289
	@${GREP} -h "^@exec mkdir${CALM}" ${MLPLISTFILES} | ${SORT} -u >> ${PLIST}
290
	@${SED} -e 's/^%%EVERYTHING%%//' ${MLPLISTFILES} | \
291
	${GREP} -h "^@dirrm"  | ${SORT} -r -u >> ${PLIST}
240
	@${ECHO} ' done. *)'
292
	@${ECHO} ' done. *)'
241
.endif
293
.endif
294
# ${PKGINSTALL} contains multiexec-wrapper, which is used to select
295
# between executables of the same name that have been installed by
296
# different packages (like smlnj and smlnj-devel). The source of
297
# multiexec-wrapper is extracted from ${PKGINSTALL}, and inserted
298
# into ${PKGINSTALL} in compressed and encoded form. So it is still
299
# available when being installed from a binary package, even if
300
# ${PKGINSTALL} is no file at that time (but only input to a shell).
301
	@${SED} -e '/^#%%PKG-INSTALL-START%%$$/,/^#%%PKG-INSTALL-END%%$$/d' \
302
	       ${PKGINSTALL} > ${PKGINSTALL}.script
303
	@${GZIP_CMD} ${PKGINSTALL}.script
304
	@b64encode ${PKGINSTALL}.script.gz script.gz > ${PKGINSTALL}.script.gz.b64
305
	@${SED} -n -e '1,/~EOF~.$$/p' ${PKGINSTALL} > ${PKGINSTALL}.pre
306
	@${SED} -n -e '/^~EOF~$$/,$$p' ${PKGINSTALL} > ${PKGINSTALL}.post
307
	@${CAT} ${PKGINSTALL}.pre ${PKGINSTALL}.script.gz.b64 ${PKGINSTALL}.post > ${PKGINSTALL}.full
308
	@${DIFF} -q ${PKGINSTALL} ${PKGINSTALL}.full >/dev/null || ${CP} ${PKGINSTALL}.full ${PKGINSTALL}
242
309
243
# The install target installs the heaps and libraries to their final
310
# The install target installs the heaps and libraries to their final
244
# location in ${MLBIN} and ${MLLIB}.
311
# location in ${MLBIN} and ${MLLIB}.
245
# In case of recompilation, installml installs the sml heap and the
312
# In case of recompilation, installml installs the sml heap and the
246
# libraries built during compiler bootstrap to ${MLBIN} and ${MLLIB}.
313
# libraries built during compiler bootstrap to ${MLBIN} and ${MLLIB}.
314
# When staging CM_PATHCONFIG has to point to the final
315
# ${MLLIB}/pathconfig (in ${PREFIX}) while building the compiler.
247
316
248
.if ${PORT_OPTIONS:MEVERYTHING}
317
.if defined(ML_EVERYTHING)
249
MLSRCEXCLUDES=
318
MLSRCEXCLUDES=
250
.for excl in ${MLNOINSTALL}
319
.for excl in ${MLNOINSTALL}
251
MLSRCEXCLUDES+=	--exclude "${excl}"
320
MLSRCEXCLUDES+=	--exclude "${excl}"
Lines 253-263 Link Here
253
.endif
322
.endif
254
323
255
do-install:
324
do-install:
256
	${MKDIR} "${MLROOT}"
325
	${MKDIR} "${STAGEDIR}${MLROOT}"
257
.if ! ${PORT_OPTIONS:MRECOMPILE}
326
.if ! defined(ML_RECOMPILE)
258
	cd ${WRKDIR} && unset PWD && \
327
	cd ${WRKDIR} && unset PWD && \
259
	FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="${PATCH_ARGS}" \
328
	FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="${PATCH_ARGS}" \
260
	INSTALLDIR="${MLROOT}" ./config/install.sh
329
	STAGEDIR="${STAGEDIR}" MLLIB="${MLLIB}" \
330
	INSTALLDIR="${STAGEDIR}${MLROOT}" \
331
	CFLAGS='${CFLAGS}' AS='${AS}' EXTRA_DEFS='${EXTRA_DEFS}' \
332
	./config/install.sh
261
.else
333
.else
262
	@${ECHO} '(* Rebuilding the recompiled libs: *)'
334
	@${ECHO} '(* Rebuilding the recompiled libs: *)'
263
	cd ${WRKDIR}/${RECOMPILEDIR} && ( \
335
	cd ${WRKDIR}/${RECOMPILEDIR} && ( \
Lines 271-296 Link Here
271
	@${ECHO} '(* Installing into ${MLROOT}: *)'
343
	@${ECHO} '(* Installing into ${MLROOT}: *)'
272
	cd ${WRKDIR} && unset PWD && \
344
	cd ${WRKDIR} && unset PWD && \
273
	FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="${PATCH_ARGS}" \
345
	FILESDIR="${FILESDIR}" PATCH="${PATCH}" PATCH_ARGS="${PATCH_ARGS}" \
274
	INSTALLDIR="${MLROOT}" RECOMPILEDIR="${RECOMPILEDIR}" \
346
	STAGEDIR="${STAGEDIR}" MLLIB="${MLLIB}" \
347
	INSTALLDIR="${STAGEDIR}${MLROOT}" RECOMPILEDIR="${RECOMPILEDIR}" \
348
	CFLAGS='${CFLAGS}' AS='${AS}' EXTRA_DEFS='${EXTRA_DEFS}' \
275
	./config/install.sh
349
	./config/install.sh
276
.endif
350
.endif
277
	MLARCHOPSYS=`${MLBIN}/.arch-n-opsys` && \
351
	MLARCHOPSYS=`${STAGEDIR}${MLBIN}/.arch-n-opsys` && \
278
	( eval $${MLARCHOPSYS} ; \
352
	( eval $${MLARCHOPSYS} ; \
279
	${STRIP_CMD} "${MLBIN}/.run/run.$${ARCH}-$${OPSYS}" )
353
	${STRIP_CMD} "${STAGEDIR}${MLBIN}/.run/run.$${ARCH}-$${OPSYS}" )
280
	@${CHOWN} -R ${BINOWN}:${BINGRP} "${MLBIN}" "${MLLIB}"
354
.if defined(ML_EVERYTHING)
281
.if ${PORT_OPTIONS:MEVERYTHING}
282
	@${ECHO} '(* Cleaning base/runtime: *)'
355
	@${ECHO} '(* Cleaning base/runtime: *)'
283
	cd ${WRKDIR}/base/runtime/objs && ${MAKE_CMD} clean
356
	cd ${WRKDIR}/base/runtime/objs && ${MAKE_CMD} clean
284
	@${ECHO} -n '(* Installing sources into ${MLROOT} ...'
357
	@${ECHO} -n '(* Installing sources into ${STAGEDIR}${MLROOT} ...'
285
	@cd ${WRKDIR} && ${TAR} -cf - ${MLSRCEXCLUDES} ${MLSRCDIRS} | \
358
	@cd ${WRKDIR} && ${TAR} -cf - ${MLSRCEXCLUDES} ${MLSRCDIRS} | \
286
	${TAR} -xf - -C "${MLROOT}"
359
	${TAR} -xf - -C "${STAGEDIR}${MLROOT}"
287
	@${CHOWN} -R ${SHAREOWN}:${SHAREGRP} ${MLSRCS}
288
	@${ECHO} ' done. *)'
360
	@${ECHO} ' done. *)'
289
.endif
361
.endif
290
362
291
post-install:
363
post-install:
364
# Only execute ${PKGINSTALL} when installing to ${PREFIX},
365
# but not when staging.
366
.ifmake install${CALM}
292
	PKG_PREFIX=${PREFIX} MULTIEXEC_WRAPPER_VERBOSE=yes \
367
	PKG_PREFIX=${PREFIX} MULTIEXEC_WRAPPER_VERBOSE=yes \
293
	${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
368
	${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
369
.endif
294
370
295
.ifndef MULTIEXEC_WRAPPER_VERBOSE
371
.ifndef MULTIEXEC_WRAPPER_VERBOSE
296
deinstall:
372
deinstall:
Lines 299-305 Link Here
299
.endif
375
.endif
300
376
301
# This target may be used by dependent ports to set SMLNJ_DEVEL_VERSION
377
# This target may be used by dependent ports to set SMLNJ_DEVEL_VERSION
302
# either to the currently installed sml-nj-devel package's version
378
# either to the currently installed smlnj-devel package's version
303
# or else to this port's version. SMLNJ_DEVEL_VERSION is an environment
379
# or else to this port's version. SMLNJ_DEVEL_VERSION is an environment
304
# variable used by multiexec-wrapper to select the executable
380
# variable used by multiexec-wrapper to select the executable
305
# from that smlnj-devel-* package matching SMLNJ_DEVEL_VERSION.
381
# from that smlnj-devel-* package matching SMLNJ_DEVEL_VERSION.
(-)distinfo (-40 / +40 lines)
Lines 1-40 Link Here
1
SHA256 (sml-nj/110.71/MLRISC.tgz) = fe86100738b12fb7edbbddf66626b96d4d13c149dd71e0cfb8132a92a7522ae1
1
SHA256 (sml-nj/110.76/MLRISC.tgz) = 9d944dea4e80a8ef2cc01e7e16ae72cb280f2e4dc0d6648c9bc27156ccfcc102
2
SIZE (sml-nj/110.71/MLRISC.tgz) = 1435231
2
SIZE (sml-nj/110.76/MLRISC.tgz) = 1434516
3
SHA256 (sml-nj/110.71/boot.x86-unix.tgz) = 2f1a41e6639963a5c09b453d941c4ac7c62d5043e2cc2b25d2a18feb7517bc04
3
SHA256 (sml-nj/110.76/boot.x86-unix.tgz) = dd16569fb6991d673e66dae57f5e9b372d5a4e305f92a9756002e4bb296c9b61
4
SIZE (sml-nj/110.71/boot.x86-unix.tgz) = 5849700
4
SIZE (sml-nj/110.76/boot.x86-unix.tgz) = 5890950
5
SHA256 (sml-nj/110.71/ckit.tgz) = fc8320898b17106bf759bc813c69aecfe1732d0c13e9b54ed5522920bbd562a7
5
SHA256 (sml-nj/110.76/ckit.tgz) = c4534e6e7f910ebee3146cc8ed214a1d5a2ea90afbd79c2290cefdc784ee0dbb
6
SIZE (sml-nj/110.71/ckit.tgz) = 199404
6
SIZE (sml-nj/110.76/ckit.tgz) = 194486
7
SHA256 (sml-nj/110.71/cm.tgz) = 40bb024769f28a70b45e4ad87bb781c1277c4fa0de7ae1b5109263ed073c0300
7
SHA256 (sml-nj/110.76/cm.tgz) = 539e8199764a803f486dbf5c0ecb3fa3b2277a6b52ccbbf350bbdcc231bec193
8
SIZE (sml-nj/110.71/cm.tgz) = 202311
8
SIZE (sml-nj/110.76/cm.tgz) = 200425
9
SHA256 (sml-nj/110.71/cml.tgz) = 469f013db2e6abae40db34f4e78c0ce556a730c6b9a567eea35df7aa2f6b1f96
9
SHA256 (sml-nj/110.76/cml.tgz) = cbd357a3b3377d049911a247be880dcde7f52f705f7cdfe800b67631858681e1
10
SIZE (sml-nj/110.71/cml.tgz) = 104707
10
SIZE (sml-nj/110.76/cml.tgz) = 106005
11
SHA256 (sml-nj/110.71/compiler.tgz) = 3040cc3fed1f2b00f33d290bd52e999a8ea73d2ba847bbe5b16165276c07afaf
11
SHA256 (sml-nj/110.76/compiler.tgz) = 322755b8a3f105eec4ce4a3197aaf83bcd542e4c2b2f43c724d0ae8f393bf681
12
SIZE (sml-nj/110.71/compiler.tgz) = 825457
12
SIZE (sml-nj/110.76/compiler.tgz) = 817182
13
SHA256 (sml-nj/110.71/config.tgz) = accafba082cb3b7e2bbfff3221bbe49dcfb8029a5d6f8002f98597890870a3be
13
SHA256 (sml-nj/110.76/config.tgz) = 41cec8bd28c43f49bea24cc7d80d091d8a0e0c7473ee67e4a0b06019567ca557
14
SIZE (sml-nj/110.71/config.tgz) = 512911
14
SIZE (sml-nj/110.76/config.tgz) = 511139
15
SHA256 (sml-nj/110.71/eXene.tgz) = 23b12302c8fdeb4c94918cf1c24739c72f01114597b3bfef817c58943ec2c467
15
SHA256 (sml-nj/110.76/eXene.tgz) = 35befa7d37207c7fc2eab81e29e3a5afb4f2c5893f7336394906425d5f4ee607
16
SIZE (sml-nj/110.71/eXene.tgz) = 714564
16
SIZE (sml-nj/110.76/eXene.tgz) = 703059
17
SHA256 (sml-nj/110.71/heap2asm.tgz) = 01cae1f1d5217405e367d0efd1385161602d3f0828f54e794190baa13d733d0f
17
SHA256 (sml-nj/110.76/heap2asm.tgz) = 8c1f52bc7459de1d0d8e07807abb8e8916fa5ef1cf08c0ceb3f06437f977215d
18
SIZE (sml-nj/110.71/heap2asm.tgz) = 1326
18
SIZE (sml-nj/110.76/heap2asm.tgz) = 1314
19
SHA256 (sml-nj/110.71/ml-burg.tgz) = 429f2e974db4131c74eea141902491af9df1d55bc2c0767356434bab13b90dd5
19
SHA256 (sml-nj/110.76/ml-burg.tgz) = d59dad9188778c96b3e59f9d754a4fbdef4b67de2ded67deb0d26c40915a594e
20
SIZE (sml-nj/110.71/ml-burg.tgz) = 36670
20
SIZE (sml-nj/110.76/ml-burg.tgz) = 36341
21
SHA256 (sml-nj/110.71/ml-lex.tgz) = 0a951e91caa43e025eeaa03879764e93519e82ace817eaf86d5c0f469360322b
21
SHA256 (sml-nj/110.76/ml-lex.tgz) = 9d00143cff4e8cc87421270d34b29864c27d353d6b429cce3d3428f6c7280a6b
22
SIZE (sml-nj/110.71/ml-lex.tgz) = 33060
22
SIZE (sml-nj/110.76/ml-lex.tgz) = 33150
23
SHA256 (sml-nj/110.71/ml-lpt.tgz) = e5c3489a9d60d4d45a266240e380a497b05f8f45ba44da83a704c4388cf664d1
23
SHA256 (sml-nj/110.76/ml-lpt.tgz) = 9970b22506a605012055700cc28497c2850d29fbb7bcc5b069fbef785220fc8d
24
SIZE (sml-nj/110.71/ml-lpt.tgz) = 254684
24
SIZE (sml-nj/110.76/ml-lpt.tgz) = 256293
25
SHA256 (sml-nj/110.71/ml-yacc.tgz) = 3e5b9ec0af3704c7045a43d974902abddecefd8d25a41225b06b7390dcf29453
25
SHA256 (sml-nj/110.76/ml-yacc.tgz) = 9151f7fef0abcb312daf731621b682b2c7e9f87a151832e99c30b5e56f03f1cf
26
SIZE (sml-nj/110.71/ml-yacc.tgz) = 102023
26
SIZE (sml-nj/110.76/ml-yacc.tgz) = 99943
27
SHA256 (sml-nj/110.71/nlffi.tgz) = dc23c4ea4101f918fe5f92622c9b34b88cb91c62c2c41911e7117a7aa389f44a
27
SHA256 (sml-nj/110.76/nlffi.tgz) = 07bdc123b2c93f01bc0a5bbdf33aac0b34407bd70cd8d3e1d06ad55e92deb521
28
SIZE (sml-nj/110.71/nlffi.tgz) = 75182
28
SIZE (sml-nj/110.76/nlffi.tgz) = 74484
29
SHA256 (sml-nj/110.71/pgraph.tgz) = e9514a3c8c002627bf2297bca020028d6d27a6a3c31f940db1dcf2dc3941885b
29
SHA256 (sml-nj/110.76/pgraph.tgz) = df44036b170f68a79a62134812adecd54c3f0da2188f0190996fc57faa10969c
30
SIZE (sml-nj/110.71/pgraph.tgz) = 5454
30
SIZE (sml-nj/110.76/pgraph.tgz) = 5440
31
SHA256 (sml-nj/110.71/runtime.tgz) = ec6d38c782876db979a7b03444ded0bfaa0154d8e88c0a7befa6836f9b235763
31
SHA256 (sml-nj/110.76/runtime.tgz) = f6086cd4e30ea3a89c528ee08c793eca77f7701589e0436acf347faf7e940a7f
32
SIZE (sml-nj/110.71/runtime.tgz) = 334109
32
SIZE (sml-nj/110.76/runtime.tgz) = 324373
33
SHA256 (sml-nj/110.71/smlnj-c.tgz) = 1ae91e81e77b422367f34fa1bedced1235ba0da5363b075e62bc0d39a55e8fde
33
SHA256 (sml-nj/110.76/smlnj-c.tgz) = 0cdf1c3563f3080dffc184e8e64f5e58f7f21f1426d43cb8960cf090e2232a6f
34
SIZE (sml-nj/110.71/smlnj-c.tgz) = 10625
34
SIZE (sml-nj/110.76/smlnj-c.tgz) = 10534
35
SHA256 (sml-nj/110.71/smlnj-lib.tgz) = 3dd4cbe21bd9d2917d22d8b793776e6c519f175ddb96f6339f890f69d54feda9
35
SHA256 (sml-nj/110.76/smlnj-lib.tgz) = 81e994a07d7c8979b28c4911272de3c37eec648e58c03a9dc1ecb9bbbadca1d7
36
SIZE (sml-nj/110.71/smlnj-lib.tgz) = 259309
36
SIZE (sml-nj/110.76/smlnj-lib.tgz) = 402937
37
SHA256 (sml-nj/110.71/system.tgz) = 6279962f447ce17df64a3c52e8c10f98f0e09b41d5418077d5880a9445eb3ad3
37
SHA256 (sml-nj/110.76/system.tgz) = 8f6a143db22a9d025e2820899c9cccbf0e66c679a9aa68c3dcd1bec68003da37
38
SIZE (sml-nj/110.71/system.tgz) = 239973
38
SIZE (sml-nj/110.76/system.tgz) = 227685
39
SHA256 (sml-nj/110.71/trace-debug-profile.tgz) = 3b4db9f3546c02ce5c4510e070ee304b768914914e47acdbae3a82397df1ac28
39
SHA256 (sml-nj/110.76/trace-debug-profile.tgz) = 3769e1d251d04c95b4c1b759f3bf21644bcb3135404d0346e8ff34553ae704df
40
SIZE (sml-nj/110.71/trace-debug-profile.tgz) = 3935
40
SIZE (sml-nj/110.76/trace-debug-profile.tgz) = 3899
(-)files/do-patch-base_runtime_objs_makefile (+43 lines)
Line 0 Link Here
1
--- base/runtime/objs/makefile.orig	2012-04-18 02:28:08.000000000 +0200
2
+++ base/runtime/objs/makefile	2014-06-30 20:25:38.000000000 +0200
3
@@ -5,10 +5,10 @@
4
 
5
 SHELL =		/bin/sh
6
 MAKE =		make
7
-CC =		cc
8
-CPP =		/lib/cpp
9
+CC ?=		cc
10
+CPP ?=		/lib/cpp
11
 LD_LIBS =
12
-AS =		as
13
+AS ?=		as
14
 AR =		ar
15
 ARFLAGS =	rcv
16
 RANLIB =	ranlib
17
@@ -38,7 +38,7 @@
18
 CLIB_DIR =	$(ROOT_DIR)/c-libs
19
 CONFIG_DIR =	$(ROOT_DIR)/config
20
 
21
-CFLAGS =	-O
22
+CFLAGS ?=	-O
23
 
24
 INCLUDES =	-I$(OBJS_DIR) -I$(INC_DIR)
25
 GC_INCLUDES =	$(INCLUDES) -I$(GC_DIR)
26
@@ -329,7 +329,7 @@
27
 #
28
 MK_ARGS =		VERSION="$(VERSION)" \
29
 			MAKE="$(MAKE)" \
30
-			CC="$(CC)" CFLAGS="$(CFLAGS)" DEFS="$(DEFS)" \
31
+			CC="$(CC)" CFLAGS="$(CFLAGS)" DEFS='$(DEFS)' \
32
 			AR="$(AR)" ARFLAGS="$(ARFLAGS)" \
33
 			RANLIB="$(RANLIB)" \
34
 			INCLUDES="$(GC_INCLUDES) -I../bytecode"
35
@@ -420,7 +420,7 @@
36
 #
37
 LIB_MK_ARGS =		VERSION="$(VERSION)" \
38
 			MAKE="$(MAKE)" \
39
-			CC="$(CC)" CFLAGS="$(CFLAGS)" DEFS="$(DEFS)" \
40
+			CC="$(CC)" CFLAGS="$(CFLAGS)" DEFS='$(DEFS)' \
41
 			AR="$(AR)" ARFLAGS="$(ARFLAGS)" \
42
 			RANLIB="$(RANLIB)" \
43
 			INCLUDES="$(LIB_INCLUDES)"
(-)files/do-patch-base_runtime_objs_mk.x86-freebsd (+37 lines)
Line 0 Link Here
1
--- base/runtime/objs/mk.x86-freebsd.orig	2006-04-20 17:28:53.000000000 +0200
2
+++ base/runtime/objs/mk.x86-freebsd	2014-07-04 13:12:45.000000000 +0200
3
@@ -5,19 +5,19 @@
4
 
5
 SHELL =		/bin/sh
6
 
7
-MAKE =		gmake
8
+MAKE =		make
9
 
10
 ARFLAGS =	Trcv
11
-CC =		gcc -ansi
12
-CFLAGS =	-O2
13
-CPP =		gcc -x assembler-with-cpp -E -P 
14
+CC ?=		gcc -ansi
15
+CFLAGS ?=	-O2
16
+CPP =		${CC} -x assembler-with-cpp -E -P 
17
 #CPP =		/usr/bin/cpp -P
18
 
19
 XOBJS =
20
 XLIBS =		../c-libs/dl/libunix-dynload.a
21
 LD_LIBS =
22
 BASE_DEFS =
23
-DEFS =		$(BASE_DEFS) -DHOST_X86 -DTARGET_X86 -DOPSYS_UNIX -DOPSYS_FREEBSD -DDLOPEN
24
+DEFS =		$(BASE_DEFS) -DHOST_X86 -DTARGET_X86 -DOPSYS_UNIX -DOPSYS_FREEBSD -DDLOPEN $(EXTRA_DEFS)
25
 TARGET =	X86
26
 VERSION =	v-x86-freebsd
27
 RUNTIME =	run.x86-freebsd
28
@@ -25,6 +25,6 @@
29
 RUNTIME_A =	run.x86-freebsd.a
30
 
31
 all:
32
-	($(MAKE) RUNTIME="$(RUNTIME)" VERSION="$(VERSION)" MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" $(RUNTIME))
33
-	($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared" $(RUNTIME_SO))
34
-	($(MAKE) RUNTIME_A="$(RUNTIME_A)" VERSION="$(VERSION)" MAKE="$(MAKE)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="" $(RUNTIME_A))
35
+	($(MAKE) RUNTIME="$(RUNTIME)" VERSION="$(VERSION)" MAKE="$(MAKE)" AS="$(AS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" $(RUNTIME))
36
+	($(MAKE) RUNTIME="$(RUNTIME_SO)" VERSION="$(VERSION)" MAKE="$(MAKE)" AS="$(AS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="-shared" $(RUNTIME_SO))
37
+	($(MAKE) RUNTIME_A="$(RUNTIME_A)" VERSION="$(VERSION)" MAKE="$(MAKE)" AS="$(AS)" CC="$(CC)" CFLAGS="$(CFLAGS)" CPP="$(CPP)" TARGET=$(TARGET) DEFS="$(DEFS)" XOBJS="$(XOBJS)" XLIBS="$(XLIBS)" LD_LIBS="$(LD_LIBS)" LDFLAGS="" $(RUNTIME_A))
(-)files/extra-patch-base_runtime_c-libs_smlnj-math_ctlrndmode.c (+22 lines)
Line 0 Link Here
1
--- base/runtime/c-libs/smlnj-math/ctlrndmode.c.orig	2000-06-01 20:34:03.000000000 +0200
2
+++ base/runtime/c-libs/smlnj-math/ctlrndmode.c	2013-06-18 15:08:01.715990633 +0200
3
@@ -3,6 +3,19 @@
4
  * COPYRIGHT (c) 1996 AT&T Research.
5
  */
6
 
7
+ #if defined(OPSYS_FREEBSD)
8
+ #  if defined(INCLUDE_FREEBSD_I386__TYPES)
9
+ #    include <sys/cdefs.h>
10
+ #    include INCLUDE_FREEBSD_I386__TYPES
11
+ #  endif
12
+ #  if defined(INCLUDE_FREEBSD_I386_ENDIAN)
13
+ #    include INCLUDE_FREEBSD_I386_ENDIAN
14
+ #  endif
15
+ #  if defined(INCLUDE_FREEBSD_I386_IEEEFP)
16
+ #    include INCLUDE_FREEBSD_I386_IEEEFP
17
+ #  endif
18
+ #endif
19
+ 
20
 #include "ml-base.h"
21
 #include "fp-dep.h"
22
 #include "ml-objects.h"
(-)files/extra-patch-base_runtime_include_freebsd-8-i386-__types.h (+137 lines)
Line 0 Link Here
1
--- base/runtime/include/freebsd-8-i386-_types.h.orig	1970-01-01 01:00:00.000000000 +0100
2
+++ base/runtime/include/freebsd-8-i386-_types.h	2013-06-19 16:14:57.000000000 +0200
3
@@ -0,0 +1,134 @@
4
+/*-
5
+ * Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
6
+ * Copyright (c) 1990, 1993
7
+ *	The Regents of the University of California.  All rights reserved.
8
+ *
9
+ * Redistribution and use in source and binary forms, with or without
10
+ * modification, are permitted provided that the following conditions
11
+ * are met:
12
+ * 1. Redistributions of source code must retain the above copyright
13
+ *    notice, this list of conditions and the following disclaimer.
14
+ * 2. Redistributions in binary form must reproduce the above copyright
15
+ *    notice, this list of conditions and the following disclaimer in the
16
+ *    documentation and/or other materials provided with the distribution.
17
+ * 3. All advertising materials mentioning features or use of this software
18
+ *    must display the following acknowledgement:
19
+ *	This product includes software developed by the University of
20
+ *	California, Berkeley and its contributors.
21
+ * 4. Neither the name of the University nor the names of its contributors
22
+ *    may be used to endorse or promote products derived from this software
23
+ *    without specific prior written permission.
24
+ *
25
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
26
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
29
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
31
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35
+ * SUCH DAMAGE.
36
+ *
37
+ *	From: @(#)ansi.h	8.2 (Berkeley) 1/4/94
38
+ *	From: @(#)types.h	8.3 (Berkeley) 1/5/94
39
+ * $FreeBSD: stable/8/sys/i386/include/_types.h 176827 2008-03-05 11:21:14Z bde $
40
+ */
41
+
42
+#ifndef _MACHINE__TYPES_H_
43
+#define	_MACHINE__TYPES_H_
44
+
45
+#ifndef _SYS_CDEFS_H_
46
+#error this file needs sys/cdefs.h as a prerequisite
47
+#endif
48
+
49
+#define __NO_STRICT_ALIGNMENT
50
+
51
+/*
52
+ * Basic types upon which most other types are built.
53
+ */
54
+typedef	__signed char		__int8_t;
55
+typedef	unsigned char		__uint8_t;
56
+typedef	short			__int16_t;
57
+typedef	unsigned short		__uint16_t;
58
+typedef	int			__int32_t;
59
+typedef	unsigned int		__uint32_t;
60
+
61
+#if defined(lint)
62
+/* LONGLONG */
63
+typedef	long long		__int64_t;
64
+/* LONGLONG */
65
+typedef	unsigned long long	__uint64_t;
66
+#elif defined(__GNUCLIKE_ATTRIBUTE_MODE_DI)
67
+typedef	int __attribute__((__mode__(__DI__)))		__int64_t;
68
+typedef	unsigned int __attribute__((__mode__(__DI__)))	__uint64_t;
69
+#else
70
+/* LONGLONG */
71
+typedef	long long		__int64_t;
72
+/* LONGLONG */
73
+typedef	unsigned long long	__uint64_t;
74
+#endif
75
+
76
+/*
77
+ * Standard type definitions.
78
+ */
79
+typedef	unsigned long	__clock_t;		/* clock()... */
80
+typedef	unsigned int	__cpumask_t;
81
+typedef	__int32_t	__critical_t;
82
+typedef	long double	__double_t;
83
+typedef	long double	__float_t;
84
+typedef	__int32_t	__intfptr_t;
85
+typedef	__int64_t	__intmax_t;
86
+typedef	__int32_t	__intptr_t;
87
+typedef	__int32_t	__int_fast8_t;
88
+typedef	__int32_t	__int_fast16_t;
89
+typedef	__int32_t	__int_fast32_t;
90
+typedef	__int64_t	__int_fast64_t;
91
+typedef	__int8_t	__int_least8_t;
92
+typedef	__int16_t	__int_least16_t;
93
+typedef	__int32_t	__int_least32_t;
94
+typedef	__int64_t	__int_least64_t;
95
+typedef	__int32_t	__ptrdiff_t;		/* ptr1 - ptr2 */
96
+typedef	__int32_t	__register_t;
97
+typedef	__int32_t	__segsz_t;		/* segment size (in pages) */
98
+typedef	__uint32_t	__size_t;		/* sizeof() */
99
+typedef	__int32_t	__ssize_t;		/* byte count or error */
100
+typedef	__int32_t	__time_t;		/* time()... */
101
+typedef	__uint32_t	__uintfptr_t;
102
+typedef	__uint64_t	__uintmax_t;
103
+typedef	__uint32_t	__uintptr_t;
104
+typedef	__uint32_t	__uint_fast8_t;
105
+typedef	__uint32_t	__uint_fast16_t;
106
+typedef	__uint32_t	__uint_fast32_t;
107
+typedef	__uint64_t	__uint_fast64_t;
108
+typedef	__uint8_t	__uint_least8_t;
109
+typedef	__uint16_t	__uint_least16_t;
110
+typedef	__uint32_t	__uint_least32_t;
111
+typedef	__uint64_t	__uint_least64_t;
112
+typedef	__uint32_t	__u_register_t;
113
+typedef	__uint32_t	__vm_offset_t;
114
+typedef	__int64_t	__vm_ooffset_t;
115
+#ifdef PAE
116
+typedef	__uint64_t	__vm_paddr_t;
117
+#else
118
+typedef	__uint32_t	__vm_paddr_t;
119
+#endif
120
+typedef	__uint64_t	__vm_pindex_t;
121
+typedef	__uint32_t	__vm_size_t;
122
+
123
+/*
124
+ * Unusual type definitions.
125
+ */
126
+#ifdef __GNUCLIKE_BUILTIN_VARARGS
127
+typedef __builtin_va_list	__va_list;	/* internally known to gcc */
128
+#else
129
+typedef	char *			__va_list;
130
+#endif /* __GNUCLIKE_BUILTIN_VARARGS */
131
+#if defined(__GNUC_VA_LIST_COMPATIBILITY) && !defined(__GNUC_VA_LIST) \
132
+    && !defined(__NO_GNUC_VA_LIST)
133
+#define __GNUC_VA_LIST
134
+typedef __va_list		__gnuc_va_list;	/* compatibility w/GNU headers*/
135
+#endif
136
+
137
+#endif /* !_MACHINE__TYPES_H_ */
(-)files/extra-patch-base_runtime_include_freebsd-8-i386-endian.h (+139 lines)
Line 0 Link Here
1
--- base/runtime/include/freebsd-8-i386-endian.h.orig	1970-01-01 01:00:00.000000000 +0100
2
+++ base/runtime/include/freebsd-8-i386-endian.h	2013-06-19 16:14:56.000000000 +0200
3
@@ -0,0 +1,136 @@
4
+/*-
5
+ * Copyright (c) 1987, 1991 Regents of the University of California.
6
+ * All rights reserved.
7
+ *
8
+ * Redistribution and use in source and binary forms, with or without
9
+ * modification, are permitted provided that the following conditions
10
+ * are met:
11
+ * 1. Redistributions of source code must retain the above copyright
12
+ *    notice, this list of conditions and the following disclaimer.
13
+ * 2. Redistributions in binary form must reproduce the above copyright
14
+ *    notice, this list of conditions and the following disclaimer in the
15
+ *    documentation and/or other materials provided with the distribution.
16
+ * 4. Neither the name of the University nor the names of its contributors
17
+ *    may be used to endorse or promote products derived from this software
18
+ *    without specific prior written permission.
19
+ *
20
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30
+ * SUCH DAMAGE.
31
+ *
32
+ *	@(#)endian.h	7.8 (Berkeley) 4/3/91
33
+ * $FreeBSD: stable/8/sys/i386/include/endian.h 190854 2009-04-08 19:10:20Z ed $
34
+ */
35
+
36
+#ifndef _MACHINE_ENDIAN_H_
37
+#define	_MACHINE_ENDIAN_H_
38
+
39
+#include <sys/cdefs.h>
40
+#include <sys/_types.h>
41
+
42
+#ifdef __cplusplus
43
+extern "C" {
44
+#endif
45
+
46
+/*
47
+ * Define the order of 32-bit words in 64-bit words.
48
+ */
49
+#define	_QUAD_HIGHWORD 1
50
+#define	_QUAD_LOWWORD 0
51
+
52
+/*
53
+ * Definitions for byte order, according to byte significance from low
54
+ * address to high.
55
+ */
56
+#define	_LITTLE_ENDIAN	1234	/* LSB first: i386, vax */
57
+#define	_BIG_ENDIAN	4321	/* MSB first: 68000, ibm, net */
58
+#define	_PDP_ENDIAN	3412	/* LSB first in word, MSW first in long */
59
+
60
+#define	_BYTE_ORDER	_LITTLE_ENDIAN
61
+
62
+/*
63
+ * Deprecated variants that don't have enough underscores to be useful in more
64
+ * strict namespaces.
65
+ */
66
+#if __BSD_VISIBLE
67
+#define	LITTLE_ENDIAN	_LITTLE_ENDIAN
68
+#define	BIG_ENDIAN	_BIG_ENDIAN
69
+#define	PDP_ENDIAN	_PDP_ENDIAN
70
+#define	BYTE_ORDER	_BYTE_ORDER
71
+#endif
72
+
73
+#if defined(__GNUCLIKE_ASM) && defined(__GNUCLIKE_BUILTIN_CONSTANT_P)
74
+
75
+#define __byte_swap_int_var(x) \
76
+__extension__ ({ register __uint32_t __X = (x); \
77
+   __asm ("bswap %0" : "+r" (__X)); \
78
+   __X; })
79
+
80
+#ifdef __OPTIMIZE__
81
+
82
+#define	__byte_swap_int_const(x) \
83
+	((((x) & 0xff000000) >> 24) | \
84
+	 (((x) & 0x00ff0000) >>  8) | \
85
+	 (((x) & 0x0000ff00) <<  8) | \
86
+	 (((x) & 0x000000ff) << 24))
87
+#define	__byte_swap_int(x) (__builtin_constant_p(x) ? \
88
+	__byte_swap_int_const(x) : __byte_swap_int_var(x))
89
+
90
+#else	/* __OPTIMIZE__ */
91
+
92
+#define	__byte_swap_int(x) __byte_swap_int_var(x)
93
+
94
+#endif	/* __OPTIMIZE__ */
95
+
96
+static __inline __uint64_t
97
+__bswap64(__uint64_t _x)
98
+{
99
+
100
+	return ((_x >> 56) | ((_x >> 40) & 0xff00) | ((_x >> 24) & 0xff0000) |
101
+	    ((_x >> 8) & 0xff000000) | ((_x << 8) & ((__uint64_t)0xff << 32)) |
102
+	    ((_x << 24) & ((__uint64_t)0xff << 40)) |
103
+	    ((_x << 40) & ((__uint64_t)0xff << 48)) | ((_x << 56)));
104
+}
105
+
106
+static __inline __uint32_t
107
+__bswap32(__uint32_t _x)
108
+{
109
+
110
+	return (__byte_swap_int(_x));
111
+}
112
+
113
+static __inline __uint16_t
114
+__bswap16(__uint16_t _x)
115
+{
116
+	return (_x << 8 | _x >> 8);
117
+}
118
+
119
+#define	__htonl(x)	__bswap32(x)
120
+#define	__htons(x)	__bswap16(x)
121
+#define	__ntohl(x)	__bswap32(x)
122
+#define	__ntohs(x)	__bswap16(x)
123
+
124
+#else /* !(__GNUCLIKE_ASM && __GNUCLIKE_BUILTIN_CONSTANT_P) */
125
+
126
+/*
127
+ * No optimizations are available for this compiler.  Fall back to
128
+ * non-optimized functions by defining the constant usually used to prevent
129
+ * redefinition.
130
+ */
131
+#define	_BYTEORDER_FUNC_DEFINED
132
+
133
+#endif /* __GNUCLIKE_ASM && __GNUCLIKE_BUILTIN_CONSTANT_P */
134
+
135
+#ifdef __cplusplus
136
+}
137
+#endif
138
+
139
+#endif /* !_MACHINE_ENDIAN_H_ */
(-)files/extra-patch-base_runtime_include_freebsd-8-i386-ieeefp.h (+262 lines)
Line 0 Link Here
1
--- base/runtime/include/freebsd-8-i386-ieeefp.h.orig	1970-01-01 01:00:00.000000000 +0100
2
+++ base/runtime/include/freebsd-8-i386-ieeefp.h	2013-06-19 16:14:57.000000000 +0200
3
@@ -0,0 +1,259 @@
4
+/*-
5
+ * Copyright (c) 2003 Peter Wemm.
6
+ * Copyright (c) 1990 Andrew Moore, Talke Studio
7
+ * All rights reserved.
8
+ *
9
+ * Redistribution and use in source and binary forms, with or without
10
+ * modification, are permitted provided that the following conditions
11
+ * are met:
12
+ * 1. Redistributions of source code must retain the above copyright
13
+ *    notice, this list of conditions and the following disclaimer.
14
+ * 2. Redistributions in binary form must reproduce the above copyright
15
+ *    notice, this list of conditions and the following disclaimer in the
16
+ *    documentation and/or other materials provided with the distribution.
17
+ * 3. All advertising materials mentioning features or use of this software
18
+ *    must display the following acknowledgement:
19
+ *	This product includes software developed by the University of
20
+ *	California, Berkeley and its contributors.
21
+ * 4. Neither the name of the University nor the names of its contributors
22
+ *    may be used to endorse or promote products derived from this software
23
+ *    without specific prior written permission.
24
+ *
25
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
26
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
29
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
31
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35
+ * SUCH DAMAGE.
36
+ *
37
+ * 	from: @(#) ieeefp.h 	1.0 (Berkeley) 9/23/93
38
+ * $FreeBSD: stable/8/sys/i386/include/ieeefp.h 175234 2008-01-11 18:59:35Z bde $
39
+ */
40
+
41
+#ifndef _MACHINE_IEEEFP_H_
42
+#define _MACHINE_IEEEFP_H_
43
+
44
+/*
45
+ * IEEE floating point type, constant and function definitions.
46
+ * XXX: FP*FLD and FP*OFF are undocumented pollution.
47
+ */
48
+
49
+#ifndef _SYS_CDEFS_H_
50
+#error this file needs sys/cdefs.h as a prerequisite
51
+#endif
52
+
53
+/*
54
+ * Rounding modes.
55
+ */
56
+typedef enum {
57
+	FP_RN=0,	/* round to nearest */
58
+	FP_RM,		/* round down towards minus infinity */
59
+	FP_RP,		/* round up towards plus infinity */
60
+	FP_RZ		/* truncate */
61
+} fp_rnd_t;
62
+
63
+/*
64
+ * Precision (i.e., rounding precision) modes.
65
+ */
66
+typedef enum {
67
+	FP_PS=0,	/* 24 bit (single-precision) */
68
+	FP_PRS,		/* reserved */
69
+	FP_PD,		/* 53 bit (double-precision) */
70
+	FP_PE		/* 64 bit (extended-precision) */
71
+} fp_prec_t;
72
+
73
+#define fp_except_t	int
74
+
75
+/*
76
+ * Exception bit masks.
77
+ */
78
+#define FP_X_INV	0x01	/* invalid operation */
79
+#define FP_X_DNML	0x02	/* denormal */
80
+#define FP_X_DZ		0x04	/* zero divide */
81
+#define FP_X_OFL	0x08	/* overflow */
82
+#define FP_X_UFL	0x10	/* underflow */
83
+#define FP_X_IMP	0x20	/* (im)precision */
84
+#define FP_X_STK	0x40	/* stack fault */
85
+
86
+/*
87
+ * FPU control word bit-field masks.
88
+ */
89
+#define FP_MSKS_FLD	0x3f	/* exception masks field */
90
+#define FP_PRC_FLD	0x300	/* precision control field */
91
+#define	FP_RND_FLD	0xc00	/* rounding control field */
92
+
93
+/*
94
+ * FPU status word bit-field masks.
95
+ */
96
+#define FP_STKY_FLD	0x3f	/* sticky flags field */
97
+
98
+/*
99
+ * FPU control word bit-field offsets (shift counts).
100
+ */
101
+#define FP_MSKS_OFF	0	/* exception masks offset */
102
+#define FP_PRC_OFF	8	/* precision control offset */
103
+#define	FP_RND_OFF	10	/* rounding control offset */
104
+
105
+/*
106
+ * FPU status word bit-field offsets (shift counts).
107
+ */
108
+#define FP_STKY_OFF	0	/* sticky flags offset */
109
+
110
+#ifdef __GNUCLIKE_ASM
111
+
112
+#define	__fldcw(addr)	__asm __volatile("fldcw %0" : : "m" (*(addr)))
113
+#define	__fldenv(addr)	__asm __volatile("fldenv %0" : : "m" (*(addr)))
114
+#define	__fnclex()	__asm __volatile("fnclex")
115
+#define	__fnstcw(addr)	__asm __volatile("fnstcw %0" : "=m" (*(addr)))
116
+#define	__fnstenv(addr)	__asm __volatile("fnstenv %0" : "=m" (*(addr)))
117
+#define	__fnstsw(addr)	__asm __volatile("fnstsw %0" : "=m" (*(addr)))
118
+
119
+/*
120
+ * Load the control word.  Be careful not to trap if there is a currently
121
+ * unmasked exception (ones that will become freshly unmasked are not a
122
+ * problem).  This case must be handled by a save/restore of the
123
+ * environment or even of the full x87 state.  Accessing the environment
124
+ * is very inefficient, so only do it when necessary.
125
+ */
126
+static __inline void
127
+__fnldcw(unsigned short _cw, unsigned short _newcw)
128
+{
129
+	struct {
130
+		unsigned _cw;
131
+		unsigned _other[6];
132
+	} _env;
133
+	unsigned short _sw;
134
+
135
+	if ((_cw & FP_MSKS_FLD) != FP_MSKS_FLD) {
136
+		__fnstsw(&_sw);
137
+		if (((_sw & ~_cw) & FP_STKY_FLD) != 0) {
138
+			__fnstenv(&_env);
139
+			_env._cw = _newcw;
140
+			__fldenv(&_env);
141
+			return;
142
+		}
143
+	}
144
+	__fldcw(&_newcw);
145
+}
146
+
147
+static __inline fp_rnd_t
148
+fpgetround(void)
149
+{
150
+	unsigned short _cw;
151
+
152
+	__fnstcw(&_cw);
153
+	return ((fp_rnd_t)((_cw & FP_RND_FLD) >> FP_RND_OFF));
154
+}
155
+
156
+static __inline fp_rnd_t
157
+fpsetround(fp_rnd_t _m)
158
+{
159
+	fp_rnd_t _p;
160
+	unsigned short _cw, _newcw;
161
+
162
+	__fnstcw(&_cw);
163
+	_p = (fp_rnd_t)((_cw & FP_RND_FLD) >> FP_RND_OFF);
164
+	_newcw = _cw & ~FP_RND_FLD;
165
+	_newcw |= (_m << FP_RND_OFF) & FP_RND_FLD;
166
+	__fnldcw(_cw, _newcw);
167
+	return (_p);
168
+}
169
+
170
+static __inline fp_prec_t
171
+fpgetprec(void)
172
+{
173
+	unsigned short _cw;
174
+
175
+	__fnstcw(&_cw);
176
+	return ((fp_prec_t)((_cw & FP_PRC_FLD) >> FP_PRC_OFF));
177
+}
178
+
179
+static __inline fp_prec_t
180
+fpsetprec(fp_prec_t _m)
181
+{
182
+	fp_prec_t _p;
183
+	unsigned short _cw, _newcw;
184
+
185
+	__fnstcw(&_cw);
186
+	_p = (fp_prec_t)((_cw & FP_PRC_FLD) >> FP_PRC_OFF);
187
+	_newcw = _cw & ~FP_PRC_FLD;
188
+	_newcw |= (_m << FP_PRC_OFF) & FP_PRC_FLD;
189
+	__fnldcw(_cw, _newcw);
190
+	return (_p);
191
+}
192
+
193
+/*
194
+ * Get or set the exception mask.
195
+ * Note that the x87 mask bits are inverted by the API -- a mask bit of 1
196
+ * means disable for x87 and SSE, but for fp*mask() it means enable.
197
+ */
198
+
199
+static __inline fp_except_t
200
+fpgetmask(void)
201
+{
202
+	unsigned short _cw;
203
+
204
+	__fnstcw(&_cw);
205
+	return ((~_cw & FP_MSKS_FLD) >> FP_MSKS_OFF);
206
+}
207
+
208
+static __inline fp_except_t
209
+fpsetmask(fp_except_t _m)
210
+{
211
+	fp_except_t _p;
212
+	unsigned short _cw, _newcw;
213
+
214
+	__fnstcw(&_cw);
215
+	_p = (~_cw & FP_MSKS_FLD) >> FP_MSKS_OFF;
216
+	_newcw = _cw & ~FP_MSKS_FLD;
217
+	_newcw |= (~_m << FP_MSKS_OFF) & FP_MSKS_FLD;
218
+	__fnldcw(_cw, _newcw);
219
+	return (_p);
220
+}
221
+
222
+static __inline fp_except_t
223
+fpgetsticky(void)
224
+{
225
+	unsigned _ex;
226
+	unsigned short _sw;
227
+
228
+	__fnstsw(&_sw);
229
+	_ex = (_sw & FP_STKY_FLD) >> FP_STKY_OFF;
230
+	return ((fp_except_t)_ex);
231
+}
232
+
233
+static __inline fp_except_t
234
+fpresetsticky(fp_except_t _m)
235
+{
236
+	struct {
237
+		unsigned _cw;
238
+		unsigned _sw;
239
+		unsigned _other[5];
240
+	} _env;
241
+	fp_except_t _p;
242
+
243
+	_m &= FP_STKY_FLD >> FP_STKY_OFF;
244
+	_p = fpgetsticky();
245
+	if ((_p & ~_m) == _p)
246
+		return (_p);
247
+	if ((_p & ~_m) == 0) {
248
+		__fnclex();
249
+		return (_p);
250
+	}
251
+	__fnstenv(&_env);
252
+	_env._sw &= ~_m;
253
+	__fldenv(&_env);
254
+	return (_p);
255
+}
256
+
257
+#endif /* __GNUCLIKE_ASM */
258
+
259
+/* Suppress prototypes in the MI header. */
260
+#define	_IEEEFP_INLINED_	1
261
+
262
+#endif /* !_MACHINE_IEEEFP_H_ */
(-)files/extra-patch-base_runtime_include_freebsd-8-i386-signal.h (+137 lines)
Line 0 Link Here
1
--- base/runtime/include/freebsd-8-i386-signal.h.orig	1970-01-01 01:00:00.000000000 +0100
2
+++ base/runtime/include/freebsd-8-i386-signal.h	2013-06-19 16:14:56.000000000 +0200
3
@@ -0,0 +1,134 @@
4
+/*-
5
+ * Copyright (c) 1986, 1989, 1991, 1993
6
+ *	The Regents of the University of California.  All rights reserved.
7
+ *
8
+ * Redistribution and use in source and binary forms, with or without
9
+ * modification, are permitted provided that the following conditions
10
+ * are met:
11
+ * 1. Redistributions of source code must retain the above copyright
12
+ *    notice, this list of conditions and the following disclaimer.
13
+ * 2. Redistributions in binary form must reproduce the above copyright
14
+ *    notice, this list of conditions and the following disclaimer in the
15
+ *    documentation and/or other materials provided with the distribution.
16
+ * 4. Neither the name of the University nor the names of its contributors
17
+ *    may be used to endorse or promote products derived from this software
18
+ *    without specific prior written permission.
19
+ *
20
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30
+ * SUCH DAMAGE.
31
+ *
32
+ *	@(#)signal.h	8.1 (Berkeley) 6/11/93
33
+ * $FreeBSD: stable/8/sys/i386/include/signal.h 190623 2009-04-01 13:44:28Z kib $
34
+ */
35
+
36
+#ifndef _MACHINE_SIGNAL_H_
37
+#define	_MACHINE_SIGNAL_H_
38
+
39
+#include <sys/cdefs.h>
40
+#include <sys/_sigset.h>
41
+
42
+/*
43
+ * Machine-dependent signal definitions
44
+ */
45
+
46
+typedef int sig_atomic_t;
47
+
48
+#if __BSD_VISIBLE
49
+#include <machine/trap.h>	/* codes for SIGILL, SIGFPE */
50
+
51
+/*
52
+ * Only the kernel should need these old type definitions.
53
+ */
54
+#if defined(_KERNEL) && defined(COMPAT_43)
55
+/*
56
+ * Information pushed on stack when a signal is delivered.
57
+ * This is used by the kernel to restore state following
58
+ * execution of the signal handler.  It is also made available
59
+ * to the handler to allow it to restore state properly if
60
+ * a non-standard exit is performed.
61
+ */
62
+struct osigcontext {
63
+	int	sc_onstack;		/* sigstack state to restore */
64
+	osigset_t sc_mask;		/* signal mask to restore */
65
+	int	sc_esp;			/* machine state follows: */
66
+	int	sc_ebp;
67
+	int	sc_isp;
68
+	int	sc_eip;
69
+	int	sc_efl;
70
+	int	sc_es;
71
+	int	sc_ds;
72
+	int	sc_cs;
73
+	int	sc_ss;
74
+	int	sc_edi;
75
+	int	sc_esi;
76
+	int	sc_ebx;
77
+	int	sc_edx;
78
+	int	sc_ecx;
79
+	int	sc_eax;
80
+	int	sc_gs;
81
+	int	sc_fs;
82
+	int	sc_trapno;
83
+	int	sc_err;
84
+};
85
+#endif
86
+
87
+/*
88
+ * The sequence of the fields/registers in struct sigcontext should match
89
+ * those in mcontext_t.
90
+ */
91
+struct sigcontext {
92
+	struct __sigset sc_mask;	/* signal mask to restore */
93
+	int	sc_onstack;		/* sigstack state to restore */
94
+	int	sc_gs;			/* machine state (struct trapframe) */
95
+	int	sc_fs;
96
+	int	sc_es;
97
+	int	sc_ds;
98
+	int	sc_edi;
99
+	int	sc_esi;
100
+	int	sc_ebp;
101
+	int	sc_isp;
102
+	int	sc_ebx;
103
+	int	sc_edx;
104
+	int	sc_ecx;
105
+	int	sc_eax;
106
+	int	sc_trapno;
107
+	int	sc_err;
108
+	int	sc_eip;
109
+	int	sc_cs;
110
+	int	sc_efl;
111
+	int	sc_esp;
112
+	int	sc_ss;
113
+	int	sc_len;			/* sizeof(mcontext_t) */
114
+	/*
115
+	 * XXX - See <machine/ucontext.h> and <machine/npx.h> for
116
+	 *       the following fields.
117
+	 */
118
+	int	sc_fpformat;
119
+	int	sc_ownedfp;
120
+	int	sc_spare1[1];
121
+	int	sc_fpstate[128] __aligned(16);
122
+
123
+	int	sc_fsbase;
124
+	int	sc_gsbase;
125
+
126
+	int	sc_spare2[6];
127
+};
128
+
129
+#define	sc_sp		sc_esp
130
+#define	sc_fp		sc_ebp
131
+#define	sc_pc		sc_eip
132
+#define	sc_ps		sc_efl
133
+#define	sc_eflags	sc_efl
134
+
135
+#endif /* __BSD_VISIBLE */
136
+
137
+#endif /* !_MACHINE_SIGNAL_H_ */
(-)files/extra-patch-base_runtime_include_freebsd-9-i386-__types.h (+131 lines)
Line 0 Link Here
1
--- base/runtime/include/freebsd-9-i386-_types.h.orig	1970-01-01 01:00:00.000000000 +0100
2
+++ base/runtime/include/freebsd-9-i386-_types.h	2013-06-19 16:07:03.000000000 +0200
3
@@ -0,0 +1,128 @@
4
+/*-
5
+ * Copyright (c) 2002 Mike Barcroft <mike@FreeBSD.org>
6
+ * Copyright (c) 1990, 1993
7
+ *	The Regents of the University of California.  All rights reserved.
8
+ *
9
+ * Redistribution and use in source and binary forms, with or without
10
+ * modification, are permitted provided that the following conditions
11
+ * are met:
12
+ * 1. Redistributions of source code must retain the above copyright
13
+ *    notice, this list of conditions and the following disclaimer.
14
+ * 2. Redistributions in binary form must reproduce the above copyright
15
+ *    notice, this list of conditions and the following disclaimer in the
16
+ *    documentation and/or other materials provided with the distribution.
17
+ * 3. All advertising materials mentioning features or use of this software
18
+ *    must display the following acknowledgement:
19
+ *	This product includes software developed by the University of
20
+ *	California, Berkeley and its contributors.
21
+ * 4. Neither the name of the University nor the names of its contributors
22
+ *    may be used to endorse or promote products derived from this software
23
+ *    without specific prior written permission.
24
+ *
25
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
26
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
28
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
29
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
30
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
31
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
33
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
34
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
35
+ * SUCH DAMAGE.
36
+ *
37
+ *	From: @(#)ansi.h	8.2 (Berkeley) 1/4/94
38
+ *	From: @(#)types.h	8.3 (Berkeley) 1/5/94
39
+ * $FreeBSD: stable/9/sys/i386/include/_types.h 222813 2011-06-07 08:46:13Z attilio $
40
+ */
41
+
42
+#ifndef _MACHINE__TYPES_H_
43
+#define	_MACHINE__TYPES_H_
44
+
45
+#ifndef _SYS_CDEFS_H_
46
+#error this file needs sys/cdefs.h as a prerequisite
47
+#endif
48
+
49
+#define __NO_STRICT_ALIGNMENT
50
+
51
+/*
52
+ * Basic types upon which most other types are built.
53
+ */
54
+typedef	__signed char		__int8_t;
55
+typedef	unsigned char		__uint8_t;
56
+typedef	short			__int16_t;
57
+typedef	unsigned short		__uint16_t;
58
+typedef	int			__int32_t;
59
+typedef	unsigned int		__uint32_t;
60
+#ifndef lint
61
+__extension__
62
+#endif
63
+/* LONGLONG */
64
+typedef	long long		__int64_t;
65
+#ifndef lint
66
+__extension__
67
+#endif
68
+/* LONGLONG */
69
+typedef	unsigned long long	__uint64_t;
70
+
71
+/*
72
+ * Standard type definitions.
73
+ */
74
+typedef	unsigned long	__clock_t;		/* clock()... */
75
+typedef	__int32_t	__critical_t;
76
+typedef	long double	__double_t;
77
+typedef	long double	__float_t;
78
+typedef	__int32_t	__intfptr_t;
79
+typedef	__int64_t	__intmax_t;
80
+typedef	__int32_t	__intptr_t;
81
+typedef	__int32_t	__int_fast8_t;
82
+typedef	__int32_t	__int_fast16_t;
83
+typedef	__int32_t	__int_fast32_t;
84
+typedef	__int64_t	__int_fast64_t;
85
+typedef	__int8_t	__int_least8_t;
86
+typedef	__int16_t	__int_least16_t;
87
+typedef	__int32_t	__int_least32_t;
88
+typedef	__int64_t	__int_least64_t;
89
+typedef	__int32_t	__ptrdiff_t;		/* ptr1 - ptr2 */
90
+typedef	__int32_t	__register_t;
91
+typedef	__int32_t	__segsz_t;		/* segment size (in pages) */
92
+typedef	__uint32_t	__size_t;		/* sizeof() */
93
+typedef	__int32_t	__ssize_t;		/* byte count or error */
94
+typedef	__int32_t	__time_t;		/* time()... */
95
+typedef	__uint32_t	__uintfptr_t;
96
+typedef	__uint64_t	__uintmax_t;
97
+typedef	__uint32_t	__uintptr_t;
98
+typedef	__uint32_t	__uint_fast8_t;
99
+typedef	__uint32_t	__uint_fast16_t;
100
+typedef	__uint32_t	__uint_fast32_t;
101
+typedef	__uint64_t	__uint_fast64_t;
102
+typedef	__uint8_t	__uint_least8_t;
103
+typedef	__uint16_t	__uint_least16_t;
104
+typedef	__uint32_t	__uint_least32_t;
105
+typedef	__uint64_t	__uint_least64_t;
106
+typedef	__uint32_t	__u_register_t;
107
+typedef	__uint32_t	__vm_offset_t;
108
+typedef	__int64_t	__vm_ooffset_t;
109
+#ifdef PAE
110
+typedef	__uint64_t	__vm_paddr_t;
111
+#else
112
+typedef	__uint32_t	__vm_paddr_t;
113
+#endif
114
+typedef	__uint64_t	__vm_pindex_t;
115
+typedef	__uint32_t	__vm_size_t;
116
+
117
+/*
118
+ * Unusual type definitions.
119
+ */
120
+#ifdef __GNUCLIKE_BUILTIN_VARARGS
121
+typedef __builtin_va_list	__va_list;	/* internally known to gcc */
122
+#else
123
+typedef	char *			__va_list;
124
+#endif /* __GNUCLIKE_BUILTIN_VARARGS */
125
+#if defined(__GNUC_VA_LIST_COMPATIBILITY) && !defined(__GNUC_VA_LIST) \
126
+    && !defined(__NO_GNUC_VA_LIST)
127
+#define __GNUC_VA_LIST
128
+typedef __va_list		__gnuc_va_list;	/* compatibility w/GNU headers*/
129
+#endif
130
+
131
+#endif /* !_MACHINE__TYPES_H_ */
(-)files/extra-patch-base_runtime_include_freebsd-9-i386-endian.h (+148 lines)
Line 0 Link Here
1
--- base/runtime/include/freebsd-9-i386-endian.h.orig	1970-01-01 01:00:00.000000000 +0100
2
+++ base/runtime/include/freebsd-9-i386-endian.h	2013-06-19 16:13:50.000000000 +0200
3
@@ -0,0 +1,145 @@
4
+/*-
5
+ * Copyright (c) 1987, 1991 Regents of the University of California.
6
+ * All rights reserved.
7
+ *
8
+ * Redistribution and use in source and binary forms, with or without
9
+ * modification, are permitted provided that the following conditions
10
+ * are met:
11
+ * 1. Redistributions of source code must retain the above copyright
12
+ *    notice, this list of conditions and the following disclaimer.
13
+ * 2. Redistributions in binary form must reproduce the above copyright
14
+ *    notice, this list of conditions and the following disclaimer in the
15
+ *    documentation and/or other materials provided with the distribution.
16
+ * 4. Neither the name of the University nor the names of its contributors
17
+ *    may be used to endorse or promote products derived from this software
18
+ *    without specific prior written permission.
19
+ *
20
+ * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
21
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
24
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
25
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
26
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
27
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
28
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
29
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
30
+ * SUCH DAMAGE.
31
+ *
32
+ *	@(#)endian.h	7.8 (Berkeley) 4/3/91
33
+ * $FreeBSD: stable/9/sys/i386/include/endian.h 219819 2011-03-21 09:40:01Z jeff $
34
+ */
35
+
36
+#ifndef _MACHINE_ENDIAN_H_
37
+#define	_MACHINE_ENDIAN_H_
38
+
39
+#include <sys/cdefs.h>
40
+#include <sys/_types.h>
41
+
42
+#ifdef __cplusplus
43
+extern "C" {
44
+#endif
45
+
46
+/*
47
+ * Define the order of 32-bit words in 64-bit words.
48
+ */
49
+#define	_QUAD_HIGHWORD 1
50
+#define	_QUAD_LOWWORD 0
51
+
52
+/*
53
+ * Definitions for byte order, according to byte significance from low
54
+ * address to high.
55
+ */
56
+#define	_LITTLE_ENDIAN	1234	/* LSB first: i386, vax */
57
+#define	_BIG_ENDIAN	4321	/* MSB first: 68000, ibm, net */
58
+#define	_PDP_ENDIAN	3412	/* LSB first in word, MSW first in long */
59
+
60
+#define	_BYTE_ORDER	_LITTLE_ENDIAN
61
+
62
+/*
63
+ * Deprecated variants that don't have enough underscores to be useful in more
64
+ * strict namespaces.
65
+ */
66
+#if __BSD_VISIBLE
67
+#define	LITTLE_ENDIAN	_LITTLE_ENDIAN
68
+#define	BIG_ENDIAN	_BIG_ENDIAN
69
+#define	PDP_ENDIAN	_PDP_ENDIAN
70
+#define	BYTE_ORDER	_BYTE_ORDER
71
+#endif
72
+
73
+#if defined(__GNUCLIKE_ASM) && defined(__GNUCLIKE_BUILTIN_CONSTANT_P)
74
+
75
+#define	__bswap64_const(_x)			\
76
+	(((_x) >> 56) |				\
77
+	(((_x) >> 40) & (0xffULL << 8)) |	\
78
+	(((_x) >> 24) & (0xffULL << 16)) |	\
79
+	(((_x) >> 8) & (0xffULL << 24)) |	\
80
+	(((_x) << 8) & (0xffULL << 32)) |	\
81
+	(((_x) << 24) & (0xffULL << 40)) |	\
82
+	(((_x) << 40) & (0xffULL << 48)) |	\
83
+	((_x) << 56))
84
+
85
+#define	__bswap32_const(_x)			\
86
+	(((_x) >> 24) |				\
87
+	(((_x) & (0xff << 16)) >> 8) |		\
88
+	(((_x) & (0xff << 8)) << 8) |		\
89
+	((_x) << 24))
90
+
91
+#define __bswap16_const(_x)	(__uint16_t)((_x) << 8 | (_x) >> 8)
92
+
93
+static __inline __uint64_t
94
+__bswap64_var(__uint64_t __x)
95
+{
96
+
97
+	return __bswap64_const(__x);
98
+}
99
+
100
+
101
+static __inline __uint32_t
102
+__bswap32_var(__uint32_t _x)
103
+{
104
+
105
+	__asm ("bswap %0" : "+r" (_x));
106
+	return (_x);
107
+}
108
+
109
+static __inline __uint16_t
110
+__bswap16_var(__uint16_t _x)
111
+{
112
+
113
+	return (__bswap16_const(_x));
114
+}
115
+
116
+#define	__bswap64(_x)					\
117
+	(__builtin_constant_p(_x) ?			\
118
+	    __bswap64_const((__uint64_t)(_x)) : __bswap64_var(_x))
119
+
120
+#define	__bswap32(_x)					\
121
+	(__builtin_constant_p(_x) ?			\
122
+	    __bswap32_const((__uint32_t)(_x)) : __bswap32_var(_x))
123
+
124
+#define	__bswap16(_x)					\
125
+	(__builtin_constant_p(_x) ?			\
126
+	    __bswap16_const((__uint16_t)(_x)) : __bswap16_var(_x))
127
+
128
+#define	__htonl(x)	__bswap32(x)
129
+#define	__htons(x)	__bswap16(x)
130
+#define	__ntohl(x)	__bswap32(x)
131
+#define	__ntohs(x)	__bswap16(x)
132
+
133
+#else /* !(__GNUCLIKE_ASM && __GNUCLIKE_BUILTIN_CONSTANT_P) */
134
+
135
+/*
136
+ * No optimizations are available for this compiler.  Fall back to
137
+ * non-optimized functions by defining the constant usually used to prevent
138
+ * redefinition.
139
+ */
140
+#define	_BYTEORDER_FUNC_DEFINED
141
+
142
+#endif /* __GNUCLIKE_ASM && __GNUCLIKE_BUILTIN_CONSTANT_P */
143
+
144
+#ifdef __cplusplus
145
+}
146
+#endif
147
+
148
+#endif /* !_MACHINE_ENDIAN_H_ */
(-)files/extra-patch-base_runtime_include_ml-unixdep.h (+18 lines)
Line 0 Link Here
1
--- base/runtime/include/ml-unixdep.h.orig	2012-08-02 20:03:33.000000000 +0200
2
+++ base/runtime/include/ml-unixdep.h	2013-06-18 13:16:20.292993889 +0200
3
@@ -371,6 +371,15 @@
4
 #  define __EXTENSIONS__
5
 #endif
6
 
7
+#if defined(OPSYS_FREEBSD)
8
+#  if defined(INCLUDE_FREEBSD_I386__TYPES)
9
+#    include <sys/cdefs.h>
10
+#    include INCLUDE_FREEBSD_I386__TYPES
11
+#  endif
12
+#  if defined(INCLUDE_FREEBSD_I386_SIGNAL)
13
+#    include INCLUDE_FREEBSD_I386_SIGNAL
14
+#  endif
15
+#endif
16
 #include INCLUDE_TYPES_H
17
 #include <unistd.h>
18
 #include <string.h>
(-)files/patch-config___arch-n-opsys (+11 lines)
Line 0 Link Here
1
--- config/_arch-n-opsys.orig	2012-07-28 05:32:38.000000000 +0200
2
+++ config/_arch-n-opsys	2013-06-12 21:46:19.925992679 +0200
3
@@ -83,6 +83,8 @@
4
     HEAP_OPSYS=bsd
5
     case `uname -m` in
6
       *86) ARCH=x86;;
7
+    # Fall back to x86 compatibility mode.
8
+      amd64) ARCH=x86;;
9
       *) exit 1;;
10
     esac
11
     ;;
(-)files/patch-config___heap2exec (+33 lines)
Line 0 Link Here
1
--- config/_heap2exec	2006-04-20 17:28:53.000000000 +0200
2
+++ config/_heap2exec	2013-06-14 22:18:55.050990989 +0200
3
@@ -83,6 +83,7 @@
4
 A_PROG=
5
 A_FLAGS=
6
 A_LIBS=
7
+AS_FLAGS=
8
 
9
 case ${OPSYS} in
10
 	darwin)
11
@@ -96,6 +97,13 @@
12
 		A_PROG=${CC}
13
 		A_FLAGS=-Wl,--export-dynamic
14
 		A_LIBS=-lm
15
+		case `uname -m` in
16
+			amd64)
17
+				SO_FLAGS="${SO_FLAGS} -m32"
18
+				A_FLAGS="${A_FLAGS} -m32"
19
+				AS_FLAGS="${AS_FLAGS} -m32"
20
+				;;
21
+		esac
22
 		;;
23
 	linux)
24
 		SO_PROG=${CC}
25
@@ -116,7 +124,7 @@
26
 RESULT=0
27
 if ${H2A} "$heapfile" "$execfile".s ; then
28
 	if [ -f "$execfile".s ] ; then
29
-		if ${CC} -c -o "$execfile".o "$execfile".s ; then
30
+		if ${CC} -c ${AS_FLAGS} -o "$execfile".o "$execfile".s ; then
31
 			rm "$execfile".s
32
 		else
33
 			rm "$execfile".s
(-)files/patch-config_install.sh (-11 / +75 lines)
Lines 1-5 Link Here
1
--- config/install.sh.orig	Tue May 22 18:48:30 2007
1
--- config/install.sh.orig	2012-03-02 23:57:26.000000000 +0100
2
+++ config/install.sh	Sun Sep 16 02:56:22 2007
2
+++ config/install.sh	2014-07-14 20:12:56.000000000 +0200
3
@@ -18,6 +18,8 @@
3
@@ -18,6 +18,8 @@
4
     nolib=false
4
     nolib=false
5
 fi
5
 fi
Lines 38-44 Link Here
38
 this=$0
38
 this=$0
39
 
39
 
40
 
40
 
41
@@ -308,7 +332,12 @@
41
@@ -97,7 +121,28 @@
42
 # Especially important is CM_PATHCONFIG.
43
 #
44
 export CM_PATHCONFIG
45
-CM_PATHCONFIG=$LIBDIR/pathconfig
46
+if [ -n "$STAGEDIR" -a -n "$MLLIB" ]
47
+then
48
+	# The final CM_PATHCONFIG file should not yet exist during
49
+	# staging, but still it has to be set in the environment when
50
+	# creating the (final) compiler heap. This way it becomes the
51
+	# the default pathconfig for the (final) heap.
52
+	# Therefore we will use the secondary pathconfig environment
53
+	# variable CM_LOCAL_PATHCONFIG to point to the (existing;)
54
+	# pathconfig in ROOT. This enables $smlnj/installer.cm
55
+	# to operate within STAGEDIR (using the final heap) below.
56
+	CM_PATHCONFIG=$MLLIB/pathconfig
57
+	if [ -r $CM_PATHCONFIG ]
58
+	then
59
+		vsay "$this: !!! Staging conflicts with an existing installation!"
60
+		complain "$this: !!! Make $CM_PATHCONFIG unreadable and try again!"
61
+	fi
62
+	CM_PATHCONFIG_STAGE=$STAGEDIR$CM_PATHCONFIG
63
+	CM_LOCAL_PATHCONFIG=$CM_PATHCONFIG_STAGE
64
+else
65
+	CM_PATHCONFIG=$LIBDIR/pathconfig
66
+	CM_PATHCONFIG_STAGE=$CM_PATHCONFIG
67
+fi
68
 #
69
 # the release version that we are installing
70
 #
71
@@ -327,7 +372,12 @@
42
 # the name of the bin files directory
72
 # the name of the bin files directory
43
 #
73
 #
44
 BOOT_ARCHIVE=boot.$ARCH-unix
74
 BOOT_ARCHIVE=boot.$ARCH-unix
Lines 52-58 Link Here
52
 
82
 
53
 #
83
 #
54
 # build the run-time system
84
 # build the run-time system
55
@@ -317,6 +346,11 @@
85
@@ -336,9 +386,15 @@
56
     vsay $this: Run-time system already exists.
86
     vsay $this: Run-time system already exists.
57
 else
87
 else
58
     "$CONFIGDIR"/unpack "$ROOT" runtime
88
     "$CONFIGDIR"/unpack "$ROOT" runtime
Lines 63-70 Link Here
63
+    done
93
+    done
64
     cd "$BASEDIR"/runtime/objs
94
     cd "$BASEDIR"/runtime/objs
65
     echo $this: Compiling the run-time system.
95
     echo $this: Compiling the run-time system.
66
     $MAKE -f mk.$ARCH-$OPSYS $EXTRA_DEFS
96
-    $MAKE -f mk.$ARCH-$OPSYS $EXTRA_DEFS
67
@@ -331,7 +365,7 @@
97
+    echo "$MAKE -f mk.$ARCH-$OPSYS $EXTRA_DEFS AS=\""$AS\"" CFLAGS=\"$CFLAGS\""
98
+    $MAKE -f mk.$ARCH-$OPSYS $EXTRA_DEFS AS="$AS" CFLAGS="$CFLAGS"
99
     if [ -x run.$ARCH-$OPSYS ]; then
100
 	mv run.$ARCH-$OPSYS "$RUNDIR"
101
 	if [ -f runx.$ARCH-$OPSYS ]; then
102
@@ -350,7 +406,7 @@
68
 	if [ -f run.$ARCH-$OPSYS.a ]; then
103
 	if [ -f run.$ARCH-$OPSYS.a ]; then
69
 	    mv run.$ARCH-$OPSYS.a "$RUNDIR"
104
 	    mv run.$ARCH-$OPSYS.a "$RUNDIR"
70
 	fi
105
 	fi
Lines 73-79 Link Here
73
     else
108
     else
74
 	complain "$this: !!! Run-time system build failed for some reason."
109
 	complain "$this: !!! Run-time system build failed for some reason."
75
     fi
110
     fi
76
@@ -357,7 +391,7 @@
111
@@ -376,7 +432,7 @@
77
 	complain "$this !!! Unable to re-create heap image (sml.$HEAP_SUFFIX)."
112
 	complain "$this !!! Unable to re-create heap image (sml.$HEAP_SUFFIX)."
78
     fi
113
     fi
79
 else
114
 else
Lines 82-88 Link Here
82
 
117
 
83
     fish "$ROOT"/"$BOOT_FILES"/smlnj/basis
118
     fish "$ROOT"/"$BOOT_FILES"/smlnj/basis
84
 
119
 
85
@@ -415,6 +449,18 @@
120
@@ -411,7 +467,7 @@
121
 	    cd "$ROOT"/"$BOOT_FILES"
122
 	    for anchor in * ; do
123
 		if [ -d $anchor ] ; then
124
-		    echo $anchor $anchor >>$CM_PATHCONFIG
125
+		    echo $anchor $anchor >>$CM_PATHCONFIG_STAGE
126
 		    move $anchor "$LIBDIR"/$anchor
127
 		fi
128
 	    done
129
@@ -434,6 +490,18 @@
86
 
130
 
87
 cd "$ROOT"
131
 cd "$ROOT"
88
 
132
 
Lines 101-110 Link Here
101
 #
145
 #
102
 # Now do all the rest using the precompiled installer:
146
 # Now do all the rest using the precompiled installer:
103
 #
147
 #
104
@@ -430,5 +476,12 @@
148
@@ -442,6 +510,12 @@
105
 	complain "$this: !!! Installation of libraries and programs failed."
149
     export ROOT INSTALLDIR CONFIGDIR BINDIR
150
     CM_TOLERATE_TOOL_FAILURES=true
151
     export CM_TOLERATE_TOOL_FAILURES
152
+    # smlnj/installer/nix-install.sml (re)sets CM_LOCAL_PATHCONFIG
153
+    # to /dev/null in the buildcmd that it uses to invoke the builds.
154
+    # So the build process needs a working CM_PATHCONFIG. This is NOT
155
+    # propagated to the resulting heaps because the heaps generated
156
+    # in this stage don't contain the compiler.
157
+    [ -z "$STAGEDIR" ] || CM_PATHCONFIG=$CM_LOCAL_PATHCONFIG
158
     if "$BINDIR"/sml -m \$smlnj/installer.cm
159
     then
160
 	vsay $this: Installation complete.
161
@@ -450,4 +524,19 @@
106
     fi
162
     fi
107
 fi
163
 fi
164
 
165
+# Finish staging by removing the $STAGEDIR prefix from the driver scripts.
166
+if [ -n "$STAGEDIR" ]
167
+then
168
+	find $BINDIR -type f -perm -1 | \
169
+	xargs fgrep -l "$STAGEDIR" | \
170
+	xargs sed -i "" -e 's%'"$STAGEDIR"'%%g'
171
+fi
108
+
172
+
109
+# apply all source patches
173
+# apply all source patches
110
+[ -n "$MLSOURCEPATCHES" ] && \
174
+[ -n "$MLSOURCEPATCHES" ] && \
Lines 112-116 Link Here
112
+do
176
+do
113
+	do_patch $p
177
+	do_patch $p
114
+done
178
+done
115
 
179
+
116
 exit 0
180
 exit 0
(-)files/pkg-install.in (-7 / +19 lines)
Lines 1-7 Link Here
1
#!/bin/sh
1
#!/bin/sh
2
# This file was automatically created - don't modify it!
2
# This file was automatically created - don't modify it!
3
#%%SOURCEINFO-START%%
3
#%%SOURCEINFO-START%%
4
# source version: $Id: pkg-install.in,v 1.17 2007/08/30 13:09:47 joemann Exp $
4
# source version: $Id: $
5
# installed by port/package: %%SOURCEINFO-PACKAGE%%
5
# installed by port/package: %%SOURCEINFO-PACKAGE%%
6
# installed from file: %%SOURCEINFO-FILE%%
6
# installed from file: %%SOURCEINFO-FILE%%
7
#%%SOURCEINFO-END%%
7
#%%SOURCEINFO-END%%
Lines 138-147 Link Here
138
138
139
#%%PKG-INSTALL-START%%
139
#%%PKG-INSTALL-START%%
140
install_self_to() {
140
install_self_to() {
141
	local pkgname myself target oldversion
141
	local pkgname myself target oldversion tmpfile tmpfile_gz
142
	PREFIX="$1"
142
	PREFIX="$1"
143
	pkgname="$2"
143
	pkgname="$2"
144
	myself=`realpath "$0"`
144
	if [ "$0" = "/bin/sh" ]
145
	then	# We're stdin of a shell (installation from binary package).
146
		# Recover original script from its b64encoded compressed source.
147
		tmpfile=`mktemp "/tmp/$ME.XXXXXX"`
148
		tmpfile_gz=`mktemp "/tmp/$ME.gz.XXXXXX"`
149
		trap "rm -f $tmpfile $tmpfile_gz" EXIT
150
		b64decode -p > $tmpfile_gz << '~EOF~'
151
~EOF~
152
		gunzip -cf $tmpfile_gz > $tmpfile || die "decompression of script source for $ME failed."
153
		myself=$tmpfile
154
	else
155
		myself=`realpath "$0"`
156
	fi
145
	target="$PREFIX/bin/$ME"
157
	target="$PREFIX/bin/$ME"
146
	MYSELF_INSTALLED="$target"
158
	MYSELF_INSTALLED="$target"
147
	if [ -e "$target" ]
159
	if [ -e "$target" ]
Lines 158-168 Link Here
158
			then
170
			then
159
				oldmd5=`sed -e '/^#%%PKG-INSTALL-START%%$/,/^#%%PKG-INSTALL-END%%$/d' \
171
				oldmd5=`sed -e '/^#%%PKG-INSTALL-START%%$/,/^#%%PKG-INSTALL-END%%$/d' \
160
	    					-e '/^#%%SOURCEINFO-START%%$/,/^#%%SOURCEINFO-END%%$/d' \
172
	    					-e '/^#%%SOURCEINFO-START%%$/,/^#%%SOURCEINFO-END%%$/d' \
161
	    					-e 's?%%PREFIX%%?'"$PREFIX"'?g' "$target" | \
173
	    					-e 's?\%\%PREFIX\%\%?'"$PREFIX"'?g' "$target" | \
162
				        md5 -q`
174
				        md5 -q`
163
				newmd5=`sed -e '/^#%%PKG-INSTALL-START%%$/,/^#%%PKG-INSTALL-END%%$/d' \
175
				newmd5=`sed -e '/^#%%PKG-INSTALL-START%%$/,/^#%%PKG-INSTALL-END%%$/d' \
164
	    					-e '/^#%%SOURCEINFO-START%%$/,/^#%%SOURCEINFO-END%%$/d' \
176
	    					-e '/^#%%SOURCEINFO-START%%$/,/^#%%SOURCEINFO-END%%$/d' \
165
	    					-e 's?%%PREFIX%%?'"$PREFIX"'?g' "$myself" | \
177
	    					-e 's?\%\%PREFIX\%\%?'"$PREFIX"'?g' "$myself" | \
166
				       md5 -q`
178
				       md5 -q`
167
				if [ "$newmd5" = "$oldmd5" ]
179
				if [ "$newmd5" = "$oldmd5" ]
168
				then
180
				then
Lines 180-189 Link Here
180
	if sed -e '/^#%%PKG-INSTALL-START%%$/,/^#%%PKG-INSTALL-END%%$/d' \
192
	if sed -e '/^#%%PKG-INSTALL-START%%$/,/^#%%PKG-INSTALL-END%%$/d' \
181
	       -e 's?%%SOURCEINFO-PACKAGE%%?'"$pkgname"'?g' \
193
	       -e 's?%%SOURCEINFO-PACKAGE%%?'"$pkgname"'?g' \
182
	       -e 's?%%SOURCEINFO-FILE%%?'"$myself"'?g' \
194
	       -e 's?%%SOURCEINFO-FILE%%?'"$myself"'?g' \
183
	       -e 's?%%PREFIX%%?'"$PREFIX"'?g' "$0" > "$target" && \
195
	       -e 's?\%\%PREFIX\%\%?'"$PREFIX"'?g' "$myself" > "$target" && \
184
	   chmod +x "$target"
196
	   chmod +x "$target"
185
	then
197
	then
186
		say "$0 (version $VERSION) installed as $target."
198
		say "$myself (version $VERSION) installed as $target."
187
		return
199
		return
188
	else
200
	else
189
		die "failed to install $ME (version $VERSION) as $target."
201
		die "failed to install $ME (version $VERSION) as $target."
(-)files/plist-everything (-47 lines)
Lines 1-47 Link Here
1
smlnj/bin/.heap/ml-burg.%%MLARCH%%-bsd
2
smlnj/bin/.heap/ml-nlffigen.%%MLARCH%%-bsd
3
smlnj/bin/.heap/nowhere.%%MLARCH%%-bsd
4
smlnj/bin/ml-burg
5
smlnj/bin/ml-nlffigen
6
smlnj/bin/nowhere
7
smlnj/lib/burg-ext.cm/.cm/%%MLARCH%%-unix/burg-ext.cm
8
smlnj/lib/c/.cm/%%MLARCH%%-unix/c.cm
9
smlnj/lib/c/internals/.cm/%%MLARCH%%-unix/c-int.cm
10
smlnj/lib/c/memory/.cm/%%MLARCH%%-unix/memory.cm
11
smlnj/lib/ckit-lib.cm/.cm/%%MLARCH%%-unix/ckit-lib.cm
12
smlnj/lib/eXene.cm/.cm/%%MLARCH%%-unix/eXene.cm
13
smlnj/lib/mlburg-tool.cm/.cm/%%MLARCH%%-unix/mlburg-tool.cm
14
smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/match-compiler.cm
15
smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/parser.cm
16
smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/pp.cm
17
smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/prec-parser.cm
18
smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/sml-ast.cm
19
smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/source-map.cm
20
smlnj/lib/pgraph-util.cm/.cm/%%MLARCH%%-unix/pgraph-util.cm
21
@dirrm smlnj/lib/burg-ext.cm/.cm/%%MLARCH%%-unix
22
@dirrm smlnj/lib/burg-ext.cm/.cm
23
@dirrm smlnj/lib/burg-ext.cm
24
@dirrm smlnj/lib/c/memory/.cm/%%MLARCH%%-unix
25
@dirrm smlnj/lib/c/memory/.cm
26
@dirrm smlnj/lib/c/memory
27
@dirrm smlnj/lib/c/internals/.cm/%%MLARCH%%-unix
28
@dirrm smlnj/lib/c/internals/.cm
29
@dirrm smlnj/lib/c/internals
30
@dirrm smlnj/lib/c/.cm/%%MLARCH%%-unix
31
@dirrm smlnj/lib/c/.cm
32
@dirrm smlnj/lib/c
33
@dirrm smlnj/lib/ckit-lib.cm/.cm/%%MLARCH%%-unix
34
@dirrm smlnj/lib/ckit-lib.cm/.cm
35
@dirrm smlnj/lib/ckit-lib.cm
36
@dirrm smlnj/lib/eXene.cm/.cm/%%MLARCH%%-unix
37
@dirrm smlnj/lib/eXene.cm/.cm
38
@dirrm smlnj/lib/eXene.cm
39
@dirrm smlnj/lib/mlburg-tool.cm/.cm/%%MLARCH%%-unix
40
@dirrm smlnj/lib/mlburg-tool.cm/.cm
41
@dirrm smlnj/lib/mlburg-tool.cm
42
@dirrm smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix
43
@dirrm smlnj/lib/mlrisc-tools/.cm
44
@dirrm smlnj/lib/mlrisc-tools
45
@dirrm smlnj/lib/pgraph-util.cm/.cm/%%MLARCH%%-unix
46
@dirrm smlnj/lib/pgraph-util.cm/.cm
47
@dirrm smlnj/lib/pgraph-util.cm
(-)pkg-descr (-5 / +10 lines)
Lines 1-7 Link Here
1
A Standard ML implementation from Bell-Labs.  Implements the SML '97 definition
1
Standard ML (SML) is a safe, modular, strict, functional,
2
including the new Basis library with a few minor omissions and discrepancies.
2
polymorphic programming language with compile-time type checking
3
and type inference, garbage collection, exception handling,
4
immutable data types and updatable references, abstract data types,
5
and parametric modules. It has efficient implementations and a
6
formal definition with a proof of soundness.
3
7
4
WWW:    http://www.smlnj.org/
8
Standard ML of New Jersey (abbreviated SML/NJ) is a compiler for
9
the Standard ML '97 programming language with associated libraries,
10
tools, and documentation.
5
11
6
If you are interested in a lighter weight implementation of ML, 
12
WWW: http://www.smlnj.org/
7
the Moscow-ML port is recommended.
(-)pkg-plist (+60 lines)
Lines 1-9 Link Here
1
smlnj/bin/.arch-n-opsys
1
smlnj/bin/.arch-n-opsys
2
smlnj/bin/.heap/heap2asm.%%MLARCH%%-bsd
2
smlnj/bin/.heap/heap2asm.%%MLARCH%%-bsd
3
smlnj/bin/.heap/ml-antlr.%%MLARCH%%-bsd
3
smlnj/bin/.heap/ml-antlr.%%MLARCH%%-bsd
4
smlnj/bin/.heap/ml-burg.%%MLARCH%%-bsd
4
smlnj/bin/.heap/ml-lex.%%MLARCH%%-bsd
5
smlnj/bin/.heap/ml-lex.%%MLARCH%%-bsd
6
smlnj/bin/.heap/ml-nlffigen.%%MLARCH%%-bsd
5
smlnj/bin/.heap/ml-ulex.%%MLARCH%%-bsd
7
smlnj/bin/.heap/ml-ulex.%%MLARCH%%-bsd
6
smlnj/bin/.heap/ml-yacc.%%MLARCH%%-bsd
8
smlnj/bin/.heap/ml-yacc.%%MLARCH%%-bsd
9
%%EVERYTHING%%smlnj/bin/.heap/nowhere.%%MLARCH%%-bsd
7
smlnj/bin/.heap/sml.%%MLARCH%%-bsd
10
smlnj/bin/.heap/sml.%%MLARCH%%-bsd
8
smlnj/bin/.link-sml
11
smlnj/bin/.link-sml
9
smlnj/bin/.run/run.%%MLARCH%%-freebsd
12
smlnj/bin/.run/run.%%MLARCH%%-freebsd
Lines 14-23 Link Here
14
smlnj/bin/heap2exec
17
smlnj/bin/heap2exec
15
smlnj/bin/ml-antlr
18
smlnj/bin/ml-antlr
16
smlnj/bin/ml-build
19
smlnj/bin/ml-build
20
smlnj/bin/ml-burg
17
smlnj/bin/ml-lex
21
smlnj/bin/ml-lex
18
smlnj/bin/ml-makedepend
22
smlnj/bin/ml-makedepend
23
smlnj/bin/ml-nlffigen
19
smlnj/bin/ml-ulex
24
smlnj/bin/ml-ulex
20
smlnj/bin/ml-yacc
25
smlnj/bin/ml-yacc
26
%%EVERYTHING%%smlnj/bin/nowhere
21
smlnj/bin/sml
27
smlnj/bin/sml
22
smlnj/lib/SMLNJ-BASIS/.cm/%%MLARCH%%-unix/basis.cm
28
smlnj/lib/SMLNJ-BASIS/.cm/%%MLARCH%%-unix/basis.cm
23
smlnj/lib/SMLNJ-LIB/Controls/.cm/%%MLARCH%%-unix/controls-lib.cm
29
smlnj/lib/SMLNJ-LIB/Controls/.cm/%%MLARCH%%-unix/controls-lib.cm
Lines 47-61 Link Here
47
smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/SPARC.cm
53
smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/SPARC.cm
48
smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/StagedAlloc.cm
54
smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/StagedAlloc.cm
49
smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/Visual.cm
55
smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix/Visual.cm
56
smlnj/lib/burg-ext.cm/.cm/%%MLARCH%%-unix/burg-ext.cm
57
smlnj/lib/c/.cm/%%MLARCH%%-unix/c.cm
58
smlnj/lib/c/internals/.cm/%%MLARCH%%-unix/c-int.cm
59
smlnj/lib/c/memory/.cm/%%MLARCH%%-unix/memory.cm
60
smlnj/lib/ckit-lib.cm/.cm/%%MLARCH%%-unix/ckit-lib.cm
50
smlnj/lib/cml/.cm/%%MLARCH%%-unix/basis.cm
61
smlnj/lib/cml/.cm/%%MLARCH%%-unix/basis.cm
51
smlnj/lib/cml/.cm/%%MLARCH%%-unix/cml-internal.cm
62
smlnj/lib/cml/.cm/%%MLARCH%%-unix/cml-internal.cm
63
smlnj/lib/cml/.cm/%%MLARCH%%-unix/cml-lib.cm
52
smlnj/lib/cml/.cm/%%MLARCH%%-unix/cml.cm
64
smlnj/lib/cml/.cm/%%MLARCH%%-unix/cml.cm
53
smlnj/lib/cml/.cm/%%MLARCH%%-unix/core-cml.cm
65
smlnj/lib/cml/.cm/%%MLARCH%%-unix/core-cml.cm
66
smlnj/lib/cml/.cm/%%MLARCH%%-unix/inet-lib.cm
67
smlnj/lib/cml/.cm/%%MLARCH%%-unix/smlnj-lib.cm
68
smlnj/lib/cml/.cm/%%MLARCH%%-unix/trace-cml.cm
69
smlnj/lib/cml/.cm/%%MLARCH%%-unix/unix-lib.cm
54
smlnj/lib/cml-lib/.cm/%%MLARCH%%-unix/smlnj-lib.cm
70
smlnj/lib/cml-lib/.cm/%%MLARCH%%-unix/smlnj-lib.cm
55
smlnj/lib/cml-lib/.cm/%%MLARCH%%-unix/trace-cml.cm
71
smlnj/lib/cml-lib/.cm/%%MLARCH%%-unix/trace-cml.cm
56
smlnj/lib/dir-tool.cm/.cm/%%MLARCH%%-unix/dir-tool.cm
72
smlnj/lib/dir-tool.cm/.cm/%%MLARCH%%-unix/dir-tool.cm
73
%%EVERYTHING%%smlnj/lib/eXene.cm/.cm/%%MLARCH%%-unix/eXene.cm
57
smlnj/lib/grm-ext.cm/.cm/%%MLARCH%%-unix/grm-ext.cm
74
smlnj/lib/grm-ext.cm/.cm/%%MLARCH%%-unix/grm-ext.cm
58
smlnj/lib/hash-cons-lib.cm/.cm/%%MLARCH%%-unix/hash-cons-lib.cm
75
smlnj/lib/hash-cons-lib.cm/.cm/%%MLARCH%%-unix/hash-cons-lib.cm
76
smlnj/lib/html4-lib.cm/.cm/%%MLARCH%%-unix/html4-lib.cm
59
smlnj/lib/inet-lib.cm/.cm/%%MLARCH%%-unix/inet-lib.cm
77
smlnj/lib/inet-lib.cm/.cm/%%MLARCH%%-unix/inet-lib.cm
60
smlnj/lib/json-lib.cm/.cm/%%MLARCH%%-unix/json-lib.cm
78
smlnj/lib/json-lib.cm/.cm/%%MLARCH%%-unix/json-lib.cm
61
smlnj/lib/lex-ext.cm/.cm/%%MLARCH%%-unix/lex-ext.cm
79
smlnj/lib/lex-ext.cm/.cm/%%MLARCH%%-unix/lex-ext.cm
Lines 63-77 Link Here
63
smlnj/lib/ml-antlr-tool.cm/.cm/%%MLARCH%%-unix/ml-antlr-tool.cm
81
smlnj/lib/ml-antlr-tool.cm/.cm/%%MLARCH%%-unix/ml-antlr-tool.cm
64
smlnj/lib/ml-lpt-lib.cm/.cm/%%MLARCH%%-unix/ml-lpt-lib.cm
82
smlnj/lib/ml-lpt-lib.cm/.cm/%%MLARCH%%-unix/ml-lpt-lib.cm
65
smlnj/lib/ml-ulex-tool.cm/.cm/%%MLARCH%%-unix/ml-ulex-tool.cm
83
smlnj/lib/ml-ulex-tool.cm/.cm/%%MLARCH%%-unix/ml-ulex-tool.cm
84
smlnj/lib/mlburg-tool.cm/.cm/%%MLARCH%%-unix/mlburg-tool.cm
66
smlnj/lib/mllex-tool.cm/.cm/%%MLARCH%%-unix/mllex-tool.cm
85
smlnj/lib/mllex-tool.cm/.cm/%%MLARCH%%-unix/mllex-tool.cm
86
%%EVERYTHING%%smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/match-compiler.cm
87
%%EVERYTHING%%smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/parser.cm
88
%%EVERYTHING%%smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/pp.cm
89
%%EVERYTHING%%smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/prec-parser.cm
90
%%EVERYTHING%%smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/sml-ast.cm
91
%%EVERYTHING%%smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix/source-map.cm
67
smlnj/lib/mlyacc-tool.cm/.cm/%%MLARCH%%-unix/mlyacc-tool.cm
92
smlnj/lib/mlyacc-tool.cm/.cm/%%MLARCH%%-unix/mlyacc-tool.cm
68
smlnj/lib/noweb-tool.cm/.cm/%%MLARCH%%-unix/noweb-tool.cm
93
smlnj/lib/noweb-tool.cm/.cm/%%MLARCH%%-unix/noweb-tool.cm
69
smlnj/lib/nw-ext.cm/.cm/%%MLARCH%%-unix/nw-ext.cm
94
smlnj/lib/nw-ext.cm/.cm/%%MLARCH%%-unix/nw-ext.cm
70
smlnj/lib/pathconfig
95
smlnj/lib/pathconfig
96
%%EVERYTHING%%smlnj/lib/pgraph-util.cm/.cm/%%MLARCH%%-unix/pgraph-util.cm
71
smlnj/lib/pgraph.cm/.cm/%%MLARCH%%-unix/pgraph.cm
97
smlnj/lib/pgraph.cm/.cm/%%MLARCH%%-unix/pgraph.cm
72
smlnj/lib/pickle-lib.cm/.cm/%%MLARCH%%-unix/pickle-lib.cm
98
smlnj/lib/pickle-lib.cm/.cm/%%MLARCH%%-unix/pickle-lib.cm
73
smlnj/lib/reactive-lib.cm/.cm/%%MLARCH%%-unix/reactive-lib.cm
99
smlnj/lib/reactive-lib.cm/.cm/%%MLARCH%%-unix/reactive-lib.cm
74
smlnj/lib/regexp-lib.cm/.cm/%%MLARCH%%-unix/regexp-lib.cm
100
smlnj/lib/regexp-lib.cm/.cm/%%MLARCH%%-unix/regexp-lib.cm
101
smlnj/lib/sexp-lib.cm/.cm/%%MLARCH%%-unix/sexp-lib.cm
75
smlnj/lib/shell-tool.cm/.cm/%%MLARCH%%-unix/shell-tool.cm
102
smlnj/lib/shell-tool.cm/.cm/%%MLARCH%%-unix/shell-tool.cm
76
smlnj/lib/smlnj-tdp/.cm/%%MLARCH%%-unix/back-trace.cm
103
smlnj/lib/smlnj-tdp/.cm/%%MLARCH%%-unix/back-trace.cm
77
smlnj/lib/smlnj-tdp/.cm/%%MLARCH%%-unix/coverage.cm
104
smlnj/lib/smlnj-tdp/.cm/%%MLARCH%%-unix/coverage.cm
Lines 168-173 Link Here
168
@dirrm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix
195
@dirrm smlnj/lib/SMLNJ-MLRISC/.cm/%%MLARCH%%-unix
169
@dirrm smlnj/lib/SMLNJ-MLRISC/.cm
196
@dirrm smlnj/lib/SMLNJ-MLRISC/.cm
170
@dirrm smlnj/lib/SMLNJ-MLRISC
197
@dirrm smlnj/lib/SMLNJ-MLRISC
198
@dirrm smlnj/lib/burg-ext.cm/.cm/%%MLARCH%%-unix
199
@dirrm smlnj/lib/burg-ext.cm/.cm
200
@dirrm smlnj/lib/burg-ext.cm
201
@dirrm smlnj/lib/c/memory/.cm/%%MLARCH%%-unix
202
@dirrm smlnj/lib/c/memory/.cm
203
@dirrm smlnj/lib/c/memory
204
@dirrm smlnj/lib/c/internals/.cm/%%MLARCH%%-unix
205
@dirrm smlnj/lib/c/internals/.cm
206
@dirrm smlnj/lib/c/internals
207
@dirrm smlnj/lib/c/.cm/%%MLARCH%%-unix
208
@dirrm smlnj/lib/c/.cm
209
@dirrm smlnj/lib/c
210
@dirrm smlnj/lib/ckit-lib.cm/.cm/%%MLARCH%%-unix
211
@dirrm smlnj/lib/ckit-lib.cm/.cm
212
@dirrm smlnj/lib/ckit-lib.cm
171
@dirrm smlnj/lib/cml/.cm/%%MLARCH%%-unix
213
@dirrm smlnj/lib/cml/.cm/%%MLARCH%%-unix
172
@dirrm smlnj/lib/cml/.cm
214
@dirrm smlnj/lib/cml/.cm
173
@dirrm smlnj/lib/cml
215
@dirrm smlnj/lib/cml
Lines 177-182 Link Here
177
@dirrm smlnj/lib/dir-tool.cm/.cm/%%MLARCH%%-unix
219
@dirrm smlnj/lib/dir-tool.cm/.cm/%%MLARCH%%-unix
178
@dirrm smlnj/lib/dir-tool.cm/.cm
220
@dirrm smlnj/lib/dir-tool.cm/.cm
179
@dirrm smlnj/lib/dir-tool.cm
221
@dirrm smlnj/lib/dir-tool.cm
222
%%EVERYTHING%%@dirrm smlnj/lib/eXene.cm/.cm/%%MLARCH%%-unix
223
%%EVERYTHING%%@dirrm smlnj/lib/eXene.cm/.cm
224
%%EVERYTHING%%@dirrm smlnj/lib/eXene.cm
180
@dirrm smlnj/lib/grm-ext.cm/.cm/%%MLARCH%%-unix
225
@dirrm smlnj/lib/grm-ext.cm/.cm/%%MLARCH%%-unix
181
@dirrm smlnj/lib/grm-ext.cm/.cm
226
@dirrm smlnj/lib/grm-ext.cm/.cm
182
@dirrm smlnj/lib/grm-ext.cm
227
@dirrm smlnj/lib/grm-ext.cm
Lines 183-188 Link Here
183
@dirrm smlnj/lib/hash-cons-lib.cm/.cm/%%MLARCH%%-unix
228
@dirrm smlnj/lib/hash-cons-lib.cm/.cm/%%MLARCH%%-unix
184
@dirrm smlnj/lib/hash-cons-lib.cm/.cm
229
@dirrm smlnj/lib/hash-cons-lib.cm/.cm
185
@dirrm smlnj/lib/hash-cons-lib.cm
230
@dirrm smlnj/lib/hash-cons-lib.cm
231
@dirrm smlnj/lib/html4-lib.cm/.cm/%%MLARCH%%-unix
232
@dirrm smlnj/lib/html4-lib.cm/.cm
233
@dirrm smlnj/lib/html4-lib.cm
186
@dirrm smlnj/lib/inet-lib.cm/.cm/%%MLARCH%%-unix
234
@dirrm smlnj/lib/inet-lib.cm/.cm/%%MLARCH%%-unix
187
@dirrm smlnj/lib/inet-lib.cm/.cm
235
@dirrm smlnj/lib/inet-lib.cm/.cm
188
@dirrm smlnj/lib/inet-lib.cm
236
@dirrm smlnj/lib/inet-lib.cm
Lines 204-212 Link Here
204
@dirrm smlnj/lib/ml-ulex-tool.cm/.cm/%%MLARCH%%-unix
252
@dirrm smlnj/lib/ml-ulex-tool.cm/.cm/%%MLARCH%%-unix
205
@dirrm smlnj/lib/ml-ulex-tool.cm/.cm
253
@dirrm smlnj/lib/ml-ulex-tool.cm/.cm
206
@dirrm smlnj/lib/ml-ulex-tool.cm
254
@dirrm smlnj/lib/ml-ulex-tool.cm
255
@dirrm smlnj/lib/mlburg-tool.cm/.cm/%%MLARCH%%-unix
256
@dirrm smlnj/lib/mlburg-tool.cm/.cm
257
@dirrm smlnj/lib/mlburg-tool.cm
207
@dirrm smlnj/lib/mllex-tool.cm/.cm/%%MLARCH%%-unix
258
@dirrm smlnj/lib/mllex-tool.cm/.cm/%%MLARCH%%-unix
208
@dirrm smlnj/lib/mllex-tool.cm/.cm
259
@dirrm smlnj/lib/mllex-tool.cm/.cm
209
@dirrm smlnj/lib/mllex-tool.cm
260
@dirrm smlnj/lib/mllex-tool.cm
261
%%EVERYTHING%%@dirrm smlnj/lib/mlrisc-tools/.cm/%%MLARCH%%-unix
262
%%EVERYTHING%%@dirrm smlnj/lib/mlrisc-tools/.cm
263
%%EVERYTHING%%@dirrm smlnj/lib/mlrisc-tools
210
@dirrm smlnj/lib/mlyacc-tool.cm/.cm/%%MLARCH%%-unix
264
@dirrm smlnj/lib/mlyacc-tool.cm/.cm/%%MLARCH%%-unix
211
@dirrm smlnj/lib/mlyacc-tool.cm/.cm
265
@dirrm smlnj/lib/mlyacc-tool.cm/.cm
212
@dirrm smlnj/lib/mlyacc-tool.cm
266
@dirrm smlnj/lib/mlyacc-tool.cm
Lines 216-221 Link Here
216
@dirrm smlnj/lib/nw-ext.cm/.cm/%%MLARCH%%-unix
270
@dirrm smlnj/lib/nw-ext.cm/.cm/%%MLARCH%%-unix
217
@dirrm smlnj/lib/nw-ext.cm/.cm
271
@dirrm smlnj/lib/nw-ext.cm/.cm
218
@dirrm smlnj/lib/nw-ext.cm
272
@dirrm smlnj/lib/nw-ext.cm
273
%%EVERYTHING%%@dirrm smlnj/lib/pgraph-util.cm/.cm/%%MLARCH%%-unix
274
%%EVERYTHING%%@dirrm smlnj/lib/pgraph-util.cm/.cm
275
%%EVERYTHING%%@dirrm smlnj/lib/pgraph-util.cm
219
@dirrm smlnj/lib/pgraph.cm/.cm/%%MLARCH%%-unix
276
@dirrm smlnj/lib/pgraph.cm/.cm/%%MLARCH%%-unix
220
@dirrm smlnj/lib/pgraph.cm/.cm
277
@dirrm smlnj/lib/pgraph.cm/.cm
221
@dirrm smlnj/lib/pgraph.cm
278
@dirrm smlnj/lib/pgraph.cm
Lines 228-233 Link Here
228
@dirrm smlnj/lib/regexp-lib.cm/.cm/%%MLARCH%%-unix
285
@dirrm smlnj/lib/regexp-lib.cm/.cm/%%MLARCH%%-unix
229
@dirrm smlnj/lib/regexp-lib.cm/.cm
286
@dirrm smlnj/lib/regexp-lib.cm/.cm
230
@dirrm smlnj/lib/regexp-lib.cm
287
@dirrm smlnj/lib/regexp-lib.cm
288
@dirrm smlnj/lib/sexp-lib.cm/.cm/%%MLARCH%%-unix
289
@dirrm smlnj/lib/sexp-lib.cm/.cm
290
@dirrm smlnj/lib/sexp-lib.cm
231
@dirrm smlnj/lib/shell-tool.cm/.cm/%%MLARCH%%-unix
291
@dirrm smlnj/lib/shell-tool.cm/.cm/%%MLARCH%%-unix
232
@dirrm smlnj/lib/shell-tool.cm/.cm
292
@dirrm smlnj/lib/shell-tool.cm/.cm
233
@dirrm smlnj/lib/shell-tool.cm
293
@dirrm smlnj/lib/shell-tool.cm

Return to bug 191899