| | |
| | | PYTHON_VERSION = 3.9 |
| | | PYTHON_VERSIONS = 3.9 |
| | | |
| | | # These variables are for backward compatibility only. Components should stop |
| | | # to use them. Once they do so these vars should be removed. |
| | | PYTHON3_VERSION = $(PYTHON_VERSION) |
| | | PYTHON3_VERSIONS = $(PYTHON_VERSIONS) |
| | | PYTHON3_RUNTIME_PKG = runtime/python-$(subst .,,$(PYTHON3_VERSION)) |
| | | PYTHON_ALL_VERSIONS = $(PYTHON_VERSIONS) |
| | | PYTHON_VERSIONS_ALL= $(PYTHON_VERSIONS) |
| | | |
| | | # Python up to 2.7 was built both 32-bit and 64-bit. Starting with Python 3.x |
| | | # the python package is built 64-bit only. So now all PYTHON_VERSIONS are |
| | | # 64-bit only. |
| | |
| | | ARCHLIBSUBDIR64 = $(MACH64) |
| | | ARCHLIBSUBDIR = $(ARCHLIBSUBDIR$(BITS)) |
| | | |
| | | ETCDIR = /etc |
| | | USRDIR = /usr |
| | | BINDIR = /bin |
| | | SBINDIR = /sbin |
| | | LIBDIR = /lib |
| | | VARDIR = /var |
| | | KERNELDRVDIR = /kernel/drv |
| | | KERNELDRVDIR32 =/kernel/drv |
| | | KERNELDRVDIR64 =/kernel/drv/$(MACH64) |
| | | USRBINDIR = $(USRDIR)/bin |
| | | USRBINDIR32 = $(USRDIR)/bin/$(MACH32) |
| | | USRBINDIR64 = $(USRDIR)/bin/$(MACH64) |
| | | USRSBINDIR = $(USRDIR)/sbin |
| | | USRSBINDIR32 = $(USRDIR)/sbin/$(MACH32) |
| | | USRSBINDIR64 = $(USRDIR)/sbin/$(MACH64) |
| | | USRLIBDIR = $(USRDIR)/lib |
| | | USRLIBDIR32 = $(USRDIR)/lib |
| | | USRLIBDIR64 = $(USRDIR)/lib/$(MACH64) |
| | | USRSHAREDIR = $(USRDIR)/share |
| | | USRINCDIR = $(USRDIR)/include |
| | | ETCDIR = /etc |
| | | USRDIR = /usr |
| | | BINDIR = /bin |
| | | SBINDIR = /sbin |
| | | LIBDIR = /lib |
| | | LIBEXECDIR = /libexec |
| | | VARDIR = /var |
| | | KERNELDRVDIR = /kernel/drv |
| | | KERNELDRVDIR32 = /kernel/drv |
| | | KERNELDRVDIR64 = /kernel/drv/$(MACH64) |
| | | USRBINDIR = $(USRDIR)/bin |
| | | USRBINDIR32 = $(USRDIR)/bin/$(MACH32) |
| | | USRBINDIR64 = $(USRDIR)/bin/$(MACH64) |
| | | USRSBINDIR = $(USRDIR)/sbin |
| | | USRSBINDIR32 = $(USRDIR)/sbin/$(MACH32) |
| | | USRSBINDIR64 = $(USRDIR)/sbin/$(MACH64) |
| | | USRLIBDIR = $(USRDIR)/lib |
| | | USRLIBDIR32 = $(USRDIR)/lib |
| | | USRLIBDIR64 = $(USRDIR)/lib/$(MACH64) |
| | | USRLIBEXECDIR = $(USRDIR)/libexec |
| | | USRLIBEXECDIR32 = $(USRDIR)/libexec |
| | | USRLIBEXECDIR64 = $(USRDIR)/libexec/$(MACH64) |
| | | USRSHAREDIR = $(USRDIR)/share |
| | | USRINCDIR = $(USRDIR)/include |
| | | USRSHARELOCALEDIR = $(USRSHAREDIR)/locale |
| | | USRSHAREMANDIR = $(USRSHAREDIR)/man |
| | | USRSHAREDOCDIR = $(USRSHAREDIR)/doc |
| | |
| | | |
| | | # The *.$(BITS) variables are different from those above (better suited for |
| | | # isaexec wrapper), and allow for default 32-bit vs. nondefault 64-bit setups |
| | | USRBINDIR.32 = $(USRBINDIR) |
| | | USRBINDIR.64 = $(USRBINDIR64) |
| | | USRSBINDIR.32 = $(USRSBINDIR) |
| | | USRSBINDIR.64 = $(USRSBINDIR64) |
| | | USRLIBDIR.32 = $(USRLIBDIR) |
| | | USRLIBDIR.64 = $(USRLIBDIR64) |
| | | |
| | | PROTOETCDIR = $(PROTO_DIR)/$(ETCDIR) |
| | | PROTOETCSECDIR = $(PROTO_DIR)/$(ETCDIR)/security |
| | | PROTOUSRDIR = $(PROTO_DIR)/$(USRDIR) |
| | | PROTOBINDIR = $(PROTO_DIR)/$(BINDIR) |
| | | PROTOSBINDIR = $(PROTO_DIR)/$(SBINDIR) |
| | | PROTOLIBDIR = $(PROTO_DIR)/$(LIBDIR) |
| | | PROTOVARDIR = $(PROTO_DIR)/$(VARDIR) |
| | | USRBINDIR.32 = $(USRBINDIR) |
| | | USRBINDIR.64 = $(USRBINDIR64) |
| | | USRSBINDIR.32 = $(USRSBINDIR) |
| | | USRSBINDIR.64 = $(USRSBINDIR64) |
| | | USRLIBDIR.32 = $(USRLIBDIR) |
| | | USRLIBDIR.64 = $(USRLIBDIR64) |
| | | USRLIBEXECDIR.32 = $(USRLIBEXECDIR) |
| | | USRLIBEXECDIR.64 = $(USRLIBEXECDIR64) |
| | | PROTOETCDIR = $(PROTO_DIR)/$(ETCDIR) |
| | | PROTOETCSECDIR = $(PROTO_DIR)/$(ETCDIR)/security |
| | | PROTOUSRDIR = $(PROTO_DIR)/$(USRDIR) |
| | | PROTOBINDIR = $(PROTO_DIR)/$(BINDIR) |
| | | PROTOSBINDIR = $(PROTO_DIR)/$(SBINDIR) |
| | | PROTOLIBDIR = $(PROTO_DIR)/$(LIBDIR) |
| | | PROTOLIBEXECDIR = $(PROTO_DIR)/$(LIBEXECDIR) |
| | | PROTOVARDIR = $(PROTO_DIR)/$(VARDIR) |
| | | PROTOKERNELDRVDIR = $(PROTO_DIR)/$(KERNELDRVDIR) |
| | | PROTOKERNELDRVDIR32 = $(PROTO_DIR)/$(KERNELDRVDIR32) |
| | | PROTOKERNELDRVDIR64 = $(PROTO_DIR)/$(KERNELDRVDIR64) |
| | |
| | | PROTOUSRLIBDIR = $(PROTO_DIR)/$(USRLIBDIR) |
| | | PROTOUSRLIBDIR32 = $(PROTO_DIR)/$(USRLIBDIR32) |
| | | PROTOUSRLIBDIR64 = $(PROTO_DIR)/$(USRLIBDIR64) |
| | | PROTOUSRLIBEXECDIR = $(PROTO_DIR)/$(USRLIBEXECDIR) |
| | | PROTOUSRLIBEXECDIR32 = $(PROTO_DIR)/$(USRLIBEXECDIR32) |
| | | PROTOUSRLIBEXECDIR64 = $(PROTO_DIR)/$(USRLIBEXECDIR64) |
| | | PROTOUSRINCDIR = $(PROTO_DIR)/$(USRINCDIR) |
| | | PROTOUSRSHAREDIR = $(PROTO_DIR)/$(USRSHAREDIR) |
| | | PROTOUSRSHARELIBDIR = $(PROTO_DIR)/$(USRSHARELIBDIR) |
| | |
| | | PROTOUSRSBINDIR.64 = $(PROTOUSRSBINDIR64) |
| | | PROTOUSRLIBDIR.32 = $(PROTOUSRLIBDIR) |
| | | PROTOUSRLIBDIR.64 = $(PROTOUSRLIBDIR64) |
| | | PROTOUSRLIBEXECDIR.32 = $(PROTOUSRLIBEXECDIR) |
| | | PROTOUSRLIBEXECDIR.64 = $(PROTOUSRLIBEXECDIR64) |
| | | |
| | | # NOTE: We do not build SFW contents |
| | | # /usr/sfw/bin is just a historic artefact, containing symlinks |
| | |
| | | # 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 |
| | |
| | | PATH.prepend += $(CLANG_BINDIR) |
| | | |
| | | # Python definitions |
| | | PYTHON.2.7.VENDOR_PACKAGES.64 = /usr/lib/python2.7/vendor-packages/64 |
| | | PYTHON.2.7.VENDOR_PACKAGES.32 = /usr/lib/python2.7/vendor-packages |
| | | PYTHON.2.7.VENDOR_PACKAGES = $(PYTHON.2.7.VENDOR_PACKAGES.$(BITS)) |
| | | |
| | | PYTHON.3.9.VENDOR_PACKAGES.64 = /usr/lib/python3.9/vendor-packages |
| | | PYTHON.3.9.VENDOR_PACKAGES.32 = /usr/lib/python3.9/vendor-packages |
| | | PYTHON.3.9.VENDOR_PACKAGES = $(PYTHON.3.9.VENDOR_PACKAGES.$(BITS)) |
| | |
| | | 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)) |
| | |
| | | # python2 was built for both 32- and 64-bits. |
| | | # python3 is built for 64-bits only. |
| | | |
| | | PYTHON.2.7 = /usr/bin/python2.7 |
| | | PYTHON.2.7.64 = /usr/bin/$(MACH64)/python2.7 |
| | | |
| | | PYTHON.3.9 = /usr/bin/python3.9 |
| | | PYTHON.3.9.64 = $(PYTHON.3.9) |
| | | |
| | | PYTHON.64 = $(PYTHON.$(PYTHON_VERSION).64) |
| | | PYTHON.32 = $(PYTHON.$(PYTHON_VERSION)) |
| | | PYTHON = $(PYTHON.$(PYTHON_VERSION)) |
| | | |
| | | TOX.3.9 = /usr/bin/tox-3.9 |
| | |
| | | # 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) |
| | | |