Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mesonbuild: update to 0.51.2 #3776

Merged
merged 8 commits into from Sep 19, 2019
Merged

Conversation

InuSasha
Copy link
Member

@InuSasha InuSasha commented Aug 25, 2019

since meson 0.51.0, a host build environment ist needed for cross-compiling (instead of target build environment)

build and boot-tested on RPi2

@MilhouseVH
Copy link
Contributor

Wow thanks for this, what a PITA! 😄

I find the reference to generic in setup_toolchain generic target a little confusing - I realise it could be anything (other than a valid toolchain ie. meson) but wonder if we were to flip the args around, maybe we can let the second argument (ie. toolchain) become optional, ie.

setup_toolchain target
setup_toolchain host
setup_toolchain target meson

What do you think? This would mean the case statement in setup_toolchain() becomes:

  case ${1}:${2} in
    target:meson)
    target:*)
    host:*)
  esac

does that help improve anything, as we no longer need dummy values? I don't know if we will ever need to support additional toolchains (ie. cmake etc.) like this in future (hope not!)

Also, we could add a small proxy helper create_meson_conf() since we already pass the target:

create_meson_conf()
{
  case ${1} in
    host|bootstrap) create_meson_conf_host ${1} ${2};;
    init|target) create_meson_conf_target ${1} ${2};;
  esac
}

then just call create_meson_conf ${TARGET} ${MESON_CONF} from scripts/build, it doesn't need to know/care about the host or target differences.

@InuSasha
Copy link
Member Author

setup_toolchain
the parameter order of setup_toolchain change be changed.

create_meson_conf
i dropped the proxy, because we do not need this extra step. The proxy will only increase the compexity of code, imho. and we need it, only on one position.

@MilhouseVH
Copy link
Contributor

MilhouseVH commented Aug 25, 2019

the parameter order of setup_toolchain change be changed.

Thanks.

The proxy will only increase the compexity of code, imho. and we need it, only on one position.

Ok, thanks.

@InuSasha InuSasha changed the title mesonbuild: update to 0.51.0 mesonbuild: update to 0.51.1 Aug 25, 2019
@InuSasha InuSasha changed the title mesonbuild: update to 0.51.1 mesonbuild: update to 0.51.2 Aug 27, 2019
@InuSasha
Copy link
Member Author

InuSasha commented Aug 28, 2019

dropped wrongly changed gtk3

@MilhouseVH
Copy link
Contributor

RPi/RPi2/Generic images and all addons built OK with meson-0.51.2. The resulting images all boot and run correctly (as far as I can tell).

I've compared the last published meson-0.49.1 images (#0827) with the new meson-0.51.2 test images (#0828) and there are some fairly significant file size changes (ignore the pvr.mythtv noise that crept into the overnight #0828 test build):

RPi: http://ix.io/1TJe (5.3MB increase with meson-0.52.1)
RPi2: http://ix.io/1TJf (5.3MB increase with meson-0.52.1)
Generic: http://ix.io/1TJg {9.6MB reduction with meson-0.52.1)

For RPi/RPi2 most of the increase comes from systemd and libinput, and we don't appear to be stripping these systemd/libinput files when building with meson-0.51.2

As for Generic, I can't explain the almost 10MB size reduction... as far as I can tell the Intel i915 driver is working correctly in a Skylake i5 NUC when built with meson-0.51.2. Maybe a different -On optimisation to what we were using before...?

@InuSasha
Copy link
Member Author

look like the striping was not done

Copy link
Contributor

@5schatten 5schatten left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Compiles & runs extended builds for Generic & RPi2 fine for me 👍

@InuSasha InuSasha force-pushed the upates/mesonbuild branch 2 times, most recently from b318540 to 31ac76b Compare September 4, 2019 10:13
@InuSasha
Copy link
Member Author

InuSasha commented Sep 4, 2019

strip is working, now.
ready to push
(rabased to master, for better comparision)

@MilhouseVH
Copy link
Contributor

Thanks @InuSasha - I'll re-run my RPi/RPi2/Generic tests.

@MilhouseVH
Copy link
Contributor

Looks good now - many thanks!

RPi: http://ix.io/1Uix
RPi2: http://ix.io/1Uiy
Generic: http://ix.io/1Uiz

(the leftmost #0904 column is for the new meson-0.51.2 build without GLVND, the rightmost is meson-0.49.1 with GLVND)

We still get a very nice reduction in the Generic graphic drivers.

I'm going to build all the add-ons for RPi/RPi2/Generic overnight, just to make sure they all build OK.

@MilhouseVH
Copy link
Contributor

All add-ons successful!

@5schatten
Copy link
Contributor

@InuSasha could you rebase the mesa package please?

- meson needs a host environment for cross-compile
- allow setup_toolchain to setup toolchain based on used build-system
- adjust creation of meson.conf
@InuSasha
Copy link
Member Author

rebased

@5schatten 5schatten merged commit 8e98ef4 into LibreELEC:master Sep 19, 2019
@InuSasha InuSasha deleted the upates/mesonbuild branch November 7, 2019 08:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants