1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-15 07:41:09 -08:00
emacs/mps/qa/test/script/compile
Richard Tucker c1afb35fe2 Mend option processing
Copied from Perforce
 Change: 18182
 ServerID: perforce.ravenbrook.com
1997-05-16 15:29:05 +01:00

52 lines
1.1 KiB
Perl

#!/usr/local/perl
#
# provides subroutines to compile or compile and link
# tests and test libraries.
#
# In future, this will probably do some clever stuff
# depending on the platform &c, but for now it's just
# what works on SunOS.
#
1;
%plat_link = ();
$plat_link{"sol2.4_sparc"} = "-lm";
sub compiler_settings {
$cc_command = "gcc";
$cc_opts = "-ansi -pedantic -Wall -Wstrict-prototypes \\
-Winline -Waggregate-return -Wnested-externs -Wcast-qual \\
-Wshadow -Wmissing-prototypes -Wredundant-decls -Wcast-align \\
-O -g -ggdb3 -DMMQA_VERS_$INTERFACE_VERSION";
$cc_link = "$obj_dir/platform.o $plat_link{$PLATFORM}";
$cc_include = "-I$testlib_dir -I$MPS_INCLUDE_DIR";
}
sub compile {
local($srcfile, $objfile) = @_;
&compiler_settings;
$command = "$cc_command -c $cc_opts -o $objfile $srcfile $cc_include";
if (system($command)) {
return 0;
} else {
return 1;
}
}
sub compile_and_link {
local($srcfile, $exefile, $linkfiles) = @_;
&compiler_settings;
$command = "$cc_command $cc_opts -o $exefile $srcfile \\
$linkfiles $MPS_LINK_OBJ $cc_link $cc_include";
if (system($command)) {
return 0;
} else {
return 1;
}
}