open-src/common/Makefile.init
author Niveditha Rau <Niveditha.Rau@Oracle.COM>
Wed, 20 Apr 2016 14:06:18 -0700
changeset 1628 2c3aa6c6b21a
parent 1614 546eae8fed25
child 1630 fedd05237f45
permissions -rw-r--r--
23139912 X needs to move to perl 5.22
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     1
# -*- Makefile -*- rules commonly shared among X consolidation open source dirs
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     2
# Makefile.init has definitions that are needed before the module/modtype rules
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     3
#
1607
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
     4
# Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     5
#
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     6
# Permission is hereby granted, free of charge, to any person obtaining a
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     7
# copy of this software and associated documentation files (the "Software"),
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     8
# to deal in the Software without restriction, including without limitation
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     9
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    10
# and/or sell copies of the Software, and to permit persons to whom the
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    11
# Software is furnished to do so, subject to the following conditions:
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    12
#
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    13
# The above copyright notice and this permission notice (including the next
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    14
# paragraph) shall be included in all copies or substantial portions of the
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    15
# Software.
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    16
#
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    17
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    18
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    19
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    20
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    21
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    22
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    23
# DEALINGS IN THE SOFTWARE.
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    24
#
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    25
#
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    26
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    27
# Use ksh93 for shell commands in Makefiles so that builds are the same
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    28
# on Nevada (where /bin/sh is still ancient Bourne shell) and Indiana
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    29
# (where /bin/sh is ksh93)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    30
SHELL=/usr/bin/ksh93
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    31
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    32
# Borrowed from Solaris OS/Net makefile.master:
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    33
# The declaration POUND_SIGN is always '#'. This is needed to get around the
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    34
# make feature that '#' is always a comment delimiter, even when escaped or
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    35
# quoted. We use this macro expansion method to get POUND_SIGN rather than
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    36
# always breaking out a shell because the general case can cause a noticable
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    37
# slowdown in build times when so many Makefiles include Makefile.init.
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    38
#
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    39
PRE_POUND=				pre\#
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    40
POUND_SIGN=				$(PRE_POUND:pre\%=%)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    41
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    42
# Set default build target to all
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    43
default: all
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    44
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    45
# The infrastructure in the main tree requires Solaris make
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    46
$(error You must use Solaris make, not GNU make in this build - make sure /usr/ccs/bin or /usr/bin is ahead of /usr/gnu/bin in $$PATH)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    47
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    48
### Build options
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    49
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    50
# Different builders want different settings for various options such
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    51
# as branding or download sites.  The top-level "make setup" command
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    52
# sets the Makefile.options link to point to a included Makefile to
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    53
# set these up.
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    54
1533
ad1b269b27ae 21029553 "make source" fails in freshly checked out X gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1515
diff changeset
    55
$(TOP)/open-src/common/Makefile.options:
ad1b269b27ae 21029553 "make source" fails in freshly checked out X gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1515
diff changeset
    56
	cd $(TOP) ; $(MAKE) $(MAKEFLAGS) setup
ad1b269b27ae 21029553 "make source" fails in freshly checked out X gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1515
diff changeset
    57
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    58
include "Makefile.options"
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    59
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    60
###  Machine architecture macros
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    61
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    62
# MACH will be either "sparc" or "i386"
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    63
MACH=$(TARGET_ARCH:-%=%)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    64
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    65
MACH32_sparc	= sparc
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    66
MACH64_sparc 	= sparcv9
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    67
MACH32_i386	= i386
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    68
MACH64_i386 	= amd64
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    69
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    70
MACH32= $(MACH32_$(MACH))
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    71
MACH64= $(MACH64_$(MACH))
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    72
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    73
# Architecture subdirectories
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    74
1493
7fa19fcd81cd 17806761 accessx should be 64-bit program
Niveditha Rau <Niveditha.Rau@Oracle.COM>
parents: 1479
diff changeset
    75
SUBDIR32_sparc	= sparcv7
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    76
SUBDIR64_sparc 	= sparcv9
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    77
SUBDIR32_i386	= i86
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    78
SUBDIR64_i386 	= amd64
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    79
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    80
SUBDIR32	= $(SUBDIR32_$(MACH))
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    81
SUBDIR64	= $(SUBDIR64_$(MACH))
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    82
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    83
LIBSUBDIR	= $(LIBSUBDIR_$(BUILD_TYPE))
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    84
LIBSUBDIR_32	= # None
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    85
LIBSUBDIR_64	= /$(SUBDIR64)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    86
ARCHLIBSUBDIR	= $(LIBSUBDIR)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    87
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    88
### Default compiler & options
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    89
1422
4db080f5236f 17861091 Remove workarounds for old compiler bugs
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1418
diff changeset
    90
