summaryrefslogtreecommitdiff
path: root/lib/Debian/Debhelper/Buildsystem
AgeCommit message (Collapse)AuthorFilesLines
2019-10-20meson.pm: Fix broken call to NAMENiels Thykier1-2/+2
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-10-18perl_build: support cross building XS modulesNiko Tyni1-3/+19
When cross building, run Build.PL and Build with host arch Config.pm (provided by the perl-xs-dev package since perl/5.30.0-7) first on @INC. We need to set PERL5LIB because Module::Build forks a child process to sanity check the Config it's seeing, so the modified search path has to be propagated via the environment.
2019-10-18perl_makemaker: support cross building XS modulesNiko Tyni1-2/+13
When cross building, run Makefile.PL with host arch Config.pm (provided by the perl-xs-dev package since perl/5.30.0-7) first on @INC. This is an initial implementation that seems to work for a majority of simple XS module packages. It's possible that it will need tuning in the future to accommodate more complex packages. In particular: - setting PERL5LIB instead of adding the -I option might be needed to propagate the modified search path to child processes of Makefile.PL - the 'make' phase may need modifications to the search path as well
2019-09-28wrong CMAKE_SYSTEM_PROCESSOR for 32bit armsHelmut Grohne1-0/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-05-17cmake.pm: Emit correct CMAKE_SYSTEM_PROCESSOR for mips64el during cross buildsHelmut Grohne1-0/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2019-03-31makefile: Fix regression where cross tools were passed when make was a ↵Niels Thykier1-1/+5
target build system Signed-off-by: Niels Thykier <niels@thykier.net>
2019-02-09meson: Dump meson-logs/testlog.txt on test errorNiels Thykier1-12/+20
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-12-02Revert "makefile.pm: pass V=1/0 depending on DH_QUIET"Luca Boccassi1-7/+1
This reverts commit dbdc8f0188b26734031c00c8fb227208841dd531. At least one package uses V in a different way than a simple boolean-ish variable, and thus causes a build failure. As pointed out on the bug report, there is no sane way to predict what variables makefiles are going to use, and it might cause hidden issues and mis-builds rather than simple build failures. Closes: Debian#914419 Signed-off-by: Luca Boccassi <bluca@debian.org>
2018-11-10cmake: Pass correct CMAKE_SYSTEM_PROCESSOR for ppc64elHelmut Grohne1-1/+10
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-11-10cmake: Pass QMAKE_EXECUTABLE when cross-buildingHelmut Grohne1-0/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-11-04meson: Run tests with meson [c13]Niels Thykier1-0/+24
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-11-02makefile.pm: pass V=1/0 depending on DH_QUIETLuca Boccassi1-1/+7
Allows a terse build to be quieter, and defaults to a verbose build as indicated by Debian Policy 4.2.0 (section 4.9). Signed-off-by: Luca Boccassi <bluca@debian.org>
2018-09-15Replace all calls to Cwd::cwd with Cwd::getcwdJosh Triplett1-1/+1
The former calls /bin/pwd, while the latter uses the getcwd syscall directly. This eliminates some forks and execs from every build.
2018-09-14{meson,autoconf}.pm: Fix inverted boolean logicNiels Thykier2-3/+3
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-09-04meson.pm: Add missing import of compatNiels Thykier1-1/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-09-02Support of terse flag in DEB_BUILD_OPTIONSNicholas Guriev2-4/+6
* Also fix using of the QUIET internal setting in autoconf and cmake build systems.
2018-08-04autoconf,meson: Use usr/libexec dir by default [c12]Niels Thykier2-3/+3
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-08-04cmake: Explicitly set CMAKE_INSTALL_LIBDIRNiels Thykier1-1/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-06-10cmake.pm: Place path-to-source at end of command line invocation.Roberto C. Sánchez1-1/+1
This allows params in debian/rules of the form "-D FOO=BAR" instead of only "-DFOO=BAR" (without quotes). cmake permits both forms, but mishandles the directory if any of the params contain a space between the -D and the var/value. If the directory is last, it always works.
2018-05-20python_distutils.pm: Deprecate with removal in compat 12Niels Thykier1-2/+5
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-05-19makefile.pm: Revert use of -O for nowNiels Thykier1-3/+0
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-04-28cmake: honour CC/CXX during native buildsHelmut Grohne1-6/+8
2018-04-09qmake.pm: Let qmake cross wrapper set most of cross-build optionsDmitry Shachnev1-52/+4
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-04-08Buildsystems: Avoid picking a redundant build system during cleanNiels Thykier3-5/+4
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-04-07Buildsystem.pm: Add a getter for targetbuildsystemNiels Thykier2-4/+4
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-04-06cmake: Support ninja backendNiels Thykier1-1/+11
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-04-06Rewrite build system to support a "target build system"Niels Thykier3-18/+43
Several of the build systems consists of a configure step that generates a buildscript for another build tool. Notable examples being "cmake" and "meson", which even supports multiple backend tools. This change makes it natively possible for debhelper to support such build systems with multiple backends. Note that only build systems with multiple backends have been rewritten. Signed-off-by: Niels Thykier <niels@thykier.net>
2018-04-04makefile: Use -Oline instead of -ONiels Thykier1-1/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-02-24makefile.pm: Skip -O when STDOUT it a TTYNiels Thykier1-2/+4
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-02-18makefile: Pass -O to make with -jXNiels Thykier1-1/+9
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-02-12meson.pm: Fix locale nameJakub Wilk1-2/+2
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-01-31makefile.pm: Sort %DEB_DEFAULT_TOOLS argumentsNiels Thykier1-1/+2
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-01-21qmake{,4}.pm: Avoid global state in build systemsNiels Thykier2-7/+7
Signed-off-by: Niels Thykier <niels@thykier.net>
2018-01-20ninja.pm: Set LC_ALL=C.UTF-8 for meson buildsNiels Thykier1-10/+26
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-12-30meson.pm: Remove redundant boilerplate methodNiels Thykier1-5/+0
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-12-30meson.pm: Set LC_ALL=C.UTF-8 when invoking mesonNiels Thykier1-2/+9
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-17qmake.pm: Add all possible settings to generated qmake-cross.conf.Dmitry Shachnev1-2/+18
Now output of ‘qmake -query’ with and without using this file is identical. This makes cross-building Qt’s own modules possible. Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-17qmake.pm: Push compiler information as ‘early’ flags to qmake.Dmitry Shachnev1-0/+3
To make sure qmake calls the right compiler to get library paths. Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-16meson.pm: Fix typoDmitry Shachnev1-1/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-16qmake.pm: Add missing import of generated_fileDmitry Shachnev1-1/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-14qmake.pm: Ensure that the cross config filename is absoluteNiels Thykier1-0/+6
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-14qmake: Let the qmake cross config survive until cleanNiels Thykier1-3/+4
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-11-14qmake: Set QMAKE_LINK correctly for cross-buildsDmitry Shachnev1-1/+2
2017-10-26meson.pm: Add missing import of generating_fileNiels Thykier1-1/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-10-24meson.pm: Keep cross file until dh_clean timeNiels Thykier1-3/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-10-21makefile.pm: Support R³ for calling make install as rootNiels Thykier1-2/+11
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-10-14cmake.pm: Also supply PKGCONFIG_EXECUTABLE for obsolete UsePkgConfig.cmakeHelmut Grohne1-0/+1
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-10-13qmake.pm: Remove -nocache parameterLisandro Damián Nicanor Pérez Meyer1-1/+0
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-10-10meson.pm: Add prototype cross build supportNiels Thykier1-4/+25
Signed-off-by: Niels Thykier <niels@thykier.net>
2017-10-08qmake.pm: Simplify a lineNiels Thykier1-1/+1
Signed-off-by: Niels Thykier <niels@thykier.net>