Commit Graph

176 Commits

Author SHA1 Message Date
Bernard.Xiong cf37bccae4 Add copyright information 2015-03-22 08:56:37 +08:00
Grissiom 43e020d481 building: PrepareBuilding forgot to declare BuildOptions as global
The global variables in the building.py are totally a pile of shit.
2015-03-18 15:50:10 +08:00
Bernard Xiong 1d23ce6cbd [Tools] Add bsp_directory.
Add bsp_directory for PrepareModuleBuilding function and module building environment can parse rtconfig.h too.
2015-03-14 09:46:37 +08:00
Bernard Xiong 950c3a4298 [Tools] Add copyright information for scons script files 2015-01-23 14:34:09 +08:00
Bernard Xiong 765ac35e13 add AStyle shell script file 2015-01-19 08:54:18 +00:00
bernard 09602fd9d8 If there is no CPPDEFINES, generate an empty GetCPPDEFINES function. 2015-01-04 12:26:01 +08:00
Grissiom ee59452ee5 clang-analyze: force 32bit compile 2014-12-24 12:10:00 +08:00
Bright Pan 777d3c059b Add mdk5 support in SCons tools 2014-11-19 14:57:10 +08:00
Bright Pan 06f8426f59 Delete trailing whitespace 2014-11-19 14:52:36 +08:00
Grissiom 767720c1f7 SCons: allow set object files in DefineGroup
The source files can be the raw file names end with .c or .o. So return
the raw file names is more flexible than wrap them with Object.
2014-11-18 17:08:21 +08:00
Grissiom d33df46f19 tools: fix SrcRemove on empty src
If the src is empty list, it will crash at:

    IndexError: list index out of range:
      File "/home/xxx/src/SConstruct", line 39:
        objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=True)
      ...
      File "/home/xxx/src/drivers/SConscript", line 12:
        SrcRemove(src, src_need_remove)
      File "/home/rt-thread-stable/tools/building.py", line 496:
        if type(src[0]) == type('str'):
2014-10-08 18:03:12 +08:00
Grissiom 2c5eea4c21 tools: preserve the order of CPPPATH/CPPDEFINES/LIBPATH/LIBS
The order of them are important while the uniqueness has nothing to do
with the compiling.
2014-10-08 12:22:30 +08:00
Xiongfei Guo a1beec4ad3 Remove unsupport syntex for python 2.6.
Dict Comprehensions is imported in Python 2.7 & 3.0 which is PEP 274 [1]. Some
OS like CentOS 6 which is use Python 2.6 cannot support this syntex.

[1] http://legacy.python.org/dev/peps/pep-0274/

Signed-off-by: Xiongfei Guo <xfguo@credosemi.com>
2014-09-06 14:33:46 +08:00
Grissiom 51c4a3aeae tools/building: remove the use of startupinfo
The startupinfo does not have any visible effects on the building
process and some old Python version does not have it at all. So remove
it for the seek of simple.

Tested `scons -j4` in a dual core virtual machine.
2014-09-01 10:11:10 +08:00
Grissiom 83f8b52064 tools/keil: preserve the order of CPPPATH
The order of CPPPATH is important: some project would use the order of
CPPPATH to override the default configuration headers. This commit also
refine the this piece of code in a more Pythonic way.
2014-08-27 11:39:34 +08:00
aozima 0cf9018e49 Update keil.py
clear old groups in template.uvproj.
2014-08-05 11:51:32 +08:00
Grissiom af3dc0e63e tools/building.py: more descriptive on error
Print the command that failed to execute and try to tell the reason to
fall.
2014-06-09 11:35:36 +08:00
Grissiom 66ac9821de Scons: fix the Win32Spawn
Windows(tm) CreateProcess does not use the env passed to it to find the
executables. So we have to modify our own PATH to make Popen work. Also,
detect the cmd build-in commands and execute it directly.

Tested on MDK toolchain on RB4088 and the MSVS toolchain on simulator
BSP.
2014-05-24 13:04:49 +08:00
Grissiom 81b284b316 scons: no need to set RTT_ROOT as Repository
In SCons manual:

=================
In order to inform the C compiler about the repositories,  SCons will
add appropriate -I flags to the compilation commands for each directory
in the $CPPPATH list. So if we add the current directory to the
construction environment $CPPPATH like so:

    env = Environment(CPPPATH = ['.'])
    env.Program('hello.c')
    Repository('/usr/repository1')

Then re-executing SCons yields:

    % scons -Q
    cc -o hello.o -c -I. -I/usr/repository1 hello.c
    cc -o hello hello.o
