Переглянути джерело

fix compiling error.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@826 bbd45198-f89e-11dd-88c7-29a3b14d5316
bernard.xiong 14 роки тому
батько
коміт
787d7681fd
3 змінених файлів з 37 додано та 4 видалено
  1. 34 1
      bsp/mini2440/SConstruct
  2. 2 2
      bsp/mini2440/run_module.c
  3. 1 1
      bsp/mini2440/startup.c

+ 34 - 1
bsp/mini2440/SConstruct

@@ -17,6 +17,8 @@ AddOption('--target',
 if GetOption('target'):
 	SetOption('no_exec', 1)
 
+TARGET = target + '.' + rtconfig.TARGET_EXT
+
 env = Environment(tools = ['mingw'],
 	AS = rtconfig.AS, ASFLAGS = rtconfig.AFLAGS,
 	CC = rtconfig.CC, CCFLAGS = rtconfig.CFLAGS,
@@ -28,6 +30,38 @@ Export('env')
 Export('RTT_ROOT')
 Export('rtconfig')
 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 = 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)
 objs = objs + SConscript('components/SConscript')
 
-TARGET = target + '.' + rtconfig.TARGET_EXT
 env.Program(TARGET, objs)
 env.AddPostAction(TARGET, rtconfig.POST_ACTION)
 

+ 2 - 2
bsp/mini2440/run_module.c

@@ -27,7 +27,7 @@ void run_module(const char* filename)
 	int fd, length;
 	char *module_name;
 	struct rt_module* module;
-	struct dfs_stat s;
+	struct _stat s;
 	char *buffer;
 	
 	stat(filename, &s);
@@ -45,7 +45,7 @@ void run_module(const char* filename)
 	module = rt_module_load((void *)buffer, ++module_name);
 	if(module != RT_NULL)
 	{
-		rt_module_run(module);
+		// rt_module_run(module);
 	}
 	
 	close(fd);

+ 1 - 1
bsp/mini2440/startup.c

@@ -141,7 +141,7 @@ void rtthread_startup(void)
 
 #ifdef RT_USING_MODULE
 	/* init module system */
-	rt_system_module_init();
+	// rt_system_module_init();
 #endif
 
 	/* init application */