2013-09-19 10:16:43 +02:00
# $FreeBSD$
#
# MAINTAINER: ports@FreeBSD.org
#
2014-02-25 01:32:09 +01:00
# Provide default versions for ports with multiple versions selectable
# by the user.
2013-09-19 10:16:43 +02:00
#
2014-02-25 01:32:09 +01:00
# Users who want to override these defaults can easily do so by defining
# DEFAULT_VERSIONS in their make.conf as follows:
2013-09-19 10:16:43 +02:00
#
2016-12-31 17:50:58 +01:00
# DEFAULT_VERSIONS= perl5=5.20 ruby=2.0
2013-09-19 10:16:43 +02:00
. i f ! d e f i n e d ( _ I N C L U D E _ B S D _ D E F A U L T _ V E R S I O N S _ M K )
_INCLUDE_BSD_DEFAULT_VERSIONS_MK = yes
2016-06-23 12:19:02 +02:00
LOCALBASE ?= /usr/local
2016-11-06 00:32:10 +01:00
. f o r l a n g i n A P A C H E B D B F I R E B I R D F P C G C C G H O S T S C R I P T L I N U X L U A M Y S Q L P E R L 5 \
2016-10-24 16:53:26 +02:00
PGSQL PHP PYTHON PYTHON2 PYTHON3 RUBY SSL TCLTK
. i f d e f i n e d ( $ { l a n g } _ D E F A U L T )
WARNING += " The variable ${ lang } _DEFAULT is set and it should only be defined through DEFAULT_VERSIONS+= ${ lang : tl } = ${ ${ lang } _DEFAULT } in /etc/make.conf "
WARNING += "This behaviour has never been supported and will be removed on 2017-01-31"
. e n d i f
#.undef ${lang}_DEFAULT
. e n d f o r
2013-09-19 10:16:43 +02:00
. f o r l a n g i n $ { D E F A U L T _ V E R S I O N S }
_l = ${ lang : C /=.*//g }
2014-05-05 11:45:36 +02:00
${_l : tu }_DEFAULT = ${lang :C /.*=//g }
2013-09-19 10:16:43 +02:00
. e n d f o r
2016-04-14 15:34:25 +02:00
# Possible values: 2.2, 2.4
2014-07-13 17:51:43 +02:00
APACHE_DEFAULT ?= 2.4
2016-05-02 15:16:52 +02:00
# Possible values: 48, 5, 6
BDB_DEFAULT ?= 5
2016-04-14 15:34:25 +02:00
# Possible values: 2.5
2016-03-24 16:47:50 +01:00
FIREBIRD_DEFAULT ?= 2.5
2016-04-14 15:34:25 +02:00
# Possible values: 3.0.0
2017-02-26 18:38:04 +01:00
FPC_DEFAULT ?= 3.0.2
2017-01-28 23:59:53 +01:00
# Possible values: 4.7, 4.8, 4.9, 5, 6
Update lang/gcc and hence the default version of GCC in the Ports
Collection (requested by USE_GCC=yes and various USES=compiler
invocations) from GCC 4.9.4 to GCC 5.4.
files/patch-arm-support and files/patch-gcc_system.h have become
obsolete. New patches files/patch-arm-unwind-cxx-support and
files/patch-libc++ help support arm targets and new libc++ in base.
ONLY_FOR_ARCHS now also includes arm.
A new option GRAPHITE_DESC, off by default for now, adds support for
Graphite loop optimizations.
Finally, conflicts with other lang/gcc* ports are adjusted suitably.
In terms of changes for users, this upgrade brings the following:
The default mode for C is now -std=gnu11 instead of -std=gnu89.
New warning options -Wc90-c99-compat and -Wc99-c11-compat may
prove useful on that front.
The C++ front end now has full C++14 language support including
C++14 variable templates, C++14 aggregates with non-static data
member initializers, C++14 extended constexpr, and more.
The Standard C++ Library (libstdc++) has full C++11 support and
experimental full C++14 support. It uses a new ABI by default.
There have been significant improvements to inter-procedural optimizations
and link-time optimization such as One Definition Rule based merging of C++
types as well as register allocation.
OpenMP 4.0 specification offloading features are now supported by the C,
C++, and Fortran compilers. Cilk Plus, an extension to the C and C++
languages to support data and task parallelism, has been added as well.
New warning options -Wswitch-bool, -Wlogical-not-parentheses,
-Wbool-compare and -Wsizeof-array-argument may prove useful as
may new preprocessor directives __has_include, __has_include_next,
and __has_attribute.
GCC can now be built as a shared library for embedding in other processes
(such as interpreters), suitable for Just-In-Time compilation to machine
code. This provides a C API and a C++ wrapper API.
Many code generation improvements for AArch64, ARM, support for
AVX-512{BW,DQ,VL,IFMA,VBMI} and Intel MPX on x86-64, and generally
improvements on many targets.
The Local Register Allocator (LRA) now contains a rematerialization
subpass and is able to reuse the PIC hard register on x86/x86-64 to
improve performance of position independent code.
https://gcc.gnu.org/gcc-5/changes.html has a more extensive set of
changes and https://gcc.gnu.org/gcc-5/porting_to.html has a solid
overview of issue you may encountering porting to this new version.
PR: 216707, 218125
Tested by: antoine (-exp runs)
Supported by: jbeich, tcberner, and others
2017-04-01 17:03:21 +02:00
GCC_DEFAULT ?= 5
2016-04-14 15:34:25 +02:00
# Possible values: 7, 8, 9, agpl
2016-03-24 16:47:50 +01:00
GHOSTSCRIPT_DEFAULT ?= agpl
2017-02-05 22:20:24 +01:00
. i f ${ARCH} = = amd64
2017-01-19 16:44:53 +01:00
# Possible values: c6, c6_64, c7
2017-01-12 11:44:45 +01:00
LINUX_DEFAULT ?= c6_64
. e l s e
2017-01-19 16:44:53 +01:00
# Possible values: c6
2016-09-05 21:23:42 +02:00
LINUX_DEFAULT ?= c6
2017-01-12 11:44:45 +01:00
. e n d i f
2016-09-05 21:23:42 +02:00
. i f d e f i n e d ( O V E R R I D E _ L I N U X _ B A S E _ P O R T )
LINUX_DEFAULT := ${ OVERRIDE_LINUX_BASE_PORT }
WARNING += " OVERRIDE_LINUX_BASE_PORT is deprecated, please use DEFAULT_VERSIONS+=linux= ${ OVERRIDE_LINUX_BASE_PORT } . "
. e n d i f
2016-04-14 15:34:25 +02:00
# Possible values: 5.1, 5.2, 5.3
2014-01-12 22:16:06 +01:00
LUA_DEFAULT ?= 5.2
2017-02-22 18:31:39 +01:00
# Possible values: 5.1, 5.5, 5.6, 5.7, 8.0, 5.5m, 10.0m, 10.1m, 5.5p, 5.6p, 5.7p, 5.6w
2015-02-04 14:45:13 +01:00
MYSQL_DEFAULT ?= 5.6
2017-01-25 19:06:14 +01:00
# Possible values: 5.20, 5.22, 5.24, devel
2015-10-20 22:26:59 +02:00
. i f ! e x i s t s ( $ { L O C A L B A S E } / b i n / p e r l ) | | ( ! d e f i n e d ( _ P O R T S _ E N V _ C H E C K ) & & \
defined( PACKAGE_BUILDING) )
2016-11-03 15:34:13 +01:00
PERL5_DEFAULT ?= 5.24
2015-09-14 14:19:48 +02:00
. e l i f ! d e f i n e d ( P E R L 5 _ D E F A U L T )
# 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.
2015-10-19 22:53:15 +02:00
. i f ! d e f i n e d ( _ P E R L 5 _ F R O M _ B I N )
2015-09-14 14:19:48 +02:00
_PERL5_FROM_BIN != perl -e 'printf "%vd\n", $$^V;'
2015-10-19 22:53:15 +02:00
. e n d i f
_EXPORTED_VARS += _PERL5_FROM_BIN
2015-09-14 14:19:48 +02:00
PERL5_DEFAULT := ${ _PERL5_FROM_BIN : R }
. e n d i f
2016-10-03 20:15:45 +02:00
# Possible values: 9.2, 9.3, 9.4, 9.5, 9.6
2014-12-08 10:57:23 +01:00
PGSQL_DEFAULT ?= 9.3
2017-01-25 19:06:14 +01:00
# Possible values: 5.6, 7.0, 7.1
2015-02-20 14:56:11 +01:00
PHP_DEFAULT ?= 5.6
2016-12-26 17:43:18 +01:00
# Possible values: 2.7, 3.3, 3.4, 3.5, 3.6
2013-10-03 11:25:37 +02:00
PYTHON_DEFAULT ?= 2.7
2016-04-14 15:34:25 +02:00
# Possible values: 2.7
2013-10-03 11:25:37 +02:00
PYTHON2_DEFAULT ?= 2.7
2016-12-26 17:43:18 +01:00
# Possible values: 3.3, 3.4, 3.5, 3.6
2017-04-28 04:18:54 +02:00
PYTHON3_DEFAULT ?= 3.6
2017-05-05 14:30:55 +02:00
# Possible values: 2.2, 2.3, 2.4
2017-01-09 20:23:19 +01:00
RUBY_DEFAULT ?= 2.3
2017-03-27 21:12:03 +02:00
# Possible values: 4.2, 4.3, 4.4, 4.5, 4.6
2017-03-26 00:37:05 +01:00
SAMBA_DEFAULT ?= 4.4
2016-06-16 15:22:58 +02:00
# Possible values: base, openssl, openssl-devel, libressl, libressl-devel
. i f ! d e f i n e d ( S S L _ D E F A U L T )
# If no preference was set, check for an installed base version
# but give an installed port preference over it.
. i f d e f i n e d ( W I T H _ O P E N S S L _ P O R T )
. i f d e f i n e d ( O P E N S S L _ P O R T )
SSL_DEFAULT := ${ OPENSSL_PORT : T }
2016-06-17 00:35:23 +02:00
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 "
2016-06-16 15:22:58 +02:00
. e l s e
SSL_DEFAULT = openssl
2016-06-17 00:35:23 +02:00
WARNING += "Using WITH_OPENSSL_PORT in make.conf is deprecated, replace it with DEFAULT_VERSIONS+=ssl=openssl in your make.conf"
2016-06-16 15:22:58 +02:00
. e n d i f
. e l i f d e f i n e d ( W I T H _ O P E N S S L _ B A S E )
SSL_DEFAULT = base
2016-06-17 14:43:41 +02:00
WARNING += "Using WITH_OPENSSL_BASE in make.conf is deprecated, replace it with DEFAULT_VERSIONS+=ssl=base in your make.conf"
2016-06-16 15:22:58 +02:00
. e l i f ! d e f i n e d ( W I T H _ O P E N S S L _ B A S E ) & & \
!defined( WITH_OPENSSL_PORT) && \
!defined( SSL_DEFAULT) && \
!exists( ${ DESTDIR } /${ LOCALBASE } /lib/libcrypto.so) && \
exists( ${ DESTDIR } /usr/include/openssl/opensslv.h)
SSL_DEFAULT = base
. e l s e
. i f e x i s t s ( $ { D E S T D I R } / $ { L O C A L B A S E } / l i b / l i b c r y p t o . s o )
2016-06-23 12:19:02 +02:00
. i f d e f i n e d ( P K G _ B I N )
2016-06-16 15:22:58 +02:00
# find installed port and use it for dependency
2016-06-23 12:19:02 +02:00
. i f ! d e f i n e d ( O P E N S S L _ I N S T A L L E D )
. i f d e f i n e d ( D E S T D I R )
2016-06-16 15:22:58 +02:00
PKGARGS = -c ${ DESTDIR }
2016-06-23 12:19:02 +02:00
. e l s e
2016-06-16 15:22:58 +02:00
PKGARGS =
2016-06-23 12:19:02 +02:00
. e n d i f
2016-06-16 15:22:58 +02:00
OPENSSL_INSTALLED != ${ PKG_BIN } ${ PKGARGS } which -qo ${ LOCALBASE } /lib/libcrypto.so || :
2016-06-23 12:19:02 +02:00
. e n d i f
. i f d e f i n e d ( O P E N S S L _ I N S T A L L E D ) & & ! e m p t y ( O P E N S S L _ I N S T A L L E D )
2016-06-16 15:22:58 +02:00
SSL_DEFAULT := ${ OPENSSL_INSTALLED : T }
2016-06-17 00:35:23 +02:00
WARNING += " You have ${ OPENSSL_INSTALLED } installed but do not have DEFAULT_VERSIONS+=ssl= ${ SSL_DEFAULT } set in your make.conf "
2016-06-23 12:19:02 +02:00
. e n d i f
. e l s e
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 }
2016-06-16 15:22:58 +02:00
. e n d i f
. e n d i f
. e n d i f
# Make sure we have a default in the end
SSL_DEFAULT ?= base
. e n d i f
2016-12-26 17:43:18 +01:00
# Possible values: 8.4, 8.5, 8.6, 8.7
2014-01-12 22:16:06 +01:00
TCLTK_DEFAULT ?= 8.6
2013-09-19 10:16:43 +02:00
2016-10-26 16:15:38 +02:00
# Possible values: 4, 5
VARNISH_DEFAULT ?= 4
2013-09-19 10:16:43 +02:00
. e n d i f