summaryrefslogtreecommitdiff
path: root/Debian/Debhelper/Buildsystem
Commit message (Collapse)AuthorAge
* Improve build system auto-selection processModestas Vainius2009-11-18
| | | | | | | | | | | | | | | This patch alters semantics of check_auto_buildable() a bit. Now it can also indicate if the source has already been partitially built with the build system and if so, such build system may be auto-selected over a less specific its parent (in the inheritance tree) even if the latter is earlier in the @BUILDSYSTEMS array. However, this still leaves a requirement that a derivative build system must not do anything that may break packages of the parent build system. Otherwise, introduction of a new derivative build system might break packages which already had that build system implemented via overrides... Signed-off-by: Modestas Vainius <modestas@vainius.eu>
* cute tail display of config.log, to include a headerJoey Hess2009-11-16
|
* autoconf: If configure fails, cat config.log. Intended to make it easier to ↵Joey Hess2009-11-16
| | | | debug configure script failures on autobuilders. Closes: #556384
* Enable verbose ctest output on test failureModestas Vainius2009-11-16
| | | | | | | | | | | | When test fails, enable verbose ctest output. This allows to get more details on a test failure from the build logs. Auto-select cmake in further steps only if cmake was run in configure step. CMake writes CMakeCache.txt to build directory when it is run. Depend on the presence of this file for auto-selection in build, test, install and clean steps. Signed-off-by: Modestas Vainius <modestas@vainius.eu>
* Enable verbose ctest output on test failureModestas Vainius2009-11-12
| | | | | | | When test fails, enable verbose ctest output. This allows to get more details on a test failure from the build logs. Signed-off-by: Modestas Vainius <modestas@vainius.eu>
* support unlimited parallel jobsJoey Hess2009-10-29
| | | | | | | | dpkg-buildpackage -j sets DEB_BUILD_OPTIONS=parallel=-1. Policy does not cover this but the intent is to allow unlimited parallel jobs. Also, there is no longer any way for parallel to be set to undef, so remove code to handle that.
* reduce amount of MAKEFLAGS cleaningJoey Hess2009-10-28
| | | | | | | | | | | Now clean_jobserver_makeflags will only remove --jobserver settings from MAKEFLAGS. This is simpler and easier to understand than the old behavior, which, if there was no --jobserver, removed all -j and --jobs, while leaving those when removing --jobserver. This relies on -j options passed to make overriding -j settings in MAKEFLAGS. So we don't need to clean those out, we can just override them.
* split get_make_jobserver_status into two functionsJoey Hess2009-10-28
| | | | | | | | | | | I disliked the complexity of the return values, and the boilerplate code that followed the two calls to the function, to clean/unset MAKEFLAGS. To solve both, I refactored it into two functions, one simply tests to see if a jobserver is specified but unavailable, while the other cleans/unsets MAKEFLAGS. This loses the ability to pull the jobs-N count out of MAKEFLAGS, but that was not currently used.
* move obscure function to EOFJoey Hess2009-10-28
|
* Support parallel building in makefile buildsystemModestas Vainius2009-10-28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1) Add routine to Dh_Lib (used by dh and makefile.pm) which is capable of detecting make jobserver and job control options from the MAKEFLAGS environment variable. It also generates and returns a clean up MAKEFLAGS from these options. 2) Add --parallel option to build system framework which allows source packages to specify that they support parallel building. Optional value for this option is the number of maximum parallel process to allow. However, the actual number of parallel process (if any) for the specific build is determined from DEB_BUILD_OPTIONS env variable as specified by Debian Policy. By default (no --parallel option) parallel is neither enabled nor disabled (depends on the external environment). However, dh may pass --parallel to dh_auto_* implicitly in case 4) described below. 3) Add parallel support for makefile buildsystem. This implementation forcefully starts a new make job server (or disables parallel) for the number of process requested. If --parallel was not passed to the build system at all, the build system will only clean up MAKEFLAGS from stale jobserver options to avoid pointless make warnings. 4) If dh detects that it is being run by dpkg-buildpackage -jX and it is NOT run with "+" prefix from debian/rules (i.e. jobserver is not reachable), it enables --parallel implicitly. This closes: #532805. Signed-off-by: Modestas Vainius <modestas@vainius.eu>
* invert python orderingJoey Hess2009-10-01
| | | | --force allows doing so
* indentationJoey Hess2009-10-01
|
* Pass --force option to Python distutils install command.Andrew Straw2009-10-01
| | | | | | This command will prevent distutils from attempting to determine whether a file should be installed based on the timestamp of the to-be-overwritten file.
* improve python regexps, per bzedJoey Hess2009-08-13
|
* move comment closer to relevant codeJoey Hess2009-08-08
|
* python_distutils.pm: Support debhelper backports.Bernd Zeimetz2009-08-08
| | | | | | To allow backports of debhelper we don't pass --install-layout=deb to 'setup.py install` for those Python versions where the option is ignored by distutils/setuptools.
* perl_build: Fix Build check to honor source directory setting.Joey Hess2009-08-05
|
* perl_build: Avoid failing if forced to be used in dh_auto_clean when Build ↵Joey Hess2009-08-04
| | | | does not exist (ie due to being run twice in a row). Closes: #539848
* cmake: Avoid forcing rpath off as this can break some test suites. It gets ↵Joey Hess2009-08-01
| | | | stripped by cmake at install time. Closes: #538977
* perl_makemaker: Re-add fix for #496157, lost in rewrite.Joey Hess2009-07-22
|
* refactorJoey Hess2009-07-19
|
* Merge commit 'origin/buildsystems' into python-buildBernd Zeimetz2009-07-19
|\ | | | | | | | | Conflicts: Debian/Debhelper/Buildsystem/python_distutils.pm
| * fix get_sourcepath use and misc style fixesJoey Hess2009-07-19
| |
* | Ensure that we find the right default dbg Python.Bernd Zeimetz2009-07-19
|/
* Check the various build-deps for python-dbg.Bernd Zeimetz2009-07-19
| | | | | The default dbg interpreter can be installed by various build-deps, check them all.
* Merge commit 'origin/buildsystems' into python-buildBernd Zeimetz2009-07-19
|\ | | | | | | | | Conflicts: Debian/Debhelper/Buildsystem/python_distutils.pm
| * improve commentJoey Hess2009-07-19
| |
| * minor improvementJoey Hess2009-07-19
| |
| * Merge commit 'remotes/bzed/python-build' into buildsystemsJoey Hess2009-07-19
| |\
| * | relocate comment inside ifJoey Hess2009-07-18
| | |
* | | Build Python dbg extensions automatically.Bernd Zeimetz2009-07-19
| |/ |/| | | | | | | Python dbg interpreters are only called if the package build-depends on them.
* | Build for all supported Pythons if installed.Bernd Zeimetz2009-07-19
|/ | | | | | | python_distutils buildsystem: Build for all supported Python versions in case they're installed. Ensure that correct shebangs are created by using `python' first during build and install. Closes: #520834
* forgot to add ant.pmJoey Hess2009-07-14
|
* Bug fix: pass extra command line arguments to cmake.Modestas Vainius2009-06-30
| | | | Signed-off-by: Modestas Vainius <modestas@vainius.eu>
* Add URLs to python_distutils --build-base bugs.Modestas Vainius2009-06-30
|
* Call SUPER in python_distutils::pre_building_step.Modestas Vainius2009-06-30
| | | | Signed-off-by: Modestas Vainius <modestas@vainius.eu>
* Rename _canonpath to canonpath.Modestas Vainius2009-06-30
| | | | Signed-off-by: Modestas Vainius <modestas@vainius.eu>
* Rename enforce_out_of_source_building() to prefer_Modestas Vainius2009-06-30
| | | | | | | | Also add enforce_out_of_source_building() for clarity which does not take any parameters. Now both have a clear name and no confusing parameter combinations. Signed-off-by: Modestas Vainius <modestas@vainius.eu>
* misc minor changesJoey Hess2009-06-29
|
* Merge branch 'master' into buildsystemsJoey Hess2009-06-28
| | | | | Conflicts: dh_auto_install
* Revert "Update dh_auto documentation."Joey Hess2009-06-28
| | | | | | | | | | | I'm reverting the documentation addition to try doing it myself, more simply and less verbosely. This reverts commit 962a2e10c930e3504ea1c0327be2fdf70d53023e. Conflicts: dh_auto.pod
* Fix leftover from the old code.Modestas Vainius2009-06-21
| | | | Signed-off-by: Modestas Vainius <modestas@vainius.eu>
* Update dh_auto documentation.Modestas Vainius2009-06-18
| | | | | | | | | | | | | | | | | * dh_auto.pod -> dh_auto.7 - contains general information about dh_auto, its features, build systems supported by default (the latter is injected by man/dh_auto_pod script from Debian/Debhelper/Buildsystem/*.pm PODs via placeholders (#PLACEHOLDER#)) * POD in Debian/Debhelper/Buildsystem/*.pm -> dh_auto_<buildsystem>.7 - build system specific information. * dh_auto_* -> dh_auto_*.1 - relatively shorty description of the specific dh_auto_* program and build system specific info for that step injected from Debian/Debhelper/Buildsystem/*.pm with man/dh_auto_pod script. * man/dh_auto_pod $step - generates full dh_auto_$step POD (replaces placeholders). * man/dh_auto_pod - generates full dh_auto.pod (replaces placeholders). Signed-off-by: Modestas Vainius <modestas@vainius.eu>
* Do not explicitly repass env. variables {C,CXX,LD}FLAGS to cmake.Modestas Vainius2009-06-18
| | | | | | | Apparently, cmake itself reads values of those environment variables and uses them accordingly. There is no need to repass them via -DCMAKE_{C,CXX,LD}_FLAGS. Signed-off-by: Modestas Vainius <modestas@vainius.eu>
* Less code in the build system classes to call enforce_out_of_source_building().Modestas Vainius2009-06-18
| | | | Signed-off-by: Modestas Vainius <modestas@vainius.eu>
* Some cosmetic changes in the comments and strings.Modestas Vainius2009-06-17
| | | | | | | | * buildsystem -> build system * dh_auto build system -> debhelper build system * plugin -> class * a few rewording changes in the comments. * Enhance python_distutils::DESCRIPTION().
* Fix build directory handling in python_distutils build system.Modestas Vainius2009-06-15
| | | | | | | | | | | | | | | * Apparently, Distutils does out of source tree building by default. * Default build directory is "$srcdir/build". * --build-base command line option is ineffective (some even fail) unless it is passed to the "build" command. However, if build-base is set in the config file, all setup.py commands use it (build, install and clean). That's a big flaw in Distutils design but it has been like this for a long time. Therefore write a custom distutils cfg file in the build directory to make build-base work. The best choice for config file path is $HOME/.pydistutils.cfg (one of the paths Distutils reads) and setting $HOME to the build directory. Signed-off-by: Modestas Vainius <modestas@vainius.eu>
* Enforce out of source building in soft mode for cmake.Modestas Vainius2009-06-13
| | | | | | | | | Technically, cmake supports in source builds, they are simply not recommended. However, if the user insists and explicitly specifies the build directory that is equal to the source directory, allow this (aka soft mode). Signed-off-by: Modestas Vainius <modestas@vainius.eu>
* Ensure make doesn't print directories when checking for target existance.Modestas Vainius2009-06-11
| | | | | | | | | | Whenever make is run with --print-directory option, make -C sometimes print Entering/Leaving directory messages to stdout even with -s in effects This breakes a check for target existance as it relies on make printing nothing when target does not do anything. Hence explicitly pass --no-print-directory to make to avoid it. Signed-off-by: Modestas Vainius <modestas@vainius.eu>
* Make perl_makemaker work properly when in source building is enforced.Modestas Vainius2009-06-11
| | | | | | | | | | | This is backwards compatible (with << 7.3) until build, test and clean steps are not reimplemented in the backwards compatibility breaking way. However, this is absolutely necessary for enforce_in_source_building() to work in corner cases (when build directory is set) in build, test and clean steps as the next class (makefile) does not enforce it. makefile will fail as it will look for Makefile in the build directory rather than the source directory. Signed-off-by: Modestas Vainius <modestas@vainius.eu>