# Our default compiler is Solaris Studio, but if you want to default to GNU 
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    91
# compilers, you can change this here - some modules with specific 
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    92
# requirements override this in their makefiles with MODULE_COMPILER.
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    93
DEFAULT_COMPILER	 = suncc
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    94
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    95
# Flags used by either compiler in debug builds
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    96
DEBUG_FLAGS_common	 = -g $(MODTYPE_DEBUG_FLAGS) $(MODULE_DEBUG_FLAGS)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    97
1422
4db080f5236f 17861091 Remove workarounds for old compiler bugs
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1418
diff changeset
    98
## Solaris Studio compilers
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    99
CC_suncc		 = cc
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   100
CXX_suncc		 = CC
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   101
OPT_FLAGS_suncc		 = -xO4 -xbuiltin=%none -xlibmil -xprefetch -xdepend
1422
4db080f5236f 17861091 Remove workarounds for old compiler bugs
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1418
diff changeset
   102
OPT_FLAGS_suncc		+= -xspace -W0,-xglobalstatic
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   103
DEBUG_FLAGS_suncc	 = $(DEBUG_FLAGS_common)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   104
$(BUILD_DEBUG:yes=) DEBUG_OR_OPT_FLAGS_suncc = $(DEBUG_FLAGS_suncc)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   105
$(BUILD_DEBUG:yes=$(POUND_SIGN)) DEBUG_OR_OPT_FLAGS_suncc = $(OPT_FLAGS_suncc)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   106
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   107
CFLAGS_suncc 		 = $(DEBUG_OR_OPT_FLAGS_suncc)
1515
e2b80dc10eaa 20663635 X gate should build C code with -fd flag to warn of ancient K&R C declarations
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1494
diff changeset
   108
CFLAGS_suncc		+= -v -fd -features=extensions,conststrings
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   109
CXXFLAGS_suncc		 = $(DEBUG_OR_OPT_FLAGS_suncc)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   110
CXXFLAGS_suncc		+= +w2 -norunpath -features=extensions
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   111
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   112
# -D__<arch>__ flags are to match gcc definitions that are used in much
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   113
# of the upstream open source code base
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   114
ARCH_FLAGS_sparc_suncc		= -xarch=sparc -D__sparc__
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   115
ARCH32_FLAGS_sparc_suncc 	= -m32
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   116
ARCH64_FLAGS_sparc_suncc	= -m64
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   117
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   118
# -xregs=no%frameptr is required on x86 when compiling at -xO4 or higher to 
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   119
# avoid losing stack frame pointers so you can't get stack traces or debug
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   120
ARCH_FLAGS_i386_suncc		= -xregs=no%frameptr
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   121
ARCH32_FLAGS_i386_suncc 	= -m32 -xarch=sse2 -D__i386__
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   122
ARCH64_FLAGS_i386_suncc 	= -m64 -xarch=sse2 -D__amd64__
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   123
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   124
# SPARC ABI requires system libraries not use application registers
1422
4db080f5236f 17861091 Remove workarounds for old compiler bugs
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1418
diff changeset
   125
ARCH_LIB_FLAGS_sparc_suncc 	= -xregs=no%appl
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   126
ARCH_LIB_FLAGS_i386_suncc 	=  
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   127
1607
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   128
# Flags to specify which language version to support, default to C11/C++11
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   129
C_VERSION_FLAGS_suncc		= -std=c11 -xlang=c11
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   130
CXX_VERSION_FLAGS_suncc		= -std=c++11 -xlang=c99
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   131
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   132
## GNU Compilers
1462
3a8454127ea3 18713330 CBE requirements per pteam -gcc 4.8, python 3.4, jdk 8 and prep for Studio 12.4
Niveditha Rau <Niveditha.Rau@Oracle.COM>
parents: 1428
diff changeset
   133
GCC_VERSION        		= 4.8 
1416
bcf00ae6c8e5 17768852 fix X build failures seen on shared build servers installed with s > s12_32
Niveditha Rau <Niveditha.Rau@Oracle.COM>
parents: 1409
diff changeset
   134
GCC				= /usr/gcc/$(GCC_VERSION)/bin/gcc
bcf00ae6c8e5 17768852 fix X build failures seen on shared build servers installed with s > s12_32
Niveditha Rau <Niveditha.Rau@Oracle.COM>
parents: 1409
diff changeset
   135
GXX				= /usr/gcc/$(GCC_VERSION)/bin/g++
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   136
CC_gcc				= $(GCC)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   137
CXX_gcc				= $(GXX)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   138
OPT_FLAGS_gcc			= -O3
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   139
DEBUG_FLAGS_gcc			= $(DEBUG_FLAGS_common)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   140
$(BUILD_DEBUG:yes=) DEBUG_OR_OPT_FLAGS_gcc = $(DEBUG_FLAGS_gcc)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   141
$(BUILD_DEBUG:yes=$(POUND_SIGN)) DEBUG_OR_OPT_FLAGS_gcc = $(OPT_FLAGS_gcc)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   142
WARNFLAGS_gcc			= -Wall -Wno-unknown-pragmas
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   143
CFLAGS_gcc			= $(DEBUG_OR_OPT_FLAGS_gcc) \
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   144
				  -fno-omit-frame-pointer $(WARNFLAGS_gcc)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   145
