diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 07:33:58 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 07:33:58 +0000 |
commit | 77d6698bdfbc3fb878cb4490061f50e24a2cabec (patch) | |
tree | 33b9119b2179ed4aa93cea8c29fc1615ee8db9a7 | |
parent | Adding upstream version 1:0.1.9998svn3589+dfsg. (diff) | |
download | kbuild-upstream.tar.xz kbuild-upstream.zip |
Adding upstream version 1:0.1.9998svn3604+dfsg.upstream/1%0.1.9998svn3604+dfsgupstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
33 files changed, 963 insertions, 57 deletions
@@ -1,4 +1,4 @@ -# $Id: Config.kmk 3572 2022-10-24 08:36:35Z bird $ +# $Id: Config.kmk 3600 2023-10-19 14:26:27Z bird $ ## @file # Build Configuration. # @@ -145,6 +145,7 @@ DEFS.win += KBUILD_OS_WINDOWS DEFS.x86 += KBUILD_ARCH_X86 DEFS.amd64 += KBUILD_ARCH_AMD64 +DEFS.arm64 += KBUILD_ARCH_ARM64 # diff --git a/SlickEdit/kdev.e b/SlickEdit/kdev.e index 59e497e..8049cbc 100644 --- a/SlickEdit/kdev.e +++ b/SlickEdit/kdev.e @@ -1,4 +1,4 @@ -/* $Id: kdev.e 3589 2023-02-20 10:07:39Z bird $ -*- tab-width: 4 c-indent-level: 4 -*- */ +/* $Id: kdev.e 3604 2024-02-04 23:19:33Z bird $ -*- tab-width: 4 c-indent-level: 4 -*- */ /** @file * Visual SlickEdit Documentation Macros. */ @@ -73,6 +73,7 @@ def 'C-S-P' = k_mark_modified_line def 'C-S-S' = k_box_structs def 'C-S-T' = k_rebuild_tagfile def 'C-S-L' = k_style_load +def 'C-S-\' = k_newline_escape_selection //optional stuff //def 'C-S-Q' = klib_klog_file_ask @@ -1686,6 +1687,42 @@ void k_noref() _insert_text(sNoRefs); } +/* Adds newline escape slashes to the current selection. */ +void k_newline_escape_selection() +{ + filter_init(); + typeless rc = filter_get_string(sLine); + if (rc == 0) + { + _str sPrev = ''; + do + { + /* */ + if (sLine != '') + sLine = sLine ' \'; + else + { + int offNonWhitespace = pos("[^ \t]", sPrev, 1, 'L'); + if (offNonWhitespace > 0) + sLine = _pad(sLine, offNonWhitespace - 1, ' '); + sLine = sLine '\'; + } + + filter_put_string(sLine); + + /* next line */ + sPrev = sLine; + rc = filter_get_string(sLine); + } while (rc == 0); + + } + else if (isinteger(rc)) + message(get_message(rc)); + else + message(rc); +} + + /******************************************************************************* * kLIB Logging * *******************************************************************************/ diff --git a/kBuild/footer-inherit-uses-tools.kmk b/kBuild/footer-inherit-uses-tools.kmk index 85d2512..bada7f7 100644 --- a/kBuild/footer-inherit-uses-tools.kmk +++ b/kBuild/footer-inherit-uses-tools.kmk @@ -1,4 +1,4 @@ -# $Id: footer-inherit-uses-tools.kmk 3121 2017-10-31 10:58:59Z bird $ +# $Id: footer-inherit-uses-tools.kmk 3594 2023-06-01 21:07:11Z bird $ ## @file # kBuild - Footer - Target lists - Pass 2 - Template & Target Inheritance, Uses and Tools. # @@ -574,7 +574,7 @@ define def_templates_load_function ifndef TEMPLATE_$(loading) TEMPLATE_$(loading)_KMK_FILE := $(firstword $(foreach path, $(KBUILD_TEMPLATE_PATHS) $(KBUILD_PATH)/templates $(KBUILD_DEFAULT_PATHS), $(wildcard $(path)/$(loading).kmk))) ifeq ($(TEMPLATE_$(loading)_KMK_FILE),) - $(error kBuild: Cannot find include file for the template '$(loading)'! Searched: $(KBUILD_TEMPLATE_PATHS) $(KBUILD_PATH)/templates $(KBUILD_DEFAULT_PATHS)) + $(error kBuild: Cannot find include file for the template '$(loading)'! Searched: $(KBUILD_TEMPLATE_PATHS) $(KBUILD_PATH)/templates $(KBUILD_DEFAULT_PATHS) Used by target(s): $(strip $(foreach target, $(_ALL_TARGETS),$(if-expr "$($(target)_TEMPLATE)" == "$(loading)",$(target) (in $(where $(target)_TEMPLATE)),)))) endif include $(TEMPLATE_$(loading)_KMK_FILE) ifndef TEMPLATE_$(loading) diff --git a/kBuild/retry-10-delay-500ms.sh b/kBuild/retry-10-delay-500ms.sh new file mode 100755 index 0000000..05c75d5 --- /dev/null +++ b/kBuild/retry-10-delay-500ms.sh @@ -0,0 +1,49 @@ +#!/usr/bin/env kmk_ash +# $Id: retry-10-delay-500ms.sh 3597 2023-06-16 20:56:17Z bird $ +## @file +# kBuild Helper Script - Retry execution of command 10 times with 0.5 seconds delay. +# + +# +# Copyright (c) 2023 knut st. osmundsen <bird-kBuild-spam-xxiii@anduin.net> +# +# This file is part of kBuild. +# +# kBuild is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# kBuild is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with kBuild; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# +# As a special exception you are granted permission to include this file, via +# the kmk include directive, as you wish without this in itself causing the +# resulting makefile, program or whatever to be covered by the GPL license. +# This exception does not however invalidate any other reasons why the makefile, +# program, whatever should not be covered the GPL. +# +# + +# First try... +"$@" && exit 0 +MY_EXITCODE=$? + +# Retry up to five times with a little delay between each. +for MY_RETRY in 1 2 3 4 5 6 7 8 9; +do + echo "retry-10-delay-500ms.sh: Retry #${MY_RETRY} failed: ${MY_EXITCODE} (cmd: $*)" + kmk_sleep 500ms + "$@" && exit 0 + MY_EXITCODE=$? +done +echo "retry-10-delay-500ms.sh: Giving up after 10 tries: ${MY_EXITCODE} (cmd: $*)" >&2 +exit ${MY_EXITCODE} + diff --git a/kBuild/sdks/MACOSX110.kmk b/kBuild/sdks/MACOSX110.kmk index 1715f80..e9ee5f9 100644 --- a/kBuild/sdks/MACOSX110.kmk +++ b/kBuild/sdks/MACOSX110.kmk @@ -1,4 +1,4 @@ -# $Id: MACOSX110.kmk 3495 2020-12-23 20:18:20Z bird $ +# $Id: MACOSX110.kmk 3603 2024-01-23 09:43:42Z bird $ ## @file # kBuild SDK - Mac OS X v11.0 SDK. # @@ -49,7 +49,8 @@ ifeq ($(PATH_SDK_MACOSX110),) endif ## The MAC_OS_X_VERSION_MIN_REQUIRED and MAC_OS_X_VERSION_MAX_ALLOWED value for this SDK. -SDK_MACOSX110_VERSION_VALUE := 110000 +SDK_MACOSX110_VERSION_ARG := 11.0 +SDK_MACOSX110_VERSION_VALUE := $(subst .,,$(SDK_MACOSX110_VERSION_ARG))000 # General Properties (used by kBuild) # Note: The MAC_OS_X_VERSION_MAX_ALLOWED is left free for the SDK user to define. diff --git a/kBuild/sdks/MACOSX120.kmk b/kBuild/sdks/MACOSX120.kmk new file mode 100644 index 0000000..106b411 --- /dev/null +++ b/kBuild/sdks/MACOSX120.kmk @@ -0,0 +1,66 @@ +# $Id: MACOSX120.kmk 3603 2024-01-23 09:43:42Z bird $ +## @file +# kBuild SDK - Mac OS X v12.0 SDK. +# + +# +# Copyright (c) 2008-2024 knut st. osmundsen <bird-kBuild-spam-xxiii@anduin.net> +# +# This file is part of kBuild. +# +# kBuild is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# kBuild is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with kBuild; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1201 USA +# +# +# As a special exception you are granted permission to include this file, via +# the kmk include directive, as you wish without this in itself causing the +# resulting makefile, program or whatever to be covered by the GPL license. +# This exception does not however invalidate any other reasons why the makefile, +# program, whatever should not be covered the GPL. +# +# + +ifndef INCLUDED_DARWIN_COMMON_KMK + include $(KBUILD_PATH)/darwin-common.kmk +endif + +SDK_MACOSX120 := Mac OS X v12.0 SDK + +# SDK Specific Properties +ifndef PATH_SDK_MACOSX120 + PATH_SDK_MACOSX120 := $(call DARWINCMN_FN_FIND_MACOSX_SDK,MacOSX12.0.sdk) + ifndef PATH_SDK_MACOSX120 + PATH_SDK_MACOSX120 := $(call DARWINCMN_FN_FIND_MACOSX_SDK,MacOSX12.sdk) + endif +else + # Resolve any fancy stuff once and for all. + PATH_SDK_MACOSX120 := $(PATH_SDK_MACOSX120) +endif +ifeq ($(PATH_SDK_MACOSX120),) + $(warning $(call DARWINCMN_FN_ERROR_MACOSX_SDK,MacOSX12.0.sdk)) +endif + +## The MAC_OS_X_VERSION_MIN_REQUIRED and -mmacosx-version-min values for this SDK. +SDK_MACOSX120_VERSION_ARG := 12.0 +SDK_MACOSX120_VERSION_VALUE := $(subst .,,$(SDK_MACOSX120_VERSION_ARG))000 + +# General Properties (used by kBuild) +# Note: The MAC_OS_X_VERSION_MAX_ALLOWED is left free for the SDK user to define. +SDK_MACOSX120_DEFS ?= MAC_OS_X_VERSION_MIN_REQUIRED=$(SDK_MACOSX120_VERSION_VALUE) +SDK_MACOSX120_CFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX120_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX120)" +SDK_MACOSX120_CXXFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX120_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX120)" +SDK_MACOSX120_OBJCFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX120_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX120)" +SDK_MACOSX120_OBJCXXFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX120_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX120)" +SDK_MACOSX120_LDFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX120_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX120)" + diff --git a/kBuild/sdks/MACOSX120INCS.kmk b/kBuild/sdks/MACOSX120INCS.kmk new file mode 100644 index 0000000..7caaf39 --- /dev/null +++ b/kBuild/sdks/MACOSX120INCS.kmk @@ -0,0 +1,49 @@ +# $Id: MACOSX120INCS.kmk 3602 2024-01-23 09:35:29Z bird $ +## @file +# kBuild SDK - Mac OS X v12.0 SDK, includes only. +# + +# +# Copyright (c) 2008-2024 knut st. osmundsen <bird-kBuild-spam-xxiii@anduin.net> +# +# This file is part of kBuild. +# +# kBuild is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# kBuild is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with kBuild; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1201 USA +# +# +# As a special exception you are granted permission to include this file, via +# the kmk include directive, as you wish without this in itself causing the +# resulting makefile, program or whatever to be covered by the GPL license. +# This exception does not however invalidate any other reasons why the makefile, +# program, whatever should not be covered the GPL. +# +# + +ifndef SDK_MACOSX120 + include $(KBUILD_PATH)/sdks/MACOSX120.kmk +endif + +SDK_MACOSX120INCS := Mac OS X v12.0 SDK, include only. + +# SDK Specific Properties +ifndef PATH_SDK_MACOSX120INCS + PATH_SDK_MACOSX120INCS := $(PATH_SDK_MACOSX120) +else + PATH_SDK_MACOSX120INCS := $(PATH_SDK_MACOSX120INCS) +endif + +# General Properties (used by kBuild) +SDK_MACOSX120INCS_INCS = $(PATH_SDK_MACOSX120INCS)/usr/include + diff --git a/kBuild/sdks/MACOSX123.kmk b/kBuild/sdks/MACOSX123.kmk new file mode 100644 index 0000000..670de9d --- /dev/null +++ b/kBuild/sdks/MACOSX123.kmk @@ -0,0 +1,62 @@ +# $Id: MACOSX123.kmk 3596 2023-06-14 08:11:45Z bird $ +## @file +# kBuild SDK - Mac OS X v12.3 SDK. +# + +# +# Copyright (c) 2008-2023 knut st. osmundsen <bird-kBuild-spam-xxiii@anduin.net> +# +# This file is part of kBuild. +# +# kBuild is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# kBuild is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with kBuild; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# +# +# As a special exception you are granted permission to include this file, via +# the kmk include directive, as you wish without this in itself causing the +# resulting makefile, program or whatever to be covered by the GPL license. +# This exception does not however invalidate any other reasons why the makefile, +# program, whatever should not be covered the GPL. +# +# + +ifndef INCLUDED_DARWIN_COMMON_KMK + include $(KBUILD_PATH)/darwin-common.kmk +endif + +SDK_MACOSX123 := Mac OS X v12.3 SDK + +# SDK Specific Properties +ifndef PATH_SDK_MACOSX123 + PATH_SDK_MACOSX123 := $(call DARWINCMN_FN_FIND_MACOSX_SDK,MacOSX12.3.sdk) +else + # Resolve any fancy stuff once and for all. + PATH_SDK_MACOSX123 := $(PATH_SDK_MACOSX123) +endif +ifeq ($(PATH_SDK_MACOSX123),) + $(warning $(call DARWINCMN_FN_ERROR_MACOSX_SDK,MacOSX12.3.sdk)) +endif + +## The MAC_OS_X_VERSION_MIN_REQUIRED and MAC_OS_X_VERSION_MAX_ALLOWED value for this SDK. +SDK_MACOSX123_VERSION_VALUE := 123000 + +# General Properties (used by kBuild) +# Note: The MAC_OS_X_VERSION_MAX_ALLOWED is left free for the SDK user to define. +SDK_MACOSX123_DEFS ?= MAC_OS_X_VERSION_MIN_REQUIRED=$(SDK_MACOSX123_VERSION_VALUE) +SDK_MACOSX123_CFLAGS ?= -mmacosx-version-min=12.3 -isysroot "$(PATH_SDK_MACOSX123)" +SDK_MACOSX123_CXXFLAGS ?= -mmacosx-version-min=12.3 -isysroot "$(PATH_SDK_MACOSX123)" +SDK_MACOSX123_OBJCFLAGS ?= -mmacosx-version-min=12.3 -isysroot "$(PATH_SDK_MACOSX123)" +SDK_MACOSX123_OBJCXXFLAGS ?= -mmacosx-version-min=12.3 -isysroot "$(PATH_SDK_MACOSX123)" +SDK_MACOSX123_LDFLAGS ?= -mmacosx-version-min=12.3 -isysroot "$(PATH_SDK_MACOSX123)" + diff --git a/kBuild/sdks/MACOSX123INCS.kmk b/kBuild/sdks/MACOSX123INCS.kmk new file mode 100644 index 0000000..9e22ccb --- /dev/null +++ b/kBuild/sdks/MACOSX123INCS.kmk @@ -0,0 +1,49 @@ +# $Id: MACOSX123INCS.kmk 3596 2023-06-14 08:11:45Z bird $ +## @file +# kBuild SDK - Mac OS X v12.3 SDK, includes only. +# + +# +# Copyright (c) 2008-2023 knut st. osmundsen <bird-kBuild-spam-xxiii@anduin.net> +# +# This file is part of kBuild. +# +# kBuild is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# kBuild is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with kBuild; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# +# +# As a special exception you are granted permission to include this file, via +# the kmk include directive, as you wish without this in itself causing the +# resulting makefile, program or whatever to be covered by the GPL license. +# This exception does not however invalidate any other reasons why the makefile, +# program, whatever should not be covered the GPL. +# +# + +ifndef SDK_MACOSX123 + include $(KBUILD_PATH)/sdks/MACOSX123.kmk +endif + +SDK_MACOSX123INCS := Mac OS X v12.3 SDK, include only. + +# SDK Specific Properties +ifndef PATH_SDK_MACOSX123INCS + PATH_SDK_MACOSX123INCS := $(PATH_SDK_MACOSX123) +else + PATH_SDK_MACOSX123INCS := $(PATH_SDK_MACOSX123INCS) +endif + +# General Properties (used by kBuild) +SDK_MACOSX123INCS_INCS = $(PATH_SDK_MACOSX123INCS)/usr/include + diff --git a/kBuild/sdks/MACOSX130.kmk b/kBuild/sdks/MACOSX130.kmk new file mode 100644 index 0000000..8cf8784 --- /dev/null +++ b/kBuild/sdks/MACOSX130.kmk @@ -0,0 +1,66 @@ +# $Id: MACOSX130.kmk 3603 2024-01-23 09:43:42Z bird $ +## @file +# kBuild SDK - Mac OS X v13.0 SDK. +# + +# +# Copyright (c) 2008-2024 knut st. osmundsen <bird-kBuild-spam-xxiii@anduin.net> +# +# This file is part of kBuild. +# +# kBuild is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# kBuild is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with kBuild; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# +# +# As a special exception you are granted permission to include this file, via +# the kmk include directive, as you wish without this in itself causing the +# resulting makefile, program or whatever to be covered by the GPL license. +# This exception does not however invalidate any other reasons why the makefile, +# program, whatever should not be covered the GPL. +# +# + +ifndef INCLUDED_DARWIN_COMMON_KMK + include $(KBUILD_PATH)/darwin-common.kmk +endif + +SDK_MACOSX130 := Mac OS X v13.0 SDK + +# SDK Specific Properties +ifndef PATH_SDK_MACOSX130 + PATH_SDK_MACOSX130 := $(call DARWINCMN_FN_FIND_MACOSX_SDK,MacOSX13.0.sdk) + ifndef PATH_SDK_MACOSX130 + PATH_SDK_MACOSX130 := $(call DARWINCMN_FN_FIND_MACOSX_SDK,MacOSX13.sdk) + endif +else + # Resolve any fancy stuff once and for all. + PATH_SDK_MACOSX130 := $(PATH_SDK_MACOSX130) +endif +ifeq ($(PATH_SDK_MACOSX130),) + $(warning $(call DARWINCMN_FN_ERROR_MACOSX_SDK,MacOSX13.0.sdk)) +endif + +## The MAC_OS_X_VERSION_MIN_REQUIRED and -mmacosx-version-min values for this SDK. +SDK_MACOSX130_VERSION_ARG := 13.0 +SDK_MACOSX130_VERSION_VALUE := $(subst .,,$(SDK_MACOSX130_VERSION_ARG))000 + +# General Properties (used by kBuild) +# Note: The MAC_OS_X_VERSION_MAX_ALLOWED is left free for the SDK user to define. +SDK_MACOSX130_DEFS ?= MAC_OS_X_VERSION_MIN_REQUIRED=$(SDK_MACOSX130_VERSION_VALUE) +SDK_MACOSX130_CFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX130_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX130)" +SDK_MACOSX130_CXXFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX130_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX130)" +SDK_MACOSX130_OBJCFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX130_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX130)" +SDK_MACOSX130_OBJCXXFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX130_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX130)" +SDK_MACOSX130_LDFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX130_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX130)" + diff --git a/kBuild/sdks/MACOSX130INCS.kmk b/kBuild/sdks/MACOSX130INCS.kmk new file mode 100644 index 0000000..daa4072 --- /dev/null +++ b/kBuild/sdks/MACOSX130INCS.kmk @@ -0,0 +1,49 @@ +# $Id: MACOSX130INCS.kmk 3602 2024-01-23 09:35:29Z bird $ +## @file +# kBuild SDK - Mac OS X v13.0 SDK, includes only. +# + +# +# Copyright (c) 2008-2024 knut st. osmundsen <bird-kBuild-spam-xxiii@anduin.net> +# +# This file is part of kBuild. +# +# kBuild is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# kBuild is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with kBuild; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# +# +# As a special exception you are granted permission to include this file, via +# the kmk include directive, as you wish without this in itself causing the +# resulting makefile, program or whatever to be covered by the GPL license. +# This exception does not however invalidate any other reasons why the makefile, +# program, whatever should not be covered the GPL. +# +# + +ifndef SDK_MACOSX130 + include $(KBUILD_PATH)/sdks/MACOSX130.kmk +endif + +SDK_MACOSX130INCS := Mac OS X v13.0 SDK, include only. + +# SDK Specific Properties +ifndef PATH_SDK_MACOSX130INCS + PATH_SDK_MACOSX130INCS := $(PATH_SDK_MACOSX130) +else + PATH_SDK_MACOSX130INCS := $(PATH_SDK_MACOSX130INCS) +endif + +# General Properties (used by kBuild) +SDK_MACOSX130INCS_INCS = $(PATH_SDK_MACOSX130INCS)/usr/include + diff --git a/kBuild/sdks/MACOSX133.kmk b/kBuild/sdks/MACOSX133.kmk new file mode 100644 index 0000000..bc4918f --- /dev/null +++ b/kBuild/sdks/MACOSX133.kmk @@ -0,0 +1,63 @@ +# $Id: MACOSX133.kmk 3603 2024-01-23 09:43:42Z bird $ +## @file +# kBuild SDK - Mac OS X v13.3 SDK. +# + +# +# Copyright (c) 2008-2024 knut st. osmundsen <bird-kBuild-spam-xxiii@anduin.net> +# +# This file is part of kBuild. +# +# kBuild is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# kBuild is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with kBuild; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# +# +# As a special exception you are granted permission to include this file, via +# the kmk include directive, as you wish without this in itself causing the +# resulting makefile, program or whatever to be covered by the GPL license. +# This exception does not however invalidate any other reasons why the makefile, +# program, whatever should not be covered the GPL. +# +# + +ifndef INCLUDED_DARWIN_COMMON_KMK + include $(KBUILD_PATH)/darwin-common.kmk +endif + +SDK_MACOSX133 := Mac OS X v13.3 SDK + +# SDK Specific Properties +ifndef PATH_SDK_MACOSX133 + PATH_SDK_MACOSX133 := $(call DARWINCMN_FN_FIND_MACOSX_SDK,MacOSX13.3.sdk) +else + # Resolve any fancy stuff once and for all. + PATH_SDK_MACOSX133 := $(PATH_SDK_MACOSX133) +endif +ifeq ($(PATH_SDK_MACOSX133),) + $(warning $(call DARWINCMN_FN_ERROR_MACOSX_SDK,MacOSX13.3.sdk)) +endif + +## The MAC_OS_X_VERSION_MIN_REQUIRED and -mmacosx-version-min values for this SDK. +SDK_MACOSX133_VERSION_ARG := 13.3 +SDK_MACOSX133_VERSION_VALUE := $(subst .,,$(SDK_MACOSX133_VERSION_ARG))000 + +# General Properties (used by kBuild) +# Note: The MAC_OS_X_VERSION_MAX_ALLOWED is left free for the SDK user to define. +SDK_MACOSX133_DEFS ?= MAC_OS_X_VERSION_MIN_REQUIRED=$(SDK_MACOSX133_VERSION_VALUE) +SDK_MACOSX133_CFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX133_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX133)" +SDK_MACOSX133_CXXFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX133_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX133)" +SDK_MACOSX133_OBJCFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX133_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX133)" +SDK_MACOSX133_OBJCXXFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX133_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX133)" +SDK_MACOSX133_LDFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX133_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX133)" + diff --git a/kBuild/sdks/MACOSX133INCS.kmk b/kBuild/sdks/MACOSX133INCS.kmk new file mode 100644 index 0000000..ff81a71 --- /dev/null +++ b/kBuild/sdks/MACOSX133INCS.kmk @@ -0,0 +1,49 @@ +# $Id: MACOSX133INCS.kmk 3602 2024-01-23 09:35:29Z bird $ +## @file +# kBuild SDK - Mac OS X v13.3 SDK, includes only. +# + +# +# Copyright (c) 2008-2024 knut st. osmundsen <bird-kBuild-spam-xxiii@anduin.net> +# +# This file is part of kBuild. +# +# kBuild is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# kBuild is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with kBuild; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA +# +# +# As a special exception you are granted permission to include this file, via +# the kmk include directive, as you wish without this in itself causing the +# resulting makefile, program or whatever to be covered by the GPL license. +# This exception does not however invalidate any other reasons why the makefile, +# program, whatever should not be covered the GPL. +# +# + +ifndef SDK_MACOSX133 + include $(KBUILD_PATH)/sdks/MACOSX133.kmk +endif + +SDK_MACOSX133INCS := Mac OS X v13.3 SDK, include only. + +# SDK Specific Properties +ifndef PATH_SDK_MACOSX133INCS + PATH_SDK_MACOSX133INCS := $(PATH_SDK_MACOSX133) +else + PATH_SDK_MACOSX133INCS := $(PATH_SDK_MACOSX133INCS) +endif + +# General Properties (used by kBuild) +SDK_MACOSX133INCS_INCS = $(PATH_SDK_MACOSX133INCS)/usr/include + diff --git a/kBuild/sdks/MACOSX140.kmk b/kBuild/sdks/MACOSX140.kmk new file mode 100644 index 0000000..a9cd164 --- /dev/null +++ b/kBuild/sdks/MACOSX140.kmk @@ -0,0 +1,66 @@ +# $Id: MACOSX140.kmk 3603 2024-01-23 09:43:42Z bird $ +## @file +# kBuild SDK - Mac OS X v14.0 SDK. +# + +# +# Copyright (c) 2008-2024 knut st. osmundsen <bird-kBuild-spam-xxiii@anduin.net> +# +# This file is part of kBuild. +# +# kBuild is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# kBuild is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with kBuild; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1401 USA +# +# +# As a special exception you are granted permission to include this file, via +# the kmk include directive, as you wish without this in itself causing the +# resulting makefile, program or whatever to be covered by the GPL license. +# This exception does not however invalidate any other reasons why the makefile, +# program, whatever should not be covered the GPL. +# +# + +ifndef INCLUDED_DARWIN_COMMON_KMK + include $(KBUILD_PATH)/darwin-common.kmk +endif + +SDK_MACOSX140 := Mac OS X v14.0 SDK + +# SDK Specific Properties +ifndef PATH_SDK_MACOSX140 + PATH_SDK_MACOSX140 := $(call DARWINCMN_FN_FIND_MACOSX_SDK,MacOSX14.0.sdk) + ifndef PATH_SDK_MACOSX140 + PATH_SDK_MACOSX140 := $(call DARWINCMN_FN_FIND_MACOSX_SDK,MacOSX14.sdk) + endif +else + # Resolve any fancy stuff once and for all. + PATH_SDK_MACOSX140 := $(PATH_SDK_MACOSX140) +endif +ifeq ($(PATH_SDK_MACOSX140),) + $(warning $(call DARWINCMN_FN_ERROR_MACOSX_SDK,MacOSX14.0.sdk)) +endif + +## The MAC_OS_X_VERSION_MIN_REQUIRED and -mmacosx-version-min values for this SDK. +SDK_MACOSX140_VERSION_ARG := 14.0 +SDK_MACOSX140_VERSION_VALUE := $(subst .,,$(SDK_MACOSX140_VERSION_ARG))000 + +# General Properties (used by kBuild) +# Note: The MAC_OS_X_VERSION_MAX_ALLOWED is left free for the SDK user to define. +SDK_MACOSX140_DEFS ?= MAC_OS_X_VERSION_MIN_REQUIRED=$(SDK_MACOSX140_VERSION_VALUE) +SDK_MACOSX140_CFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX140_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX140)" +SDK_MACOSX140_CXXFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX140_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX140)" +SDK_MACOSX140_OBJCFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX140_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX140)" +SDK_MACOSX140_OBJCXXFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX140_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX140)" +SDK_MACOSX140_LDFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX140_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX140)" + diff --git a/kBuild/sdks/MACOSX140INCS.kmk b/kBuild/sdks/MACOSX140INCS.kmk new file mode 100644 index 0000000..7072d13 --- /dev/null +++ b/kBuild/sdks/MACOSX140INCS.kmk @@ -0,0 +1,49 @@ +# $Id: MACOSX140INCS.kmk 3602 2024-01-23 09:35:29Z bird $ +## @file +# kBuild SDK - Mac OS X v14.0 SDK, includes only. +# + +# +# Copyright (c) 2008-2024 knut st. osmundsen <bird-kBuild-spam-xxiii@anduin.net> +# +# This file is part of kBuild. +# +# kBuild is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# kBuild is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with kBuild; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1401 USA +# +# +# As a special exception you are granted permission to include this file, via +# the kmk include directive, as you wish without this in itself causing the +# resulting makefile, program or whatever to be covered by the GPL license. +# This exception does not however invalidate any other reasons why the makefile, +# program, whatever should not be covered the GPL. +# +# + +ifndef SDK_MACOSX140 + include $(KBUILD_PATH)/sdks/MACOSX140.kmk +endif + +SDK_MACOSX140INCS := Mac OS X v14.0 SDK, include only. + +# SDK Specific Properties +ifndef PATH_SDK_MACOSX140INCS + PATH_SDK_MACOSX140INCS := $(PATH_SDK_MACOSX140) +else + PATH_SDK_MACOSX140INCS := $(PATH_SDK_MACOSX140INCS) +endif + +# General Properties (used by kBuild) +SDK_MACOSX140INCS_INCS = $(PATH_SDK_MACOSX140INCS)/usr/include + diff --git a/kBuild/sdks/MACOSX150.kmk b/kBuild/sdks/MACOSX150.kmk new file mode 100644 index 0000000..39f4972 --- /dev/null +++ b/kBuild/sdks/MACOSX150.kmk @@ -0,0 +1,66 @@ +# $Id: MACOSX150.kmk 3603 2024-01-23 09:43:42Z bird $ +## @file +# kBuild SDK - Mac OS X v15.0 SDK. +# + +# +# Copyright (c) 2008-2024 knut st. osmundsen <bird-kBuild-spam-xxiii@anduin.net> +# +# This file is part of kBuild. +# +# kBuild is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# kBuild is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with kBuild; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1501 USA +# +# +# As a special exception you are granted permission to include this file, via +# the kmk include directive, as you wish without this in itself causing the +# resulting makefile, program or whatever to be covered by the GPL license. +# This exception does not however invalidate any other reasons why the makefile, +# program, whatever should not be covered the GPL. +# +# + +ifndef INCLUDED_DARWIN_COMMON_KMK + include $(KBUILD_PATH)/darwin-common.kmk +endif + +SDK_MACOSX150 := Mac OS X v15.0 SDK + +# SDK Specific Properties +ifndef PATH_SDK_MACOSX150 + PATH_SDK_MACOSX150 := $(call DARWINCMN_FN_FIND_MACOSX_SDK,MacOSX15.0.sdk) + ifndef PATH_SDK_MACOSX150 + PATH_SDK_MACOSX150 := $(call DARWINCMN_FN_FIND_MACOSX_SDK,MacOSX15.sdk) + endif +else + # Resolve any fancy stuff once and for all. + PATH_SDK_MACOSX150 := $(PATH_SDK_MACOSX150) +endif +ifeq ($(PATH_SDK_MACOSX150),) + $(warning $(call DARWINCMN_FN_ERROR_MACOSX_SDK,MacOSX15.0.sdk)) +endif + +## The MAC_OS_X_VERSION_MIN_REQUIRED and -mmacosx-version-min values for this SDK. +SDK_MACOSX150_VERSION_ARG := 15.0 +SDK_MACOSX150_VERSION_VALUE := $(subst .,,$(SDK_MACOSX150_VERSION_ARG))000 + +# General Properties (used by kBuild) +# Note: The MAC_OS_X_VERSION_MAX_ALLOWED is left free for the SDK user to define. +SDK_MACOSX150_DEFS ?= MAC_OS_X_VERSION_MIN_REQUIRED=$(SDK_MACOSX150_VERSION_VALUE) +SDK_MACOSX150_CFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX150_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX150)" +SDK_MACOSX150_CXXFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX150_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX150)" +SDK_MACOSX150_OBJCFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX150_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX150)" +SDK_MACOSX150_OBJCXXFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX150_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX150)" +SDK_MACOSX150_LDFLAGS ?= -mmacosx-version-min=$(SDK_MACOSX150_VERSION_ARG) -isysroot "$(PATH_SDK_MACOSX150)" + diff --git a/kBuild/sdks/MACOSX150INCS.kmk b/kBuild/sdks/MACOSX150INCS.kmk new file mode 100644 index 0000000..b37b32b --- /dev/null +++ b/kBuild/sdks/MACOSX150INCS.kmk @@ -0,0 +1,49 @@ +# $Id: MACOSX150INCS.kmk 3602 2024-01-23 09:35:29Z bird $ +## @file +# kBuild SDK - Mac OS X v15.0 SDK, includes only. +# + +# +# Copyright (c) 2008-2024 knut st. osmundsen <bird-kBuild-spam-xxiii@anduin.net> +# +# This file is part of kBuild. +# +# kBuild is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# kBuild is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with kBuild; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1501 USA +# +# +# As a special exception you are granted permission to include this file, via +# the kmk include directive, as you wish without this in itself causing the +# resulting makefile, program or whatever to be covered by the GPL license. +# This exception does not however invalidate any other reasons why the makefile, +# program, whatever should not be covered the GPL. +# +# + +ifndef SDK_MACOSX150 + include $(KBUILD_PATH)/sdks/MACOSX150.kmk +endif + +SDK_MACOSX150INCS := Mac OS X v15.0 SDK, include only. + +# SDK Specific Properties +ifndef PATH_SDK_MACOSX150INCS + PATH_SDK_MACOSX150INCS := $(PATH_SDK_MACOSX150) +else + PATH_SDK_MACOSX150INCS := $(PATH_SDK_MACOSX150INCS) +endif + +# General Properties (used by kBuild) +SDK_MACOSX150INCS_INCS = $(PATH_SDK_MACOSX150INCS)/usr/include + diff --git a/kBuild/sdks/WINSDK10-UCRTD-STATIC.kmk b/kBuild/sdks/WINSDK10-UCRTD-STATIC.kmk new file mode 100644 index 0000000..7f21136 --- /dev/null +++ b/kBuild/sdks/WINSDK10-UCRTD-STATIC.kmk @@ -0,0 +1,56 @@ +# $Id: WINSDK10-UCRTD-STATIC.kmk 3590 2023-04-19 12:35:45Z bird $ +## @file +# kBuild SDK - Derives from WINSDK10.kmk, Universal CRT, static debug library linking. +# + +# +# Copyright (c) 2006-2020 knut st. osmundsen <bird-kBuild-spam-xx@anduin.net> +# +# This file is part of kBuild. +# +# kBuild is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# kBuild is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with kBuild; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# +# As a special exception you are granted permission to include this file, via +# the kmk include directive, as you wish without this in itself causing the +# resulting makefile, program or whatever to be covered by the GPL license. +# This exception does not however invalidate any other reasons why the makefile, +# program, whatever should not be covered the GPL. +# +# + +ifndef SDK_WINSDK10 + include $(KBUILD_PATH)/sdks/WINSDK10.kmk +endif + +SDK_WINSDK10-UCRTD-STATIC := The Microsoft Windows 10 SDK, Universal CRT, static debug library linking. +SDK_WINSDK10-UCRTD-STATIC_INCS ?= $(PATH_SDK_WINSDK10_UCRT_INC) +SDK_WINSDK10-UCRTD-STATIC_LIBPATH.x86 ?= $(PATH_SDK_WINSDK10_UCRT_LIB.x86) +SDK_WINSDK10-UCRTD-STATIC_LIBPATH.amd64 ?= $(PATH_SDK_WINSDK10_UCRT_LIB.amd64) +SDK_WINSDK10-UCRTD-STATIC_LIBPATH.arm32 ?= $(PATH_SDK_WINSDK10_UCRT_LIB.arm32) +SDK_WINSDK10-UCRTD-STATIC_LIBPATH.arm64 ?= $(PATH_SDK_WINSDK10_UCRT_LIB.arm64) +ifndef SDK_WINSDK10-UCRTD-STATIC_LIBS.amd64 +SDK_WINSDK10-UCRTD-STATIC_LIBS.amd64 := $(PATH_SDK_WINSDK10_UCRT_LIB.amd64)/$(SDK_WINSDK10_UCRT_STATIC_DBG_NAME) +endif +ifndef SDK_WINSDK10-UCRTD-STATIC_LIBS.arm32 +SDK_WINSDK10-UCRTD-STATIC_LIBS.arm32 := $(PATH_SDK_WINSDK10_UCRT_LIB.arm32)/$(SDK_WINSDK10_UCRT_STATIC_DBG_NAME) +endif +ifndef SDK_WINSDK10-UCRTD-STATIC_LIBS.arm64 +SDK_WINSDK10-UCRTD-STATIC_LIBS.arm64 := $(PATH_SDK_WINSDK10_UCRT_LIB.arm32)/$(SDK_WINSDK10_UCRT_STATIC_DBG_NAME) +endif +ifndef SDK_WINSDK10-UCRTD-STATIC_LIBS.x86 +SDK_WINSDK10-UCRTD-STATIC_LIBS.x86 := $(PATH_SDK_WINSDK10_UCRT_LIB.x86)/$(SDK_WINSDK10_UCRT_STATIC_DBG_NAME) +endif + diff --git a/kBuild/sdks/WINSDK10-UCRTD.kmk b/kBuild/sdks/WINSDK10-UCRTD.kmk new file mode 100644 index 0000000..b6dad5f --- /dev/null +++ b/kBuild/sdks/WINSDK10-UCRTD.kmk @@ -0,0 +1,56 @@ +# $Id: WINSDK10-UCRTD.kmk 3590 2023-04-19 12:35:45Z bird $ +## @file +# kBuild SDK - Derives from WINSDK10.kmk, Universal CRT, Debug DLL linking. +# + +# +# Copyright (c) 2006-2020 knut st. osmundsen <bird-kBuild-spam-xx@anduin.net> +# +# This file is part of kBuild. +# +# kBuild is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# kBuild is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with kBuild; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# +# As a special exception you are granted permission to include this file, via +# the kmk include directive, as you wish without this in itself causing the +# resulting makefile, program or whatever to be covered by the GPL license. +# This exception does not however invalidate any other reasons why the makefile, +# program, whatever should not be covered the GPL. +# +# + +ifndef SDK_WINSDK10 + include $(KBUILD_PATH)/sdks/WINSDK10.kmk +endif + +SDK_WINSDK10-UCRTD := The Microsoft Windows 10 SDK, Universal CRT, Debug DLL linking. +SDK_WINSDK10-UCRTD_INCS ?= $(PATH_SDK_WINSDK10_UCRT_INC) +SDK_WINSDK10-UCRTD_LIBPATH.x86 ?= $(PATH_SDK_WINSDK10_UCRT_LIB.x86) +SDK_WINSDK10-UCRTD_LIBPATH.amd64 ?= $(PATH_SDK_WINSDK10_UCRT_LIB.amd64) +SDK_WINSDK10-UCRTD_LIBPATH.arm32 ?= $(PATH_SDK_WINSDK10_UCRT_LIB.arm32) +SDK_WINSDK10-UCRTD_LIBPATH.arm64 ?= $(PATH_SDK_WINSDK10_UCRT_LIB.arm64) +ifndef SDK_WINSDK10-UCRTD_LIBS.amd64 +SDK_WINSDK10-UCRTD_LIBS.amd64 := $(PATH_SDK_WINSDK10_UCRT_LIB.amd64)/$(SDK_WINSDK10_UCRT_IMPLIB_DBG_NAME) +endif +ifndef SDK_WINSDK10-UCRTD_LIBS.arm32 +SDK_WINSDK10-UCRTD_LIBS.arm32 := $(PATH_SDK_WINSDK10_UCRT_LIB.arm32)/$(SDK_WINSDK10_UCRT_IMPLIB_DBG_NAME) +endif +ifndef SDK_WINSDK10-UCRTD_LIBS.arm64 +SDK_WINSDK10-UCRTD_LIBS.arm64 := $(PATH_SDK_WINSDK10_UCRT_LIB.arm32)/$(SDK_WINSDK10_UCRT_IMPLIB_DBG_NAME) +endif +ifndef SDK_WINSDK10-UCRTD_LIBS.x86 +SDK_WINSDK10-UCRTD_LIBS.x86 := $(PATH_SDK_WINSDK10_UCRT_LIB.x86)/$(SDK_WINSDK10_UCRT_IMPLIB_DBG_NAME) +endif + diff --git a/kBuild/tools/VCC140.kmk b/kBuild/tools/VCC140.kmk index 6c222a7..97e9ff5 100644 --- a/kBuild/tools/VCC140.kmk +++ b/kBuild/tools/VCC140.kmk @@ -1,4 +1,4 @@ -# $Id: VCC140.kmk 3343 2020-05-20 14:34:15Z bird $ +# $Id: VCC140.kmk 3597 2023-06-16 20:56:17Z bird $ ## @file # kBuild Tool Config - Visual C++ 14.0 (aka Visual 2015 and MSC v19.0x), default target. # @@ -128,8 +128,9 @@ TOOL_VCC140_LD ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC140_BIN_QSH)/link.exe TOOL_VCC140_DUMPBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC140_BIN_QSH)/dumpbin.exe TOOL_VCC140_EDITBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC140_BIN_QSH)/editbin.exe -TOOL_VCC140_RC ?= $(EXEC_X86_WIN32) $(call TOOL_VCC140_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC140_RC_CACHED) -TOOL_VCC140_MT ?= $(EXEC_X86_WIN32) $(call TOOL_VCC140_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC140_MT_CACHED) +TOOL_VCC140_RC ?= $(EXEC_X86_WIN32) $(call TOOL_VCC140_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC140_RC_CACHED) +TOOL_VCC140_MT ?= $(TOOL_VCC140_MT_RETRY) $(EXEC_X86_WIN32) $(call TOOL_VCC140_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC140_MT_CACHED) +TOOL_VCC140_MT_RETRY ?= $(WINCMN_MT_RETRY) undefine TOOL_VCC140_USE_KSUBMIT # for now ifdef TOOL_VCC140_USE_KSUBMIT diff --git a/kBuild/tools/VCC140AMD64.kmk b/kBuild/tools/VCC140AMD64.kmk index 9e35463..579c7af 100644 --- a/kBuild/tools/VCC140AMD64.kmk +++ b/kBuild/tools/VCC140AMD64.kmk @@ -1,4 +1,4 @@ -# $Id: VCC140AMD64.kmk 3343 2020-05-20 14:34:15Z bird $ +# $Id: VCC140AMD64.kmk 3597 2023-06-16 20:56:17Z bird $ ## @file # kBuild Tool Config - Visual C++ 14.0 (aka Visual 2015 and MSC v19.0x), targeting AMD64. # @@ -85,8 +85,9 @@ TOOL_VCC140AMD64_LD ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC140AMD64_BIN_QSH)/l TOOL_VCC140AMD64_DUMPBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC140AMD64_BIN_QSH)/dumpbin.exe TOOL_VCC140AMD64_EDITBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC140AMD64_BIN_QSH)/editbin.exe -TOOL_VCC140AMD64_RC ?= $(EXEC_X86_WIN32) $(call TOOL_VCC140_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC140_RC_CACHED) -TOOL_VCC140AMD64_MT ?= $(EXEC_X86_WIN32) $(call TOOL_VCC140_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC140_MT_CACHED) +TOOL_VCC140AMD64_RC ?= $(EXEC_X86_WIN32) $(call TOOL_VCC140_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC140_RC_CACHED) +TOOL_VCC140AMD64_MT ?= $(TOOL_VCC140AMD64_MT_RETRY) $(EXEC_X86_WIN32) $(call TOOL_VCC140_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC140_MT_CACHED) +TOOL_VCC140AMD64_MT_RETRY ?= $(TOOL_VCC140_MT_RETRY) undefine TOOL_VCC140AMD64_USE_KSUBMIT # for now ifdef TOOL_VCC140AMD64_USE_KSUBMIT @@ -113,7 +114,7 @@ endif PATH_TOOL_VCC140AMD64_REDIST ?= $(PATH_TOOL_VCC140_REDIST)/x64 PATH_TOOL_VCC140AMD64_REDIST_CRT = $(PATH_TOOL_VCC140AMD64_REDIST)/$(TOOL_VCC140_REDIST_CRT_SUBDIR) PATH_TOOL_VCC140AMD64_REDIST_DEBUG ?= $(PATH_TOOL_VCC140_REDIST_DEBUG)/x64 -PATH_TOOL_VCC140AMD64_REDIST_DEBUG_CRT = $(PATH_TOOL_VCC140AMD64_REDIST_DEBUG)/$(TOOL_VCC140_REDIST_CRT_SUBDIR) +PATH_TOOL_VCC140AMD64_REDIST_DEBUG_CRT = $(PATH_TOOL_VCC140AMD64_REDIST_DEBUG)/$(TOOL_VCC140_REDIST_DEBUG_CRT_SUBDIR) TOOL_VCC140AMD64_REDIST_CRT_DLLS = $(TOOL_VCC140_REDIST_CRT_DLLS.amd64) TOOL_VCC140AMD64_REDIST_CONCRT_DLLS = $(TOOL_VCC140_REDIST_CONCRT_DLLS.amd64) TOOL_VCC140AMD64_REDIST_CPP_DLLS = $(TOOL_VCC140_REDIST_CPP_DLLS.amd64) diff --git a/kBuild/tools/VCC140X86.kmk b/kBuild/tools/VCC140X86.kmk index 7c0e5a2..12b5ba6 100644 --- a/kBuild/tools/VCC140X86.kmk +++ b/kBuild/tools/VCC140X86.kmk @@ -1,4 +1,4 @@ -# $Id: VCC140X86.kmk 3343 2020-05-20 14:34:15Z bird $ +# $Id: VCC140X86.kmk 3597 2023-06-16 20:56:17Z bird $ ## @file # kBuild Tool Config - Visual C++ 14.0 (aka Visual 2015 and MSC v19.0x), targeting x86. # @@ -85,8 +85,9 @@ TOOL_VCC140X86_LD ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC140X86_BIN_QSH)/link. TOOL_VCC140X86_DUMPBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC140X86_BIN_QSH)/dumpbin.exe TOOL_VCC140X86_EDITBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC140X86_BIN_QSH)/editbin.exe -TOOL_VCC140X86_RC ?= $(EXEC_X86_WIN32) $(call TOOL_VCC140_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC140_RC_CACHED) -TOOL_VCC140X86_MT ?= $(EXEC_X86_WIN32) $(call TOOL_VCC140_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC140_MT_CACHED) +TOOL_VCC140X86_RC ?= $(EXEC_X86_WIN32) $(call TOOL_VCC140_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC140_RC_CACHED) +TOOL_VCC140X86_MT ?= $(TOOL_VCC140X86_MT_RETRY) $(EXEC_X86_WIN32) $(call TOOL_VCC140_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC140_MT_CACHED) +TOOL_VCC140X86_MT_RETRY ?= $(TOOL_VCC140_MT_RETRY) undefine TOOL_VCC140X86_USE_KSUBMIT # for now ifdef TOOL_VCC140X86_USE_KSUBMIT @@ -113,7 +114,7 @@ endif PATH_TOOL_VCC140X86_REDIST ?= $(PATH_TOOL_VCC140_REDIST)/x86 PATH_TOOL_VCC140X86_REDIST_CRT = $(PATH_TOOL_VCC140X86_REDIST)/$(TOOL_VCC140_REDIST_CRT_SUBDIR) PATH_TOOL_VCC140X86_REDIST_DEBUG ?= $(PATH_TOOL_VCC140_REDIST_DEBUG)/x86 -PATH_TOOL_VCC140X86_REDIST_DEBUG_CRT = $(PATH_TOOL_VCC140X86_REDIST_DEBUG)/$(TOOL_VCC140_REDIST_CRT_SUBDIR) +PATH_TOOL_VCC140X86_REDIST_DEBUG_CRT = $(PATH_TOOL_VCC140X86_REDIST_DEBUG)/$(TOOL_VCC140_REDIST_DEBUG_CRT_SUBDIR) TOOL_VCC140X64_REDIST_CRT_DLLS = $(TOOL_VCC140_REDIST_CRT_DLLS.x86) TOOL_VCC140X64_REDIST_CONCRT_DLLS = $(TOOL_VCC140_REDIST_CONCRT_DLLS.x86) TOOL_VCC140X64_REDIST_CPP_DLLS = $(TOOL_VCC140_REDIST_CPP_DLLS.x86) diff --git a/kBuild/tools/VCC141.kmk b/kBuild/tools/VCC141.kmk index d7b19d7..f508edd 100644 --- a/kBuild/tools/VCC141.kmk +++ b/kBuild/tools/VCC141.kmk @@ -1,4 +1,4 @@ -# $Id: VCC141.kmk 3342 2020-05-20 14:33:53Z bird $ +# $Id: VCC141.kmk 3597 2023-06-16 20:56:17Z bird $ ## @file # kBuild Tool Config - Visual C++ 14.1 (aka Visual 2017 and MSC v19.10), default target. # @@ -118,8 +118,9 @@ TOOL_VCC141_LD ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC141_BIN_QSH)/link.exe TOOL_VCC141_DUMPBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC141_BIN_QSH)/dumpbin.exe TOOL_VCC141_EDITBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC141_BIN_QSH)/editbin.exe -TOOL_VCC141_RC ?= $(EXEC_X86_WIN32) $(call TOOL_VCC141_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC141_RC_CACHED) -TOOL_VCC141_MT ?= $(EXEC_X86_WIN32) $(call TOOL_VCC141_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC141_MT_CACHED) +TOOL_VCC141_RC ?= $(EXEC_X86_WIN32) $(call TOOL_VCC141_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC141_RC_CACHED) +TOOL_VCC141_MT ?= $(TOOL_VCC141_MT_RETRY) $(EXEC_X86_WIN32) $(call TOOL_VCC141_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC141_MT_CACHED) +TOOL_VCC141_MT_RETRY ?= $(WINCMN_MT_RETRY) undefine TOOL_VCC141_USE_KSUBMIT # for now ifdef TOOL_VCC141_USE_KSUBMIT diff --git a/kBuild/tools/VCC141AMD64.kmk b/kBuild/tools/VCC141AMD64.kmk index 94cf413..d216e58 100644 --- a/kBuild/tools/VCC141AMD64.kmk +++ b/kBuild/tools/VCC141AMD64.kmk @@ -1,4 +1,4 @@ -# $Id: VCC141AMD64.kmk 3346 2020-05-22 20:56:11Z bird $ +# $Id: VCC141AMD64.kmk 3597 2023-06-16 20:56:17Z bird $ ## @file # kBuild Tool Config - Visual C++ 14.1 (aka Visual 2017 and MSC v19.10), targeting AMD64. # @@ -88,8 +88,9 @@ TOOL_VCC141AMD64_LD ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC141AMD64_BIN_QSH)/l TOOL_VCC141AMD64_DUMPBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC141AMD64_BIN_QSH)/dumpbin.exe TOOL_VCC141AMD64_EDITBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC141AMD64_BIN_QSH)/editbin.exe -TOOL_VCC141AMD64_RC ?= $(EXEC_X86_WIN32) $(call TOOL_VCC141_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC141_RC_CACHED) -TOOL_VCC141AMD64_MT ?= $(EXEC_X86_WIN32) $(call TOOL_VCC141_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC141_MT_CACHED) +TOOL_VCC141AMD64_RC ?= $(EXEC_X86_WIN32) $(call TOOL_VCC141_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC141_RC_CACHED) +TOOL_VCC141AMD64_MT ?= $(TOOL_VCC141AMD64_MT_RETRY) $(EXEC_X86_WIN32) $(call TOOL_VCC141_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC141_MT_CACHED) +TOOL_VCC141AMD64_MT_RETRY ?= $(TOOL_VCC141_MT_RETRY) undefine TOOL_VCC141AMD64_USE_KSUBMIT # for now ifdef TOOL_VCC141AMD64_USE_KSUBMIT @@ -116,7 +117,7 @@ endif PATH_TOOL_VCC141AMD64_REDIST ?= $(PATH_TOOL_VCC141_REDIST)/x64 PATH_TOOL_VCC141AMD64_REDIST_CRT = $(PATH_TOOL_VCC141AMD64_REDIST)/$(TOOL_VCC141_REDIST_CRT_SUBDIR) PATH_TOOL_VCC141AMD64_REDIST_DEBUG ?= $(PATH_TOOL_VCC141_REDIST_DEBUG)/x64 -PATH_TOOL_VCC141AMD64_REDIST_DEBUG_CRT = $(PATH_TOOL_VCC141AMD64_REDIST_DEBUG)/$(TOOL_VCC141_REDIST_CRT_SUBDIR) +PATH_TOOL_VCC141AMD64_REDIST_DEBUG_CRT = $(PATH_TOOL_VCC141AMD64_REDIST_DEBUG)/$(TOOL_VCC141_REDIST_DEBUG_CRT_SUBDIR) TOOL_VCC141AMD64_REDIST_CRT_DLLS = $(TOOL_VCC141_REDIST_CRT_DLLS.amd64) TOOL_VCC141AMD64_REDIST_CONCRT_DLLS = $(TOOL_VCC141_REDIST_CONCRT_DLLS.amd64) TOOL_VCC141AMD64_REDIST_CPP_DLLS = $(TOOL_VCC141_REDIST_CPP_DLLS.amd64) diff --git a/kBuild/tools/VCC141X86.kmk b/kBuild/tools/VCC141X86.kmk index 8210f40..3cf2773 100644 --- a/kBuild/tools/VCC141X86.kmk +++ b/kBuild/tools/VCC141X86.kmk @@ -1,4 +1,4 @@ -# $Id: VCC141X86.kmk 3346 2020-05-22 20:56:11Z bird $ +# $Id: VCC141X86.kmk 3597 2023-06-16 20:56:17Z bird $ ## @file # kBuild Tool Config - Visual C++ 14.1 (aka Visual 2017 and MSC v19.10), targeting x86. # @@ -88,8 +88,9 @@ TOOL_VCC141X86_LD ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC141X86_BIN_QSH)/link. TOOL_VCC141X86_DUMPBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC141X86_BIN_QSH)/dumpbin.exe TOOL_VCC141X86_EDITBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC141X86_BIN_QSH)/editbin.exe -TOOL_VCC141X86_RC ?= $(EXEC_X86_WIN32) $(call TOOL_VCC141_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC141_RC_CACHED) -TOOL_VCC141X86_MT ?= $(EXEC_X86_WIN32) $(call TOOL_VCC141_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC141_MT_CACHED) +TOOL_VCC141X86_RC ?= $(EXEC_X86_WIN32) $(call TOOL_VCC141_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC141_RC_CACHED) +TOOL_VCC141X86_MT ?= $(TOOL_VCC141X86_MT_RETRY) $(EXEC_X86_WIN32) $(call TOOL_VCC141_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC141_MT_CACHED) +TOOL_VCC141X86_MT_RETRY ?= $(TOOL_VCC141_MT_RETRY) undefine TOOL_VCC141X86_USE_KSUBMIT # for now ifdef TOOL_VCC141X86_USE_KSUBMIT @@ -116,7 +117,7 @@ endif PATH_TOOL_VCC141X86_REDIST ?= $(PATH_TOOL_VCC141_REDIST)/x86 PATH_TOOL_VCC141X86_REDIST_CRT = $(PATH_TOOL_VCC141X86_REDIST)/$(TOOL_VCC141_REDIST_CRT_SUBDIR) PATH_TOOL_VCC141X86_REDIST_DEBUG ?= $(PATH_TOOL_VCC141_REDIST_DEBUG)/x86 -PATH_TOOL_VCC141X86_REDIST_DEBUG_CRT = $(PATH_TOOL_VCC141X86_REDIST_DEBUG)/$(TOOL_VCC141_REDIST_CRT_SUBDIR) +PATH_TOOL_VCC141X86_REDIST_DEBUG_CRT = $(PATH_TOOL_VCC141X86_REDIST_DEBUG)/$(TOOL_VCC141_REDIST_DEBUG_CRT_SUBDIR) TOOL_VCC141X64_REDIST_CRT_DLLS = $(TOOL_VCC141_REDIST_CRT_DLLS.x86) TOOL_VCC141X64_REDIST_CONCRT_DLLS = $(TOOL_VCC141_REDIST_CONCRT_DLLS.x86) TOOL_VCC141X64_REDIST_CPP_DLLS = $(TOOL_VCC141_REDIST_CPP_DLLS.x86) diff --git a/kBuild/tools/VCC142.kmk b/kBuild/tools/VCC142.kmk index b30ee00..9a2a649 100644 --- a/kBuild/tools/VCC142.kmk +++ b/kBuild/tools/VCC142.kmk @@ -1,4 +1,4 @@ -# $Id: VCC142.kmk 3553 2022-01-29 02:59:56Z bird $ +# $Id: VCC142.kmk 3597 2023-06-16 20:56:17Z bird $ ## @file # kBuild Tool Config - Visual C++ 14.2 (aka Visual 2019 and MSC v19.20), default target. # @@ -118,8 +118,9 @@ TOOL_VCC142_LD ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142_BIN_QSH)/link.exe TOOL_VCC142_DUMPBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142_BIN_QSH)/dumpbin.exe TOOL_VCC142_EDITBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142_BIN_QSH)/editbin.exe -TOOL_VCC142_RC ?= $(EXEC_X86_WIN32) $(call TOOL_VCC142_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC142_RC_CACHED) -TOOL_VCC142_MT ?= $(EXEC_X86_WIN32) $(call TOOL_VCC142_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC142_MT_CACHED) +TOOL_VCC142_RC ?= $(EXEC_X86_WIN32) $(call TOOL_VCC142_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC142_RC_CACHED) +TOOL_VCC142_MT ?= $(TOOL_VCC142_MT_RETRY) $(EXEC_X86_WIN32) $(call TOOL_VCC142_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC142_MT_CACHED) +TOOL_VCC142_MT_RETRY ?= $(WINCMN_MT_RETRY) ifdef TOOL_VCC142_USE_KSUBMIT ifeq ($(KBUILD_HOST),win) diff --git a/kBuild/tools/VCC142AMD64.kmk b/kBuild/tools/VCC142AMD64.kmk index cd2bfc6..a7acde4 100644 --- a/kBuild/tools/VCC142AMD64.kmk +++ b/kBuild/tools/VCC142AMD64.kmk @@ -1,4 +1,4 @@ -# $Id: VCC142AMD64.kmk 3370 2020-06-10 10:45:05Z bird $ +# $Id: VCC142AMD64.kmk 3597 2023-06-16 20:56:17Z bird $ ## @file # kBuild Tool Config - Visual C++ 14.2 (aka Visual 2019 and MSC v19.20), targeting AMD64. # @@ -88,8 +88,9 @@ TOOL_VCC142AMD64_LD ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142AMD64_BIN_QSH)/l TOOL_VCC142AMD64_DUMPBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142AMD64_BIN_QSH)/dumpbin.exe TOOL_VCC142AMD64_EDITBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142AMD64_BIN_QSH)/editbin.exe -TOOL_VCC142AMD64_RC ?= $(EXEC_X86_WIN32) $(call TOOL_VCC142_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC142_RC_CACHED) -TOOL_VCC142AMD64_MT ?= $(EXEC_X86_WIN32) $(call TOOL_VCC142_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC142_MT_CACHED) +TOOL_VCC142AMD64_RC ?= $(EXEC_X86_WIN32) $(call TOOL_VCC142_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC142_RC_CACHED) +TOOL_VCC142AMD64_MT ?= $(TOOL_VCC142AMD64_MT_RETRY) $(EXEC_X86_WIN32) $(call TOOL_VCC142_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC142_MT_CACHED) +TOOL_VCC142AMD64_MT_RETRY ?= $(TOOL_VCC142_MT_RETRY) ifdef TOOL_VCC142AMD64_USE_KSUBMIT ifeq ($(KBUILD_HOST),win) @@ -115,7 +116,7 @@ endif PATH_TOOL_VCC142AMD64_REDIST ?= $(PATH_TOOL_VCC142_REDIST)/x64 PATH_TOOL_VCC142AMD64_REDIST_CRT = $(PATH_TOOL_VCC142AMD64_REDIST)/$(TOOL_VCC142_REDIST_CRT_SUBDIR) PATH_TOOL_VCC142AMD64_REDIST_DEBUG ?= $(PATH_TOOL_VCC142_REDIST_DEBUG)/x64 -PATH_TOOL_VCC142AMD64_REDIST_DEBUG_CRT = $(PATH_TOOL_VCC142AMD64_REDIST_DEBUG)/$(TOOL_VCC142_REDIST_CRT_SUBDIR) +PATH_TOOL_VCC142AMD64_REDIST_DEBUG_CRT = $(PATH_TOOL_VCC142AMD64_REDIST_DEBUG)/$(TOOL_VCC142_REDIST_DEBUG_CRT_SUBDIR) TOOL_VCC142AMD64_REDIST_CRT_DLLS = $(TOOL_VCC142_REDIST_CRT_DLLS.amd64) TOOL_VCC142AMD64_REDIST_CONCRT_DLLS = $(TOOL_VCC142_REDIST_CONCRT_DLLS.amd64) TOOL_VCC142AMD64_REDIST_CPP_DLLS = $(TOOL_VCC142_REDIST_CPP_DLLS.amd64) diff --git a/kBuild/tools/VCC142X86.kmk b/kBuild/tools/VCC142X86.kmk index 8720fe6..3021d50 100644 --- a/kBuild/tools/VCC142X86.kmk +++ b/kBuild/tools/VCC142X86.kmk @@ -1,4 +1,4 @@ -# $Id: VCC142X86.kmk 3370 2020-06-10 10:45:05Z bird $ +# $Id: VCC142X86.kmk 3597 2023-06-16 20:56:17Z bird $ ## @file # kBuild Tool Config - Visual C++ 14.2 (aka Visual 2019 and MSC v19.20), targeting x86. # @@ -88,8 +88,9 @@ TOOL_VCC142X86_LD ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142X86_BIN_QSH)/link. TOOL_VCC142X86_DUMPBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142X86_BIN_QSH)/dumpbin.exe TOOL_VCC142X86_EDITBIN ?= $(EXEC_X86_WIN32) $(PATH_TOOL_VCC142X86_BIN_QSH)/editbin.exe -TOOL_VCC142X86_RC ?= $(EXEC_X86_WIN32) $(call TOOL_VCC142_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC142_RC_CACHED) -TOOL_VCC142X86_MT ?= $(EXEC_X86_WIN32) $(call TOOL_VCC142_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC142_MT_CACHED) +TOOL_VCC142X86_RC ?= $(EXEC_X86_WIN32) $(call TOOL_VCC142_FN_FIND_SDK_TOOL,rc.exe,[Rr][Cc].[Ee][Xx][Ee],TOOL_VCC142_RC_CACHED) +TOOL_VCC142X86_MT ?= $(TOOL_VCC142X86_MT_RETRY) $(EXEC_X86_WIN32) $(call TOOL_VCC142_FN_FIND_SDK_TOOL,mt.exe,[Mm][Tt].[Ee][Xx][Ee],TOOL_VCC142_MT_CACHED) +TOOL_VCC142X86_MT_RETRY ?= $(TOOL_VCC142_MT_RETRY) ifdef TOOL_VCC142X86_USE_KSUBMIT ifeq ($(KBUILD_HOST),win) @@ -115,7 +116,7 @@ endif PATH_TOOL_VCC142X86_REDIST ?= $(PATH_TOOL_VCC142_REDIST)/x86 PATH_TOOL_VCC142X86_REDIST_CRT = $(PATH_TOOL_VCC142X86_REDIST)/$(TOOL_VCC142_REDIST_CRT_SUBDIR) PATH_TOOL_VCC142X86_REDIST_DEBUG ?= $(PATH_TOOL_VCC142_REDIST_DEBUG)/x86 -PATH_TOOL_VCC142X86_REDIST_DEBUG_CRT = $(PATH_TOOL_VCC142X86_REDIST_DEBUG)/$(TOOL_VCC142_REDIST_CRT_SUBDIR) +PATH_TOOL_VCC142X86_REDIST_DEBUG_CRT = $(PATH_TOOL_VCC142X86_REDIST_DEBUG)/$(TOOL_VCC142_REDIST_DEBUG_CRT_SUBDIR) TOOL_VCC142X64_REDIST_CRT_DLLS = $(TOOL_VCC142_REDIST_CRT_DLLS.x86) TOOL_VCC142X64_REDIST_CONCRT_DLLS = $(TOOL_VCC142_REDIST_CONCRT_DLLS.x86) TOOL_VCC142X64_REDIST_CPP_DLLS = $(TOOL_VCC142_REDIST_CPP_DLLS.x86) diff --git a/kBuild/units/qt6.kmk b/kBuild/units/qt6.kmk index fc3d91c..28d6100 100644 --- a/kBuild/units/qt6.kmk +++ b/kBuild/units/qt6.kmk @@ -1,4 +1,4 @@ -# $Id: qt6.kmk 3559 2022-03-02 01:47:27Z bird $ +# $Id: qt6.kmk 3593 2023-05-19 10:39:04Z bird $ ## @file # Qt 6 unit. # @@ -1130,9 +1130,6 @@ ifeq ($(bld_trg),darwin) else ifeq ($(bld_trg),win) $(eval $(target)_LIBS += $(foreach module,$(qt_modules), $(PATH_SDK_QT6_LIB)/$(qt_prefix)Qt6$(module)$(qt_infix)$(SUFF_LIB)) ) - ifeq ($(tool_do),LINK_PROGRAM) - $(eval $(target)_LIBS += $(PATH_SDK_QT6_LIB)/$(qt_prefix)qtmain$(qt_infix)$(SUFF_LIB) ) - endif else $(eval $(target)_LIBS += $(foreach module,$(qt_modules), $(PATH_SDK_QT6_LIB)/lib$(qt_prefix)Qt6$(module)$(qt_infix)$(SUFF_DLL)) ) endif diff --git a/kBuild/win-common.kmk b/kBuild/win-common.kmk index bdba760..f8b0e1a 100644 --- a/kBuild/win-common.kmk +++ b/kBuild/win-common.kmk @@ -1,4 +1,4 @@ -# $Id: win-common.kmk 3323 2020-04-16 23:10:45Z bird $ +# $Id: win-common.kmk 3597 2023-06-16 20:56:17Z bird $ ## @file # kBuild Common Windows Definitions - Used by tools and SDKs. # @@ -59,3 +59,7 @@ WINCMN_MAP_ARCH.arm64 := arm64 WINCMN_MAP_ARCH.ia64 := ia64 WINCMN_MAP_ARCH.x86 := x86 ## @} + +## @def WINCMN_MT_RETRY +## Invocation of script for retrying MT.EXE when it clashes with AV software. +WINCMN_MT_RETRY = $(ASH) $(KBUILD_PATH)/retry-10-delay-500ms.sh diff --git a/src/kash/expand.c b/src/kash/expand.c index ff30455..1131865 100644 --- a/src/kash/expand.c +++ b/src/kash/expand.c @@ -1555,15 +1555,15 @@ STATIC char * cvtnum(shinstance *psh, int num, char *buf) { char temp[32]; + char *p = &temp[sizeof(temp) - 1]; int neg = num < 0; - char *p = temp + 31; - - temp[31] = '\0'; + if (neg) + num = -num; + *p = '\0'; do { *--p = num % 10 + '0'; } while ((num /= 10) != 0); - if (neg) *--p = '-'; @@ -1576,11 +1576,12 @@ STATIC char * cvtnum64(shinstance *psh, KI64 num, char *buf) { char temp[32]; + char *p = &temp[sizeof(temp) - 1]; int neg = num < 0; - char *p = temp + 31; - - temp[31] = '\0'; + if (neg) + num = -num; + *p = '\0'; do { *--p = num % 10 + '0'; } while ((num /= 10) != 0); diff --git a/src/kmk/config.h.linux b/src/kmk/config.h.linux index 99c5fa4..2c7a412 100644 --- a/src/kmk/config.h.linux +++ b/src/kmk/config.h.linux @@ -1,5 +1,5 @@ /* config.h. Generated from config.h.in by configure. */ -/* config.h.in. Generated from configure.in by autoheader. */ +/* config.h.in. Generated from configure.ac by autoheader. */ /* * bird: Move up this bunch so we can include features.h early. @@ -71,7 +71,9 @@ /* Define to 1 if you have the declaration of `bsd_signal', and to 0 if you don't. */ -/* #define HAVE_DECL_BSD_SIGNAL 1 */ +#if !defined(KBUILD_ARCH_X86) && !defined(KBUILD_ARCH_AMD64) +# define HAVE_DECL_BSD_SIGNAL 1 +#endif /* Define to 1 if you have the declaration of `dlerror', and to 0 if you don't. */ @@ -348,7 +350,13 @@ #define HAVE_WORKING_VFORK 1 /* Build host information. (not used by kmk) */ -#define MAKE_HOST "i686-pc-linux-gnu" +#if defined(KBUILD_ARCH_X86) +# define MAKE_HOST "i686-pc-linux-gnu" +#elif defined(KBUILD_ARCH_AMD64) +# define MAKE_HOST "amd64-pc-linux-gnu" +#else +# define MAKE_HOST "aarch64-unknown-linux-gnu" +#endif /* Define to 1 to enable job server support in GNU make. */ #define MAKE_JOBSERVER 1 @@ -435,7 +443,6 @@ <sys/cpustats.h>. */ /* #undef UMAX4_3 */ - /* Version number of package */ #define VERSION "4.2.1" @@ -451,7 +458,11 @@ #endif /* Number of bits in a file offset, on hosts where this is settable. */ -#define _FILE_OFFSET_BITS 64 +#if defined(KBUILD_ARCH_X86) || defined(KBUILD_ARCH_AMD64) +# define _FILE_OFFSET_BITS 64 +#else +/* #undef _FILE_OFFSET_BITS */ +#endif /* Define for large files, on AIX-style hosts. */ /* #undef _LARGE_FILES */ diff --git a/src/lib/nt/ntopenat.c b/src/lib/nt/ntopenat.c index 6db4de7..07ae561 100644 --- a/src/lib/nt/ntopenat.c +++ b/src/lib/nt/ntopenat.c @@ -55,9 +55,10 @@ static int birdOpenInt(const char *pszPath, int fFlags, unsigned __int16 fMode) * directories as the CRT doesn't allow doing that.
*/
int const iErrnoSaved = errno;
+ int iErrno;
int fd = open(pszPath, fFlags, fMode);
if ( fd < 0
- && (errno == EACCES || errno == ENOENT || errno == EISDIR)
+ && ((iErrno = errno) == EACCES || iErrno == ENOENT || iErrno == EISDIR || iErrno == EINVAL /*CIFS*/)
&& (fFlags & (_O_WRONLY | _O_RDWR | _O_RDONLY)) == _O_RDONLY
&& (fFlags & (_O_CREAT | _O_TRUNC | _O_EXCL)) == 0 )
{
|