Merge pull request #109 from alliedmodders/binreloc
Enable binreloc for OS X.
This commit is contained in:
commit
6e48ded1a6
@ -441,6 +441,7 @@ REGISTER_NATIVES(nativeNatives)
|
||||
{"GetNativeArray", GetNativeArray},
|
||||
{"GetNativeCell", GetNativeCell},
|
||||
{"GetNativeCellRef", GetNativeCellRef},
|
||||
{"GetNativeFunction", GetNativeCell},
|
||||
{"GetNativeString", GetNativeString},
|
||||
{"GetNativeStringLength", GetNativeStringLength},
|
||||
{"FormatNativeString", FormatNativeString},
|
||||
|
@ -428,6 +428,15 @@ native SetNativeString(param, const String:source[], maxlength, bool:utf8=true,
|
||||
*/
|
||||
native any:GetNativeCell(param);
|
||||
|
||||
/**
|
||||
* Gets a function pointer from a native parameter.
|
||||
*
|
||||
* @param param Parameter number, starting from 1.
|
||||
* @return Function pointer at the given parameter number.
|
||||
* @error Invalid parameter number, or calling from a non-native function.
|
||||
*/
|
||||
native Function GetNativeFunction(param);
|
||||
|
||||
/**
|
||||
* Gets a cell from a native parameter, by reference.
|
||||
*
|
||||
|
@ -70,7 +70,7 @@ binary.sources += [
|
||||
'zlib/zutil.c',
|
||||
'sp_symhash.c'
|
||||
]
|
||||
if builder.target_platform == 'linux':
|
||||
if builder.target_platform != 'windows':
|
||||
binary.sources.append('binreloc.c')
|
||||
|
||||
SM.spcomp = builder.Add(binary)
|
||||
|
@ -654,7 +654,7 @@ const char *pc_tagname(int tag)
|
||||
if ((int)(ptr->value & TAGMASK) == (tag & TAGMASK))
|
||||
return ptr->name;
|
||||
}
|
||||
return "<unknown>";
|
||||
return "__unknown__";
|
||||
}
|
||||
|
||||
constvalue *pc_tagptr(const char *name)
|
||||
@ -1196,9 +1196,6 @@ static void setopt(int argc,char **argv,char *oname,char *ename,char *pname,
|
||||
#endif
|
||||
static void setconfig(char *root)
|
||||
{
|
||||
#if defined macintosh
|
||||
insert_path(":include:");
|
||||
#else
|
||||
char path[_MAX_PATH];
|
||||
char *ptr,*base;
|
||||
int len;
|
||||
@ -1206,7 +1203,7 @@ static void setconfig(char *root)
|
||||
/* add the default "include" directory */
|
||||
#if defined __WIN32__ || defined _WIN32
|
||||
GetModuleFileNameA(NULL,path,_MAX_PATH);
|
||||
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__
|
||||
#elif defined LINUX || defined __FreeBSD__ || defined __OpenBSD__ || defined DARWIN
|
||||
/* see www.autopackage.org for the BinReloc module */
|
||||
br_init_lib(NULL);
|
||||
ptr=br_find_exe("spcomp");
|
||||
@ -1215,7 +1212,6 @@ static void setconfig(char *root)
|
||||
#else
|
||||
if (root!=NULL)
|
||||
strlcpy(path,root,sizeof path); /* path + filename (hopefully) */
|
||||
#endif
|
||||
# if defined __MSDOS__
|
||||
/* strip the options (appended to the path + filename) */
|
||||
if ((ptr=strpbrk(path," \t/"))!=NULL)
|
||||
@ -2882,7 +2878,7 @@ static void decl_const(int vclass)
|
||||
if (expecttoken(tSYMBOL, &tok))
|
||||
strcpy(constname, tok.str);
|
||||
else
|
||||
strcpy(constname, "<unknown>");
|
||||
strcpy(constname, "__unknown__");
|
||||
|
||||
symbolline=fline; /* save line where symbol was found */
|
||||
needtoken('=');
|
||||
@ -3266,7 +3262,7 @@ static int parse_old_decl(declinfo_t *decl, int flags)
|
||||
if ((flags & DECLFLAG_MAYBE_FUNCTION) && matchtoken(tOPERATOR)) {
|
||||
decl->opertok = operatorname(decl->name);
|
||||
if (decl->opertok == 0)
|
||||
strcpy(decl->name, "<unknown>");
|
||||
strcpy(decl->name, "__unknown__");
|
||||
} else {
|
||||
if (!lexpeek(tSYMBOL)) {
|
||||
switch (lextok(&tok)) {
|
||||
@ -3284,7 +3280,7 @@ static int parse_old_decl(declinfo_t *decl, int flags)
|
||||
if (expecttoken(tSYMBOL, &tok))
|
||||
strcpy(decl->name, tok.str);
|
||||
else
|
||||
strcpy(decl->name, "<unknown>");
|
||||
strcpy(decl->name, "__unknown__");
|
||||
}
|
||||
}
|
||||
|
||||
@ -3322,10 +3318,10 @@ static int parse_new_decl(declinfo_t *decl, const token_t *first, int flags)
|
||||
if ((flags & DECLFLAG_MAYBE_FUNCTION) && matchtoken(tOPERATOR)) {
|
||||
decl->opertok = operatorname(decl->name);
|
||||
if (decl->opertok == 0)
|
||||
strcpy(decl->name, "<unknown>");
|
||||
strcpy(decl->name, "__unknown__");
|
||||
} else {
|
||||
if (!expecttoken(tSYMBOL, &tok)) {
|
||||
strcpy(decl->name, "<unknown>");
|
||||
strcpy(decl->name, "__unknown__");
|
||||
return FALSE;
|
||||
}
|
||||
strcpy(decl->name, tok.str);
|
||||
@ -3477,7 +3473,7 @@ static void define_constructor(methodmap_t *map, methodmap_method_t *method)
|
||||
symbol *sym = findglb(map->name, sGLOBAL);
|
||||
|
||||
if (sym) {
|
||||
const char *type = "<unknown>";
|
||||
const char *type = "__unknown__";
|
||||
switch (sym->ident) {
|
||||
case iVARIABLE:
|
||||
case iARRAY:
|
||||
@ -3783,11 +3779,11 @@ methodmap_method_t *parse_method(methodmap_t *map)
|
||||
|
||||
// This stores the name of the method (for destructors, we add a ~).
|
||||
token_ident_t ident;
|
||||
strcpy(ident.name, "<unknown>");
|
||||
strcpy(ident.name, "__unknown__");
|
||||
|
||||
// For binding syntax, like X() = Y, this stores the right-hand name.
|
||||
token_ident_t bindsource;
|
||||
strcpy(bindsource.name, "<unknown>");
|
||||
strcpy(bindsource.name, "__unknown__");
|
||||
|
||||
typeinfo_t type;
|
||||
memset(&type, 0, sizeof(type));
|
||||
|
Loading…
Reference in New Issue
Block a user