Message ID | 1383778795-15262-1-git-send-email-arnout@mind.be |
---|---|
State | Rejected |
Headers | show |
Dear Arnout Vandecappelle (Essensium/Mind), On Wed, 6 Nov 2013 23:59:55 +0100, Arnout Vandecappelle (Essensium/Mind) wrote: > package/gcc/gcc-final/4.2.2-avr32-2.1.5 | 1 + > package/gcc/gcc-final/4.3.6 | 1 + > package/gcc/gcc-final/4.4.7 | 1 + > package/gcc/gcc-final/4.5.4 | 1 + > package/gcc/gcc-final/4.6.4 | 1 + > package/gcc/gcc-final/4.7.3 | 1 + > package/gcc/gcc-final/4.8-arc | 1 + > package/gcc/gcc-final/4.8.2 | 1 + The only problem that I see with this symbolic link based solution is that we will have to remember to add/update the three symbolic each time we do a gcc version bump. If we forget to do so, then the build will go on silently, but without having applied the patches. I don't say this problem is a show-stopper, but it's a drawback of this symbolic link solution, IMO. > define HOST_GCC_APPLY_POWERPC_PATCH > - support/scripts/apply-patches.sh $(@D) package/gcc/$(GCC_VERSION) powerpc-link-with-math-lib.patch.conditional > + if [ -e package/gcc/$(GCC_VERSION)/powerpc-link-with-math-lib.patch.conditional ]; then \ > + support/scripts/apply-patches.sh $(@D) package/gcc/$(GCC_VERSION) powerpc-link-with-math-lib.patch.conditional; \ > + fi Why was adding the condition necessary? Thanks! Thomas
>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes: > Dear Arnout Vandecappelle (Essensium/Mind), > On Wed, 6 Nov 2013 23:59:55 +0100, Arnout Vandecappelle > (Essensium/Mind) wrote: >> package/gcc/gcc-final/4.2.2-avr32-2.1.5 | 1 + >> package/gcc/gcc-final/4.3.6 | 1 + >> package/gcc/gcc-final/4.4.7 | 1 + >> package/gcc/gcc-final/4.5.4 | 1 + >> package/gcc/gcc-final/4.6.4 | 1 + >> package/gcc/gcc-final/4.7.3 | 1 + >> package/gcc/gcc-final/4.8-arc | 1 + >> package/gcc/gcc-final/4.8.2 | 1 + > The only problem that I see with this symbolic link based solution is > that we will have to remember to add/update the three symbolic each > time we do a gcc version bump. If we forget to do so, then the build > will go on silently, but without having applied the patches. > I don't say this problem is a show-stopper, but it's a drawback of this > symbolic link solution, IMO. That was the exact same thought I had. Perhaps it is the best we can come up with, but it isn't really nice.
On 07/11/13 00:13, Thomas Petazzoni wrote: > Dear Arnout Vandecappelle (Essensium/Mind), > > On Wed, 6 Nov 2013 23:59:55 +0100, Arnout Vandecappelle > (Essensium/Mind) wrote: > >> package/gcc/gcc-final/4.2.2-avr32-2.1.5 | 1 + >> package/gcc/gcc-final/4.3.6 | 1 + >> package/gcc/gcc-final/4.4.7 | 1 + >> package/gcc/gcc-final/4.5.4 | 1 + >> package/gcc/gcc-final/4.6.4 | 1 + >> package/gcc/gcc-final/4.7.3 | 1 + >> package/gcc/gcc-final/4.8-arc | 1 + >> package/gcc/gcc-final/4.8.2 | 1 + > > The only problem that I see with this symbolic link based solution is > that we will have to remember to add/update the three symbolic each > time we do a gcc version bump. If we forget to do so, then the build > will go on silently, but without having applied the patches. > > I don't say this problem is a show-stopper, but it's a drawback of this > symbolic link solution, IMO. I'm hoping that the separate source/build directories will be merged soon, so that this won't be necessary anymore :-) > >> define HOST_GCC_APPLY_POWERPC_PATCH >> - support/scripts/apply-patches.sh $(@D) package/gcc/$(GCC_VERSION) powerpc-link-with-math-lib.patch.conditional >> + if [ -e package/gcc/$(GCC_VERSION)/powerpc-link-with-math-lib.patch.conditional ]; then \ >> + support/scripts/apply-patches.sh $(@D) package/gcc/$(GCC_VERSION) powerpc-link-with-math-lib.patch.conditional; \ >> + fi > > Why was adding the condition necessary? Read the rest of the thread: otherwise, apply-patches.sh will error out because package/gcc/some-snapshot-directory doesn't exist. Granted, I could have tested for the directory instead of the patch existence. Regards, Arnout
On 07/11/13 00:20, Arnout Vandecappelle wrote: > On 07/11/13 00:13, Thomas Petazzoni wrote: >> Dear Arnout Vandecappelle (Essensium/Mind), >> >> On Wed, 6 Nov 2013 23:59:55 +0100, Arnout Vandecappelle >> (Essensium/Mind) wrote: >> >>> package/gcc/gcc-final/4.2.2-avr32-2.1.5 | 1 + >>> package/gcc/gcc-final/4.3.6 | 1 + >>> package/gcc/gcc-final/4.4.7 | 1 + >>> package/gcc/gcc-final/4.5.4 | 1 + >>> package/gcc/gcc-final/4.6.4 | 1 + >>> package/gcc/gcc-final/4.7.3 | 1 + >>> package/gcc/gcc-final/4.8-arc | 1 + >>> package/gcc/gcc-final/4.8.2 | 1 + >> >> The only problem that I see with this symbolic link based solution is >> that we will have to remember to add/update the three symbolic each >> time we do a gcc version bump. If we forget to do so, then the build >> will go on silently, but without having applied the patches. >> >> I don't say this problem is a show-stopper, but it's a drawback of this >> symbolic link solution, IMO. > > I'm hoping that the separate source/build directories will be merged > soon, so that this won't be necessary anymore :-) Let me clarify that: Once the separate source/build directories exist, I would like to introduce infrastructure to build several packages from the same source. So gcc would be extracted and patched only once, and built several times. Same for kernel-headers vs. linux, or uboot vs. uboot-tools. That will really make me happy :-) Regards, Arnout
> This solves the patch error for gcc snapshots. > > Also sneak in an extra condition when applying the powerpc softfloat patch, > so that the error is really fixed. > > Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> works fine, just tested it. If this is going to be applied, please feel free to add: Tested-by: Andi Shyti <andi@etezian.org>
diff --git a/package/gcc/gcc-final/4.2.2-avr32-2.1.5 b/package/gcc/gcc-final/4.2.2-avr32-2.1.5 new file mode 120000 index 0000000..032c9e3 --- /dev/null +++ b/package/gcc/gcc-final/4.2.2-avr32-2.1.5 @@ -0,0 +1 @@ +../4.2.2-avr32-2.1.5 \ No newline at end of file diff --git a/package/gcc/gcc-final/4.3.6 b/package/gcc/gcc-final/4.3.6 new file mode 120000 index 0000000..e1c481e --- /dev/null +++ b/package/gcc/gcc-final/4.3.6 @@ -0,0 +1 @@ +../4.3.6 \ No newline at end of file diff --git a/package/gcc/gcc-final/4.4.7 b/package/gcc/gcc-final/4.4.7 new file mode 120000 index 0000000..a7ca0e2 --- /dev/null +++ b/package/gcc/gcc-final/4.4.7 @@ -0,0 +1 @@ +../4.4.7 \ No newline at end of file diff --git a/package/gcc/gcc-final/4.5.4 b/package/gcc/gcc-final/4.5.4 new file mode 120000 index 0000000..b758df2 --- /dev/null +++ b/package/gcc/gcc-final/4.5.4 @@ -0,0 +1 @@ +../4.5.4 \ No newline at end of file diff --git a/package/gcc/gcc-final/4.6.4 b/package/gcc/gcc-final/4.6.4 new file mode 120000 index 0000000..d4c8b47 --- /dev/null +++ b/package/gcc/gcc-final/4.6.4 @@ -0,0 +1 @@ +../4.6.4 \ No newline at end of file diff --git a/package/gcc/gcc-final/4.7.3 b/package/gcc/gcc-final/4.7.3 new file mode 120000 index 0000000..6c32215 --- /dev/null +++ b/package/gcc/gcc-final/4.7.3 @@ -0,0 +1 @@ +../4.7.3 \ No newline at end of file diff --git a/package/gcc/gcc-final/4.8-arc b/package/gcc/gcc-final/4.8-arc new file mode 120000 index 0000000..4f63276 --- /dev/null +++ b/package/gcc/gcc-final/4.8-arc @@ -0,0 +1 @@ +../4.8-arc \ No newline at end of file diff --git a/package/gcc/gcc-final/4.8.2 b/package/gcc/gcc-final/4.8.2 new file mode 120000 index 0000000..27736e8 --- /dev/null +++ b/package/gcc/gcc-final/4.8.2 @@ -0,0 +1 @@ +../4.8.2 \ No newline at end of file diff --git a/package/gcc/gcc-final/gcc-final.mk b/package/gcc/gcc-final/gcc-final.mk index b396382..409ac97 100644 --- a/package/gcc/gcc-final/gcc-final.mk +++ b/package/gcc/gcc-final/gcc-final.mk @@ -18,7 +18,7 @@ ifneq ($(call qstrip, $(BR2_XTENSA_CORE_NAME)),) HOST_GCC_FINAL_POST_EXTRACT_CMDS += HOST_GCC_FINAL_XTENSA_OVERLAY_EXTRACT endif -HOST_GCC_FINAL_POST_PATCH_HOOKS += HOST_GCC_APPLY_PATCHES +HOST_GCC_FINAL_POST_PATCH_HOOKS += HOST_GCC_APPLY_POWERPC_PATCH # gcc doesn't support in-tree build, so we create a 'build' # subdirectory in the gcc sources, and build from there. diff --git a/package/gcc/gcc-initial/4.2.2-avr32-2.1.5 b/package/gcc/gcc-initial/4.2.2-avr32-2.1.5 new file mode 120000 index 0000000..032c9e3 --- /dev/null +++ b/package/gcc/gcc-initial/4.2.2-avr32-2.1.5 @@ -0,0 +1 @@ +../4.2.2-avr32-2.1.5 \ No newline at end of file diff --git a/package/gcc/gcc-initial/4.3.6 b/package/gcc/gcc-initial/4.3.6 new file mode 120000 index 0000000..e1c481e --- /dev/null +++ b/package/gcc/gcc-initial/4.3.6 @@ -0,0 +1 @@ +../4.3.6 \ No newline at end of file diff --git a/package/gcc/gcc-initial/4.4.7 b/package/gcc/gcc-initial/4.4.7 new file mode 120000 index 0000000..a7ca0e2 --- /dev/null +++ b/package/gcc/gcc-initial/4.4.7 @@ -0,0 +1 @@ +../4.4.7 \ No newline at end of file diff --git a/package/gcc/gcc-initial/4.5.4 b/package/gcc/gcc-initial/4.5.4 new file mode 120000 index 0000000..b758df2 --- /dev/null +++ b/package/gcc/gcc-initial/4.5.4 @@ -0,0 +1 @@ +../4.5.4 \ No newline at end of file diff --git a/package/gcc/gcc-initial/4.6.4 b/package/gcc/gcc-initial/4.6.4 new file mode 120000 index 0000000..d4c8b47 --- /dev/null +++ b/package/gcc/gcc-initial/4.6.4 @@ -0,0 +1 @@ +../4.6.4 \ No newline at end of file diff --git a/package/gcc/gcc-initial/4.7.3 b/package/gcc/gcc-initial/4.7.3 new file mode 120000 index 0000000..6c32215 --- /dev/null +++ b/package/gcc/gcc-initial/4.7.3 @@ -0,0 +1 @@ +../4.7.3 \ No newline at end of file diff --git a/package/gcc/gcc-initial/4.8-arc b/package/gcc/gcc-initial/4.8-arc new file mode 120000 index 0000000..4f63276 --- /dev/null +++ b/package/gcc/gcc-initial/4.8-arc @@ -0,0 +1 @@ +../4.8-arc \ No newline at end of file diff --git a/package/gcc/gcc-initial/4.8.2 b/package/gcc/gcc-initial/4.8.2 new file mode 120000 index 0000000..27736e8 --- /dev/null +++ b/package/gcc/gcc-initial/4.8.2 @@ -0,0 +1 @@ +../4.8.2 \ No newline at end of file diff --git a/package/gcc/gcc-initial/gcc-initial.mk b/package/gcc/gcc-initial/gcc-initial.mk index 0eb492f..6a1ec3c 100644 --- a/package/gcc/gcc-initial/gcc-initial.mk +++ b/package/gcc/gcc-initial/gcc-initial.mk @@ -16,7 +16,7 @@ ifneq ($(call qstrip, $(BR2_XTENSA_CORE_NAME)),) HOST_GCC_INITIAL_POST_EXTRACT_CMDS += HOST_GCC_XTENSA_OVERLAY_EXTRACT endif -HOST_GCC_INITIAL_POST_PATCH_HOOKS += HOST_GCC_APPLY_PATCHES +HOST_GCC_INITIAL_POST_PATCH_HOOKS += HOST_GCC_APPLY_POWERPC_PATCH # gcc doesn't support in-tree build, so we create a 'build' # subdirectory in the gcc sources, and build from there. diff --git a/package/gcc/gcc-intermediate/4.2.2-avr32-2.1.5 b/package/gcc/gcc-intermediate/4.2.2-avr32-2.1.5 new file mode 120000 index 0000000..032c9e3 --- /dev/null +++ b/package/gcc/gcc-intermediate/4.2.2-avr32-2.1.5 @@ -0,0 +1 @@ +../4.2.2-avr32-2.1.5 \ No newline at end of file diff --git a/package/gcc/gcc-intermediate/4.3.6 b/package/gcc/gcc-intermediate/4.3.6 new file mode 120000 index 0000000..e1c481e --- /dev/null +++ b/package/gcc/gcc-intermediate/4.3.6 @@ -0,0 +1 @@ +../4.3.6 \ No newline at end of file diff --git a/package/gcc/gcc-intermediate/4.4.7 b/package/gcc/gcc-intermediate/4.4.7 new file mode 120000 index 0000000..a7ca0e2 --- /dev/null +++ b/package/gcc/gcc-intermediate/4.4.7 @@ -0,0 +1 @@ +../4.4.7 \ No newline at end of file diff --git a/package/gcc/gcc-intermediate/4.5.4 b/package/gcc/gcc-intermediate/4.5.4 new file mode 120000 index 0000000..b758df2 --- /dev/null +++ b/package/gcc/gcc-intermediate/4.5.4 @@ -0,0 +1 @@ +../4.5.4 \ No newline at end of file diff --git a/package/gcc/gcc-intermediate/4.6.4 b/package/gcc/gcc-intermediate/4.6.4 new file mode 120000 index 0000000..d4c8b47 --- /dev/null +++ b/package/gcc/gcc-intermediate/4.6.4 @@ -0,0 +1 @@ +../4.6.4 \ No newline at end of file diff --git a/package/gcc/gcc-intermediate/4.7.3 b/package/gcc/gcc-intermediate/4.7.3 new file mode 120000 index 0000000..6c32215 --- /dev/null +++ b/package/gcc/gcc-intermediate/4.7.3 @@ -0,0 +1 @@ +../4.7.3 \ No newline at end of file diff --git a/package/gcc/gcc-intermediate/4.8-arc b/package/gcc/gcc-intermediate/4.8-arc new file mode 120000 index 0000000..4f63276 --- /dev/null +++ b/package/gcc/gcc-intermediate/4.8-arc @@ -0,0 +1 @@ +../4.8-arc \ No newline at end of file diff --git a/package/gcc/gcc-intermediate/4.8.2 b/package/gcc/gcc-intermediate/4.8.2 new file mode 120000 index 0000000..27736e8 --- /dev/null +++ b/package/gcc/gcc-intermediate/4.8.2 @@ -0,0 +1 @@ +../4.8.2 \ No newline at end of file diff --git a/package/gcc/gcc-intermediate/gcc-intermediate.mk b/package/gcc/gcc-intermediate/gcc-intermediate.mk index f47e4be..c0bf6fc 100644 --- a/package/gcc/gcc-intermediate/gcc-intermediate.mk +++ b/package/gcc/gcc-intermediate/gcc-intermediate.mk @@ -18,7 +18,7 @@ ifneq ($(call qstrip, $(BR2_XTENSA_CORE_NAME)),) HOST_GCC_INTERMEDIATE_POST_EXTRACT_CMDS += HOST_GCC_XTENSA_OVERLAY_EXTRACT endif -HOST_GCC_INTERMEDIATE_POST_PATCH_HOOKS += HOST_GCC_APPLY_PATCHES +HOST_GCC_INTERMEDIATE_POST_PATCH_HOOKS += HOST_GCC_APPLY_POWERPC_PATCH # gcc doesn't support in-tree build, so we create a 'build' # subdirectory in the gcc sources, and build from there. diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk index 0c0cc99..bddceba 100644 --- a/package/gcc/gcc.mk +++ b/package/gcc/gcc.mk @@ -43,16 +43,13 @@ endef ifeq ($(ARCH),powerpc) ifneq ($(BR2_SOFT_FLOAT),) define HOST_GCC_APPLY_POWERPC_PATCH - support/scripts/apply-patches.sh $(@D) package/gcc/$(GCC_VERSION) powerpc-link-with-math-lib.patch.conditional + if [ -e package/gcc/$(GCC_VERSION)/powerpc-link-with-math-lib.patch.conditional ]; then \ + support/scripts/apply-patches.sh $(@D) package/gcc/$(GCC_VERSION) powerpc-link-with-math-lib.patch.conditional; \ + fi endef endif endif -define HOST_GCC_APPLY_PATCHES - support/scripts/apply-patches.sh $(@D) package/gcc/$(GCC_VERSION) \*.patch - $(HOST_GCC_APPLY_POWERPC_PATCH) -endef - # # Custom extract command to save disk space #