From d9cf8cb8c48333ccb726cabb189827cf061c73ce Mon Sep 17 00:00:00 2001 From: Michael Wagner Date: Tue, 12 Jan 2021 13:52:45 +0100 Subject: [PATCH] cpp-d1064k --- debian/mbuild.changelog | 5 +++++ tools/make/cmake_check | 12 ++++++++++ tools/make/mconfigure | 49 +++++++++++++++++++++++++++-------------- tools/make/rules | 9 +++++++- 4 files changed, 58 insertions(+), 17 deletions(-) create mode 100755 tools/make/cmake_check diff --git a/debian/mbuild.changelog b/debian/mbuild.changelog index 4ac574d..0b08a5c 100644 --- a/debian/mbuild.changelog +++ b/debian/mbuild.changelog @@ -1,3 +1,8 @@ +projects (1.0-%BUILD%) unstable; urgency=medium + * prebuild in .build no longer supported + * support of cmake builds + -- Michael Wagner Tue, 12 Jan 2021 22:54:48 +0100 + projects (0.6-%BUILD%) unstable; urgency=medium * calls PAKET.prepare (if present) in config step * RSYNC_OPTS in rules.pre diff --git a/tools/make/cmake_check b/tools/make/cmake_check new file mode 100755 index 0000000..aa85d8c --- /dev/null +++ b/tools/make/cmake_check @@ -0,0 +1,12 @@ +#!/bin/bash +set -e +cd ../build +if [ -e debian/$paket.cmake ] +then + cp debian/$paket.cmake CMakeLists.txt + echo "make" > debian/$paket.build + chmod 755 debian/$paket.build + echo "cmake ." > debian/$paket.prebuild + chmod 755 debian/$paket.prebuild +fi + diff --git a/tools/make/mconfigure b/tools/make/mconfigure index 95e0006..691825d 100755 --- a/tools/make/mconfigure +++ b/tools/make/mconfigure @@ -5,6 +5,7 @@ function echo_usage { echo "usage: mconfigure [options] " echo " -a " echo " -c : configure" + echo " -C " echo " -d : compile" echo " -p : pack default: do all" echo " -o : support old Debian 7 format" @@ -97,7 +98,7 @@ fi configure=0 compile=0 pack=0 -while getopts "a:cdpo" opt; do +while getopts "a:cC:dpo" opt; do case $opt in a) ARCH=$OPTARG ;; @@ -105,6 +106,8 @@ while getopts "a:cdpo" opt; do ;; d) compile=1 ;; + C) cross=$OPTARG + ;; p) pack=1 ;; o) oldpack="-Zgzip" @@ -129,6 +132,12 @@ fi paket=$1 +if [ -n "$ARCH" -a -n "$cross" ] +then + echo "invalid options: supply -a for multiarch or -C for explicit cross compile environment" + exit 1 +fi + # if nothing is selected, select all if [ $configure -eq 0 -a $compile -eq 0 -a $pack -eq 0 ] then @@ -143,13 +152,23 @@ then rm debian/changelog debian/control 2>/dev/null || true # mconfigure builds 2 environment files: setenv.sh + rules.pre + echo "" > debian/rules.pre + if [ -e debian/setenv.sh ]; then rm debian/setenv.sh; fi if [ -n "$ARCH" ] then arch_opt="-a $ARCH" fi - dpkg-architecture $arch_opt > debian/setenv.sh - echo "" > debian/rules.pre + if [ -n "$cross" ] + then + if [ ${cross:0:1} != "/" ] + then + cross="/opt/cross/$cross" + fi + . "$cross/setenv.sh" + cp $cross/setenv.sh debian/setenv.sh + fi + dpkg-architecture $arch_opt >> debian/setenv.sh echo "paket=$paket" >> debian/setenv.sh echo "oldpack=\"$oldpack\"" >> debian/setenv.sh @@ -219,6 +238,11 @@ then . debian/setenv.sh debian/$paket.prepare fi + if [ -e debian/$paket.cmake ] + then + # trigger build + touch debian/$paket.build + fi if [ -e debian/$paket.build ] then if [ -e ../build ] @@ -227,21 +251,14 @@ then mkdir ../build fi if grep -- "-prepare" debian/$paket.build >/dev/null - then - debian/rules sync - debian/$paket.build -prepare + then + echo "prepare in .build no longer supported. Use .prebuild" + exit 2 fi # sync build dir - . debian/setenv.sh - debian/rules sync +# . debian/setenv.sh +# debian/rules sync - # executing prebuild - if [ -x debian/$paket.prebuild ] - then - pushd ~/build >/dev/null - debian/$paket.prebuild - popd >/dev/null - fi fi # pack prepare @@ -271,7 +288,7 @@ then fi if [ $compile -eq 1 ] then - # build artefacts + # build package . debian/setenv.sh debian/rules build fi diff --git a/tools/make/rules b/tools/make/rules index e446d53..8c57576 100755 --- a/tools/make/rules +++ b/tools/make/rules @@ -18,7 +18,7 @@ clean: -rm -rf debian/tmp # Bauen der kompilierten Programme und formatierten Dokumente aus den Quellen im Bauverzeichnis -build: debian/$(paket).build sync +build: debian/$(paket).build prebuild cd ../build ; debian/$(paket).build # Build succeeded @@ -55,6 +55,13 @@ version: ~/build/$(TARGET) sync: ../build rsync $(RSYNC_OPT) ./ ../build/ +../build/cmake_check: + /usr/share/mbuild/cmake_check + touch ../build/cmake_check + +prebuild: sync ../build/cmake_check + cd ../build ; if [ -x debian/$(paket).prebuild ]; then debian/$(paket).prebuild; fi + copy: debian/$(paket).cp debian/$(paket).cp debian/tmp -- 2.20.1