CXXFLAGS_gcc			= $(DEBUG_OR_OPT_FLAGS_gcc) \
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   146
				  -fno-omit-frame-pointer $(WARNFLAGS_gcc)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   147
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   148
ARCH32_FLAGS_sparc_gcc	 	= -mcpu=ultrasparc -m32
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   149
ARCH64_FLAGS_sparc_gcc 		= -mcpu=ultrasparc -m64
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   150
ARCH32_FLAGS_i386_gcc 		= -march=pentium4 -m32
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   151
ARCH64_FLAGS_i386_gcc 		= -march=opteron -m64
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   152
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   153
# SPARC ABI requires system libraries not use application registers
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   154
ARCH_LIB_FLAGS_sparc_gcc 	= -mno-app-regs
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   155
ARCH_LIB_FLAGS_i386_gcc 	= 
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   156
1607
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   157
# Default to C11 plus GNU extensions, since we primarily use gcc for code
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   158
# that requires the GNU extensions.
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   159
C_VERSION_FLAGS_gcc		= -std=gnu11
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   160
CXX_VERSION_FLAGS_gcc		= -std=gnu++11
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   161
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   162
## Parfait wrappers
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   163
CC_suncc_parfait	= parfait-cc
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   164
CXX_suncc_parfait	= parfait-CC
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   165
CC_gcc_parfait		= parfait-gcc
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   166
CXX_gcc_parfait		= parfait-g++
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   167
AR_parfait		= parfait-ar
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   168
AS_parfait		= parfait-as
1494
a72f39592745 PSARC 2014/148 Move DRM drivers to X11
Randy Fishel <Randy.Fishel@Oracle.COM>
parents: 1493
diff changeset
   169
LD_parfait		= parfait-ld
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   170
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   171
# If USE_PARFAIT is yes, use _parfait variants
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   172
PARFAIT_1 =	$(USE_PARFAIT:no=)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   173
PARFAIT_2 =	$(PARFAIT_1:yes=$(POUND_SIGN))
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   174
$(PARFAIT_2)	WITH_PARFAIT=$(POUND_SIGN)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   175
$(WITH_PARFAIT)	WITHOUT_PARFAIT=$(POUND_SIGN)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   176
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   177
$(WITH_PARFAIT)		CHOSEN_COMPILER=$(MODULE_COMPILER)_parfait
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   178
$(WITHOUT_PARFAIT)	CHOSEN_COMPILER=$(MODULE_COMPILER)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   179
$(WITH_PARFAIT)		AR=$(AR_parfait)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   180
$(WITHOUT_PARFAIT)	AR=/usr/bin/ar
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   181
$(WITH_PARFAIT)		AS=$(AS_parfait)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   182
$(WITHOUT_PARFAIT)	AS=/usr/bin/as
1494
a72f39592745 PSARC 2014/148 Move DRM drivers to X11
Randy Fishel <Randy.Fishel@Oracle.COM>
parents: 1493
diff changeset
   183
$(WITH_PARFAIT)		LD=$(LD_parfait)
a72f39592745 PSARC 2014/148 Move DRM drivers to X11
Randy Fishel <Randy.Fishel@Oracle.COM>
parents: 1493
diff changeset
   184
$(WITHOUT_PARFAIT)	LD=/usr/bin/ld
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   185
1422
4db080f5236f 17861091 Remove workarounds for old compiler bugs
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1418
diff changeset
   186
# Additional environment variables needed to build with parfait
4db080f5236f 17861091 Remove workarounds for old compiler bugs
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1418
diff changeset
   187
PARFAIT_ENV_gcc		= PARFAIT_NATIVEGCC="$(GCC)"
4db080f5236f 17861091 Remove workarounds for old compiler bugs
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1418
diff changeset
   188
PARFAIT_ENV_gcc	       += PARFAIT_NATIVEGXX="$(GXX)"
4db080f5236f 17861091 Remove workarounds for old compiler bugs
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1418
diff changeset
   189
