mirror of
https://github.com/motioneye-project/motioneyeos.git
synced 2025-07-28 13:46:32 +00:00
toolchain-wrapper: support change of BR2_CCACHE
By moving the ccache call to the toolchain wrapper, the following scenario no longer works: make foo-dirclean all BR2_CCACHE= That's a sometimes useful call to check if some failure is perhaps caused by ccache. We can enable this scenario again by exporting BR_NO_CCACHE when BR2_CCACHE is not set, and by handling this in the toolchain wrapper. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Tested-by: Romain Naour <romain.naour@openwide.fr> Reviewed-by: Romain Naour <romain.naour@openwide.fr> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
parent
2b356105f0
commit
792f1278e3
2
Makefile
2
Makefile
@ -375,6 +375,8 @@ BR_CACHE_DIR = $(call qstrip,$(BR2_CCACHE_DIR))
|
|||||||
export BR_CACHE_DIR
|
export BR_CACHE_DIR
|
||||||
HOSTCC := $(CCACHE) $(HOSTCC)
|
HOSTCC := $(CCACHE) $(HOSTCC)
|
||||||
HOSTCXX := $(CCACHE) $(HOSTCXX)
|
HOSTCXX := $(CCACHE) $(HOSTCXX)
|
||||||
|
else
|
||||||
|
export BR_NO_CCACHE
|
||||||
endif
|
endif
|
||||||
|
|
||||||
# Scripts in support/ or post-build scripts may need to reference
|
# Scripts in support/ or post-build scripts may need to reference
|
||||||
|
@ -98,7 +98,7 @@ static void check_unsafe_path(const char *path, int paranoid)
|
|||||||
|
|
||||||
int main(int argc, char **argv)
|
int main(int argc, char **argv)
|
||||||
{
|
{
|
||||||
char **args, **cur;
|
char **args, **cur, **exec_args;
|
||||||
char *relbasedir, *absbasedir;
|
char *relbasedir, *absbasedir;
|
||||||
char *progpath = argv[0];
|
char *progpath = argv[0];
|
||||||
char *basename;
|
char *basename;
|
||||||
@ -247,6 +247,13 @@ int main(int argc, char **argv)
|
|||||||
/* finish with NULL termination */
|
/* finish with NULL termination */
|
||||||
*cur = NULL;
|
*cur = NULL;
|
||||||
|
|
||||||
|
exec_args = args;
|
||||||
|
#ifdef BR_CCACHE
|
||||||
|
if (getenv("BR_NO_CCACHE"))
|
||||||
|
/* Skip the ccache call */
|
||||||
|
exec_args++;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Debug the wrapper to see actual arguments passed to
|
/* Debug the wrapper to see actual arguments passed to
|
||||||
* the compiler:
|
* the compiler:
|
||||||
* unset, empty, or 0: do not trace
|
* unset, empty, or 0: do not trace
|
||||||
@ -257,14 +264,14 @@ int main(int argc, char **argv)
|
|||||||
debug = atoi(env_debug);
|
debug = atoi(env_debug);
|
||||||
if (debug > 0) {
|
if (debug > 0) {
|
||||||
fprintf(stderr, "Toolchain wrapper executing:");
|
fprintf(stderr, "Toolchain wrapper executing:");
|
||||||
for (i = 0; args[i]; i++)
|
for (i = 0; exec_args[i]; i++)
|
||||||
fprintf(stderr, "%s'%s'",
|
fprintf(stderr, "%s'%s'",
|
||||||
(debug == 2) ? "\n " : " ", args[i]);
|
(debug == 2) ? "\n " : " ", exec_args[i]);
|
||||||
fprintf(stderr, "\n");
|
fprintf(stderr, "\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (execv(args[0], args))
|
if (execv(exec_args[0], exec_args))
|
||||||
perror(path);
|
perror(path);
|
||||||
|
|
||||||
free(args);
|
free(args);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user