fix compiling error.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@826 bbd45198-f89e-11dd-88c7-29a3b14d5316
This commit is contained in:
parent
4b4a4f2003
commit
787d7681fd
@ -17,6 +17,8 @@ AddOption('--target',
|
|||||||
if GetOption('target'):
|
if GetOption('target'):
|
||||||
SetOption('no_exec', 1)
|
SetOption('no_exec', 1)
|
||||||
|
|
||||||
|
TARGET = target + '.' + rtconfig.TARGET_EXT
|
||||||
|
|
||||||
env = Environment(tools = ['mingw'],
|
env = Environment(tools = ['mingw'],
|
||||||
AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
|
AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
|
||||||
CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS,
|
CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS,
|
||||||
@ -28,6 +30,38 @@ Export('env')
|
|||||||
Export('RTT_ROOT')
|
Export('RTT_ROOT')
|
||||||
Export('rtconfig')
|
Export('rtconfig')
|
||||||
Export('projects')
|
Export('projects')
|
||||||
|
Export('TARGET')
|
||||||
|
|
||||||
|
if env['PLATFORM'] == 'win32' and rtconfig.PLATFORM == 'gcc':
|
||||||
|
import win32file
|
||||||
|
import win32event
|
||||||
|
import win32process
|
||||||
|
import win32security
|
||||||
|
|
||||||
|
def my_spawn(sh, escape, cmd, args, spawnenv):
|
||||||
|
for var in spawnenv:
|
||||||
|
spawnenv[var] = spawnenv[var].encode('ascii', 'replace')
|
||||||
|
|
||||||
|
sAttrs = win32security.SECURITY_ATTRIBUTES()
|
||||||
|
StartupInfo = win32process.STARTUPINFO()
|
||||||
|
newargs = ' '.join(map(escape, args[1:]))
|
||||||
|
cmdline = cmd + " " + newargs
|
||||||
|
|
||||||
|
# check for any special operating system commands
|
||||||
|
if cmd == 'del':
|
||||||
|
for arg in args[1:]:
|
||||||
|
win32file.DeleteFile(arg)
|
||||||
|
exit_code = 0
|
||||||
|
else:
|
||||||
|
# otherwise execute the command.
|
||||||
|
hProcess, hThread, dwPid, dwTid = win32process.CreateProcess(None, cmdline, None, None, 1, 0, spawnenv, None, StartupInfo)
|
||||||
|
win32event.WaitForSingleObject(hProcess, win32event.INFINITE)
|
||||||
|
exit_code = win32process.GetExitCodeProcess(hProcess)
|
||||||
|
win32file.CloseHandle(hProcess);
|
||||||
|
win32file.CloseHandle(hThread);
|
||||||
|
return exit_code
|
||||||
|
|
||||||
|
env['SPAWN'] = my_spawn
|
||||||
|
|
||||||
objs = SConscript(RTT_ROOT + '/src/SConscript', variant_dir='build/src', duplicate=0)
|
objs = SConscript(RTT_ROOT + '/src/SConscript', variant_dir='build/src', duplicate=0)
|
||||||
objs = objs + SConscript(RTT_ROOT + '/libcpu/SConscript', variant_dir='build/libcpu', duplicate=0)
|
objs = objs + SConscript(RTT_ROOT + '/libcpu/SConscript', variant_dir='build/libcpu', duplicate=0)
|
||||||
@ -45,7 +79,6 @@ objs = objs + SConscript('SConscript', variant_dir='build/bsp', duplicate=0)
|
|||||||
Repository(RTT_ROOT)
|
Repository(RTT_ROOT)
|
||||||
objs = objs + SConscript('components/SConscript')
|
objs = objs + SConscript('components/SConscript')
|
||||||
|
|
||||||
TARGET = target + '.' + rtconfig.TARGET_EXT
|
|
||||||
env.Program(TARGET, objs)
|
env.Program(TARGET, objs)
|
||||||
env.AddPostAction(TARGET, rtconfig.POST_ACTION)
|
env.AddPostAction(TARGET, rtconfig.POST_ACTION)
|
||||||
|
|
||||||
|
@ -27,7 +27,7 @@ void run_module(const char* filename)
|
|||||||
int fd, length;
|
int fd, length;
|
||||||
char *module_name;
|
char *module_name;
|
||||||
struct rt_module* module;
|
struct rt_module* module;
|
||||||
struct dfs_stat s;
|
struct _stat s;
|
||||||
char *buffer;
|
char *buffer;
|
||||||
|
|
||||||
stat(filename, &s);
|
stat(filename, &s);
|
||||||
@ -45,7 +45,7 @@ void run_module(const char* filename)
|
|||||||
module = rt_module_load((void *)buffer, ++module_name);
|
module = rt_module_load((void *)buffer, ++module_name);
|
||||||
if(module != RT_NULL)
|
if(module != RT_NULL)
|
||||||
{
|
{
|
||||||
rt_module_run(module);
|
// rt_module_run(module);
|
||||||
}
|
}
|
||||||
|
|
||||||
close(fd);
|
close(fd);
|
||||||
|
@ -141,7 +141,7 @@ void rtthread_startup(void)
|
|||||||
|
|
||||||
#ifdef RT_USING_MODULE
|
#ifdef RT_USING_MODULE
|
||||||
/* init module system */
|
/* init module system */
|
||||||
rt_system_module_init();
|
// rt_system_module_init();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* init application */
|
/* init application */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user