PARFAIT_ENV		= $(PARFAIT_ENV_$(MODULE_COMPILER))
1607
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   190
# Output shorter error messages when parfait-wrapped compilers fail,
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   191
# unless building with V=1 to be more verbose
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   192
PARFAIT_QUIET_ENV_V_1	= # parfait is noisy unless you tell it to be quiet
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   193
PARFAIT_QUIET_ENV_V_0	= PARFAIT_WRAPPER_QUIETNATIVE=1
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   194
PARFAIT_QUIET_ENV_V_	= $(PARFAIT_QUIET_ENV_V_0)
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   195
PARFAIT_QUIET_ENV	= $(PARFAIT_QUIET_ENV_V_$(V))
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   196
PARFAIT_ENV            += $(PARFAIT_QUIET_ENV)
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   197
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   198
# Allow modules to override default language choices
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   199
C_VERSION_DEFAULT	= $(C_VERSION_FLAGS_SET:yes=$(POUND_SIGN))
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   200
$(C_VERSION_DEFAULT)	C_VERSION_FLAGS = $(C_VERSION_FLAGS_$(MODULE_COMPILER))
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   201
CXX_VERSION_DEFAULT	= $(CXX_VERSION_FLAGS_SET:yes=$(POUND_SIGN))
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   202
$(CXX_VERSION_DEFAULT)	CXX_VERSION_FLAGS = $(CXX_VERSION_FLAGS_$(MODULE_COMPILER))
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   203
1422
4db080f5236f 17861091 Remove workarounds for old compiler bugs
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1418
diff changeset
   204
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   205
## Set common variables based on above rules
1607
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   206
# Architecture & version flags affect how compiler links to C & C++ runtimes
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   207
# so need to be included in $(CC) and $(CXX) when passed to configure to make
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   208
# sure configure tests are run against the right versions.
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   209
CC			= $(CC_$(CHOSEN_COMPILER))
1607
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   210
CC	               += $(ARCH_FLAGS) $(C_VERSION_FLAGS)
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   211
CXX			= $(CXX_$(CHOSEN_COMPILER))
1607
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   212
CXX	               += $(ARCH_FLAGS) $(CXX_VERSION_FLAGS)
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   213
CFLAGS			= $(CFLAGS_$(MODULE_COMPILER)) $(ARCH_FLAGS)
1607
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   214
CFLAGS	               += $(C_VERSION_FLAGS)
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   215
CXXFLAGS		= $(CXXFLAGS_$(MODULE_COMPILER)) $(ARCH_FLAGS)
1607
80f8cd5b6d90 22727844 X gate builds should specify C & C++ language versions to use
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1568
diff changeset
   216
CXXFLAGS	       += $(CXX_VERSION_FLAGS)
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   217
ARCH32_FLAGS		= $(ARCH32_FLAGS_$(MACH)_$(MODULE_COMPILER))
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   218
ARCH32_FLAGS	       += $(ARCH_FLAGS_$(MACH)_$(MODULE_COMPILER))
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   219
ARCH64_FLAGS		= $(ARCH64_FLAGS_$(MACH)_$(MODULE_COMPILER))
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   220
ARCH64_FLAGS	       += $(ARCH_FLAGS_$(MACH)_$(MODULE_COMPILER))
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   221
ARCH_LIB_FLAGS		= $(ARCH_LIB_FLAGS_$(MACH)_$(MODULE_COMPILER))
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   222
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   223
# Flags for specific binary types
1425
d2b9d2006251 17915870 clean up check_rtime & ld guidance warnings in X gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1423
diff changeset
   224
LIB_CPPFLAGS 		= $(CPPFLAGS)
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   225
LIB_CFLAGS 		= $(CFLAGS) $(ARCH_LIB_FLAGS)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   226
LIB_CXXFLAGS 		= $(CXXFLAGS) $(ARCH_LIB_FLAGS)
1425
d2b9d2006251 17915870 clean up check_rtime & ld guidance warnings in X gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1423
diff changeset
   227
PROG_CPPFLAGS		= $(CPPFLAGS) -DFD_SETSIZE=$(FD_SETSIZE)
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   228
PROG_CFLAGS		= $(CFLAGS)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   229
PROG_CXXFLAGS		= $(CXXFLAGS)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   230
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   231
# Default FD_SETSIZE - 1024 was the 32-bit default and was big enough
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   232
# <sys/select.h> makes the 64-bit default be 65536 which is way too big,
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   233
# and eats a lot of memory for fd_sets and cpu doing operations on them
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   234
FD_SETSIZE_DEFAULT	= $(FD_SETSIZE_SET:yes=$(POUND_SIGN))
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   235
$(FD_SETSIZE_DEFAULT)	FD_SETSIZE = 1024
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   236
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   237
### Linker flags
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   238
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   239
# Linker mapfiles to link with for better performance & security
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   240
# SPARC architecture requires PLT section in .data be executable, so
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   241
# we can only make .bss, not all of .data no-exec on SPARC
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   242
MAPFILE_NOEXBSS		= -M /usr/lib/ld/map.noexbss
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   243
MAPFILE_NOEXDATA_sparc	= $(MAPFILE_NOEXBSS)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   244
MAPFILE_NOEXDATA_i386	= -M /usr/lib/ld/map.noexdata
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   245
MAPFILE_NOEXDATA	= $(MAPFILE_NOEXDATA_$(MACH))
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   246
MAPFILE_PAGEALIGN	= -M /usr/lib/ld/map.pagealign
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   247
MAPFILE_HEAPALIGN	= -M /usr/lib/ld/map.bssalign
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   248
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   249
MAPFILES_FOR_ALL   	= $(MAPFILE_PAGEALIGN) $(MAPFILE_NOEXDATA)
1477
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   250
MAPFILES_FOR_PROGS 	= $(MAPFILE_HEAPALIGN) $(MAPFILE_NOEXBSS)
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   251
1477
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   252
# Security Extensions file tagging.
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   253
#
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   254
# Security Extensions  can be explicitly controlled at the binary level via
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   255
# tagging. Binaries built with -z <extension>=enable will have the extension
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   256
# enabled in the 'tagged-files' model, while binaries built with
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   257
# -z <extension>=disable will have it disabled regardless of the model.
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   258
#
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   259
# Currently supported extensions are:
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   260
#  -z aslr      Address Space Layout Randomization
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   261
#  -z nxstack   Non-executable Stack
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   262
#  -z nxheap    Non-executable Heap
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   263
#
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   264
# -z aslr|nxstack|nxheap are only valid when linking executables.
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   265
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   266
ZASLR_ENABLE=		-z aslr=enable
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   267
ZASLR_DISABLE=		-z aslr=disable
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   268
ZASLR=			$(ZASLR_ENABLE)
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   269
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   270
ZNXSTACK_ENABLE=	-z nxstack=enable
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   271
ZNXSTACK_DISABLE=	-z nxstack=disable
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   272
ZNXSTACK=		$(ZNXSTACK_ENABLE)
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   273
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   274
ZNXHEAP_ENABLE=		-z nxheap=enable
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   275
ZNXHEAP_DISABLE=	-z nxheap=disable
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   276
ZNXHEAP=		$(ZNXHEAP_ENABLE)
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   277
1425
d2b9d2006251 17915870 clean up check_rtime & ld guidance warnings in X gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1423
diff changeset
   278
