| | |
| | | empty := |
| | | space := $(empty) $(empty) |
| | | |
| | | # Define $(comma) as single comma so we can use it in text transforming functions |
| | | comma = , |
| | | |
| | | ROOT = / |
| | | |
| | | # Distribution name and version |
| | |
| | | # 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 |
| | |
| | | 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 |
| | |
| | | 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 |
| | |
| | | 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)) |
| | |
| | | # 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 |
| | |
| | | # | 12 | 2024-11-14 | |
| | | # | 14 | 2026-11-12 | |
| | | # | 15 | 2027-11-11 | |
| | | # | 16 | 2028-11-09 | |
| | | # +--------------------+----------------+ |
| | | # |
| | | # See https://www.postgresql.org/support/versioning/ |
| | |
| | | # 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 |
| | |
| | | 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 |
| | | |
| | | |
| | |
| | | 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 |
| | |
| | | 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 |
| | |
| | | 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) |
| | |
| | | # 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) |
| | | |