summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* meson.eclass: depend on >=dev-util/meson-0.54.0Mike Gilbert2020-07-041-15/+2
| | | | | | | Also remove compatibility code for earlier versions. Closes: https://bugs.gentoo.org/730650 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: override 'nm' tool with tuple-prefixed oneSergei Trofimovich2020-06-131-0/+2
| | | | | | | | | | | | | | x11-libs/libdrm and media-libs/libglvnd fail to find 'nm' tool on sys-devel/binutils-config[-native-symlinks] system as: `meson.build:40:0: ERROR: Program(s) ['nm'] not found or not executable` It's caused by the code that locates the tool as: `prog_nm = find_program('nm')`. The change adds 'nm' tool along with other binutils tools. Closes: https://bugs.gentoo.org/720886 Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
* Revert "meson.eclass: define host_machine in the native machine file"Mike Gilbert2020-05-231-6/+0
| | | | | | | This change did not have the desired effect. Reverts: c21b75bd0b6bf77e2b51c51222b4281729bb1c01. Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: define host_machine in the native machine fileMike Gilbert2020-05-231-0/+6
| | | | | | | Should resolve a problem with inline assembly in media-libs/mesa for multilib builds. Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: add workaround for broken boost detectionMike Gilbert2020-05-101-0/+4
| | | | | Bug: https://bugs.gentoo.org/721786 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: append /usr/share/pkgconfig to PKG_CONFIG_PATHMike Gilbert2020-05-051-2/+2
| | | | | Bug: https://bugs.gentoo.org/720866 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: use a subshell to unexport variables temporarilyMike Gilbert2020-05-031-16/+18
| | | | Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: export FLAGS for older versions on mesonMike Gilbert2020-05-031-0/+15
| | | | | Closes: https://bugs.gentoo.org/720860 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: ignore PKG_CONFIG_PATH due to Portage bugMike Gilbert2020-05-031-2/+2
| | | | | Bug: https://bugs.gentoo.org/720866 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: respect PKG_CONFIG_PATH and PKG_CONFIG_LIBDIRMike Gilbert2020-05-031-5/+9
| | | | | | | | | Respect PKG_CONFIG_PATH and PKG_CONFIG_LIBDIR if set before meson_src_configure. Add BUILD variants for use in cross-compiles. Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: avoid leaking BUILD vars outside meson_src_configureMike Gilbert2020-05-031-1/+14
| | | | Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: use export -n instead of unsetMike Gilbert2020-05-031-1/+1
| | | | | | | | This ensures the variables are still availble if the configure function is called more than once, as would happen for a multilib build. Bug: https://bugs.gentoo.org/720818 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: unset FLAGS before calling meson setupMike Gilbert2020-05-031-0/+3
| | | | | Bug: https://bugs.gentoo.org/720818 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: only default BUILD_FLAGS to FLAGS if not cross-compilingMike Gilbert2020-05-031-3/+9
| | | | | Bug: https://bugs.gentoo.org/720818 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: include ABI in machine file namesMike Gilbert2020-05-021-2/+2
| | | | Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: fix tc-endian call for native fileMike Gilbert2020-05-021-1/+1
| | | | Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: implement support for native machine filesMike Gilbert2020-05-021-20/+87
| | | | | | | | | | | Using a native file avoids putting meson into cross-compiler mode for multilib builds. Reference: https://mesonbuild.com/Machine-files.html Reference: https://mesonbuild.com/Native-environments.html Bug: https://bugs.gentoo.org/719382 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: wire up pkgconfig variablesMike Gilbert2020-04-231-0/+3
| | | | | | | | | | | | meson-0.54.0 introduced a regression in how meson treats the PKG_CONFIG_PATH variable. Work around this by passing the value to meson setup on the command line. Also add sys_root and pkg_config_libdir to cross files per the upstream documentation. Bug: https://bugs.gentoo.org/719018 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: export NM and READELF variablesMike Gilbert2020-04-221-0/+5
| | | | | | | These are used by the symbolextractor.py script in meson. Closes: https://bugs.gentoo.org/717720 Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: update the example to use modern helper functionsMarek Szuba2020-04-141-3/+3
| | | | | | | | We have now got meson_use and meson_feature yet the example still used usex. Signed-off-by: Marek Szuba <marecki@gentoo.org> Reviewed-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: add MYMESONARGS variableMike Gilbert2020-04-121-0/+11
| | | | | | This was requested to allow users to pass aribtrary arguments to meson. Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: clean up meson_src_configureMike Gilbert2020-04-121-10/+20
| | | | | | | This mainly rearranges some code to make it easier to read. Also changes the bare 'meson' call to 'meson setup'. Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: Set needs_exe_wrapper in cross fileMatt Turner2020-03-081-0/+4
| | | | | | | | | | | needs_exe_wrapper tells meson whether the build machine is able to directly execute the binaries it produces or whether it needs an exe wrapper (like QEMU). For non-native ABI builds like building 32-bit libraries on an x86-64 system, we want this set to false to communicate to meson that the build machine can run the binaries directly. Reviewed-by: Mike Gilbert <floppym@gentoo.org> Signed-off-by: Matt Turner <mattst88@gentoo.org>
* */*: Bump copyright on files touched this yearMichał Górny2020-02-111-1/+1
| | | | | | | Update the copyright notice on all files that were touched since January 1st but did not have the notice updated. Signed-off-by: Michał Górny <mgorny@gentoo.org>
* eclass/meson.eclass: update the meson and ninja dependenciesWilliam Hubbs2020-01-101-2/+2
| | | | Signed-off-by: William Hubbs <williamh@gentoo.org>
* meson.eclass: meson_src_{compile,install}: Pass "$@" to eninja.Arfrever Frehtes Taifersar Arahesis2019-08-191-2/+4
| | | | | | Closes: https://bugs.gentoo.org/670788 Signed-off-by: Arfrever Frehtes Taifersar Arahesis <Arfrever@Apache.Org> Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: don't pass --verbose to meson testMike Gilbert2019-07-241-3/+2
| | | | | | | This ends up sending spamming stdout/stderr with test output. It's better to have that redirected to the test log. Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: fix cross compile file for mingwGerhard Bräunlich2019-06-031-1/+2
| | | | | | | | This is necessary for cross compiling for example x11-libs/gdk-pixbuf Closes: https://github.com/gentoo/gentoo/pull/12168 Signed-off-by: Gerhard Bräunlich <g.braeunlich@disroot.org> Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: fix testsWilliam Hubbs2019-06-021-2/+23
| | | | | | | | | | | - use "meson test" to run tests instead of "eninja test" - calculate --num-processes based on ninjaopts or makeopts in the "meson test" call. - allow meson_src_test to accept arguments with the emesontestargs array or passed in the call like meson_src_configure Closes: https://bugs.gentoo.org/680010 Signed-off-by: William Hubbs <williamh@gentoo.org>
* meson.eclass: add meson_feature functionMart Raudsepp2019-03-171-0/+13
| | | | | | | | This can be used to simplify controlling meson_options.txt entries of type 'feature'. Signed-off-by: Mart Raudsepp <leio@gentoo.org> Signed-off-by: Matt Turner <mattst88@gentoo.org>
* meson.eclass: raise meson dependency to 0.48.2William Hubbs2019-02-071-1/+1
| | | | Signed-off-by: William Hubbs <williamh@gentoo.org>
* meson.eclass: remove unnecessary eapi checksWilliam Hubbs2019-02-071-1/+1
| | | | | | | This eclass dies for all eapis other than 6 or 7, so we don't need to test for eapis other than 6 or 7 anywhere else in the eclass. Signed-off-by: William Hubbs <williamh@gentoo.org>
* meson.eclass: remove meson_auto_dependWilliam Hubbs2019-02-071-23/+4
| | | | Signed-off-by: William Hubbs <williamh@gentoo.org>
* meson.eclass: add USAGE for meson_src_configureMike Gilbert2018-11-251-0/+1
| | | | Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: add EAPI 7 supportMarty E. Plummer2018-09-231-4/+8
| | | | Signed-off-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: add @SUPPORTED_EAPISMichał Górny2018-08-151-0/+1
|
* meson.eclass: require at least meson-0.45.1Zac Medico2018-07-231-1/+1
| | | | | | | | | | | | | | | Require newer meson in order to avoid build failures triggered new meson is not installed soon enough. For example, I experienced bug 649264 because I upgraded xorg-proto and libxshmfence packages before meson. Although meson-0.44.1 is enough to solve bug 649264, Mike Gilbert suggests to require at least meson-0.45.1, since this version is the latest stable on all archs. Closes: https://bugs.gentoo.org/649264 Reviewed-by: Mart Raudsepp <leio@gentoo.org> Reviewed-by: Mike Gilbert <floppym@gentoo.org>
* meson.eclass: add llvm-config to cross file binariesMike Gilbert2018-05-281-0/+1
|
* meson.eclass: use a cross file for non-default ABIsMike Gilbert2018-05-281-3/+3
|
* meson.eclass: add cross binaries for fortran, objc, objcppMike Gilbert2018-05-281-0/+3
|
* meson.eclass: use _meson_env_array for ar, c, cpp, stripMike Gilbert2018-05-281-4/+4
|
* Revert "meson.eclass: add _meson_move_flags function"Mike Gilbert2018-05-281-31/+0
| | | | | | | This reverts commit 0fe549260636840b96dfd3b9f55b5bbf7ea1d6a3. This function is unnecessary; we can use lists for the relevant toolchain binaries instead.
* meson.eclass: add _meson_move_flags functionMike Gilbert2018-05-241-0/+31
| | | | | This is used to move flags from CC to CFLAGS, typically during a multilib build.
* meson.eclass: define {fortran,objc,objcpp}_link_argsMike Gilbert2018-05-241-0/+3
|
* meson.eclass: include CPPFLAGS in {c,cpp,objc,objcpp}_argsMike Gilbert2018-05-241-4/+4
|
* meson.eclass: include CFLAGS/CXXFLAGS in c_link_args/cpp_link_argsMike Gilbert2018-05-241-2/+2
|
* meson.eclass: Don't mix host *FLAGS with build *FLAGSRaul E Rangel2018-05-051-22/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | meson gets the build flags from the environment. When cross compiling it will get the host flags from the cross file. The ebuild was not passing the correct build flags when cross compiling. By using tc-env_build the build environment flags are set when calling meson. This results in not mixing host and build flags: Example output: Native C compiler: x86_64-pc-linux-gnu-clang (clang 7.0) Appending CFLAGS from environment: '-O1 -pipe' Appending LDFLAGS from environment: ' ' Appending CPPFLAGS from environment: ' ' Cross C compiler: armv7a-cros-linux-gnueabi-clang (clang 7.0) Host machine cpu family: arm Host machine cpu: armv7a Target machine cpu family: arm Target machine cpu: armv7a Build machine cpu family: x86_64 Build machine cpu: x86_64 tc-env_build does not seem to load the actual build flags, but it's better than using host flags as build flags. See https://bugs.gentoo.org/653902 for upstream patch BUG=b:78351764 BRANCH=none TEST=emerge-grunt and verified mosys runs Change-Id: I802b58cb089b27b9253a034ac00dd183e0f1955a Signed-off-by: Raul E Rangel <rrangel@chromium.org> Closes: https://bugs.gentoo.org/653902
* meson.eclass: style cleanupMike Gilbert2018-05-051-10/+11
|
* meson.eclass: Write *FLAGS into meson cross build fileRaul E Rangel2018-05-051-0/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Use python's shlex to parse the flags and generate an array that is usable by meson. This will pass the flags correctly when doing a cross build. Example cross file output: [properties] c_args = ['-O2', '-pipe', '-march=armv8-a+crc', '-mtune=cortex-a57.cortex-a53', '-mfpu=crypto-neon-fp-armv8', '-mfloat-abi=hard', '-g', '-fno-exceptions', '-fno-unwind-tables', '-fno-asynchronous-unwind-tables', '-clang-syntax'] c_link_args = ['-Wl,-O1', '-Wl,-O2', '-Wl,--as-needed'] cpp_args = ['-O2', '-O2', '-pipe', '-march=armv8-a+crc', '-mtune=cortex-a57.cortex-a53', '-mfpu=crypto-neon-fp-armv8', '-mfloat-abi=hard', '-g', '-fno-exceptions', '-fno-unwind-tables', '-fno-asynchronous-unwind-tables', '-clang-syntax'] cpp_link_args = ['-Wl,-O1', '-Wl,-O2', '-Wl,--as-needed'] fortran_args = ['-O2'] objc_args = [] objcpp_args = [] See https://bugs.gentoo.org/653900 for upstream patch. BUG=b:78351764 TEST=emerge-grunt and emerge-bob and verified the flags are passed to mosys BRANCH=none Change-Id: Ic3d852232ec718141b87bc0729318699f0fad4f8 Signed-off-by: Raul E Rangel <rrangel@chromium.org> Closes: https://bugs.gentoo.org/653900
* meson.eclass: add meson_use functionMike Gilbert2017-12-231-0/+13
|