diff --git a/Mk/Uses/llvm.mk b/Mk/Uses/llvm.mk index c1111eafe531..e4ea95e8938d 100644 --- a/Mk/Uses/llvm.mk +++ b/Mk/Uses/llvm.mk @@ -1,147 +1,147 @@ # Provides support to depend on LLVM # # USES=llvm supports two kinds of arguments: # # * mode # : defaults to build # build: add a BUILD_DEPENDS on chosen llvm-port # run: add a RUN_DEPENDS on chosen llvm-port # lib: add a LIB_DEPENDS on chosen llvm-port # # * version # : defaults to ${LLVM_DEFAULT} # number: use explicitly the specified version # min=number: use specified min if ${LLVM_DEFAULT} is lower # max=number: use specified max if ${LLVM_DEFAULT} is higher # # * environment # export: do export CC, CXX,... variables [default] # noexport: do not export CC,CXX,... variables # # An example usage might be: # USES= llvm # or # USES= llvm:13,build # or # USES= llvm:min=14,lib # # The following variables are exposed to be used in the ports tree at the moment: # * LLVM_VERSION version chosen from the arguments to llvm.mk # * LLVM_PORT chosen llvm port # * LLVM_CONFIG llvm-config of the chosen port # * LLVM_LIBLLVM libLLVM.so of the chosen port # * LLVM_PREFIX installation prefix of the chosen port # # MAINTAINER: ports@FreeBSD.org .if !defined(_INCLUDE_USES_LLVM_MK) _INCLUDE_USES_LLVM_MK= YES -_LLVM_MK_VALID_VERSIONS= 12 13 14 15 16 17 18 19 20 21 +_LLVM_MK_VALID_VERSIONS= 12 13 14 15 16 17 18 19 20 21 22 _LLVM_MK_VALID_CONSTRAINTS= min max _LLVM_MK_VALID_MODES= build run lib _LLVM_MK_VALID_EXPORTS= export noexport # === verify that there are no invalid arguments === . for _arg in ${llvm_ARGS} . if !${_LLVM_MK_VALID_VERSIONS:M${_arg}} && \ !${_LLVM_MK_VALID_MODES:M${_arg}} && \ ${_arg:C/^(${_LLVM_MK_VALID_CONSTRAINTS:tW:S/ /|/g})=(${_LLVM_MK_VALID_VERSIONS:tW:S/ /|/g})$//} != "" && \ !${_LLVM_MK_VALID_EXPORTS:M${_arg}} BROKEN= USES=llvm:${llvm_ARGS:tW:S/ /,/g} contains an invalid argument: "${_arg}" . endif . endfor # === parse mode arguments === _LLVM_MK_MODES= # empty . for _mode in ${_LLVM_MK_VALID_MODES} . if ${llvm_ARGS:M${_mode}} _LLVM_MK_MODES+= ${_mode} . endif . endfor . if empty(_LLVM_MK_MODES) _LLVM_MK_MODES= build . endif # === parse version arguments === _LLVM_MK_VERSION= # empty . for _ver in ${_LLVM_MK_VALID_VERSIONS} . if ${llvm_ARGS:M${_ver}} . if !empty(_LLVM_MK_VERSION) BROKEN= USES=llvm:${llvm_ARGS:tW:S/ /,/g} contains multiple version definitions . else _LLVM_MK_VERSION= ${_ver} . endif . endif . endfor . if empty(_LLVM_MK_VERSION) _LLVM_MK_VERSION= ${LLVM_DEFAULT} . endif # === parse environment arguments === _LLVM_MK_EXPORT= # empty . for _export in ${_LLVM_MK_VALID_EXPORTS} . if ${llvm_ARGS:M${_export}} . if !empty(_LLVM_MK_EXPORT) BROKEN= USES=llvm:${llvm_ARGS:tW:S/ /,/g} contains multiple export definitions . else _LLVM_MK_EXPORT= ${_export} . endif . endif . endfor . if empty(_LLVM_MK_EXPORT) _LLVM_MK_EXPORT= export . endif # === handle constraints === . for _constraint in ${_LLVM_MK_VALID_CONSTRAINTS} _version= ${llvm_ARGS:M${_constraint}=[0-9]*:S/${_constraint}=//} . if !empty(_version) _LLVM_MK_CONSTRAINT_${_constraint}:= ${_version} . endif . endfor . if !empty(_LLVM_MK_CONSTRAINT_min) . if ${_LLVM_MK_CONSTRAINT_min} > ${_LLVM_MK_VERSION} _LLVM_MK_VERSION= ${_LLVM_MK_CONSTRAINT_min} . endif . endif . if !empty(_LLVM_MK_CONSTRAINT_max) . if ${_LLVM_MK_CONSTRAINT_max} < ${_LLVM_MK_VERSION} _LLVM_MK_VERSION= ${_LLVM_MK_CONSTRAINT_max} . endif . endif # === define helpers for the dependencies === . for _ver in ${_LLVM_MK_VALID_VERSIONS} _LLVM_MK_SUFFIX_${_ver}?= ${_ver} . endfor # === define variables to depend on and export === _LLVM_MK_PORT= devel/llvm${_LLVM_MK_SUFFIX_${_LLVM_MK_VERSION}} _LLVM_MK_LIBLLVM= libLLVM-${_LLVM_MK_VERSION}.so _LLVM_MK_PATH= llvm-config${_LLVM_MK_SUFFIX_${_LLVM_MK_VERSION}} _LLVM_MK_PREFIX= ${PREFIX}/llvm${_LLVM_MK_SUFFIX_${_LLVM_MK_VERSION}} # == add actual dependencies === _LLVM_MK_PATH_lib= ${_LLVM_MK_LIBLLVM} . for _mode in ${_LLVM_MK_MODES} _LLVM_MK_PATH_${_mode}?= ${_LLVM_MK_PATH} ${_mode:tu}_DEPENDS+= ${_LLVM_MK_PATH_${_mode}}:${_LLVM_MK_PORT} . endfor # == export config === LLVM_PORT= ${_LLVM_MK_PORT} LLVM_CONFIG= ${_LLVM_MK_PATH} LLVM_LIBLLVM= ${_LLVM_MK_LIBLLVM} LLVM_VERSION= ${_LLVM_MK_VERSION} LLVM_PREFIX= ${_LLVM_MK_PREFIX} . if empty(_LLVM_MK_EXPORT:Mnoexport) CC= ${LLVM_PREFIX}/bin/clang CXX= ${LLVM_PREFIX}/bin/clang++ CPP= ${LLVM_PREFIX}/bin/clang-cpp . endif .endif diff --git a/Mk/bsd.default-versions.mk b/Mk/bsd.default-versions.mk index 87a027e8800e..5d32ace84747 100644 --- a/Mk/bsd.default-versions.mk +++ b/Mk/bsd.default-versions.mk @@ -1,199 +1,199 @@ # MAINTAINER: ports@FreeBSD.org # # Note: before committing to this file, contact portmgr to arrange for an # experimental ports run. Untested commits may be backed out at portmgr's # discretion. # # Provide default versions for ports with multiple versions selectable # by the user. # # Users who want to override these defaults can easily do so by defining # DEFAULT_VERSIONS in their make.conf as follows: # # DEFAULT_VERSIONS= perl5=5.20 ruby=3.1 .if !defined(_INCLUDE_BSD_DEFAULT_VERSIONS_MK) _INCLUDE_BSD_DEFAULT_VERSIONS_MK= yes LOCALBASE?= /usr/local . for lang in APACHE BDB COROSYNC EBUR128 EMACS FIREBIRD FORTRAN FPC GCC \ GHOSTSCRIPT GL GO GUILE IMAGEMAGICK JAVA LAZARUS LIBRSVG2 LINUX LLVM \ LUA LUAJIT MONO MYSQL NINJA NODEJS OPENLDAP PERL5 PGSQL PHP \ PYCRYPTOGRAPHY PYTHON PYTHON2 RUBY RUST SAMBA SSL TCLTK VARNISH . if defined(${lang}_DEFAULT) ERROR+= "The variable ${lang}_DEFAULT is set and it should only be defined through DEFAULT_VERSIONS+=${lang:tl}=${${lang}_DEFAULT} in /etc/make.conf" . endif #.undef ${lang}_DEFAULT . endfor . for lang in ${DEFAULT_VERSIONS} _l= ${lang:C/=.*//g} ${_l:tu}_DEFAULT= ${lang:C/.*=//g} . endfor # Possible values: 2.4 APACHE_DEFAULT?= 2.4 # Possible values: 5, 18 BDB_DEFAULT?= 5 # Possible values: 2, 3 COROSYNC_DEFAULT?= 3 # Possible values: rust, legacy . if empty(ARCH:Naarch64:Namd64:Narmv7:Ni386:Npowerpc64:Npowerpc64le:Npowerpc:Nriscv64) EBUR128_DEFAULT?= rust . else EBUR128_DEFAULT?= legacy . endif # Possible_values: full canna nox devel_full devel_nox #EMACS_DEFAULT?= let the flavor be the default if not explicitly set # Possible values: 3.0, 4.0 FIREBIRD_DEFAULT?= 3.0 # Possible values: gfortran FORTRAN_DEFAULT?= gfortran # Possible values: 3.2.3, 3.3.1 . if (defined(WANT_FPC_DEVEL) && !empty(WANT_FPC_DEVEL)) || ${ARCH:Maarch64} FPC_DEFAULT?= 3.3.1 . else FPC_DEFAULT?= 3.2.3 . endif # Possible values: 12, 13, 14, 15, 16 # (Any other version is completely unsupported and not meant for general use.) GCC_DEFAULT?= 14 # Possible values: 10 GHOSTSCRIPT_DEFAULT?= 10 # Possible values: mesa-libs, mesa-devel GL_DEFAULT?= mesa-libs # Possible values: 1.24, 1.25, 1.26 GO_DEFAULT?= 1.25 # Possible values: 1.8, 2.2, 3.0 GUILE_DEFAULT?= 2.2 # Possible versions: 6, 7 # Possible flavors: x11, nox11 # (defaults to x11 when not specified) # Format: version[-flavor] # Examples: 6-nox11, 7 IMAGEMAGICK_DEFAULT?= 7 # Possible values: 8, 11, 17, 20, 21, 22, 23, 24, 25 JAVA_DEFAULT?= 8 # Possible values: 4.4, 4.99 . if (defined(WANT_LAZARUS_DEVEL) && !empty(WANT_LAZARUS_DEVEL)) || ${ARCH:Maarch64} LAZARUS_DEFAULT?= 4.99 . else LAZARUS_DEFAULT?= 4.4 . endif # Possible values: rust, legacy . if empty(ARCH:Naarch64:Namd64:Narmv7:Ni386:Npowerpc64:Npowerpc64le:Npowerpc:Nriscv64) LIBRSVG2_DEFAULT?= rust . else LIBRSVG2_DEFAULT?= legacy . endif # Possible values: c7 rl9 . if ${ARCH:Mi386} LINUX_DEFAULT?= c7 . else LINUX_DEFAULT?= rl9 . endif -# Possible values: 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, -devel (to be used when non-base compiler is required) +# Possible values: 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, -devel (to be used when non-base compiler is required) LLVM_DEFAULT?= 19 # Possible values: 5.1, 5.2, 5.3, 5.4 LUA_DEFAULT?= 5.4 # Possible values: luajit, luajit-openresty . if ${ARCH:Mpowerpc64*} LUAJIT_DEFAULT?= luajit-openresty . else LUAJIT_DEFAULT?= luajit . endif # Possible values: 5.10, 5.20, 6.8 MONO_DEFAULT?= 5.20 # Possible values: 8.0, 8.4, 9.1, 9.4, 9.6, 10.6m, 10.11m, 11.4m, 11.8m MYSQL_DEFAULT?= 8.0 # Possible values: ninja, samurai NINJA_DEFAULT?= ninja # Possible value: 20, 22, 24, 25, current, lts (Note: current = 25 and lts = 24) NODEJS_DEFAULT?= lts # Possible value: 25, 26 OPENLDAP_DEFAULT?= 26 # Possible values: 5.38, 5.40, 5.42, devel . if !exists(${LOCALBASE}/bin/perl) || (!defined(_PORTS_ENV_CHECK) && \ defined(PACKAGE_BUILDING)) # When changing the default here, make sure the DEPRECATED/EXPIRATION lines in # the older Perl 5 ports are uncommented at the same time. PERL5_DEFAULT?= 5.42 . elif !defined(PERL5_DEFAULT) # There's no need to replace development versions, like "5.23" with "devel" # because 1) nobody is supposed to use it outside of poudriere, and 2) it must # be set manually in /etc/make.conf in the first place, and we're never getting # in here. . if !defined(_PERL5_FROM_BIN) _PERL5_FROM_BIN!= ${LOCALBASE}/bin/perl -e 'printf "%vd\n", $$^V;' . endif _EXPORTED_VARS+= _PERL5_FROM_BIN PERL5_DEFAULT:= ${_PERL5_FROM_BIN:R} . endif # Possible values: 13, 14, 15, 16, 17, 18 PGSQL_DEFAULT?= 17 # Possible values: 8.2, 8.3, 8.4, 8.5 PHP_DEFAULT?= 8.4 # Possible values: rust, legacy . if empty(ARCH:Naarch64:Namd64:Narmv7:Ni386:Npowerpc64:Npowerpc64le:Npowerpc:Nriscv64) PYCRYPTOGRAPHY_DEFAULT?= rust . else PYCRYPTOGRAPHY_DEFAULT?= legacy . endif # Possible values: 3.10, 3.11, 3.12, 3.13, 3.13t, 3.14 PYTHON_DEFAULT?= 3.11 # Possible values: 2.7 PYTHON2_DEFAULT?= 2.7 # Possible values: 3.2, 3.3, 3.4, 4.0 RUBY_DEFAULT?= 3.3 # Possible values: rust, rust-nightly RUST_DEFAULT?= rust # Possible values: 4.16, 4.19, 4.20, 4.22, 4.23 SAMBA_DEFAULT?= 4.16 # When updating this, please also update the same list in ssl.mk and the checks # for USES=ssl in qa.sh! # Possible values: base, openssl, openssl111, openssl33, openssl34, openssl35, # openssl36, libressl, libressl-devel . if !defined(SSL_DEFAULT) # If no preference was set, check for an installed base version # but give an installed port preference over it. . if !defined(SSL_DEFAULT) && \ !exists(${DESTDIR}/${LOCALBASE}/lib/libcrypto.so) && \ exists(${DESTDIR}/usr/include/openssl/opensslv.h) SSL_DEFAULT= base . else . if exists(${DESTDIR}/${LOCALBASE}/lib/libcrypto.so) . if defined(PKG_BIN) # find installed port and use it for dependency . if !defined(OPENSSL_INSTALLED) . if defined(DESTDIR) PKGARGS= -c ${DESTDIR} . else PKGARGS= . endif OPENSSL_INSTALLED!= ${PKG_BIN} ${PKGARGS} which -qo ${LOCALBASE}/lib/libcrypto.so || : . endif . if defined(OPENSSL_INSTALLED) && !empty(OPENSSL_INSTALLED) SSL_DEFAULT:= ${OPENSSL_INSTALLED:T} WARNING+= "You have ${OPENSSL_INSTALLED} installed but do not have DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT} set in your make.conf" . endif . else check-makevars:: @${ECHO_MSG} "You have a ${LOCALBASE}/lib/libcrypto.so file installed, but the framework is unable" @${ECHO_MSG} "to determine what port it comes from." @${ECHO_MSG} "Add DEFAULT_VERSIONS+=ssl= to your /etc/make.conf and try again." @${FALSE} . endif . endif . endif # Make sure we have a default in the end SSL_DEFAULT?= base . endif # Possible values: default, sssd SUDO_DEFAULT?= default # Possible values: 8.6, 9.0 TCLTK_DEFAULT?= 8.6 # Possible values: 6, 7 VARNISH_DEFAULT?= 6 .endif