# Flags to discard at link time unnecessary dependencies, .o files or
d2b9d2006251 17915870 clean up check_rtime & ld guidance warnings in X gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1423
diff changeset
   279
# ELF sections that upstream may have included that we don't use.
d2b9d2006251 17915870 clean up check_rtime & ld guidance warnings in X gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1423
diff changeset
   280
ZDISCARD_UNUSED_DEP	= -zdiscard-unused=dependencies
d2b9d2006251 17915870 clean up check_rtime & ld guidance warnings in X gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1423
diff changeset
   281
ZDISCARD_UNUSED_FIL	= -zdiscard-unused=files
d2b9d2006251 17915870 clean up check_rtime & ld guidance warnings in X gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1423
diff changeset
   282
ZDISCARD_UNUSED_SEC	= -zdiscard-unused=sections
d2b9d2006251 17915870 clean up check_rtime & ld guidance warnings in X gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1423
diff changeset
   283
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   284
# Common flags for all binaries
1425
d2b9d2006251 17915870 clean up check_rtime & ld guidance warnings in X gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1423
diff changeset
   285
DEFAULT_LD_OPTIONS	= -z lazyload -B direct -z guidance
d2b9d2006251 17915870 clean up check_rtime & ld guidance warnings in X gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1423
diff changeset
   286
DEFAULT_LD_OPTIONS     += $(MAPFILES_FOR_ALL)
1610
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   287
DEFAULT_LD_OPTIONS     += -L$(PROTODIR)/usr/lib$(LIBSUBDIR)
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   288
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   289
# Strip debug info out of non-debug builds
1425
d2b9d2006251 17915870 clean up check_rtime & ld guidance warnings in X gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1423
diff changeset
   290
$(BUILD_DEBUG:yes=$(POUND_SIGN))  DEFAULT_LD_OPTIONS += -z strip-class=debug
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   291
1425
d2b9d2006251 17915870 clean up check_rtime & ld guidance warnings in X gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1423
diff changeset
   292
# gcc often links with libgcc.a and/or libgcc_s.so whether it's needed or not
d2b9d2006251 17915870 clean up check_rtime & ld guidance warnings in X gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1423
diff changeset
   293
DEFAULT_LD_OPTIONS_gcc  = $(ZDISCARD_UNUSED_DEP) $(ZDISCARD_UNUSED_FIL)
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   294
1425
d2b9d2006251 17915870 clean up check_rtime & ld guidance warnings in X gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1423
diff changeset
   295
DEFAULT_LD_OPTIONS     += $(DEFAULT_LD_OPTIONS_$(MODULE_COMPILER))
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   296
1425
d2b9d2006251 17915870 clean up check_rtime & ld guidance warnings in X gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1423
diff changeset
   297
# Ensure required flags for .so's are applied, despite libtool interference
d2b9d2006251 17915870 clean up check_rtime & ld guidance warnings in X gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1423
diff changeset
   298
DEFAULT_LD_SHARED_OPTIONS = -z text -z defs
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   299
1425
d2b9d2006251 17915870 clean up check_rtime & ld guidance warnings in X gate
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1423
diff changeset
   300
# Ensure we do ASLR tagging & mark stacks/heaps non-executable on programs
1477
787ee72873ed 19952950 X should build with ld -z nx* flags instead of map.noexstk
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1462
diff changeset
   301