=================

The additional include directory is definitely not what we want. Just
remove the additional Repository line.
2014-04-10 15:09:20 +08:00
Grissiom a03816ef9a scons: seperate the BSP build with the kernel build
BSPs could have their own components/ etc. If they point to the same
folder, SCons would find the wrong source code to compile.
2014-04-10 15:03:11 +08:00
bernard de16b800a4 [scons] fix the BSP_ROOT issue in ua.py. 2014-03-25 10:04:48 +08:00
bernard 6289a1aa25 Add UA building script. 2014-03-24 14:50:47 +08:00
Bernard Xiong 3d80e414ff [JS] fix the include path issue 2014-02-25 13:43:59 +08:00
bernard 5ce39b8ad8 [scons] Add the library to the group when used buildlib building 2014-02-23 00:08:38 +08:00
Bernard Xiong 5ccbef26e4 [scons] Change attribution for wizard.py (ci build) 2014-02-16 16:37:40 +08:00
Bernard Xiong fd4554392a [scons] Use a single path for group (ci build) 2014-02-16 16:36:54 +08:00
bernard fb6b1c2520 [scons] fix library suffix issue. 2014-02-15 10:29:35 +08:00
bernard 07f8375783 Add more feature on buildlib 2014-02-07 23:23:44 +08:00
prife 821ab3b9aa scons script: support to generate vs2012 project xml
rename template.vcproj to template_vs2005.vcproj
add template_vs2012.vcxproj
NOTE: the vs2012.py is ugly, just can work.
2013-10-01 15:37:34 +08:00
Grissiom dacd2cb9a9 travis: add scan-build in PATH 2013-09-07 18:31:05 +08:00
Grissiom c289aa9fc1 Scons: add a custom tool to do clang static analyze
Bsps can use the clang analyzer as a tool:

    env = Environment(toolpath=[os.path.join(RTT_ROOT, 'tools',
                      'tools')], tools = ['clang-analyze'])

When building the project, the static analyzer will be called to check
all the C code. The warnings are print to stderr.
2013-09-07 15:15:48 +08:00
Grissiom 3b4f3f5931 Scons: run `clang -Wall -fsyntax-only` in clang-analyze
The `clang -fsyntax-only` will give us additional warning messages in
the console.
2013-09-07 15:15:47 +08:00
bernard dce51ddf05 add buildlib for Keil MDK 2013-08-09 22:26:22 +08:00
Grissiom 34027e65e3 building.py: add clang static analyzer support
It adds the '--clang-analyzer' option that could invoke clang as the
static code checker. It is recommanded to work with 'scan-build' shipped
with Clang. For example, `scan-build scons --clang-analyzer`.
2013-07-09 21:08:36 +08:00
aozima 0633e9853c update iar.py: fixed bug when path is absolute. 2013-06-22 23:22:30 +08:00
Grissiom 3ee4a18506 tools: add an option to generate cscope database
When --cscope option is given to Scons, it will generate a cscope
cross-reference database in current directory, which is useful in
Vim(and other cscope-aware text editors). For example, `scons -s
--cscope` will do nothing except generating the database. You can use
this option with other options together.

It is inspired by the `make cscope` of Linux.
2013-06-19 18:02:03 +08:00
aozima fd289ff34f add a default codeblocks template. 2013-06-16 23:18:16 +08:00
aozima 7eb4120a85 fixed bug: scons: don't throw excptions when CPPDEFINES is not defined. 2013-06-16 23:05:10 +08:00
Bernard Xiong 84da2a4dcc Keep flash setting when generate Keil MDK project. 2013-06-03 06:37:54 +08:00
Bernard Xiong 7cc284d5a0 add library file for Keil MDK project generation 2013-05-17 21:13:55 +08:00
Bernard Xiong e58d656477 remove project.uvopt file when generate keil mdk project file 2013-04-25 14:22:56 +08:00
Rogerz Zhang 158e9cdf91 add more command string for scons 2013-03-31 23:05:04 +08:00
prife cc3684847f tools script: fix up mdk460 link error 2013-03-01 02:27:32 +08:00
Grissiom c24c4f8e16 building.py: append messed up objs list, use extend to avoid that
The return type of SConscript is a subclass of UserList. We should use
extend to keep the depth of the list is always 1 when concatenate
SConscript return values. Thanks prife for making me realize that this
is really a problem.

