* tools/Config.mk - Add empty definition POSTBUILD
* tools/Makefile.unix/win - Replace CXD56xx specific logic with $(call POSTBUILD)
* boards/arm/cxd56xx/scripts/Config.mk - Add POSTBUILD definitions with logic removed from Makefile.unix/win
* boards/arm/cxd56xx/spresense/scripts/Make.defs - Include the CXD56xx Config.mk immediately after tools/Config.mk so that the empty POSTBUILD definition will be replaced with the correct one
NOTE: There is a precedent for this approach. This is the way that other architecture-specific build options are implemented. See, for example, tools/zds/Config.mk
If we are going to use this tool for things like
git pre-commit hook or CI workflow, it's critical to
avoid false alarms.
This reverts commit de764af9aa.
Squashed commit of the following:
commit 685951b5385062035ac558df1112353c9441c910
Author: Adam Feuer <adam@starcat.io>
Date: Mon Feb 24 16:33:00 2020 -0800
fixed typo in readme
commit ad1d3289b48af0de3095e3f365429017e57278b3
Author: Adam Feuer <adam@starcat.io>
Date: Mon Feb 24 16:07:48 2020 -0800
simulator host route helper script and docs
Squashed commit of the following:
commit cf5cddcf55a155303cb5abb1aa026f6dcaf369ca
Author: Adam Feuer <adam@starcat.io>
Date: Mon Feb 24 15:50:40 2020 -0800
syslog on console to fix compile error
commit def1bb73fcfbc8b115c55d9f4544b97d583807f2
Author: Adam Feuer <adam@starcat.io>
Date: Mon Feb 24 15:46:13 2020 -0800
formatting as per PR feedback; removed ping
commit b179fd8831b77fbbe85527a4ab3161e1f1ca1e43
Author: Adam Feuer <adam@starcat.io>
Date: Mon Feb 24 15:45:49 2020 -0800
formatting as per PR feedback
commit e3280bede9798d9a00b118e126c02ceab497e33a
Author: Adam Feuer <adam@starcat.io>
Date: Mon Feb 24 13:56:50 2020 -0800
add simhostroute.sh description to readme
commit 09a6b0ca3bacf005c2a79102141ae8cc3eb91849
Author: Adam Feuer <adam@starcat.io>
Date: Sun Feb 23 17:38:40 2020 -0800
fixed error in simhostroute.sh usage docs
commit d838582119d43ee2002ce3808051c82b23e98c58
Author: Adam Feuer <adam@starcat.io>
Date: Sun Feb 23 17:28:35 2020 -0800
added tcpblaster defconfig and updated docs
commit af3d2d6591f12d1127027fdd363858052094e624
Author: Adam Feuer <adam@starcat.io>
Date: Sun Feb 23 17:21:29 2020 -0800
added info about capabilities and running as root
commit 6359cfdfedefc818b169455401942d3d33a59f41
Author: Adam Feuer <adam@starcat.io>
Date: Sun Feb 23 17:20:42 2020 -0800
updated network linux readme
commit 47feb08aa74e4b1fc6c802567bc777d31e7c9a83
Author: Adam Feuer <adam@starcat.io>
Date: Sun Feb 23 17:09:04 2020 -0800
initial addition
This tools needs to CD to directory holding the library because it requires that the library be in the current working directory when objects are inserted. Previously, the tool did this by creating an absolute path to the object file itself. So instead of the object file being in the current directory and the library in a directory at an absolute path, this tool used an abolte path to the object file with the library in the current directory.
For the most part, that worked fine. However, in the apps directory the object file names are greatly extended in length. In the object file name was extended to a full absolute path and these huge file names were were exceeding some internal limit within the ZDS-II librarian. But useing shorter, relative paths, we were able to avoid hitting this limit and the entire build completed correctly.
* tools/zds/zds_Config.mk: Move boards/z80/ez80/scripts/eZ80_Config.mk to tools/zds/zds_Config.mk where it can be shared by other ZDS-II platforms.
* boards/z16/z16f: Duplicate changes for new ZDS-II support from ez80
* boards/z80/z8: Duplicate changes for new ZDS-II support from ez80
* arch/z16/src/z16f/Toolchain.defs: Create required Toolchain.defs file for Z16f
Eliminate the MOVEOBJ definition from tools/Config.mk, Makefiles, and other locations. The MOVEOBJ definition was used to work around the case where the object output of a compile or assemble is in a different directory than the source file. The ZDS-II tools have no command line option to perform this move; MOVEOBJ handled the move as a post-compiler operation.
MOVEOBJ is no longer needed because this the ez80 COMPILE and ASSEMBLE definitions now handle all of the object file movement cases.
tools/zds/zdsgen.c: Remove this program. It should have been a simpler way to manage ZDS-II compiler and assember differences. However, the compiler arguments needed to pass through too many layers of bash command line modifications and, as a result, it was not possible to retain quotes on critical strings. This approch was abandoned for an alternative approach.
boards/z80/ez80/scripts/eZ80_Config.mk: Add definitions to move the object files as necessary. This seems to work well and is implemented for both native and Cygwin Windows build -- but only for the Z20x.
And additional wrapper that is needed for the ZDS-II build is a wrapper for the compiler and assemble. This is needed because the ZDS-II cannot control the name or location of the output of the output object file: it is always in the same directory as the source file and with the same name as the source file except with the .obj extension.
This was handled in the past with the MOVEOBJ definition which was specifically called Makefiles to move the objects to the correct position. However, now there is a new behavior: Output object files may also be named differently with added decoration in the file name. This is done in the current apps/ directory build.
There is currently some ugly implementation that includes a long sequence of Bash code to handle the moving and/or renaming. There is nothing in place for the Windows native case.
This wrapper, when complete, will clean up the Makefiles, improve build performance, and provide a solution that is portable to both the Cywin/MSYS environment as well as to the Windows native environment.
This zdsar librarian wrapper is code complete and has no known bugs.
However, there are still some build instabilities so perhaps there
are still some bug to be identified. Or perhaps there are other
undiscovered bugs unrelated to zdsar which appears to be behaving
correctly in all cases.
It will take some additional testing know for sure.
A pointer to a string in a memory buffer was losing its value. The reason was that the buffer was occasionally being used for other purposes. The fix is to strdup() the string so that there is a private, protected copy.
tools/zds: A new tool sub-directory intended to hold tools for making life working with the ZDS-II toolchain less painful.
tools/zds/zdsar.c: This is a wrapper around the ZDS_II librarian. It simplifies the build scripts by replacing large sequences of complex Bash script that were added to the build files. Not only does this clean up the build files but it also improves performance and, more importantly, provides a common solution for the Windows native build case. This tool should work with all ZDS-II based platforms including z8, zNeo, and ez80.
tools/README.txt: Add a brief description about the zds sub-directory. Also re-ordered some tool descriptions. They are supposed to be in alphabetical order, but this seems to have fallen apart.
boards/z80/ez80/scripts/eZ80_Config.mk: Updated to use tools/zds/zdsar.exe.
This includes some fixes for the ez80 build including:
1. Ability to handle decorated object file names,
2. Ability to handle libraries described with absolute paths
This commit address only the POSIX build and needs to be updated
for the Windows native build.
to avoid shell complain that @echo can't find if the variable expand in the compound
command(e.g. ARLOCK) and remove $(Q) before $AR so the result is almost same as before.
To ensure size_t same as toolchain definition in the first place and rename CXX_NEWLONG to ARCH_SIZET_LONG. The change also check whether __SIZE_TYPE__ exist before CONFIG_ARCH_SIZET_LONG so our definition can align with toolchain(gcc/clang) definition automatically.
Make 'checkpatch.sh -c commits' and 'checkpatch.sh -p patches' do full
file check as default, while 'checkpatch.sh -r -c commits' and 'checkpatch.sh
-r -p patches' do ranges check only.