DEFAULT_LD_EXEC_OPTIONS	= $(ZASLR) $(ZNXHEAP) $(ZNXSTACK) $(MAPFILES_FOR_PROGS)
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   302
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   303
## Commonly added options
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   304
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   305
# Link with X server private libraries like libXfont & libfontenc
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   306
X11_SERVERLIBS_LDFLAGS= -L$(PROTODIR)$(X11_SERVERLIBS_DIR)$(ARCHLIBSUBDIR) \
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   307
			-R$(X11_SERVERLIBS_DIR)$(ARCHLIBSUBDIR)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   308
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   309
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   310
### Directory paths
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   311
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   312
# Proto directory to install into for packaging
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   313
PROTOTOP=$(TOP)/proto
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   314
PROTODIR=$(PROTOTOP)/root_$(MACH)
1494
a72f39592745 PSARC 2014/148 Move DRM drivers to X11
Randy Fishel <Randy.Fishel@Oracle.COM>
parents: 1493
diff changeset
   315
PROTODIR_DEBUG=$(PROTOTOP)/root_$(MACH)-debug
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   316
PROTOMETA=$(PROTOTOP)/metadata_$(MACH)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   317
1610
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   318
# Standard paths for modules to install into, relative to $(MODULE_PREFIX)
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   319
# See also MODULE_DOC_DIR & MODULE_PKGCONFIG_DIR in Makefile.defs
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   320
MODULE_BIN_DIR		= $(MODULE_PREFIX)/bin
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   321
MODULE_INCLUDES_DIR	= $(MODULE_PREFIX)/include
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   322
MODULE_LIB_DIR		= $(MODULE_PREFIX)/lib
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   323
MODULE_FULLARCH_LIB_DIR	= $(MODULE_LIB_DIR)$(MODULE_ADD_LIB_SUBDIR)$(ARCHLIBSUBDIR)
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   324
MODULE_DATA_DIR		= $(MODULE_PREFIX)/share
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   325
MODULE_LOCALE_DIR	= $(MODULE_PREFIX)/share/locale
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   326
MODULE_LC_MESSAGES_DIR	= $(MODULE_LOCALE_DIR)/C/LC_MESSAGES
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   327
MODULE_MAN_DIR		= $(MODULE_PREFIX)/share/man
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   328
MODULE_SBIN_DIR		= $(MODULE_PREFIX)/sbin
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   329
1610
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   330
# System-wide standard paths that don't differ depending on $(MODULE_PREFIX)
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   331
SMF_MANIFEST_DIR	= /lib/svc/manifest
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   332
X11_SMF_MANIFEST_DIR	= $(SMF_MANIFEST_DIR)/application/x11
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   333
SMF_METHOD_DIR		= /lib/svc/method
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   334
SHARE_FONT_DIR		= /usr/share/fonts
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   335
TRUETYPE_FONT_DIR	= $(SHARE_FONT_DIR)/TrueType
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   336
X11_FONT_DIR		= $(SHARE_FONT_DIR)/X11
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   337
X11_FONT_CATALOGUE	= /etc/X11/fontpath.d
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   338
X11_ACLOCAL_DIR		= /usr/share/aclocal
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   339
X11_BIN_DIR		= /usr/bin
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   340
X11_DOC_DIR		= /usr/share/doc/X11
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   341
X11_INCLUDES_DIR	= /usr/include
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   342
X11_LIB_DIR		= /usr/lib
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   343
X11_SGML_DIR		= /usr/share/sgml/X11
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   344
X11_X11LIB_DIR		= $(X11_LIB_DIR)/X11
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   345
XORG_SDK_INCLUDES_DIR	= $(X11_INCLUDES_DIR)/xorg
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   346
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   347
# Subdirectory of /usr/lib for X server private libraries
1610
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   348
X11_SERVERLIBS_SUBDIR	= /xorg
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   349
X11_SERVERLIBS_DIR	= $(X11_LIB_DIR)$(X11_SERVERLIBS_SUBDIR)
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   350
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   351
# Subdirectory of /usr/lib for X server loadable modules
1610
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   352
X11_SERVERMODS_SUBDIR	= /xorg/modules
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   353
X11_SERVERMODS_DIR	= $(X11_LIB_DIR)$(X11_SERVERMODS_SUBDIR)
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   354
MESA_XSERVERMODS_DIR	= /usr/lib/mesa/modules
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   355
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   356
# PKGCONFIG_DIR is constructed of _prefix + ARCHLIBSUBDIR + _suffix
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   357
PKGCONFIG_DIR_prefix=/usr/lib
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   358
PKGCONFIG_DIR_suffix=/pkgconfig
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   359
PKGCONFIG_DIR=$(PKGCONFIG_DIR_prefix)$(ARCHLIBSUBDIR)$(PKGCONFIG_DIR_suffix)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   360
PKGCONFIG_DIR_32=$(PKGCONFIG_DIR_prefix)$(PKGCONFIG_DIR_suffix)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   361
PKGCONFIG_DIR_64=$(PKGCONFIG_DIR_prefix)/$(SUBDIR64)$(PKGCONFIG_DIR_suffix)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   362
PKGCONFIG_DIR_SHARE=/usr/share$(PKGCONFIG_DIR_suffix)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   363
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   364
# System-wide directory for packaged release notes
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   365
RELNOTES_DIR=/usr/share/doc/release-notes
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   366
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   367
# Directory used for installing tools used during build but not
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   368
# delivered in packages
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   369
TOOLS_DIR=$(PROTOTOP)/tools_$(MACH)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   370
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   371
# Work around _TIME, _DATE, embedded date chatter in component builds
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   372
# to use, set TIME_CONSTANT in the component Makefile and add $(CONSTANT_TIME)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   373
# to the appropriate MODULE_CONFIG_ENV/MODULE_BUILD_ENV/MODULE_INSTALL_ENV
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   374
CONSTANT_TIME  = LD_PRELOAD_32=$(TOOLS_DIR)/time-$(MACH32).so
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   375
CONSTANT_TIME += LD_PRELOAD_64=$(TOOLS_DIR)/time-$(MACH64).so
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   376
CONSTANT_TIME += TIME_CONSTANT=$(TIME_CONSTANT)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   377
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   378
### Other tools needed to build
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   379
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   380
## Python tools & paths
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   381
# When changing PYTHON_VERSION, check that PYTHON_PKG_VERSION & 
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   382
# PYTHON_PATH_VERSION are still set correctly in pkg/Makefile
1462
3a8454127ea3 18713330 CBE requirements per pteam -gcc 4.8, python 3.4, jdk 8 and prep for Studio 12.4
Niveditha Rau <Niveditha.Rau@Oracle.COM>
parents: 1428
diff changeset
   383