Reported-and-Tested-by: prife
2013-02-24 23:29:27 +08:00
aozima 7bec8a242b update scons: support C::B 2013-02-21 17:37:30 +08:00
Rogerz Zhang e0048ee456 Add detail build result 2013-02-02 17:36:34 +08:00
Rogerz Zhang 2f6bf3b5ec Rename `--default-comstr` to `--verbose` 2013-01-29 16:54:03 +08:00
Rogerz Zhang 8dcb8a6af6 Use customized command string in scons 2013-01-19 21:55:08 +08:00
Bernard Xiong 72782e9203 convert end of line 2013-01-08 05:05:02 -08:00
Rogerz Zhang 2595a64fb7 Add support for auto ci 2013-01-04 19:55:35 +08:00
bernard.xiong@gmail.com ba4aa585a4 Update UI.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2499 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-19 13:48:10 +00:00
bernard.xiong@gmail.com 1fa210e6e3 Add RT-Thread Root folder detection.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2495 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-18 10:31:13 +00:00
bernard.xiong@gmail.com be73747fc4 Add SConsUI tool.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2494 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-18 08:59:21 +00:00
xiongyihui3@gmail.com 5811daec0c add compability with MDK 4.6 which changes directory of armcc.exe
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2479 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-13 05:24:41 +00:00
goprife@gmail.com 877d1b38b0 support header files addition for vs script
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2461 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-12-01 07:01:55 +00:00
goprife@gmail.com 9a89567e8f fix bug in vs.py(use the env not the group to get information)
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2419 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-16 07:13:27 +00:00
bernard.xiong 0d77b327a9 Add Visual Studio project generation script.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2398 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-07 23:02:25 +00:00
bernard.xiong@gmail.com 42e003ac4d Fix LIBS and LIBPATH merge in building script.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2393 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-11-05 06:58:25 +00:00
chaos.proton@gmail.com 66c5a05e62 building.py: add RegisterPreBuildingAction
One could register a callable object(normally a function) via RegisterPreBuildingAction in SConscript. It will be called when PreBuilding get invoked. PreBuilding should be called before the building procedure. It is currently used by RTGUI to generate the minimal perfect hash code when all the source files are scanned(i.e. just before building).

Maybe we should invoke PreBuilding in DoBuilding.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2353 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-15 13:16:35 +00:00
bernard.xiong@gmail.com 4cb779d743 Update GlobSubDir() function.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2321 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-06 03:01:02 +00:00
bernard.xiong 7cc241301a Add GlobSubDir() function in building.py; Fix the import issue in wizard.py.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2320 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-06 00:12:38 +00:00
bernard.xiong@gmail.com 3816661798 Add buildlib option; Add wizard script.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2316 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-10-05 13:18:00 +00:00
wuyangyong 52fdfa1bf8 add GetConfigValue() by Grissiom.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2284 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-09-09 04:10:14 +00:00
bernard.xiong@gmail.com 8e95bc94b6 add --copy-header option to copy header of RT-Thread to local.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2257 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-08-22 06:19:04 +00:00
bernard.xiong@gmail.com 7472bfded3 Add MakeCopy function on the building script.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2252 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-08-11 08:43:47 +00:00
bernard.xiong@gmail.com f6df9adbb2 fix the win32 path issue.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2244 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-08-01 07:33:58 +00:00
bernard.xiong@gmail.com dddbd5078b Fix the GNU GCC path issue.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2241 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-07-31 23:15:51 +00:00
chaos.proton@gmail.com 8cf479caaa add "remove_components" feature
If one do not want to use some components in the RTT_ROOT, it can pass a remove_components=['the_component'] parameter to PrepareBuilding. Sample code is:

RTT_RTGUI = os.getenv('RTT_RTGUI')
# if GUI dir is set to other place, don't use the one in RTT_ROOT
if RTT_RTGUI:
    # prepare building environment
    objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False, remove_components=['rtgui'])
    objs += SConscript(os.path.join(RTT_RTGUI, 'SConscript'))
else:
    objs = PrepareBuilding(env, RTT_ROOT, has_libcpu=False)

You can safely omit the parameter if you do not want to remove any components.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2227 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-07-22 11:17:04 +00:00
chaos.proton@gmail.com 0b1f748701 fix a warning in keil.py
Fix the warning:

E:\projects\rt-thread\rtthread-svn\trunk\tools\keil.py:72: FutureWarning: The behavior of this method will change in future versions.  Use specific 'len(elem)' or 'elem is not None' test instead.
  if not groups:

