diff --git a/lib/master.pike.in b/lib/master.pike.in index 99114d12022640c02b040c3b22bcb9de64b2854b..8f49134dfa81bb273b25b1342d49847883053d25 100644 --- a/lib/master.pike.in +++ b/lib/master.pike.in @@ -1,6 +1,6 @@ /* -*- Pike -*- * - * $Id: master.pike.in,v 1.130 2000/09/15 13:11:10 mirar Exp $ + * $Id: master.pike.in,v 1.131 2000/09/24 01:37:01 per Exp $ * * Master-file for Pike. * @@ -937,10 +937,12 @@ mixed resolv_base(string identifier, string|void current_file) } return UNDEFINED; } - +multiset no_resolv = (<>); mapping resolv_cache = set_weak_flag( ([]), 1 ); mixed resolv(string identifier, string|void current_file) { + if( no_resolv[ identifier ] ) + return UNDEFINED; mixed ret; string id=identifier+":"+(current_file ? dirname(current_file) : "-"); if( !zero_type (ret = resolv_cache[id]) ) @@ -1022,6 +1024,7 @@ void _main(array(string) orig_argv, array(string) env) ({"version",tmp->NO_ARG,({"-v","--version"})}), ({"help",tmp->NO_ARG,({"-h","--help"})}), ({"execute",tmp->HAS_ARG,({"-e","--execute"})}), + ({"debug_without",tmp->HAS_ARG,({"--debug-without"})}), ({"preprocess",tmp->HAS_ARG,({"-E","--preprocess"})}), ({"modpath",tmp->HAS_ARG,({"-M","--module-path"})}), ({"ipath",tmp->HAS_ARG,({"-I","--include-path"})}), @@ -1050,7 +1053,32 @@ void _main(array(string) orig_argv, array(string) env) case "autoreload": autoreload_on++; #endif - + case "debug_without": + foreach( q[i][1]/",", string feature ) + { + switch( feature ) + { + case "ttf": + no_resolv[ "_Image_TTF" ] = 1; + break; + case "zlib": + no_resolv[ "Gz" ] = 1; + break; + case "unisys": + no_resolv[ "_Image_GIF" ] = 1; + no_resolv[ "_Image_TIFF" ] = 1; + break; + case "threads": + // not really 100% correct, but good enough for most things. + no_resolv[ "Thread" ] = 1; + add_constant( "thread_create", ([])[0] ); + break; + default: + no_resolv[ feature ] = 1; + break; + } + } + break; case "debug": debug+=(int)q[i][1]; break;