merged in some of the initial sourcemod changes
--HG-- branch : dvander extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/branches/dvander%403
This commit is contained in:
		
							parent
							
								
									75481e352b
								
							
						
					
					
						commit
						8616a284b7
					
				| @ -50,13 +50,13 @@ | ||||
| #define CTRL_CHAR   '\\'    /* default control character */ | ||||
| #define sCHARBITS   8       /* size of a packed character */ | ||||
| 
 | ||||
| #define sDIMEN_MAX     3    /* maximum number of array dimensions */ | ||||
| #define sLINEMAX     511    /* input line length (in characters) */ | ||||
| #define sDIMEN_MAX     4    /* maximum number of array dimensions */ | ||||
| #define sLINEMAX     1024   /* input line length (in characters) */ | ||||
| #define sCOMP_STACK   32    /* maximum nesting of #if .. #endif sections */ | ||||
| #define sDEF_LITMAX  500    /* initial size of the literal pool, in "cells" */ | ||||
| #define sDEF_AMXSTACK 4096  /* default stack size for AMX files */ | ||||
| #define PREPROC_TERM  '\x7f'/* termination character for preprocessor expressions (the "DEL" code) */ | ||||
| #define sDEF_PREFIX   "default.inc" /* default prefix filename */ | ||||
| #define sDEF_PREFIX   "sourcemod.inc" /* default prefix filename */ | ||||
| 
 | ||||
