Makefile revision 1003
c330021bf3f45cbf187fa644781e67f7e470a58awrowe###############################################################################
c330021bf3f45cbf187fa644781e67f7e470a58awrowe# Xorg server Makefile
62f7716b14b71603a8004434ca3536902bfb8899wrowe# Copyright (c) 2006, 2010, Oracle and/or its affiliates. All rights reserved.
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe# Permission is hereby granted, free of charge, to any person obtaining a
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe# copy of this software and associated documentation files (the "Software"),
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe# to deal in the Software without restriction, including without limitation
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe# the rights to use, copy, modify, merge, publish, distribute, sublicense,
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe# and/or sell copies of the Software, and to permit persons to whom the
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe# Software is furnished to do so, subject to the following conditions:
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe# The above copyright notice and this permission notice (including the next
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe# paragraph) shall be included in all copies or substantial portions of the
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
366616a5cc6212cbf7134ccf877f965d668c6b04wrowe# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
ecf8d72af432e53e4c0661fb99dfda8061507bfajerenkrantz# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
ecf8d72af432e53e4c0661fb99dfda8061507bfajerenkrantz# DEALINGS IN THE SOFTWARE.
87d944bf70927764edf8ef69e46d3b4b8fa09131pquerna# Build 32-bit or 64-bit?
84cbf7ab5adeca6b94c462a46d74f17388b6ff6fjerenkrantz# Package name used in tarballs
f610c7c704235bc327dbe9b62982f5b3f8e30a77wrowe# Version number (used in path names)
d96ee8cda2799e1f2743c1603adeb4833ed0e15fslive# Checksums for upstream tarball
ecf8d72af432e53e4c0661fb99dfda8061507bfajerenkrantzTARBALL_SHA1 = 0f1b71363843b7e394d6de62d0db5b74d3e645ef
ecf8d72af432e53e4c0661fb99dfda8061507bfajerenkrantz# Patches to apply to source after unpacking, in order
ecf8d72af432e53e4c0661fb99dfda8061507bfajerenkrantz# *** Moved to patch-list file so they can be shared between Xorg & Xvnc builds
d96ee8cda2799e1f2743c1603adeb4833ed0e15fslive# Used in rules shared between Xorg & Xvnc builds in Makefile.inc
d96ee8cda2799e1f2743c1603adeb4833ed0e15fslive# to allow for different source layouts
4b62424416882687387923b3130b96241503cbe0jerenkrantz# ARC cases that covered this module
5ca8e11fadb6f7a8d9d0367c1800205c99d4bcd6jerenkrantz# PSARC/2004/187 Xorg Server for Solaris
45b0e1c775c1cfed6473c9e5304179ccb9609f53stoddard# PSARC/2004/685 Xorg server upgrade to X11R6.8 release
f6a9b598f78b2e745456bfc4bbc4afd2d1572aa9stas# PSARC/2004/829 Xorg 6.8.2 server upgrade for Solaris
47c81da11264e8870b146dbdf3ac0384d3290ae9jerenkrantz# PSARC/2005/450 Xorg 6.9 for Solaris
0db0abcbe4211435c08e0c0e8f5daa278bed3524wsanchez# PSARC/2006/609 Xserver provider for DTrace
f6a9b598f78b2e745456bfc4bbc4afd2d1572aa9stas# PSARC/2007/051 Xorg server upgrade to 7.2
f6a9b598f78b2e745456bfc4bbc4afd2d1572aa9stas# PSARC/2007/434 Xorg server 1.3
47c81da11264e8870b146dbdf3ac0384d3290ae9jerenkrantz# PSARC/2007/500 X11 MIT-SHM Extension across zones
d64eb0a76ec10c2405d14b892b0eb0f7ce27a613stas# PSARC/2008/294 Xorg driver selection based on VIS_GETIDENTIFIER
d64eb0a76ec10c2405d14b892b0eb0f7ce27a613stas# PSARC/2009/021 Xorg server 1.5
62f7716b14b71603a8004434ca3536902bfb8899wrowe# PSARC/2009/292 Xorg server 1.6
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz# PSARC/2009/679 Xorg server 1.7
f95a0b59eb24c631f15bd83e20c6cf823c432d83trawick# Man pages to apply Sun footer to & attributes to list
c95a8116bde20ab75f2e54d0e867bdf2e13643c3jim# XXX: Need to adjust some of these to correct packages/stability
b08ed1b8a8afa3d8466300f4607b9d1179d2f1eaerikabele# Override specific attributes for specific man pages
ddafc111b94558ef4e2d7357ceda623315566ce3slive $(SUNTOUCH_MAN_FLAGS_$(@F:%.man.$(FIXED_MAN_SUFFIX)=%))
93f189f1198f539d3cfa75a15b23dcde60ee35ffrbb# Xephyr & Xvfb are split out into their own packages
93f189f1198f539d3cfa75a15b23dcde60ee35ffrbbSUNTOUCH_MAN_FLAGS_Xephyr = -o '{Availability, $(MODULE_PKGNAME:%xorg=%xephyr)}'
bca5b27d271b6e1690134a83963424b9825d93bdstrikerSUNTOUCH_MAN_FLAGS_Xvfb = -o '{Availability, $(MODULE_PKGNAME:%xorg=%xvfb)}'
b08ed1b8a8afa3d8466300f4607b9d1179d2f1eaerikabele# Used in sun-manpage.patch to set distro name in Xserver man page
13402b2193f52031b2acfbee2b0965e02f3f29b4wrowe# DISTRO_NAME is set in open-src/common/Makefile.options.*
38d2c5d41cdb5eb28668d0290b59f8c76ae2a4bfjim# Binary built in tree
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantzBUILD_TARGETS=$(XORGSERVER_BIN) build_mdb set-elf-comments \
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz# Need to regenerate autoconf/automake files after patching
7718f3d5b4da70eb063877f5300ee361435910f4nd# Command line options to GNU autoconf configure script
38d2c5d41cdb5eb28668d0290b59f8c76ae2a4bfjim# Need to override LD setting to add -xarch flags that libtool strips
38d2c5d41cdb5eb28668d0290b59f8c76ae2a4bfjim# XXX: --disable-dga
84cbf7ab5adeca6b94c462a46d74f17388b6ff6fjerenkrantz# pkg-config files that need to have -R added
f4cb04eb78da02a38fcdd87489dc7b660107d55fjerenkrantz# Remove compiler specific visibility flag that breaks builds of drivers
62f7716b14b71603a8004434ca3536902bfb8899wrowe# with other compilers
1b3f48fd6b1ccb8745f908e40156c5a85ca3c347jerenkrantzMODULE_FIX_PC_FLAGS= -e 's|\@symbol_visibility\@||'
d96ee8cda2799e1f2743c1603adeb4833ed0e15fslive# Need to use GNU Make to build due to hw/xfree86/loader
ed7c594e460858633e768386dbc1447a2ccdfe04pquerna# Additional install targets beyond the defaults
0723420d6007137272f4f140ffd17035b17c1563ndMODULE_ADD_INSTALL_TARGETS=install_extras install_mdb install_pc_common \
0723420d6007137272f4f140ffd17035b17c1563nd# Have to avoid dependency loop between install_pc_copy and
0723420d6007137272f4f140ffd17035b17c1563nd# install_pkgconfig_uninstalled
0723420d6007137272f4f140ffd17035b17c1563nd# Merge in additional sources from sun-src directory
016f2545c9375ec7fc5e9cb70aa1ae0cace83c98jerenkrantz# Compatibility links from /usr/X11/bin to /usr/bin
016f2545c9375ec7fc5e9cb70aa1ae0cace83c98jerenkrantzMODULE_X11_BINCOMPAT_LINKS += $(MODULE_X11_BINCOMPAT_LINKS_$(MACH))
b3b4e853e4958357ee2d50e2fe41effecfde9eedwrowe sed -e 's%#define XF86DRI 1%/* #define XF86DRI 1 */%' \
f610c7c704235bc327dbe9b62982f5b3f8e30a77wrowe -e 's%^.* _XSERVER64 .*$$%#include <sys/isa_defs.h>\
f610c7c704235bc327dbe9b62982f5b3f8e30a77wrowe#ifdef _LP64\
f610c7c704235bc327dbe9b62982f5b3f8e30a77wrowe#define _XSERVER64 1\
f610c7c704235bc327dbe9b62982f5b3f8e30a77wrowe $(SOURCE_DIR)/include/xorg-server.h > $(SDK_INCLUDES_DIR)/xorg-server.h
f610c7c704235bc327dbe9b62982f5b3f8e30a77wrowe cp -pf $(SOURCE_DIR)/mi/mioverlay.h $(SDK_INCLUDES_DIR)/mioverlay.h
6362fd5c48f6b2193f5d356a9747172101b24e91jerenkrantz cp -pf $(SOURCE_DIR)/hw/xfree86/os-support/bus/xf86Sbus.h $(SDK_INCLUDES_DIR)/xf86Sbus.h
f610c7c704235bc327dbe9b62982f5b3f8e30a77wrowe cp -pf $(SOURCE_DIR)/hw/xfree86/dri/*.h $(SDK_INCLUDES_DIR)/
f610c7c704235bc327dbe9b62982f5b3f8e30a77wrowe -rm -f $(SDK_INCLUDES_DIR)/xf1bpp.h $(SDK_INCLUDES_DIR)/xf4bpp.h
f610c7c704235bc327dbe9b62982f5b3f8e30a77wrowe $(PROTODIR)/etc/hal/fdi/preprobe/10osvendor/10-x11-input.fdi
b05930e6008f69bd323abe0c10f81f40ffd27983brianp# Workaround bug in installing pkgconfig file to wrong directory in 64-bit
bb2a72a6e2327ae4f177c9d26e9d433033cfc27eaaron# Install xorg-server.pc in 32-bit pkgconfig dir on SPARC too
8c8fbb8546af54582539898be704411a60058d85trawickinstall_pc_copy: install_pc_common install_pkgconfig_uninstalled
8c8fbb8546af54582539898be704411a60058d85trawick -rm -f $(PROTODIR)$(PKGCONFIG_DIR_32)/xorg-server.pc \
8c8fbb8546af54582539898be704411a60058d85trawick $(PROTODIR)$(PKGCONFIG_DIR_32)/xorg-server-uninstalled.pc
f9b8e29cfca92cf0a996e8ab17fa1a1f447cecc7stoddard ln -s ../$(SUBDIR64)$(PKGCONFIG_DIR_suffix)/xorg-server.pc \
f9b8e29cfca92cf0a996e8ab17fa1a1f447cecc7stoddard ../$(SUBDIR64)$(PKGCONFIG_DIR_suffix)/xorg-server-uninstalled.pc \
2fb49a1d25f38421a68d31b4cbb5d9293fdeafbewrowe printf '# Functions exported by Xorg server to loadable modules\n\n' > $@
2fb49a1d25f38421a68d31b4cbb5d9293fdeafbewrowe /usr/ccs/bin/nm -g $(XORGSERVER_BIN) $(PROTODIR)$(X11_SERVERLIBS_DIR)$(ARCHLIBSUBDIR)/libXfont.so | grep -v UNDEF | sed -n -e 's/^.*\|FUNC \|GLOB \|.*\|\([A-Za-z].*\)$$/ \1 = FUNCTION extern;/p' -e 's/^.*\|OBJT \|GLOB \|.*\|\([A-Za-z].*\)$$/ \1 = DATA extern;/p' >> $@
2fb49a1d25f38421a68d31b4cbb5d9293fdeafbewrowe# Fix paths in proto area to match paths in packages / installed systems
2fb49a1d25f38421a68d31b4cbb5d9293fdeafbewroweinstall_fix_paths: install_fix_paths_$(MACH)_$(BUILD_TYPE) install_fix_paths_X
2fb49a1d25f38421a68d31b4cbb5d9293fdeafbewroweinstall_fix_paths_$(MACH)_: $(BUILD_TYPES:%=install_fix_paths_$(MACH)_%)
2fb49a1d25f38421a68d31b4cbb5d9293fdeafbewroweinstall_fix_paths_i386_32: install_fix_paths_use_utilities
2fb49a1d25f38421a68d31b4cbb5d9293fdeafbewroweinstall_fix_paths_i386_64: install_fix_paths_remove_utilities
2fb49a1d25f38421a68d31b4cbb5d9293fdeafbewrowe mv -f $(PROTODIR)$(MODULE_PREFIX)/bin/$(ARCHBINSUBDIR)/cvt \
2fb49a1d25f38421a68d31b4cbb5d9293fdeafbewrowe $(PROTODIR)$(MODULE_PREFIX)/bin/$(ARCHBINSUBDIR)/gtf \
db2d668e6233d8949b35ee7f9f42f444758f9ce9rbb rm -f $(PROTODIR)$(MODULE_PREFIX)/bin/$(ARCHBINSUBDIR)/cvt \
5d12baef135b5d3cb94745e007a1575398469724jerenkrantzXSERVER_LINKS = $(XSERVERS:%=$(PROTODIR)$(MODULE_PREFIX)/bin/%)
0bcb1fe39dfaacf9745b6633f5cc9ebc8e2596caaaroninstall_fix_paths_i386_32: install_fix_paths_Xservers_isaexec
33f5961d34a8b5390cebad0543b3ebe67830e5d7jerenkrantzMESA_MODULE_DIR = /usr/lib/mesa/modules/extensions$(SERVERMOD_subdir)
33f5961d34a8b5390cebad0543b3ebe67830e5d7jerenkrantzEXT_MODULE_DIR = $(X11_SERVERMODS_DIR)/extensions$(SERVERMOD_subdir)
ff42f83cbf31893bcde9712332a8e5ee970f6a74trawick ln -s ../../../../..$(SERVERMOD_subdir:$(SUBDIR64)=..)/var/run/opengl/server/$(SERVERMOD_subdir)/libglx.so \
54e1babd5a5a56c576eeeace54110150769cc916coar# Install metadata for Xephyr, Xvfb, & xtsol packages too
54e1babd5a5a56c576eeeace54110150769cc916coarXCOMMON_PKG_METADATA_DIR = $(MODULE_PKG_METADATA_DIR:%-xorg=%-xserver-common)
54e1babd5a5a56c576eeeace54110150769cc916coarXEPHYR_PKG_METADATA_DIR = $(MODULE_PKG_METADATA_DIR:%-xorg=%-xephyr)
54e1babd5a5a56c576eeeace54110150769cc916coarXVFB_PKG_METADATA_DIR = $(MODULE_PKG_METADATA_DIR:%-xorg=%-xvfb)
54e1babd5a5a56c576eeeace54110150769cc916coarXTSOL_PKG_METADATA_DIR = $(MODULE_PKG_METADATA_DIR:%-server-xorg=%-trusted-trusted-xorg)
f610c7c704235bc327dbe9b62982f5b3f8e30a77wroweEXTRA_ATTRDATA_FILES = $(EXTRA_METADATA_DIRS:%=%/$(ATTRDATA_FILE_NAME))
f610c7c704235bc327dbe9b62982f5b3f8e30a77wroweEXTRA_LICENSE_FILES = $(EXTRA_METADATA_DIRS:%=%/$(LICENSE_FILE_NAME))
2b93f4e3bba84578a57e5edcdb510071d2e79ed9pquerna$(EXTRA_ATTRDATA_FILES) $(EXTRA_LICENSE_FILES): $(EXTRA_METADATA_DIRS)
4ca13a5e126946272f02637e268a8e09193c553ecoar# Xtsol module is covered only by Oracle copyright/license
4ca13a5e126946272f02637e268a8e09193c553ecoarXTSOL_LICENSE = $(XTSOL_PKG_METADATA_DIR)/$(LICENSE_FILE_NAME)
4ca13a5e126946272f02637e268a8e09193c553ecoar$(XTSOL_LICENSE):= LICENSE_NAME = $(ORACLE_LICENSE_NAME)
b3b4e853e4958357ee2d50e2fe41effecfde9eedwrowe$(XTSOL_LICENSE):= LICENSE_APPEND = $(ORACLE_LICENSE_APPEND)
48c0c81cd6fabac9d3386406d97633780365b839coar# Special compatibility link from /usr/X11/bin/i386 to /usr/bin/i86
b84f66c93f820824b1d5455181f55598b766319cwrowe# Special compatibility links from /usr/X11/include to /usr/include