config revision 12027
12139SN/A#! /bin/sh
22139SN/A
32139SN/A# set -x
42139SN/A
52139SN/A: ${LN_S:="ln -s"}
62139SN/A
72139SN/A# rm -f Makefile Makefile.md README.md qtmd.h qtmdb.s qtmdc.c qtmds.s configuration
82139SN/Arm -f qtmdc.c qtmds.s configuration
92139SN/A
102139SN/Acase $1 in
112139SN/A	axp*)
122139SN/A		: "DEC AXP"
132139SN/A		case $1 in
142139SN/A			axp-osf1*)
152139SN/A				: "Compile using /bin/cc under OSF 1.x."
162139SN/A#				${LN_S} md/axp.1.Makefile Makefile.md
172139SN/A				;;
182139SN/A			axp-osf2*)
192139SN/A				: "Compile using /bin/cc under OSF 2.x."
202139SN/A#				${LN_S} md/axp.1.Makefile Makefile.md
212139SN/A				;;
222139SN/A			*)
232139SN/A				: "Compile using GNU CC."
242139SN/A#				${LN_S} md/axp.Makefile Makefile.md
252139SN/A				;;
262139SN/A		esac
272139SN/A
282665Ssaidi@eecs.umich.edu#		${LN_S} md/axp.h qtmd.h
292665Ssaidi@eecs.umich.edu		${LN_S} md/axp.c qtmdc.c
302139SN/A		${LN_S} md/axp.s qtmds.s
314202Sbinkertn@umich.edu#		${LN_S} md/axp_b.s qtmdb.s
322139SN/A#		${LN_S} md/axp.README README.md
334202Sbinkertn@umich.edu		iter_init=1000000000
342152SN/A		iter_runone=10000000
352152SN/A		iter_blockint=10000000
362139SN/A		iter_blockfloat=10000000
372139SN/A		iter_vainit0=10000000
382139SN/A		iter_vainit2=10000000
392139SN/A		iter_vainit4=10000000
402139SN/A		iter_vainit8=10000000
412152SN/A		iter_vastart0=10000000
422152SN/A		iter_vastart2=10000000
432139SN/A		iter_vastart4=10000000
442139SN/A		iter_vastart8=10000000
452139SN/A		iter_bench_call_reg=10000000
464781Snate@binkert.org		iter_bench_call_imm=10000000
474781Snate@binkert.org		iter_bench_add=100000000
484781Snate@binkert.org		iter_bench_load=100000000
494781Snate@binkert.org		;;
504781Snate@binkert.org
513170Sstever@eecs.umich.edu       hppa*)
525664Sgblack@eecs.umich.edu		: "HP's PA-RISC 1.1 processors."
533806Ssaidi@eecs.umich.edu
544781Snate@binkert.org		case $1 in
554781Snate@binkert.org			hppa-cnx-spp*)
564781Snate@binkert.org				: "Convex SPP (PA-RISC 1.1 processors)."
574781Snate@binkert.org#				${LN_S} md/hppa-cnx.Makefile Makefile.md
584781Snate@binkert.org				;;
594781Snate@binkert.org			*)
604781Snate@binkert.org#				${LN_S} md/hppa.Makefile Makefile.md
614781Snate@binkert.org				;;
624781Snate@binkert.org		esac
634781Snate@binkert.org
642139SN/A#		${LN_S} md/hppa.h qtmd.h
652139SN/A#		${LN_S} md/null.c qtmdc.c
663546Sgblack@eecs.umich.edu		${LN_S} md/hppa.s qtmds.s
674202Sbinkertn@umich.edu#		${LN_S} md/hppa_b.s qtmdb.s
682152SN/A		iter_init=10000000
692152SN/A		iter_runone=1000000
702152SN/A		iter_blockint=1000000
712152SN/A		iter_blockfloat=1000000
722152SN/A		iter_vainit0=1000000
732152SN/A		iter_vainit2=1000000
742152SN/A		iter_vainit4=1000000
752152SN/A		iter_vainit8=1000000
762152SN/A		iter_vastart0=1000000
772152SN/A		iter_vastart2=1000000
782152SN/A		iter_vastart4=1000000
792152SN/A		iter_vastart8=1000000
802504SN/A		iter_bench_call_reg=10000000
812504SN/A		iter_bench_call_imm=10000000
822504SN/A		iter_bench_add=100000000
832504SN/A		iter_bench_load=100000000
842152SN/A		;;
852504SN/A
862152SN/A	x86_64*)
872152SN/A		case $1 in
882152SN/A			iX86-ss*)
892152SN/A				: "Assembler comments '//'"
902152SN/A				sed 's/\/\*/\/\//' < md/i386_64.s > qtmds.s
912152SN/A				;;
922152SN/A				
932152SN/A			*)
942632Sstever@eecs.umich.edu				${LN_S} md/iX86_64.s qtmds.s
952155SN/A				;;
962155SN/A		esac
972155SN/A		: "Intel X386 64-bit and compatibles"
982155SN/A#		${LN_S} md/null.c qtmdc.c
992155SN/A		iter_init=10000000
1002155SN/A		iter_runone=1000000
1015228Sgblack@eecs.umich.edu		iter_blockint=1000000
1022155SN/A		iter_blockfloat=1000000
1032155SN/A		iter_vainit0=1000000
1042155SN/A		iter_vainit2=1000000
1052152SN/A		iter_vainit4=1000000
1062766Sktlim@umich.edu		iter_vainit8=1000000
1072766Sktlim@umich.edu		iter_vastart0=1000000
1082766Sktlim@umich.edu		iter_vastart2=1000000
1092766Sktlim@umich.edu		iter_vastart4=1000000
1102766Sktlim@umich.edu		iter_vastart8=1000000
1112152SN/A		iter_bench_call_reg=1000000
1122152SN/A		iter_bench_call_imm=1000000
1132152SN/A		iter_bench_add=100000000
1142155SN/A		iter_bench_load=10000000
1152152SN/A		;;
1162152SN/A
1172718Sstever@eecs.umich.edu    iX86*)
1182921Sktlim@umich.edu        case $1 in
1192921Sktlim@umich.edu            iX86-ss*)
1202921Sktlim@umich.edu                : "Assembler comments '//'"
1212921Sktlim@umich.edu                sed 's/\/\*/\/\//' < md/i386.s > qtmds.s
1222921Sktlim@umich.edu#               sed 's/\/\*/\/\//' < md/i386_b.s > qtmdb.s
1232921Sktlim@umich.edu                ;;
1242921Sktlim@umich.edu                
1252921Sktlim@umich.edu            *)
1262921Sktlim@umich.edu                ${LN_S} md/i386.s qtmds.s
1272152SN/A#               ${LN_S} md/i386_b.s qtmdb.s
1282152SN/A                ;;
129        esac
130        : "Intel 80386 and compatibles (not '286...)"
131#       ${LN_S} md/default.Makefile Makefile.md
132#       ${LN_S} md/i386.h qtmd.h
133#       ${LN_S} md/null.c qtmdc.c
134#       ${LN_S} md/i386.README README.md
135        iter_init=10000000
136        iter_runone=1000000
137        iter_blockint=1000000
138        iter_blockfloat=1000000
139        iter_vainit0=1000000
140        iter_vainit2=1000000
141        iter_vainit4=1000000
142        iter_vainit8=1000000
143        iter_vastart0=1000000
144        iter_vastart2=1000000
145        iter_vastart4=1000000
146        iter_vastart8=1000000
147        iter_bench_call_reg=1000000
148        iter_bench_call_imm=1000000
149        iter_bench_add=100000000
150        iter_bench_load=10000000
151        ;;
152
153
154	m68k)
155		: "Motorola 68000 family -- incomplete!"
156#		${LN_S} md/default.Makefile Makefile.md
157#		${LN_S} md/m68k.h qtmd.h
158#		${LN_S} md/null.c qtmdc.c
159		${LN_S} md/m68k.s qtmds.s
160#		${LN_S} md/m68k_b.s qtmdb.s
161#		${LN_S} md/null.README README.md
162		;;
163
164	m88k)
165		: "Motorola 88000 family"
166#		${LN_S} md/m88k.Makefile Makefile.md
167#		${LN_S} md/m88k.h qtmd.h
168		${LN_S} md/m88k.c qtmdc.c
169		${LN_S} md/m88k.s qtmds.s
170#		${LN_S} md/m88k_b.s qtmdb.s
171#		${LN_S} md/null.README README.md
172		iter_init=1000000
173		iter_runone=100000
174		iter_blockint=100000
175		iter_blockfloat=100000
176		iter_vainit0=100000
177		iter_vainit2=100000
178		iter_vainit4=100000
179		iter_vainit8=100000
180		iter_vastart0=100000
181		iter_vastart2=100000
182		iter_vastart4=100000
183		iter_vastart8=100000
184		iter_bench_call_reg=100000000
185		iter_bench_call_imm=100000000
186		iter_bench_add=1000000000
187		iter_bench_load=100000000
188		;;
189
190	mips*)
191		: "MIPS R2000 and R3000."
192
193		case $1 in
194			mips-irix5*)
195				: "Silicon Graphics Irix with dynamic linking"
196				: "Use mips for irix4."
197				${LN_S} md/mips-irix5.s qtmds.s
198				;;
199			*)
200				${LN_S} md/mips.s qtmds.s
201				;;
202		esac
203
204#		${LN_S} md/default.Makefile Makefile.md
205#		${LN_S} md/mips.h qtmd.h
206#		${LN_S} md/null.c qtmdc.c
207#		${LN_S} md/mips_b.s qtmdb.s
208#		${LN_S} md/null.README README.md
209		iter_init=10000000
210		iter_runone=10000000
211		iter_blockint=10000000
212		iter_blockfloat=10000000
213		iter_vainit0=1000000
214		iter_vainit2=1000000
215		iter_vainit4=1000000
216		iter_vainit8=1000000
217		iter_vastart0=1000000
218		iter_vastart2=1000000
219		iter_vastart4=1000000
220		iter_vastart8=1000000
221		iter_bench_call_reg=100000000
222		iter_bench_call_imm=100000000
223		iter_bench_add=1000000000
224		iter_bench_load=100000000
225		;;
226
227	sparc*)
228		: "SPARC processors"
229		case $1 in
230			sparc-os2*)
231				sed 's/_qt_/qt_/' md/sparc.s > qtmds.s
232#				sed 's/_b_/b_/' md/sparc_b.s > qtmdb.s
233#				${LN_S} md/solaris.README README.md
234				;;
235			*)
236				${LN_S} md/sparc.s qtmds.s
237#				${LN_S} md/sparc_b.s qtmdb.s
238#				${LN_S} md/null.README README.md
239				;;
240		esac
241
242 		${LN_S} md/default.Makefile Makefile.md
243#		${LN_S} md/sparc.h qtmd.h
244#		${LN_S} md/null.c qtmdc.c
245		iter_init=10000000
246		iter_runone=1000000
247		iter_blockint=1000000
248		iter_blockfloat=1000000
249		iter_vainit0=1000000
250		iter_vainit2=1000000
251		iter_vainit4=1000000
252		iter_vainit8=1000000
253		iter_vastart0=1000000
254		iter_vastart2=1000000
255		iter_vastart4=1000000
256		iter_vastart8=1000000
257		iter_bench_call_reg=10000000
258		iter_bench_call_imm=10000000
259		iter_bench_add=100000000
260		iter_bench_load=100000000
261		;;
262
263	vax*)
264		: "DEC VAX processors."
265#		${LN_S} md/default.Makefile Makefile.md
266#		${LN_S} md/vax.h qtmd.h
267#		${LN_S} md/null.c qtmdc.c
268		${LN_S} md/vax.s qtmds.s
269#		${LN_S} md/vax_b.s qtmdb.s
270#		${LN_S} md/null.README README.md
271		iter_init=1000000
272		iter_runone=100000
273		iter_blockint=100000
274		iter_blockfloat=100000
275		iter_vainit0=100000
276		iter_vainit2=100000
277		iter_vainit4=100000
278		iter_vainit8=100000
279		iter_vastart0=100000
280		iter_vastart2=100000
281		iter_vastart4=100000
282		iter_vastart8=100000
283		iter_bench_call_reg=10000000
284		iter_bench_call_imm=10000000
285		iter_bench_add=10000000
286		iter_bench_load=1000000
287		;;
288
289	ksr1)
290		: "Kendall Square Research model KSR-1."
291		: "Varargs is not currently supported."
292#		${LN_S} md/ksr1.Makefile Makefile.md
293#		${LN_S} md/ksr1.h qtmd.h
294#		${LN_S} md/null.c qtmdc.c
295		${LN_S} md/ksr1.s qtmds.s
296#		${LN_S} md/ksr1_b.s qtmdb.s
297#		${LN_S} md/null.README README.md
298		iter_init=1000000
299		iter_runone=100000
300		iter_blockint=100000
301		iter_blockfloat=100000
302		iter_vainit0=100000
303		iter_vainit2=100000
304		iter_vainit4=100000
305		iter_vainit8=100000
306		iter_vastart0=100000
307		iter_vastart2=100000
308		iter_vastart4=100000
309		iter_vastart8=100000
310		iter_bench_call_reg=10000000
311		iter_bench_call_imm=10000000
312		iter_bench_add=10000000
313		iter_bench_load=1000000
314		;;
315
316    powerpc*)
317        : "PowerPC IBM/Motorola processors."
318
319        case $1 in
320			powerpc-apple-macosx*)
321				: "PowerPC using Mach Application Binary Interface"
322                : "NOTICE: Darwin assembler syntax is used:"
323                : "  (i.e. registers are named rx not %rx)"
324                ${LN_S} md/default.Makefile Makefile.md
325#               ${LN_S} md/powerpc_mach.h qtmd.h
326                ${LN_S} md/powerpc_mach.s qtmds.s
327                ;;
328            powerpc-linux*)
329                : "PowerPC using System V Application Binary Interface"
330                : "  (e.g. LinuxPPC)"
331                : "Use powerpc-darwin for MacOS X and other systems based on Mac
332h ABI"
333#               ${LN_S} md/powerpc_sys5.h qtmd.h
334                ${LN_S} md/powerpc_sys5.s qtmds.s
335                ;;
336            *)
337                echo "Unknown configuration"
338                echo "See md/powerpc.README for documentation"
339                echo "Use powerpc-darwin for MacOS X and other systems based on
340Mach ABI"
341                echo "Use powerpc-linux for Linux and other systems based on Sys
342tem V ABI"
343                exit 1
344                ;;
345
346        esac
347
348        ${LN_S} md/powerpc.c qtmdc.c
349        ${LN_S} md/powerpc.README README.md
350        ;;
351
352
353	pthreads*)
354		: Posix thread support rather than Quick threads.
355#		${LN_S} md/hppa.h qtmd.h
356#		${LN_S} md/null.c qtmdc.c
357#		${LN_S} md/null.s qtmds.s
358#		${LN_S} md/hppa_b.s qtmdb.s
359#		cp md/pthreads.Makefile Makefile
360		exit 0
361		;;
362
363	clean)
364		: Deconfigure
365		exit 0
366		;;
367
368	*)
369		echo "Unknown configuration"
370		exit 1
371		;;
372esac
373
374# cat Makefile.md Makefile.base > Makefile
375
376echo set config_machine=$1 >> configuration
377echo set config_init=$iter_init >> configuration
378echo set config_runone=$iter_runone >> configuration
379echo set config_blockint=$iter_blockint >> configuration
380echo set config_blockfloat=$iter_blockfloat >> configuration
381echo set config_vainit0=$iter_vainit0 >> configuration
382echo set config_vainit2=$iter_vainit2 >> configuration
383echo set config_vainit4=$iter_vainit4 >> configuration
384echo set config_vainit8=$iter_vainit8 >> configuration
385echo set config_vastart0=$iter_vastart0 >> configuration
386echo set config_vastart2=$iter_vastart2 >> configuration
387echo set config_vastart4=$iter_vastart4 >> configuration
388echo set config_vastart8=$iter_vastart8 >> configuration
389echo set config_bcall_reg=$iter_bench_call_reg >> configuration
390echo set config_bcall_imm=$iter_bench_call_imm >> configuration
391echo set config_b_add=$iter_bench_add >> configuration
392echo set config_b_load=$iter_bench_load >> configuration
393