Changeset - 036b2a30b94c
[Not reviewed]
0 1 0
HanzZ - 13 years ago 2012-04-10 19:32:51
hanzz.k@gmail.com
script fix
1 file changed with 1 insertions and 1 deletions:
0 comments (0 inline, 0 general)
backends/libpurple/gen_dynamic_purple.py
Show inline comments
 
@@ -116,93 +116,93 @@ def get_rtype(d):
 
def output():
 
	global definitions
 

	
 
	header = open("purple_defs.h", "w")
 
	print >> header, "#pragma once"
 
	print >> header, "#ifdef WIN32"
 

	
 
	for d in definitions:
 
		#typedef void (WINAPI * purple_util_set_user_wrapped_func)(const char *dir);
 
		print >> header, "typedef", get_rtype(d), "(WINAPI *", get_name(d)[:-1] + "_wrapped_fnc)(" + get_raw_args(d) + ");"
 
		#extern purple_util_set_user_wrapped_func purple_util_set_user_wrapped;
 
		print >> header, "extern", get_name(d)[:-1] + "_wrapped_fnc", get_name(d)[:-1] + "_wrapped;"
 
		print >> header, ""
 

	
 
	print >> header, ""
 
	print >> header, "#else"
 
	print >> header, ""
 
	for d in definitions:
 
		#define purple_util_set_user_wrapped purple_util_set_user
 
		print >> header, "#define", get_name(d)[:-1] + "_wrapped", get_name(d)[:-1]
 
			
 
	print >> header, "#endif"
 
	print >> header, ""
 
	print >> header, "bool resolvePurpleFunctions();"
 
	print >> header, ""
 

	
 

	
 
	cpp = open("purple_defs.cpp", "w")
 
	print >> cpp, "#include \"purple_defs.h\""
 
	print >> cpp, ""
 
	print >> cpp, "#ifdef WIN32"
 
	print >> cpp, "static HMODULE f_hPurple = NULL;"
 
	for d in definitions:
 
		#purple_util_set_user_wrapped_fnc purple_util_set_user_wrapped = NULL;
 
		print >> cpp, get_name(d)[:-1] + "_wrapped_fnc", get_name(d)[:-1] + "_wrapped = NULL;"
 

	
 
	print >> cpp, "#endif"
 

	
 
	print >> cpp, "bool resolvePurpleFunctions() {"
 
	print >> cpp, "#ifdef WIN32"
 
	print >> cpp, "\tf_hPurple = LoadLibrary(\"libpurple.dll\");"
 
	print >> cpp, "\tif (!f_hPurple)"
 
	print >> cpp, "\t\t\treturn false;"
 
	for d in definitions:
 
		#purple_util_set_user_wrapped = (purple_util_set_user_wrapped_func)GetProcAddress(f_hPurple, "purple_util_set_user_dir");
 
		print >> cpp, "\t" + get_name(d)[:-1] + "_wrapped = (" + get_name(d)[:-1] + "_wrapped_fnc)GetProcAddress(f_hPurple, \"" + get_name(d)[:-1] + "\");"
 
		#if (!purple_util_set_user_wrapped)
 
		print >> cpp, "\tif (!" + get_name(d)[:-1] + "_wrapped)"
 
		print >> cpp, "\t\treturn false";
 
		print >> cpp, "\t\treturn false;"
 
		print >> cpp, ""
 
	print >> cpp, "#endif"
 

	
 
	print >> cpp, "\treturn true;"
 
	print >> cpp, "}"
 
	print >> cpp, ""
 

	
 
	cpp.close()
 
	header.close()
 
		
 

	
 
for f in os.listdir("."):
 
	if not f.endswith(".cpp") or f.startswith("purple_defs"):
 
		continue
 
	new_file = handle_file(f)
 

	
 
	print "updating", f
 
	fd = open(f, "w")
 
	fd.write(new_file)
 
	fd.close()
 

	
 
for f in os.listdir(sys.argv[1]):
 
	if not f.endswith(".h"):
 
		continue
 
	for m in methods:
 
		handle_header(f, m)
 

	
 
sys.argv[1] = sys.argv[1] + "/win32"
 
for f in os.listdir(sys.argv[1]):
 
	if not f.endswith(".h"):
 
		continue
 
	for m in methods:
 
		handle_header(f, m)
 

	
 
for m in methods:
 
	found = False
 
	for d in definitions:
 
		if d.find(m[:-1]) != -1:
 
			found = True
 
			break
 
	if not found:
 
		print "NOT FOUND:", m
 

	
 
output()
0 comments (0 inline, 0 general)