| typedef union { | ||||
|   void *pv;                 /* e.g. a name */ | ||||
|  | ||||
| @ -195,9 +195,9 @@ int pc_compile(int argc, char *argv[]) | ||||
|   strcpy(binfname,outfname); | ||||
|   ptr=get_extension(binfname); | ||||
|   if (ptr!=NULL && stricmp(ptr,".asm")==0) | ||||
|     set_extension(binfname,".amx",TRUE); | ||||
|     set_extension(binfname,".smx",TRUE); | ||||
|   else | ||||
|     set_extension(binfname,".amx",FALSE); | ||||
|     set_extension(binfname,".smx",FALSE); | ||||
|   /* set output names that depend on the input name */ | ||||
|   if (sc_listing) | ||||
|     set_extension(outfname,".lst",TRUE); | ||||
| @ -605,10 +605,10 @@ static void initglobals(void) | ||||
|   litmax=sDEF_LITMAX;   /* current size of the literal table */ | ||||
|   errnum=0;             /* number of errors */ | ||||
|   warnnum=0;            /* number of warnings */ | ||||
|   optproccall=TRUE;     /* support "procedure call" */ | ||||
|   optproccall=FALSE;    /* sourcemod: do not support "procedure call" */ | ||||
|   verbosity=1;          /* verbosity level, no copyright banner */ | ||||
|   sc_debug=sCHKBOUNDS;  /* by default: bounds checking+assertions */ | ||||
|   pc_optimize=sOPTIMIZE_NOMACRO; | ||||
|   sc_debug=sSYMBOLIC;   /* sourcemod: full debug stuff */ | ||||
|   pc_optimize=sOPTIMIZE_DEFAULT;  /* sourcemod: full optimization */ | ||||
|   sc_packstr=FALSE;     /* strings are unpacked by default */ | ||||
|   #if AMX_COMPACTMARGIN > 2 | ||||
|     sc_compress=TRUE;   /* compress output bytecodes */ | ||||
| @ -758,6 +758,7 @@ static void parseoptions(int argc,char **argv,char *oname,char *ename,char *pnam | ||||
|         chdir(ptr); | ||||
|         break; | ||||
| #endif | ||||
| #if 0 /* not allowed to change for SourceMod */
 | ||||
|       case 'd': | ||||
|         switch (*option_value(ptr)) { | ||||
|         case '0': | ||||
| @ -778,6 +779,7 @@ static void parseoptions(int argc,char **argv,char *oname,char *ename,char *pnam | ||||
|           about(); | ||||
|         } /* switch */ | ||||
|         break; | ||||
| #endif | ||||
|       case 'e': | ||||
|         strlcpy(ename,option_value(ptr),_MAX_PATH); /* set name of error file */ | ||||
|         break; | ||||
| @ -809,7 +811,7 @@ static void parseoptions(int argc,char **argv,char *oname,char *ename,char *pnam | ||||
|         break; | ||||
|       case 'O': | ||||
|         pc_optimize=*option_value(ptr) - '0'; | ||||
|         if (pc_optimize<sOPTIMIZE_NONE || pc_optimize>=sOPTIMIZE_NUMBER) | ||||
|         if (pc_optimize<sOPTIMIZE_NONE || pc_optimize>=sOPTIMIZE_NUMBER || pc_optimize==sOPTIMIZE_NOMACRO) | ||||
|           about(); | ||||
|         break; | ||||
|       case 'p': | ||||
| @ -885,9 +887,11 @@ static void parseoptions(int argc,char **argv,char *oname,char *ename,char *pnam | ||||
|       case ';': | ||||
|         sc_needsemicolon=toggle_option(ptr,sc_needsemicolon); | ||||
|         break; | ||||
| #if 0 /* not allowed to change in SourceMod */
 | ||||
|       case '(': | ||||
|         optproccall=!toggle_option(ptr,!optproccall); | ||||
|         break; | ||||
| #endif | ||||
|       default:                  /* wrong option */ | ||||
|         about(); | ||||
|       } /* switch */ | ||||
| @ -905,8 +909,8 @@ static void parseoptions(int argc,char **argv,char *oname,char *ename,char *pnam | ||||
|       i=atoi(ptr+1); | ||||
|       add_constant(str,i,sGLOBAL,0); | ||||
|     } else { | ||||
|       strlcpy(str,argv[arg],sizeof(str)-2); /* -2 because default extension is ".p" */ | ||||
|       set_extension(str,".p",FALSE); | ||||
|       strlcpy(str,argv[arg],sizeof(str)-5); /* -5 because default extension is ".psrc" */ | ||||
|       set_extension(str,".psrc",FALSE); | ||||
|       insert_sourcefile(str); | ||||
|       /* The output name is the first input name with a different extension,
 | ||||
|        * but it is stored in a different directory | ||||
| @ -1094,7 +1098,8 @@ static void setconfig(char *root) | ||||
| 
 | ||||
| static void setcaption(void) | ||||
| { | ||||
|   pc_printf("Pawn compiler " VERSION_STR "\t \t \tCopyright (c) 1997-2006, ITB CompuPhase\n\n"); | ||||
|   pc_printf("SourcePawn Compiler " SMC_VERSTRING "\n"); | ||||
|   pc_printf("Copyright (c) 1997-2006, ITB CompuPhase, (C)2004-2006 AlliedModders, LLC\n\n"); | ||||
| } | ||||
| 
 | ||||
| static void about(void) | ||||
| @ -1112,11 +1117,13 @@ static void about(void) | ||||
| #if defined dos_setdrive | ||||
|     pc_printf("         -Dpath   active directory path\n"); | ||||
| #endif | ||||
| #if 0 /* not used for SourceMod */
 | ||||
|     pc_printf("         -d<num>  debugging level (default=-d%d)\n",sc_debug); | ||||
|     pc_printf("             0    no symbolic information, no run-time checks\n"); | ||||
|     pc_printf("             1    run-time checks, no symbolic information\n"); | ||||
|     pc_printf("             2    full debug information and dynamic checking\n"); | ||||
|     pc_printf("             3    same as -d2, but implies -O0\n"); | ||||
| #endif | ||||
|     pc_printf("         -e<name> set name of error file (quiet compile)\n"); | ||||
| #if defined	__WIN32__ || defined _WIN32 || defined _Windows | ||||
|     pc_printf("         -H<hwnd> window handle to send a notification message on finish\n"); | ||||
| @ -1126,7 +1133,9 @@ static void about(void) | ||||
|     pc_printf("         -o<name> set base name of (P-code) output file\n"); | ||||
|     pc_printf("         -O<num>  optimization level (default=-O%d)\n",pc_optimize); | ||||
|     pc_printf("             0    no optimization\n"); | ||||
| #if 0 /* not used for SourceMod */
 | ||||
|     pc_printf("             1    JIT-compatible optimizations only\n"); | ||||
| #endif | ||||
|     pc_printf("             2    full optimizations\n"); | ||||
|     pc_printf("         -p<name> set name of \"prefix\" file\n"); | ||||
| #if !defined SC_LIGHT | ||||
| @ -1142,7 +1151,9 @@ static void about(void) | ||||
|     pc_printf("         -\\       use '\\' for escape characters\n"); | ||||
|     pc_printf("         -^       use '^' for escape characters\n"); | ||||
|     pc_printf("         -;[+/-]  require a semicolon to end each statement (default=%c)\n", sc_needsemicolon ? '+' : '-'); | ||||
| #if 0 /* not allowed in SourceMod */
 | ||||
|     pc_printf("         -([+/-]  require parantheses for function invocation (default=%c)\n", optproccall ? '-' : '+'); | ||||
| #endif | ||||
|     pc_printf("         sym=val  define constant \"sym\" with value \"val\"\n"); | ||||
|     pc_printf("         sym=     define constant \"sym\" with value 0\n"); | ||||
| #if defined	__WIN32__ || defined _WIN32 || defined _Windows || defined __MSDOS__ | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user