Makefile revision 1357
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm###############################################################################
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Xorg server Makefile
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jg# Copyright (c) 2006, 2013, Oracle and/or its affiliates. All rights reserved.
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Permission is hereby granted, free of charge, to any person obtaining a
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# copy of this software and associated documentation files (the "Software"),
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# to deal in the Software without restriction, including without limitation
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# the rights to use, copy, modify, merge, publish, distribute, sublicense,
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# and/or sell copies of the Software, and to permit persons to whom the
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Software is furnished to do so, subject to the following conditions:
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# The above copyright notice and this permission notice (including the next
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# paragraph) shall be included in all copies or substantial portions of the
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Software.
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
bf56214c0556fa6864189c826d39dbe156bb22a0stevel# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# DEALINGS IN THE SOFTWARE.
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Package name used in tarballs
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Package metadata
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Version number (used in path names) - set in open-src/common/Makefile.init
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Checksums for upstream tarball
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82smTARBALL_SHA256= c93540e2799df4655c6f1b67dc7d8d6db96df4f08ef1702fffbc5df843a43d00
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Patches to apply to source after unpacking, in order
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# *** Moved to patch-list file so they can be shared between Xorg & Xvnc builds
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Used in rules shared between Xorg & Xvnc builds in Makefile.inc
4ebb14b236958cfe1ef4ff3b7a50216d9e51f997frits# to allow for different source layouts
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# ARC cases that covered this module
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# PSARC/2004/187 Xorg Server for Solaris
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# PSARC/2004/685 Xorg server upgrade to X11R6.8 release
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# PSARC/2004/829 Xorg 6.8.2 server upgrade for Solaris
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# PSARC/2005/450 Xorg 6.9 for Solaris
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# PSARC/2006/609 Xserver provider for DTrace
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# PSARC/2007/051 Xorg server upgrade to 7.2
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# PSARC/2007/434 Xorg server 1.3
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# PSARC/2007/500 X11 MIT-SHM Extension across zones
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# PSARC/2008/294 Xorg driver selection based on VIS_GETIDENTIFIER
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# PSARC/2009/021 Xorg server 1.5
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# PSARC/2009/292 Xorg server 1.6
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# PSARC/2009/679 Xorg server 1.7
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# PSARC/2010/109 Introduce libXcb in Solaris
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# PSARC/2011/008 Xorg server 1.9
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jg# PSARC/2010/382 Removal of 32-bit X servers
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jg# PSARC/2011/214 Xorg server 1.10
bb25c06cca41ca78e5fb87fbb8e81d55beb18c95jg# PSARC/2012/144 Xorg server 1.12
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# PSARC/2012/320 Xorg server 1.13
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Man pages to apply Sun footer to & attributes to list
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Override specific attributes for specific man pages
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Xephyr, Xvfb, and Xdmx are split out into their own packages
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82smSUNTOUCH_MAN_FLAGS_Xephyr = -o '{Availability, $(MODULE_PKGNAME:%xorg=%xephyr)}'
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82smSUNTOUCH_MAN_FLAGS_Xvfb = -o '{Availability, $(MODULE_PKGNAME:%xorg=%xvfb)}'
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82smSUNTOUCH_MAN_FLAGS_Xdmx = -o '{Availability, $(MODULE_PKGNAME:%xorg=%xdmx)}'
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82smSUNTOUCH_MAN_FLAGS_Xserver = -o '{Availability, $(MODULE_PKGNAME:%xorg=%xserver-common)}'
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Binary built in tree
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82smBUILD_TARGETS=$(XORGSERVER_BIN) build_mdb set-elf-comments \
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Need to convert dtrace docs from xml to text/html ourselves, since
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Solaris doesn't bundle the xmlto tool used upstream
4ebb14b236958cfe1ef4ff3b7a50216d9e51f997frits# Need to regenerate autoconf/automake files after patching
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Command line options to GNU autoconf configure script
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# XXX: --disable-dga
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Pass linker mapfile listing symbols that modules can count on resolving
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# from the Xorg binary itself
bf56214c0556fa6864189c826d39dbe156bb22a0stevelXORG_EXTERNS_FLAG = -Wl,-M,$(PWD)/$(XORG_EXTERNS_FILE)
bf56214c0556fa6864189c826d39dbe156bb22a0stevelMODULE_BUILD_ENV = XORG_EXTERNS_FLAG='$(XORG_EXTERNS_FLAG)'
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Optimization doesn't always remove unused inline functions, leaving many
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# binaries referencing pixman symbols that normally don't need them. Using
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# -z ignore should ensure that it's not added when not really needed.
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Adding -z muldefs for 16418361 - which should be removed once we fix that
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82smMODULE_CONFIG_OPTS += LIBS="-z ignore -lpixman-1 -z muldefs"
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# pkg-config files that need to have -R added
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# Remove compiler specific visibility flag that breaks builds of drivers
75d01c9ab5ef6f1bbac9f9d4eb379d5c38583d82sm# with other compilers
# builds, and install xorg-server.pc in 32-bit pkgconfig dir too
-rm -f $@
$(EXTRA_ATTRDATA_FILES) \
mkdir -p $@
mkdir -p $@
@rm -f $@
mkdir -p $@
@rm -f $@