Marcel Telka
2024-04-08 d6ccb6ab62f2f8726859d4d567e79af34435042f
make-rules/shared-macros.mk
@@ -98,6 +98,9 @@
empty :=
space := $(empty) $(empty)
# Define $(comma) as single comma so we can use it in text transforming functions
comma = ,
ROOT =         /
# Distribution name and version
@@ -553,6 +556,11 @@
# set the default directory for test of the component
COMPONENT_TEST_DIR =   $(@D)
# prepare the testing environment before we run tests
COMPONENT_TEST_DEP += component-test-environment-prep
# we test built components
COMPONENT_TEST_DEP += $(BUILD_DIR)/%/.built
# determine the type of tests we want to run.
ifeq ($(strip $(wildcard $(COMPONENT_TEST_RESULTS_DIR)/results-*.master)),)
TEST_NO_ARCH =      $(BUILD_DIR_NO_ARCH)/.tested
@@ -626,7 +634,7 @@
    fi)
GCC_DEFAULT =   13
GCC_VERSION =   $(GCC_DEFAULT)
GCC_VERSION ?=   $(GCC_DEFAULT)
GCC_ROOT =   /usr/gcc/$(GCC_VERSION)
# Define runtime package names to be used in dependencies
@@ -684,9 +692,9 @@
LD =      /usr/bin/ld
# Clang definitions (we only have 64 bit clang)
CLANG_DEFAULT =      17
CLANG_DEFAULT =      18
CLANG_VERSION =      $(CLANG_DEFAULT)
CLANG_FULL_VERSION =   $(CLANG_VERSION).0
CLANG_FULL_VERSION =   $(CLANG_VERSION).1
CLANG_PREFIX             = /usr/clang/$(CLANG_FULL_VERSION)
CLANG_BINDIR =      $(CLANG_PREFIX)/bin
CLANG_LIBDIR             = $(CLANG_PREFIX)/lib
@@ -706,14 +714,25 @@
F77 =      $(F77.$(COMPILER).$(BITS))
FC =      $(FC.$(COMPILER).$(BITS))
RUBY_VERSION =  2.3
#
# We will start to obsolete major Ruby versions according the following table:
#
# +--------------+----------------+
# | Ruby version | Obsolete after |
# +--------------+----------------+
# |     2.3      |   2019-03-31   |
# |     3.2      |   2026-03-31   |
# +--------------+----------------+
#
# See https://www.ruby-lang.org/en/downloads/branches/
#
RUBY_VERSION = 3.2
RUBY_LIB_VERSION.2.3 = 2.3.0
RUBY_LIB_VERSION.2.6 = 2.6.0
RUBY_LIB_VERSION.3.2 = 3.2.0
RUBY.2.3 =   /usr/ruby/2.3/bin/ruby
RUBY.2.6 =   /usr/ruby/2.6/bin/ruby
RUBY.3.2 =   /usr/ruby/3.2/bin/ruby
RUBY =          $(RUBY.$(RUBY_VERSION))
@@ -784,9 +803,10 @@
# and re-add $(PYTHON_SCRIPTS_PROCESS)
COMPONENT_POST_INSTALL_ACTION += $(PYTHON_SCRIPTS_PROCESS)
JAVA8_HOME =   /usr/jdk/instances/openjdk1.8.0
JAVA17_HOME =   /usr/jdk/instances/openjdk17.0.8
JAVA21_HOME =   /usr/jdk/instances/openjdk21
JAVA8_HOME =   /usr/jdk/openjdk1.8.0
JAVA11_HOME =   /usr/jdk/openjdk11
JAVA17_HOME =   /usr/jdk/openjdk17
JAVA21_HOME =   /usr/jdk/openjdk21
JAVA_HOME = $(JAVA17_HOME)
# QT macros
@@ -889,6 +909,7 @@
# |         12         |   2024-11-14   |
# |         14         |   2026-11-12   |
# |         15         |   2027-11-11   |
# |         16         |   2028-11-09   |
# +--------------------+----------------+
#
# See https://www.postgresql.org/support/versioning/
@@ -898,7 +919,7 @@
# Default DB version should be the newest one we do have so we detect any
# incompatibilities as soon as possible.  Components could override this when
# they are not ready yet to compile with so new version.
PG_VERSION ?=   15
PG_VERSION ?=   16
PG_IMPLEM ?=    postgres
PG_VERNUM =     $(subst .,,$(PG_VERSION))
# For dependencies, including REQUIRED_PACKAGES if needed
@@ -1031,7 +1052,8 @@
TCLSH =      $(TCLSH.$(TCL_VERSION).$(MACH).$(BITS))
# ICU library
ICU_LIBRARY_PKG =      library/icu
ICU_VERSION =         74
ICU_LIBRARY_PKG =      library/icu-$(ICU_VERSION)
REQUIRED_PACKAGES_SUBST +=   ICU_LIBRARY_PKG
@@ -1056,8 +1078,8 @@
PKGLINT =   ${WS_TOOLS}/pkglint
endif
ACLOCAL =   /usr/bin/aclocal-1.10
AUTOMAKE =   /usr/bin/automake-1.10
ACLOCAL =   /usr/bin/aclocal-1.16
AUTOMAKE =   /usr/bin/automake-1.16
AUTORECONF =    /usr/bin/autoreconf
KSH93 =         /usr/bin/ksh93
@@ -1069,7 +1091,7 @@
LN =      /bin/ln
CAT =      /bin/cat
SYMLINK =   /bin/ln -s
ENV =      /usr/bin/env
ENV =      /usr/bin/env -i
FIND =      /usr/bin/find
INSTALL =   /usr/bin/ginstall
GNU_GREP =   /usr/gnu/bin/grep
@@ -1084,6 +1106,7 @@
DOS2UNIX =   /usr/bin/dos2unix
TAC =      /usr/bin/tac
QUILT =      /usr/bin/quilt
CTFCONVERT =   /opt/onbld/bin/$(MACH)/ctfconvert
INS.dir=        $(INSTALL) -d $@
INS.file=       $(INSTALL) -m 444 $< $(@D)
@@ -1231,6 +1254,31 @@
# Add compiler specific 'default' features
CFLAGS +=   $(CFLAGS.$(COMPILER))
# Per-compiler CFLAGS to use when building for CTF.  Currently only defined
# for gcc; could be made to work with other compilers.
# -gdwarf-4 is the newest DWARF revision understood by illumos libctf
#
# -gstrict-dwarf prevents the compiler from including newer DWARF features
CTF_CFLAGS.gcc = -g -gdwarf-4 -gstrict-dwarf
# -msave-args makes it possible for debugging tools (specifically pstack and
# mdb) to retrieve function arguments, and is required for the python pstack
# hooks.
CTF_CFLAGS.gcc += -msave-args
# By default, GCC may put parts of functions in different named sub-sections
# of .text based on their presumed or measured calling frequency.  This is not
# currently handled by libctf and other illumos tools which assume that a
# function's text lies in a single contiguous range of virtual addresses.
# Disable this optimization if building with CTF.
CTF_CFLAGS.gcc += -fno-reorder-functions -fno-reorder-blocks-and-partition
# Enable CTF if desired
ifeq ($(strip $(USE_CTF)),yes)
CFLAGS += $(if $(CTF_CFLAGS.$(COMPILER)), \
   $(CTF_CFLAGS.$(COMPILER)), \
   $(error Error: CTF_CFLAGS.$(COMPILER) must be defined to use CTF with $(COMPILER)))
endif
# Build 32 or 64 bit objects in C++ as well.
CXXFLAGS +=   $(CC_BITS)