PYTHON_VERSION=3.4
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   384
PYTHON=/usr/bin/python$(PYTHON_VERSION)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   385
PYTHON_PATH=$(PROTODIR)/usr/lib/python$(PYTHON_VERSION)/vendor-packages:$(PROTODIR)/usr/lib/python$(PYTHON_VERSION)/site-packages:/usr/lib/python$(PYTHON_VERSION)/vendor-packages:/usr/lib/python$(PYTHON_VERSION)/site-packages
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   386
# We want our python modules installed to vendor-packages, not site-packages
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   387
PYTHON_VENDOR_DIR = /usr/lib/python$(PYTHON_VERSION)/vendor-packages
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   388
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   389
## Perl tools & paths
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   390
# When changing PERL_VERSION, check that PERL_PKG_VERSION is
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   391
# still set correctly in pkg/Makefile
1628
2c3aa6c6b21a 23139912 X needs to move to perl 5.22
Niveditha Rau <Niveditha.Rau@Oracle.COM>
parents: 1614
diff changeset
   392
PERL_VERSION = 5.22
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   393
PERL = /usr/perl5/$(PERL_VERSION)/bin/perl
1418
536e3ec8f101 17768989 pkg-config adds unnecessary runpaths to default locations for X11 libraries
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1416
diff changeset
   394
# perl -p/-n commands treat missing files as warnings, not fatal errors
536e3ec8f101 17768989 pkg-config adds unnecessary runpaths to default locations for X11 libraries
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1416
diff changeset
   395
# Adding the following raises them to errors so that make detects a problem
536e3ec8f101 17768989 pkg-config adds unnecessary runpaths to default locations for X11 libraries
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1416
diff changeset
   396
PERL_MISSING_FILES_ERROR = -e 'BEGIN {$$SIG{__WARN__} = sub { die $$_[0] };}'
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   397
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   398
# Script used to install files in proto area
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   399
INSTALL_SCRIPT=$(TOP)/open-src/common/install-sh -c
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   400
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   401
# Some modules (such as FreeType 2) require GNU make
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   402
GNUMAKE = gmake
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   403
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   404
# Pick a version of GNU automake, since Solaris includes multiple ones
1549
4b5a9782609e 21256857 Update Xorg to the latest community version 1.17.2
Niveditha Rau <Niveditha.Rau@Oracle.COM>
parents: 1533
diff changeset
   405
AUTOMAKE_VERSION=1.15
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   406
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   407
# Directory to find tools used during build, even when installing to a
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   408
# temporary dest dir, such as during 'make manifest'
1610
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   409
PROTOTOOLSDIR		= $(PROTODIR)
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   410
PROTOTOOLS_BIN_DIR	= $(PROTODIR)/usr/bin
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   411
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   412
# Some modules use lndir to merge in sources from Sun specific directories
1610
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   413
LNDIR			= $(PROTOTOOLS_BIN_DIR)/lndir
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   414
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   415
# Commands to run font utilities from proto area
1610
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   416
MKFONTSCALE		= $(PROTOTOOLS_BIN_DIR)/mkfontscale
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   417
INSTALLALIAS		= $(PROTOTOOLSDIR)$(X11_X11LIB_DIR)/installalias
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   418
FC_QUERY		= $(PROTOTOOLS_BIN_DIR)/fc-query
77a2e608a1ff 22807351 X gate makefiles no longer need to carry around $(X11_DIR) baggage
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1607
diff changeset
   419
FC_SCAN			= $(PROTOTOOLS_BIN_DIR)/fc-scan
1479
4a76cf532c2c 19978574 Need an automated, repeatable way to generate X's FOSS required source releases
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1477
diff changeset
   420
