| | |
| | | # whenever PATH is to be defined there: |
| | | # PATH = $(PATH.illumos) |
| | | # PATH = $(PATH.gnu) |
| | | PATH.illumos=$(PATH.prepend):$(USRBINDIR$(BITS)):$(USRBINDIR):$(GNUBIN):$(USRSBINDIR$(BITS)):$(USRSBINDIR):$(PERL5BINDIR) |
| | | PATH.gnu=$(PATH.prepend):$(GNUBIN):$(USRBINDIR$(BITS)):$(USRBINDIR):$(USRSBINDIR$(BITS)):$(USRSBINDIR):$(PERL5BINDIR) |
| | | PATH.illumos = $(subst $(space),:,$(strip $(PATH.prepend))):$(USRBINDIR$(BITS)):$(USRBINDIR):$(GNUBIN):$(USRSBINDIR$(BITS)):$(USRSBINDIR) |
| | | PATH.gnu = $(subst $(space),:,$(strip $(PATH.prepend))):$(GNUBIN):$(USRBINDIR$(BITS)):$(USRBINDIR):$(USRSBINDIR$(BITS)):$(USRSBINDIR) |
| | | |
| | | # Default PATH |
| | | PATH = $(PATH.illumos) |
| | |
| | | #EXTERNAL_ARCHIVE_MIRROR = \ |
| | | # http://static.opensolaris.org/action/browse/userland/tarball/userland |
| | | |
| | | DLC_ARCHIVE_MIRROR = http://dlc.openindiana.org/oi-userland/source-archives |
| | | DLC_ARCHIVE_MIRROR = https://dlc.openindiana.org/oi-userland/source-archives |
| | | |
| | | # Default to looking for source archives on the internal mirror and the external |
| | | # mirror before we hammer on the community source archive repositories. |
| | |
| | | # The workspace starts at the mercurial root |
| | | ifeq ($(origin WS_TOP), undefined) |
| | | export WS_TOP := \ |
| | | $(shell hg root 2>/dev/null || git rev-parse --show-toplevel) |
| | | $(shell git rev-parse --show-toplevel || hg root 2>/dev/null) |
| | | endif |
| | | |
| | | USERLAND_ARCHIVES ?= $(WS_TOP)/archives/ |
| | |
| | | # to determine the distribution version |
| | | # (it should look like OpenIndiana Hipster YYYY.MM). |
| | | DISTRIBUTION_NAME = OpenIndiana Hipster |
| | | DISTRIBUTION_VERSION = 2022.10 |
| | | DISTRIBUTION_VERSION = 2023.10 |
| | | # Native OS version |
| | | OS_VERSION := $(shell uname -r) |
| | | SOLARIS_VERSION = $(OS_VERSION:5.%=2.%) |
| | |
| | | MK_BITS=$(strip $(BUILD_BITS)) |
| | | endif |
| | | |
| | | # |
| | | # Upstream support for Python is by default 5 years after the first release. |
| | | # We will start to obsolete Python versions according the following table: |
| | | # |
| | | # +----------------+----------------+ |
| | | # | Python version | Obsolete after | |
| | | # +----------------+----------------+ |
| | | # | 3.9 | 2025-10 | |
| | | # +----------------+----------------+ |
| | | # |
| | | # See https://devguide.python.org/versions/ |
| | | # |
| | | |
| | | PYTHON_VERSION = 3.9 |
| | | PYTHON_VERSIONS = 3.7 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. |
| | |
| | | # |
| | | # This list should be usually empty. Intersection of |
| | | # PYTHON_VERSIONS_OBSOLETING and PYTHON_VERSIONS lists MUST be always empty. |
| | | PYTHON_VERSIONS_OBSOLETING = 2.7 3.5 |
| | | PYTHON_VERSIONS_OBSOLETING = 2.7 3.5 3.7 |
| | | |
| | | # PYTHON3_SOABI variable defines the naming scheme |
| | | # of python3 extension libraries: cpython or abi3. |
| | |
| | | |
| | | PKG_REPO = file:$(WS_REPO) |
| | | |
| | | COMPONENT = $(COMPONENT_DIR:$(WS_TOP)/components/%=%) |
| | | HUMAN_VERSION ?= $(COMPONENT_VERSION) |
| | | COMPONENT_SRC_NAME = $(COMPONENT_NAME) |
| | | |
| | |
| | | CONFIGURE_32 = $(BUILD_DIR_32)/.configured |
| | | CONFIGURE_64 = $(BUILD_DIR_64)/.configured |
| | | |
| | | # In ideal world all components should support parallel build but it is often |
| | | # not the case. So by default we do not run parallel build and allow |
| | | # components to opt-in for parallel build by setting USE_PARALLEL_BUILD = yes |
| | | # before the shared-macros.mk file is included. |
| | | PARALLEL_JOBS ?= 8 |
| | | ifeq ($(strip $(USE_PARALLEL_BUILD)),yes) |
| | | COMPONENT_BUILD_GMAKE_ARGS += -j$(PARALLEL_JOBS) |
| | | COMPONENT_BUILD_SETUP_PY_ARGS += -j$(PARALLEL_JOBS) |
| | | endif |
| | | |
| | | BUILD_DIR_NO_ARCH = $(BUILD_DIR)/$(MACH) |
| | | BUILD_DIR_32 = $(BUILD_DIR)/$(MACH32) |
| | | BUILD_DIR_64 = $(BUILD_DIR)/$(MACH64) |
| | |
| | | fi; \ |
| | | fi) |
| | | |
| | | GCC_VERSION = 10 |
| | | GCC_DEFAULT = 13 |
| | | GCC_VERSION = $(GCC_DEFAULT) |
| | | GCC_ROOT = /usr/gcc/$(GCC_VERSION) |
| | | |
| | | GCC_LIBDIR.32 = $(GCC_ROOT)/lib |
| | | GCC_LIBDIR.64 = $(GCC_ROOT)/lib/$(MACH64) |
| | | GCC_LIBDIR = $(GCC_LIBDIR.$(BITS)) |
| | | |
| | | # Define runtime package names to be used in dependencies |
| | | GCC_VERSION_MAJOR = $(shell echo $(GCC_VERSION) | $(GSED) -e 's/\([0-9]\+\)\.[0-9]\+.*/\1/') |
| | |
| | | GCC_INCDIR = $(GCC_ROOT)/include |
| | | GCC_LIBGCCDIR = $(GCC_ROOT)/lib/gcc |
| | | GCC_INCGXXDIR = $(GCC_ROOT)/include/c++/$(GCC_FULL_VERSION) |
| | | PATH.prepend += $(GCC_BINDIR) |
| | | |
| | | ifneq ($(strip $(CCACHE)),) |
| | | |
| | |
| | | |
| | | LD = /usr/bin/ld |
| | | |
| | | # Clang definitions (we only have 64 bit clang) |
| | | CLANG_DEFAULT = 17 |
| | | CLANG_VERSION = $(CLANG_DEFAULT) |
| | | CLANG_FULL_VERSION = $(CLANG_VERSION).0 |
| | | CLANG_PREFIX = /usr/clang/$(CLANG_FULL_VERSION) |
| | | CLANG_BINDIR = $(CLANG_PREFIX)/bin |
| | | CLANG_LIBDIR = $(CLANG_PREFIX)/lib |
| | | CLANG_DEVELOPER_PKG = developer/clang-$(CLANG_VERSION) |
| | | CLANG_RUNTIME_PKG = runtime/clang-$(CLANG_VERSION) |
| | | REQUIRED_PACKAGES_SUBST += CLANG_DEVELOPER_PKG |
| | | REQUIRED_PACKAGES_SUBST += CLANG_RUNTIME_PKG |
| | | 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.7.VENDOR_PACKAGES.64 = /usr/lib/python3.7/vendor-packages |
| | | PYTHON.3.7.VENDOR_PACKAGES.32 = /usr/lib/python3.7/vendor-packages |
| | | PYTHON.3.7.VENDOR_PACKAGES = $(PYTHON.3.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 |
| | |
| | | FC = $(FC.$(COMPILER).$(BITS)) |
| | | |
| | | RUBY_VERSION = 2.3 |
| | | |
| | | 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)) |
| | | RUBY_LIB_VERSION = $(RUBY_LIB_VERSION.$(RUBY_VERSION)) |
| | | |
| | |
| | | PYTHON.2.7 = /usr/bin/python2.7 |
| | | PYTHON.2.7.64 = /usr/bin/$(MACH64)/python2.7 |
| | | |
| | | PYTHON.3.7 = /usr/bin/python3.7 |
| | | PYTHON.3.7.64 = $(PYTHON.3.7) |
| | | |
| | | PYTHON.3.9 = /usr/bin/python3.9 |
| | | PYTHON.3.9.64 = $(PYTHON.3.9) |
| | | |
| | |
| | | PYTHON.32 = $(PYTHON.$(PYTHON_VERSION)) |
| | | PYTHON = $(PYTHON.$(PYTHON_VERSION)) |
| | | |
| | | TOX.3.7 = /usr/bin/tox-3.7 |
| | | TOX.3.9 = /usr/bin/tox-3.9 |
| | | TOX = $(TOX.$(PYTHON_VERSION)) |
| | | |
| | |
| | | # the corresponding .pyc file is outdated now. |
| | | PYTHON_SCRIPT_SHEBANG_FIX_FUNC = \ |
| | | $(GSED) -i \ |
| | | -e '1s@/usr/bin/python$$@$(PYTHON)@' \ |
| | | -e '1s@/usr/bin/python\ @$(PYTHON) @' \ |
| | | -e '1s@/usr/bin/env\ $(PYTHON)@$(PYTHON)@' \ |
| | | -e '1s@/usr/bin/env\ python[23]@$(PYTHON)@' \ |
| | | -e '1s@/usr/bin/env\ python@$(PYTHON)@' $(1); \ |
| | | $(PYTHON) -m compileall $(1); |
| | | -e '1s@/usr/bin/python3\{0,1\}$$@$(PYTHON)@' \ |
| | | -e '1s@/usr/bin/python3\{0,1\} @$(PYTHON) @' \ |
| | | -e '1s@/usr/bin/env python3\.[0-9]\{1,\}@$(PYTHON)@' \ |
| | | -e '1s@/usr/bin/env python3\{0,1\}@$(PYTHON)@' \ |
| | | $(PROTO_DIR)/$(1); \ |
| | | $(PYTHON) -m compileall $(PROTO_DIR)/$(1); |
| | | |
| | | # PYTHON_SCRIPTS is a list of files from the calling Makefile. |
| | | PYTHON_SCRIPTS_PROCESS= \ |
| | |
| | | COMPONENT_POST_INSTALL_ACTION += $(PYTHON_SCRIPTS_PROCESS) |
| | | |
| | | JAVA8_HOME = /usr/jdk/instances/openjdk1.8.0 |
| | | JAVA11_HOME = /usr/jdk/instances/openjdk11.0.10 |
| | | JAVA17_HOME = /usr/jdk/instances/openjdk17 |
| | | JAVA18_HOME = /usr/jdk/instances/openjdk18 |
| | | JAVA19_HOME = /usr/jdk/instances/openjdk19 |
| | | JAVA_HOME = $(JAVA8_HOME) |
| | | JAVA17_HOME = /usr/jdk/instances/openjdk17.0.8 |
| | | JAVA21_HOME = /usr/jdk/instances/openjdk21 |
| | | JAVA_HOME = $(JAVA17_HOME) |
| | | |
| | | # QT macros |
| | | # We deliver version 5 in 32- and 64-bit variants. |
| | |
| | | QT5_PKG_CONFIG_PATH = $(QT5_LIBDIR)/pkgconfig |
| | | |
| | | # We deliver version 6 only in a 64-bit variant. |
| | | QT6_VERSION = 6.2 |
| | | QT6_VERSION = 6.6 |
| | | QT6_BASEDIR = $(USRLIBDIR)/qt/$(QT6_VERSION) |
| | | QT6_BINDIR = $(QT6_BASEDIR)/bin/$(MACH64) |
| | | QT6_LIBDIR = $(QT6_BASEDIR)/lib/$(MACH64) |
| | | QT6_PKG_CONFIG_PATH = $(QT6_LIBDIR)/pkgconfig |
| | | |
| | | # This is the default BUILD version of perl |
| | | # Not necessarily the system's default version, i.e. /usr/bin/perl |
| | | PERL_VERSION = 5.36 |
| | | # |
| | | # Upstream officially supports two recent major Perl versions. They also aim |
| | | # to provide critical security fixes for major Perl versions whose 5.x.0 |
| | | # release was within the past three years. |
| | | # |
| | | # We support union of both sets. IOW, we will start to obsolete a major Perl |
| | | # version if its 5.x.0 was released longer than three years ago AND there are |
| | | # already released two newer major Perl versions. |
| | | # |
| | | # See https://perldoc.perl.org/perlpolicy |
| | | # |
| | | # |
| | | # We will start to obsolete major Perl versions according the following table: |
| | | # |
| | | # +--------------+----------------+ |
| | | # | Perl version | Obsolete after | |
| | | # +--------------+----------------+ |
| | | # | 5.34 | 2024-05-20 | |
| | | # | 5.36 | 2025-05-28 | |
| | | # | 5.38 | 2026-07-02 | |
| | | # +--------------+----------------+ |
| | | # |
| | | # See https://www.cpan.org/src/README.html |
| | | # |
| | | |
| | | PERL_VERSIONS = 5.34 5.36 |
| | | # This is the default version of Perl |
| | | PERL_VERSION = 5.38 |
| | | |
| | | # The PERL_VERSIONS list should always be in ascending order (newest version |
| | | # last) |
| | | PERL_VERSIONS = 5.34 5.36 5.38 |
| | | # Perl up to 5.22 was built 32-bit only. Starting with 5.24 the perl package |
| | | # is built 64-bit only. So now all PERL_VERSIONS are 64-bit only. |
| | | PERL_64_ONLY_VERSIONS = $(PERL_VERSIONS) |
| | |
| | | PKG_MACROS += PERL_ARCH=$(PERL_ARCH) |
| | | PKG_MACROS += PERL_VERSION=$(PERL_VERSION) |
| | | |
| | | # |
| | | # Upstream supports major PostgreSQL versions for 5 years after its initial |
| | | # release. After that one last minor version is released and then the major |
| | | # version is considered EOL. |
| | | # |
| | | # We will start to obsolete PostgreSQL versions according the following table: |
| | | # |
| | | # +--------------------+----------------+ |
| | | # | PostgreSQL version | Obsolete after | |
| | | # +--------------------+----------------+ |
| | | # | 12 | 2024-11-14 | |
| | | # | 14 | 2026-11-12 | |
| | | # | 15 | 2027-11-11 | |
| | | # +--------------------+----------------+ |
| | | # |
| | | # See https://www.postgresql.org/support/versioning/ |
| | | # |
| | | |
| | | # Config magic for Postgres/EnterpriseDB/... |
| | | # 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 ?= 14 |
| | | PG_VERSION ?= 15 |
| | | PG_IMPLEM ?= postgres |
| | | PG_VERNUM = $(subst .,,$(PG_VERSION)) |
| | | # For dependencies, including REQUIRED_PACKAGES if needed |
| | |
| | | PG_CLIENT_PKG = $(PG_BASEPKG)/client |
| | | PG_DEVELOPER_PKG = $(PG_BASEPKG)/developer |
| | | PG_LIBRARY_PKG = $(PG_BASEPKG)/library |
| | | PG_SERVICE_PKG = service/$(PG_BASEPKG) |
| | | |
| | | REQUIRED_PACKAGES_SUBST+= PG_CLIENT_PKG |
| | | REQUIRED_PACKAGES_SUBST+= PG_DEVELOPER_PKG |
| | | REQUIRED_PACKAGES_SUBST+= PG_LIBRARY_PKG |
| | | REQUIRED_PACKAGES_SUBST+= PG_SERVICE_PKG |
| | | |
| | | PG_HOME = $(USRDIR)/$(PG_IMPLEM)/$(PG_VERSION) |
| | | PG_BINDIR.32 = $(PG_HOME)/bin/$(MACH32) |
| | |
| | | PG_CONFIG.32 = $(PG_BINDIR.32)/pg_config |
| | | PG_CONFIG.64 = $(PG_BINDIR.64)/pg_config |
| | | PG_CONFIG = $(PG_CONFIG.$(BITS)) |
| | | PATH.prepend += $(PG_BINDIR) |
| | | |
| | | PKG_MACROS += PG_VERSION=$(PG_VERSION) |
| | | PKG_MACROS += PG_VERNUM=$(PG_VERNUM) |
| | | PKG_MACROS += PG_BASEPKG=$(PG_BASEPKG) |
| | | |
| | | # |
| | | # Upstream maintains long-term MariaDB releases for at least 5 years and |
| | | # short-term MariaDB releases for at least one year. |
| | | # |
| | | # We will start to obsolete MariaDB versions according the following table: |
| | | # |
| | | # +-----------------+----------------+ |
| | | # | MariaDB version | Obsolete after | |
| | | # +-----------------+----------------+ |
| | | # | 10.6 | 2026-07 | |
| | | # +-----------------+----------------+ |
| | | # |
| | | # See https://mariadb.org/about/#maintenance-policy |
| | | # |
| | | |
| | | # Config magic for MySQL/MariaDB/Percona/... |
| | | # Default DB version should be the newest one we do have so we detect any |
| | |
| | | MYSQL_CONFIG.32 = $(MYSQL_BINDIR.32)/mysql_config |
| | | MYSQL_CONFIG.64 = $(MYSQL_BINDIR.64)/mysql_config |
| | | MYSQL_CONFIG = $(MYSQL_CONFIG.$(BITS)) |
| | | MYSQL_PKG_CONFIG_PATH = $(MYSQL_LIBDIR)/pkgconfig |
| | | PATH.prepend += $(MYSQL_BINDIR) |
| | | |
| | | PKG_MACROS += MYSQL_VERSION=$(MYSQL_VERSION) |
| | | PKG_MACROS += MYSQL_VERNUM=$(MYSQL_VERNUM) |
| | |
| | | TCLSH.8.6.sparc.64 = /usr/bin/sparcv9/tclsh8.6 |
| | | TCLSH = $(TCLSH.$(TCL_VERSION).$(MACH).$(BITS)) |
| | | |
| | | # ICU library |
| | | ICU_LIBRARY_PKG = library/icu |
| | | REQUIRED_PACKAGES_SUBST += ICU_LIBRARY_PKG |
| | | |
| | | |
| | | CCSMAKE = /usr/ccs/bin/make |
| | | GMAKE = /usr/gnu/bin/make |
| | | GPATCH = /usr/gnu/bin/patch |
| | |
| | | GDIFF = /usr/gnu/bin/diff |
| | | GSORT = /usr/gnu/bin/sort |
| | | GUNZIP = /usr/bin/gunzip |
| | | |
| | | SORT = LC_ALL=C /usr/bin/sort |
| | | |
| | | PKGREPO = /usr/bin/pkgrepo |
| | | PKGSEND = /usr/bin/pkgsend |
| | |
| | | GTAR = /usr/gnu/bin/tar |
| | | STRIP = /usr/bin/strip |
| | | IPS2TGZ = $(WS_TOOLS)/ips2tgz |
| | | JQ = /usr/bin/jq |
| | | DOS2UNIX = /usr/bin/dos2unix |
| | | TAC = /usr/bin/tac |
| | | QUILT = /usr/bin/quilt |
| | | |
| | | INS.dir= $(INSTALL) -d $@ |
| | | INS.file= $(INSTALL) -m 444 $< $(@D) |
| | | |
| | | # OpenSSL macros |
| | | OPENSSL_DEFAULT= 1.0 |
| | | OPENSSL_DEFAULT = 3.1 |
| | | ifeq ($(strip $(USE_OPENSSL11)),yes) |
| | | OPENSSL_VERSION= 1.1 |
| | | PATH.prepend+=$(OPENSSL_BINDIR) |
| | | OPENSSL_VERSION = 1.1 |
| | | else |
| | | ifeq ($(strip $(USE_OPENSSL10)),yes) |
| | | OPENSSL_VERSION= 1.0 |
| | | PATH.prepend+=$(OPENSSL_BINDIR) |
| | | OPENSSL_VERSION = 1.0 |
| | | else |
| | | OPENSSL_VERSION= $(OPENSSL_DEFAULT) |
| | | OPENSSL_VERSION ?= $(OPENSSL_DEFAULT) |
| | | endif |
| | | endif |
| | | PATH.prepend+=$(OPENSSL_BINDIR) |
| | | OPENSSL_PREFIX= $(USRDIR)/openssl/$(OPENSSL_VERSION) |
| | | OPENSSL_BINDIR.64= $(OPENSSL_PREFIX)/bin |
| | | OPENSSL_BINDIR.32= $(OPENSSL_PREFIX)/bin/$(MACH32) |
| | |
| | | PKG_CONFIG_PATH.32 = /usr/lib/pkgconfig |
| | | PKG_CONFIG_PATH.64 = /usr/lib/$(MACH64)/pkgconfig |
| | | PKG_CONFIG_PATH = \ |
| | | $(OPENSSL_PKG_CONFIG_PATH):$(PKG_CONFIG_PATH.$(BITS)):$(PKG_CONFIG_PATH.32) |
| | | $(OPENSSL_PKG_CONFIG_PATH):$(MYSQL_PKG_CONFIG_PATH):$(PKG_CONFIG_PATH.$(BITS)):$(PKG_CONFIG_PATH.32) |
| | | |
| | | # Set default path for environment modules |
| | | MODULE_VERSION = 3.2.10 |
| | |
| | | # |
| | | |
| | | # Control the GCC optimization level. |
| | | gcc_OPT.sparc.32 = -O3 -mcpu=ultrasparc -mvis |
| | | gcc_OPT.sparc.64 = -O3 -mcpu=ultrasparc -mvis |
| | | gcc_OPT.sparc.32 = -O3 -mcpu=ultrasparc -mvis -mfsmuld |
| | | gcc_OPT.sparc.64 = -O3 -mcpu=ultrasparc -mvis -mfsmuld |
| | | gcc_OPT.i386.32 = -O3 |
| | | gcc_OPT.i386.64 = -O3 |
| | | gcc_OPT = $(gcc_OPT.$(MACH).$(BITS)) |
| | |
| | | LD_OPTIONS="$(LD_OPTIONS)" \ |
| | | LD_EXEC_OPTIONS="$(LD_EXEC_OPTIONS)" |
| | | |
| | | # PATH should be always set |
| | | COMPONENT_BUILD_ENV += PATH="$(PATH)" |
| | | COMPONENT_INSTALL_ENV += PATH="$(PATH)" |
| | | COMPONENT_TEST_ENV += PATH="$(PATH)" |
| | | |
| | | # PERL options which depend on C options should be placed here |
| | | PERL_OPTIMIZE := $(shell $(PERL) -e 'use Config; print $$Config{optimize}') |
| | | |
| | |
| | | component-hook: |
| | | @$(COMPONENT_HOOK) |
| | | |
| | | # Add default dependency to SUNWcs |
| | | REQUIRED_PACKAGES += SUNWcs |
| | | |
| | | # Add default dependency to shell/ksh93 which has been separated from SUNWcs |
| | | REQUIRED_PACKAGES += shell/ksh93 |
| | | # We need shell/ksh93 to be able to run scripts in the tools directory |
| | | USERLAND_REQUIRED_PACKAGES += shell/ksh93 |
| | | |
| | | # |
| | | # Packages with tools that are required to build Userland components |
| | | # |
| | | USERLAND_REQUIRED_PACKAGES += metapackages/build-essential |
| | | |
| | | # Only a default dependency if component being built produces binaries. |
| | | ifneq ($(strip $(BUILD_BITS)),NO_ARCH) |
| | | REQUIRED_PACKAGES += system/library |
| | | endif |
| | | |
| | | # Define substitution rules for some packages. |
| | | # Such package names may change and would be better defined with a macro to |
| | |
| | | REQUIRED_PACKAGES_SUBST+= GOBJC_RUNTIME_PKG |
| | | |
| | | # Generate requirements on all built python version variants for given packages |
| | | USERLAND_REQUIRED_PACKAGES += $(foreach ver,$(PYTHON_VERSIONS),$(PYTHON_USERLAND_REQUIRED_PACKAGES:%=%-$(shell echo $(ver) | tr -d .))) |
| | | REQUIRED_PACKAGES += $(foreach ver,$(PYTHON_VERSIONS),$(PYTHON_REQUIRED_PACKAGES:%=%-$(shell echo $(ver) | tr -d .))) |
| | | TEST_REQUIRED_PACKAGES += $(foreach ver,$(PYTHON_VERSIONS),$(TEST_REQUIRED_PACKAGES.python:%=%-$(shell echo $(ver) | tr -d .))) |
| | | USERLAND_REQUIRED_PACKAGES += $(foreach ver,$(PYTHON_VERSIONS),$(USERLAND_REQUIRED_PACKAGES.python:%=%-$(subst .,,$(ver)))) |
| | | REQUIRED_PACKAGES += $(foreach ver,$(PYTHON_VERSIONS),$(PYTHON_REQUIRED_PACKAGES:%=%-$(subst .,,$(ver)))) |
| | | TEST_REQUIRED_PACKAGES += $(foreach ver,$(PYTHON_VERSIONS),$(TEST_REQUIRED_PACKAGES.python:%=%-$(subst .,,$(ver)))) |
| | | |
| | | # Generate requirements on all built perl version variants for given packages |
| | | REQUIRED_PACKAGES += $(foreach ver,$(PERL_VERSIONS),$(PERL_REQUIRED_PACKAGES:%=%-$(shell echo $(ver) | tr -d .))) |
| | | USERLAND_REQUIRED_PACKAGES += $(foreach ver,$(PERL_VERSIONS),$(USERLAND_REQUIRED_PACKAGES.perl:%=%-$(subst .,,$(ver)))) |
| | | REQUIRED_PACKAGES += $(foreach ver,$(PERL_VERSIONS),$(PERL_REQUIRED_PACKAGES:%=%-$(subst .,,$(ver)))) |
| | | TEST_REQUIRED_PACKAGES += $(foreach ver,$(PERL_VERSIONS),$(TEST_REQUIRED_PACKAGES.perl:%=%-$(subst .,,$(ver)))) |
| | | |
| | | # Generate conflicting packages for all built python version variants for given package |
| | | TEST_CONFLICTING_PACKAGES += $(foreach ver,$(PYTHON_VERSIONS),$(TEST_CONFLICTING_PACKAGES.python:%=%-$(subst .,,$(ver)))) |
| | | |
| | | # Targets for some tools rarely used by the build framework. We do not add |
| | | # these tools to USERLAND_REQUIRED_PACKAGES to do not pollute it. |
| | | $(QUILT): |
| | | @echo |
| | | @echo "$(QUILT) is missing" |
| | | @echo "Please install developer/quilt package" |
| | | @echo |
| | | @exit 1 |
| | | |
| | | include $(WS_MAKE_RULES)/environment.mk |
| | | include $(WS_MAKE_RULES)/depend.mk |