See http://docs.python.org/library/xml.etree.elementtree.html#xml.etree.ElementTree.Element.remove for detail.

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2226 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-07-22 10:49:52 +00:00
dzzxzz@gmail.com 6c19a26481 add the search path to right place for IAR(M16C)
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@2188 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-06-26 06:50:23 +00:00
bernard.xiong@gmail.com 9e884249b4 fixed RTT_ROOT directory issue if there is a components directory under BSP.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1972 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-02-19 09:25:34 +00:00
bernard.xiong@gmail.com 3fd6fd1f05 cleanup the building script in tools.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1970 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-02-19 09:11:35 +00:00
bernard.xiong@gmail.com 4cc052e155 fix GNU GCC path issue in building script.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1953 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-02-17 09:20:33 +00:00
bernard.xiong@gmail.com cc2ce9fa40 fix print out warning information when use GCC as compiler.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1952 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-02-17 00:41:19 +00:00
goprife@gmail.com e1b5d48c9b fix bugs in building.py that is when DefineGroup method's 3rd arges "CPPDEFINES" is not null, then "scons --target=mdk -s" will get errors.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1930 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-01-31 01:41:14 +00:00
bernard.xiong@gmail.com 107ed32e80 add buildbot script.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1909 bbd45198-f89e-11dd-88c7-29a3b14d5316
2012-01-08 03:14:19 +00:00
bernard.xiong@gmail.com a5a7c47d04 add merge group function.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1832 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-12-10 15:31:55 +00:00
bernard.xiong@gmail.com 6bd0252e26 update SrcRemove function in building script.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1830 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-12-10 13:14:26 +00:00
goprife@gmail.com 819fd97ff8 add source remove method
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1816 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-11-29 03:49:14 +00:00
chaos.proton@gmail.com f8bbcf9aef if --target is set, adjust CROSS_TOOL and PLATFORM automatically
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1792 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-11-09 02:42:48 +00:00
bernard.xiong@gmail.com 6aa93f460a fixed file name with Chinese encoding issue, which is merged from chaos.proton@gmail.com.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1779 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-10-30 00:44:18 +00:00
qiuyiuestc@gmail.com 02c43b16b0 add PrepareModuleBuilding function
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1736 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-10-04 01:05:11 +00:00
bernard.xiong c3854e20bb fix the output message.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1606 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-07-04 06:39:32 +00:00
bernard.xiong 8dd602108a rollback the command too long patch.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1598 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-07-04 04:06:38 +00:00
bernard.xiong 64b1c01fe0 MDK4 project generation can support same named file in project.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1567 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-07-01 08:22:47 +00:00
bernard.xiong@gmail.com 0af1367525 add '#define DD 0' support.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1553 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-29 15:18:51 +00:00
bernard.xiong 42d3a22e90 add GetCurrentDir function to get a SConscript directory.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1544 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-29 05:15:31 +00:00
bernard.xiong 06b8498d63 add IAR project file generation.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1537 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-24 09:05:40 +00:00
bernard.xiong 7008612767 support Keil MDK4 project file generation.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1536 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-24 06:16:20 +00:00
qiuyiuestc@gmail.com 28fbe864e4 fix command line too long problem
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1500 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-14 00:20:06 +00:00
qiuyiuestc@gmail.com 8c3d1e5eae clean up tools directory, put these files in www.rt-thread.org forum
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1493 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-12 10:01:47 +00:00
mbbill@gmail.com 70bafa328a move net/apps to lwip folder
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1484 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-10 03:57:32 +00:00
bernard.xiong@gmail.com 0513333a10 Add RT_LWIP_VER130, RT_LWIP_VER140 options.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1476 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-09 14:07:59 +00:00
bernard.xiong@gmail.com d84cef41c4 add has_libcpu option in PrepareBuilding function.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1461 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-06-07 16:13:00 +00:00
mbbill@gmail.com f666fd926b Since telnet is not installed by default from Windows Vista and later, it's better to use putty in command line.
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1434 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-05-25 16:05:51 +00:00
qiuyiuestc d9256a31a1 update qemu/mini2440 on ubuntu to support keypad
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1431 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-05-24 00:25:46 +00:00
qiuyiuestc 2fef2112f2 update SDCARD for running FTK
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1426 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-05-23 13:10:01 +00:00
qiuyiuestc@gmail.com 712aacd367 update rtconfig.h and SConstruct
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1424 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-05-23 01:46:59 +00:00
qiuyiuestc@gmail.com fe9f043b55 upgrade ftk demos
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1423 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-05-23 01:33:31 +00:00
qiuyiuestc 477dec24b4 add qemu/mini2440 emulator on Ubuntu
git-svn-id: https://rt-thread.googlecode.com/svn/trunk@1421 bbd45198-f89e-11dd-88c7-29a3b14d5316
2011-05-21 10:28:10 +00:00