# mkfontdir is just a shell wrapper around /usr/bin/mkfontscale, so we call
4a76cf532c2c 19978574 Need an automated, repeatable way to generate X's FOSS required source releases
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1477
diff changeset
   421
# it directly here, instead of futzing with command paths in the script
4a76cf532c2c 19978574 Need an automated, repeatable way to generate X's FOSS required source releases
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents: 1477
diff changeset
   422
MKFONTDIR=$(MKFONTSCALE) -b -s -l
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   423
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   424
# Script fragment to start echoing commands in shell sequences in make rules
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   425
# Sets PS4 to "" so output isn't prepended with "+ " and looks like normal
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   426
# make output
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   427
START_CMD_ECHO = PS4="" ; set -x
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   428
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   429
### Sources, in-tree and upstream
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   430
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   431
TARBALLDIR=$(TOP)/open-src/tarballs
1416
bcf00ae6c8e5 17768852 fix X build failures seen on shared build servers installed with s > s12_32
Niveditha Rau <Niveditha.Rau@Oracle.COM>
parents: 1409
diff changeset
   432
WGET=/usr/bin/wget --no-check-certificate
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   433
GIT=git
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   434
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   435
# If you need to use a closer mirror for X.Org or SourceForge, override
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   436
# these in your Makefile.options file
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   437
XRU_DEFAULT	= $(XORG_RELEASES_URL_SET:yes=$(POUND_SIGN))
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   438
$(XRU_DEFAULT)	XORG_RELEASES_URL=http://www.x.org/releases/individual
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   439
SFU_DEFAULT	= $(SF_DOWNLOADS_URL_SET:yes=$(POUND_SIGN))
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   440
$(SFU_DEFAULT)	SF_DOWNLOADS_URL=http://downloads.sourceforge.net/project
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   441
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   442
# Git repositories hosted on freedesktop.org (X.Org, Mesa, pixman, etc.)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   443
FDO_GIT_DEFAULT		= $(FDO_GIT_URL_SET:yes=$(POUND_SIGN))
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   444
$(FDO_GIT_DEFAULT)	FDO_GIT_URL=http://anongit.freedesktop.org/git
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   445
XORG_GIT_DEFAULT	= $(XORG_GIT_URL_SET:yes=$(POUND_SIGN))
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   446
$(XORG_GIT_DEFAULT)	XORG_GIT_URL=$(FDO_GIT_URL)/xorg
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   447
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   448
# Target created when sources are unpacked
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   449
UNPACK_FILE = .unpack_done
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   450
UNPACK_TARGET = $(SOURCE_DIR)/$(UNPACK_FILE)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   451
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   452
# Most module versions are in the individual makefiles, but the Xserver is
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   453
# referenced in multiple places, so it's kept here for easy sharing.
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   454
# 
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   455
# Current Xorg server source tarball to use sources from:
1549
4b5a9782609e 21256857 Update Xorg to the latest community version 1.17.2
Niveditha Rau <Niveditha.Rau@Oracle.COM>
parents: 1533
diff changeset
   456
XORGSERVER_VERS=1.17.2
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   457
# Minimum Xorg server version that we expect to be ABI compatible with.
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   458
# Usually .99 of the previous minor release series, as that's the convention
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   459
# for the development snapshots of the next release series.
1549
4b5a9782609e 21256857 Update Xorg to the latest community version 1.17.2
Niveditha Rau <Niveditha.Rau@Oracle.COM>
parents: 1533
diff changeset
   460
MIN_XSERVER_VERS=1.16.99
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   461
# Next highest Xorg server version that we expect to be ABI incompatible with.
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   462
# Usually .99 of the current release series, as Xorg tends to break ABI's
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   463
# in each minor release train (1.8, 1.9, etc.)
1549
4b5a9782609e 21256857 Update Xorg to the latest community version 1.17.2
Niveditha Rau <Niveditha.Rau@Oracle.COM>
parents: 1533
diff changeset
   464
NEXT_XSERVER_VERS=1.18.99
1409
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   465
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   466
# Version of pkgfmt output rules to apply
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   467
PKGFMT_OUTPUT=v2
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   468
PKGFMT= PKGFMT_OUTPUT=$(PKGFMT_OUTPUT) /usr/bin/pkgfmt
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   469
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   470
### Misc rules
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   471
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   472
# For use in debugging or calling from scripts like the code review helper
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   473
# Use such as: make print_make_vars VARS="MODTYPE MODULE_NAME"
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   474
# or: make print_make_vars BUILD_TYPE=32 VARS=SOURCE_DIR
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   475
print_make_var-%:
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   476
	@print -n ' $(@:print_make_var-%=%)="$($(@:print_make_var-%=%))"'
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   477
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   478
print_make_vars: $(VARS:%=print_make_var-%)
6e8cba329cc3 17472475 Mass minor bugfix update to X.Org upstream release [Sep. 2013 edition] (undo unintentional file removal)
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   479
	@print '\n'