Merge pull request #19 from CapeLeidokos/ng_joined_library_rm_fix
Fixed build errors with follow up builds after a failed attempt to link
This commit is contained in:
commit
810c22a4e1
@ -74,6 +74,11 @@ recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compil
|
|||||||
## This is necessary to prevent link errors reporting unresolved symbols
|
## This is necessary to prevent link errors reporting unresolved symbols
|
||||||
## due to order dependencies of libraries and objects appearing
|
## due to order dependencies of libraries and objects appearing
|
||||||
## in the linker command line.
|
## in the linker command line.
|
||||||
|
##
|
||||||
|
## CHANGED WRT DEFAULT: Remove a pre-existing joined library. This is necessary if the library was not
|
||||||
|
## removed at the end of a previous build, because the build process
|
||||||
|
## terminated early after a failed attempt to link (e.g. because of missing symbols).
|
||||||
|
recipe.hooks.linking.prelink.1.pattern={tools.rm_start.cmd} "{build.path}/{build.project_name}_joined.a" {tools.rm_end.cmd}
|
||||||
##
|
##
|
||||||
## CHANGED WRT DEFAULT: Generate a large .a archive to prevent link order issues with garbage collection
|
## CHANGED WRT DEFAULT: Generate a large .a archive to prevent link order issues with garbage collection
|
||||||
recipe.c.combine.pattern="{compiler.path}/{compiler.ar.cmd}" {compiler.c.elf.flags_join_archives} "{build.path}/{build.project_name}_joined.a" {object_files} "{build.path}/{archive_file}"
|
recipe.c.combine.pattern="{compiler.path}/{compiler.ar.cmd}" {compiler.c.elf.flags_join_archives} "{build.path}/{build.project_name}_joined.a" {object_files} "{build.path}/{archive_file}"
|
||||||
@ -86,7 +91,7 @@ recipe.hooks.linking.postlink.1.pattern="{compiler.path}{compiler.c.elf.cmd}" {c
|
|||||||
## would otherwise result when updating a pre-existing
|
## would otherwise result when updating a pre-existing
|
||||||
## joined archive file during a subsequent firmware build.
|
## joined archive file during a subsequent firmware build.
|
||||||
##
|
##
|
||||||
recipe.hooks.linking.postlink.2.pattern={tools.rm.cmd} "{build.path}/{build.project_name}_joined.a"
|
recipe.hooks.linking.postlink.2.pattern={tools.rm_start.cmd} "{build.path}/{build.project_name}_joined.a" {tools.rm_end.cmd}
|
||||||
################################################################################
|
################################################################################
|
||||||
|
|
||||||
## Create output files (.eep and .hex)
|
## Create output files (.eep and .hex)
|
||||||
@ -149,8 +154,23 @@ tools.dfu-programmer.upload.params.quiet=
|
|||||||
tools.dfu-programmer.upload.noverify=
|
tools.dfu-programmer.upload.noverify=
|
||||||
tools.dfu-programmer.upload.pattern=/bin/sh -c '"{cmd.path}" atmega32u4 erase && "{cmd.path}" atmega32u4 flash "{build.path}/{build.project_name}.hex" && "{cmd.path}" atmega32u4 start'
|
tools.dfu-programmer.upload.pattern=/bin/sh -c '"{cmd.path}" atmega32u4 erase && "{cmd.path}" atmega32u4 flash "{build.path}/{build.project_name}.hex" && "{cmd.path}" atmega32u4 start'
|
||||||
|
|
||||||
tools.rm.cmd=rm -f
|
# Unlike rm on Unix-like systems, powershell's 'rm' command does not ignore non existing files
|
||||||
tools.rm.cmd.windows=powershell.exe Remove-Item -LiteralPath
|
# and terminates in error when the file that is to be removed cannot be found.
|
||||||
|
# This would result in a premature termination of the overall build process that
|
||||||
|
# must be prevented.
|
||||||
|
#
|
||||||
|
# To allow for possibly non-existing files being passed to command 'rm' we force
|
||||||
|
# powershell to ignore the resulting error and pass error value zero
|
||||||
|
# back to the build system.
|
||||||
|
#
|
||||||
|
# For this to work, the rm-command is split up in two
|
||||||
|
# parts (start/end). The second (end) part is only required on Windows.
|
||||||
|
#
|
||||||
|
tools.rm_start.cmd=rm -f
|
||||||
|
tools.rm_end.cmd=
|
||||||
|
|
||||||
|
tools.rm_start.cmd.windows=powershell.exe rm -ErrorAction SilentlyContinue -LiteralPath
|
||||||
|
tools.rm_end.cmd.windows= ; exit 0
|
||||||
|
|
||||||
# USB Default Flags
|
# USB Default Flags
|
||||||
# Default blank usb manufacturer will be filled in at compile time
|
# Default blank usb manufacturer will be filled in at compile time
|
||||||
|
Loading…
x
Reference in New Issue
Block a user