From a8b6d01b87f252aeba972d5085c9e11b7bdf1652 Mon Sep 17 00:00:00 2001 From: Mark Olesen Date: Fri, 3 Apr 2020 18:52:10 +0200 Subject: [PATCH] CONFIG: relocate wmake binaries into project platforms/tools (#1647) - can aid when creating source-only or binary-only packages --- wmake/rules/General/general | 2 +- wmake/scripts/wrap-lemon | 7 +++---- wmake/src/Allmake | 27 +++++++++++++++++++++------ 3 files changed, 25 insertions(+), 11 deletions(-) diff --git a/wmake/rules/General/general b/wmake/rules/General/general index 8c433e46fa..f8786b6a2d 100644 --- a/wmake/rules/General/general +++ b/wmake/rules/General/general @@ -17,7 +17,7 @@ GLIB_LIBS = COMPILER_FAMILY = $(shell echo "$(WM_COMPILER)" | sed -e 's/[0-9].*//') DEFAULT_RULES = $(WM_DIR)/rules/$(WM_ARCH)$(COMPILER_FAMILY) RULES = $(WM_DIR)/rules/$(WM_ARCH)$(WM_COMPILER) -WMAKE_BIN = $(WM_DIR)/platforms/$(WM_ARCH)$(WM_COMPILER) +WMAKE_BIN = $(WM_PROJECT_DIR)/platforms/tools/$(WM_ARCH)$(WM_COMPILER) # Default compilation is 'Opt' - never permit an empty value ifeq ($(WM_COMPILE_OPTION),) diff --git a/wmake/scripts/wrap-lemon b/wmake/scripts/wrap-lemon index 5b01d9e77e..f9080d95ce 100755 --- a/wmake/scripts/wrap-lemon +++ b/wmake/scripts/wrap-lemon @@ -6,11 +6,10 @@ # \\ / A nd | www.openfoam.com # \\/ M anipulation | #------------------------------------------------------------------------------- -# Copyright (C) 2019 OpenCFD Ltd. +# Copyright (C) 2019-2020 OpenCFD Ltd. #------------------------------------------------------------------------------- # License -# This file is part of OpenFOAM, licensed under GNU General Public License -# . +# This file is part of OpenFOAM, distributed under GPL-3.0-or-later. # # Script # wrap-lemon @@ -31,7 +30,7 @@ # #------------------------------------------------------------------------------ -binDir="${WMAKE_BIN:-$WM_PROJECT_DIR/wmake/platforms/$WM_ARCH$WM_COMPILER}" +binDir="${WMAKE_BIN:-$WM_PROJECT_DIR/platforms/tools/$WM_ARCH$WM_COMPILER}" etcDir="${WM_DIR:-$WM_PROJECT_DIR/wmake}/etc" # Executable and skeleton locations diff --git a/wmake/src/Allmake b/wmake/src/Allmake index 4ef5a56975..9e78c5eb52 100755 --- a/wmake/src/Allmake +++ b/wmake/src/Allmake @@ -1,23 +1,38 @@ #!/bin/sh -cd "${0%/*}" || exit # Run from this directory +cd "${0%/*}" || exit # This directory (/path/project/wmake/src) -if [ -z "$WM_DIR" ] # Require WM_DIR +if [ -z "$WM_DIR" ] # Require WM_DIR (/path/project/wmake) then - WM_DIR="$(\cd $(dirname $0)/.. && \pwd -L)" + WM_DIR="$(dirname "$(pwd -L)")" export WM_DIR fi +if [ -z "$WM_PROJECT_DIR" ] # Expect WM_PROJECT_DIR (/path/project) +then + echo "Warning (${0##*/}) : No WM_PROJECT_DIR set" 1>&2 + WM_PROJECT_DIR="${WM_DIR%/*}" + export WM_PROJECT_DIR +fi + +if [ -z "$WM_ARCH" ] || [ -z "$WM_COMPILER" ] +then + echo "Error (${0##*/}) : No WM_ARCH or WM_COMPILER set" + echo " Check your OpenFOAM environment and installation" + exit 1 +fi + case "$WM_COMPILER" in Mingw*) # Host wmake toolchain with system gcc (when cross-compiling) make \ WM_COMPILER=Gcc WM_COMPILER_TYPE=system \ - WMAKE_BIN="${WM_DIR}/platforms/${WM_ARCH}${WM_COMPILER}" + WMAKE_BIN="${WM_PROJECT_DIR}/platforms/tools/${WM_ARCH}${WM_COMPILER}" \ + "$@" ;; *) - # Compile wmake toolchain - make + # Regular wmake toolchain + make "$@" ;; esac