1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-24 04:33:24 +00:00
freebsd-ports/Mk/bsd.default-versions.mk

128 lines
4.3 KiB
Makefile
Raw Normal View History

# $FreeBSD$
#
# MAINTAINER: ports@FreeBSD.org
#
# 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.18 ruby=2.0
.if !defined(_INCLUDE_BSD_DEFAULT_VERSIONS_MK)
_INCLUDE_BSD_DEFAULT_VERSIONS_MK= yes
LOCALBASE?= /usr/local
.for lang in ${DEFAULT_VERSIONS}
_l= ${lang:C/=.*//g}
${_l:tu}_DEFAULT= ${lang:C/.*=//g}
.endfor
# Possible values: 2.2, 2.4
APACHE_DEFAULT?= 2.4
# Possible values: 48, 5, 6
BDB_DEFAULT?= 5
# Possible values: 2.5
FIREBIRD_DEFAULT?= 2.5
# Possible values: 3.0.0
FPC_DEFAULT?= 3.0.0
# Possible values: 4.6, 4.7, 4.8, 4.9, 5
Update the default version of GCC in the Ports Collection from GCC 4.7.4 to GCC 4.8.3. This entails updating the lang/gcc port as well as changing the default in Mk/bsd.default-versions.mk, and it replaces the CONFLICT between the lang/gcc and lang/gcc47 ports by lang/gcc48. GCC now uses C++ as its implementation language and performs more aggressive loop analysis which can be disabled via the -fno-aggressive-loop-optimizations command-line option. Compilation of extremely large functions has been signficantly improved, as have interprocedural optimizations. A new optimization level -Og has been introduced. It addresses the need for fast compilation and a superior debugging experience while providing a reasonable level of run-time performance. This should be better suitable for development than the default -O0. A new local register allocator (LRA) has been implemented, which replaces the 26 year old reload pass and improves generated code quality. For now it is active on the x86 and x86-64 targets. AddressSanitizer, a fast memory error detector, has been added and can be enabled via -fsanitize=address. Each diagnostic emitted now includes the original source line and a caret indicating the column. The new option -Wpedantic is an alias for -pedantic, which is now deprecated. The C++ frontend and associated run-time library libstdc++ have gained support for many additional C++11 features. As with previous releases the Fortrand frontend has seen many improvements as well. Support for the AArch64 has been added, and there are many improvements to the x86/x86-64 backend and others. See http://gcc.gnu.org/gcc-4.8/changes.html for an extense list of changes; http://gcc.gnu.org/gcc-4.8/porting_to.html for information on how to port to that new version. PR: 192025 Tested by: antoine (-exp runs)
2014-09-10 19:09:58 +00:00
GCC_DEFAULT?= 4.8
# Possible values: 7, 8, 9, agpl
GHOSTSCRIPT_DEFAULT?= agpl
- Replace Mk/bsd.linux-apps.mk and Mk/bsd.linux-rpm.mk with Mk/Uses/linux.mk. - Replace USE_LINUX=yes with USES+=linux and USE_LINUX=(.*) with USES+=linux:\1 in all ports. - Replace USE_LINUX_APPS with USE_LINUX in all ports. - Use INSTALL_SCRIPT instead of INSTALL_PROGRAM to install scripts in some ports. - When USE_LINUX_RPM is defined, simplify the way DISTFILES and EXTRACT_ONLY are defined. - Remove BRANDELF_DIRS and BRANDELF_FILES handling. In the very rare cases that it is still necessary ports can run ${BRANDELF} from post-patch. - Remove AUTOMATIC_PLIST handling. Only one port used it. - Fix Linux MASTER_SITES. - Replace OVERRIDE_LINUX_BASE_PORT and OVERRIDE_LINUX_NONBASE_PORTS with default versions framework. - bsd.port.mk: - Move Linux related bits to Uses/linux.mk, except USE_LINUX_PREFIX. - Put USE_LINUX_PREFIX handling after USES processing. - Define DOCSDIR, DATADIR, etc. after handling USE_LINUX_PREFIX so it can give these variables a different default value. - When a package needs to run Linux ldconfig check before installation if Linux support is enabled. - emulators/linux_base-*: - Use USES=linux and remove duplication. - Remove files/lp. FreeBSD or CUPS lp(1) should work. - Remove files/yp.conf. No longer seems to be used. - Remove pkg-deinstall and move pkg-install into pkg-plist. - Update pkg-descr and pkg-message. - Fix handling of ldconfig cache in pkg-plist. - devel/fb-adb: Use a Linux shell to run a Linux script but patch the script to use FreeBSD mkdir so mkdir -p $path creates $path and not /compat/linux/$path. PR: 211645 Exp-run by: antoine Approved by: portmgr (antoine)
2016-09-05 19:23:42 +00:00
# Possible values: f10, c6, c6_64, c7, c7_64
LINUX_DEFAULT?= c6
.if defined(OVERRIDE_LINUX_BASE_PORT)
LINUX_DEFAULT:= ${OVERRIDE_LINUX_BASE_PORT}
WARNING+= "OVERRIDE_LINUX_BASE_PORT is deprecated, please use DEFAULT_VERSIONS+=linux=${OVERRIDE_LINUX_BASE_PORT}."
.endif
# Possible values: 5.1, 5.2, 5.3
LUA_DEFAULT?= 5.2
# Possible values: 5.1, 5.5, 5.6, 5.7, 5.5m, 10.0m, 10.1m, 5.5p, 5.6p
MYSQL_DEFAULT?= 5.6
# Possible values: 5.18, 5.20, 5.22, devel
.if !exists(${LOCALBASE}/bin/perl) || (!defined(_PORTS_ENV_CHECK) && \
defined(PACKAGE_BUILDING))
PERL5_DEFAULT?= 5.20
.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!= perl -e 'printf "%vd\n", $$^V;'
.endif
_EXPORTED_VARS+= _PERL5_FROM_BIN
PERL5_DEFAULT:= ${_PERL5_FROM_BIN:R}
.endif
# Possible values: 9.1, 9.2, 9.3, 9.4, 9.5
PGSQL_DEFAULT?= 9.3
# Possible values: 5.5, 5.6, 7.0
PHP_DEFAULT?= 5.6
# Possible values: 2.7, 3.3, 3.4, 3.5
PYTHON_DEFAULT?= 2.7
# Possible values: 2.7
PYTHON2_DEFAULT?= 2.7
# Possible values: 3.3, 3.4, 3.5
PYTHON3_DEFAULT?= 3.4
# Possible values: 2.0, 2.1, 2.2, 2.3
RUBY_DEFAULT?= 2.2
# Possible values: base, openssl, openssl-devel, 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(WITH_OPENSSL_PORT)
. if defined(OPENSSL_PORT)
SSL_DEFAULT:=${OPENSSL_PORT:T}
WARNING+= "Using WITH_OPENSSL_PORT and OPENSSL_PORT in make.conf is deprecated, replace them with DEFAULT_VERSIONS+=ssl=${SSL_DEFAULT} in your make.conf"
. else
SSL_DEFAULT=openssl
WARNING+= "Using WITH_OPENSSL_PORT in make.conf is deprecated, replace it with DEFAULT_VERSIONS+=ssl=openssl in your make.conf"
. endif
. elif defined(WITH_OPENSSL_BASE)
SSL_DEFAULT=base
WARNING+= "Using WITH_OPENSSL_BASE in make.conf is deprecated, replace it with DEFAULT_VERSIONS+=ssl=base in your make.conf"
. elif !defined(WITH_OPENSSL_BASE) && \
!defined(WITH_OPENSSL_PORT) && \
!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=<openssl package name> 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: 8.4, 8.5, 8.6
TCLTK_DEFAULT?= 8.6
# Version of lang/gcc. Do not override!
LANG_GCC_IS= 4.8
.endif