Makefile revision 1233
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore###############################################################################
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore#
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Copyright (c) 2008, 2011, Oracle and/or its affiliates. All rights reserved.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore#
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam Moore# Permission is hereby granted, free of charge, to any person obtaining a
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# copy of this software and associated documentation files (the "Software"),
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# to deal in the Software without restriction, including without limitation
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# the rights to use, copy, modify, merge, publish, distribute, sublicense,
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# and/or sell copies of the Software, and to permit persons to whom the
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Software is furnished to do so, subject to the following conditions:
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore#
02fc09f797e83e80199c96adc4751c230dccc973Adam Moore# The above copyright notice and this permission notice (including the next
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# paragraph) shall be included in all copies or substantial portions of the
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Software.
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore#
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam Moore# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
c4f19796d319a7ec9a1e76d48adc82c9c5ae2f27Adam Moore# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
08e054017132cdd838955bc0af15889f1f2a7b42Adam Moore# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
b46f3d670b654847b0ce60afdba1b461c492a5c9Adam Moore# DEALINGS IN THE SOFTWARE.
b46f3d670b654847b0ce60afdba1b461c492a5c9Adam Moore#
b46f3d670b654847b0ce60afdba1b461c492a5c9Adam Moore#
08e054017132cdd838955bc0af15889f1f2a7b42Adam Moore
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam Moore# Package name used in tarballs
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam MooreMODULE_NAME=libX11
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam Moore
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam Moore# Version number (used in path names)
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam MooreMODULE_VERSION = 1.4.4
52671ce4f644d565b2acd71a8ce4f6d20829a67cAdam Moore
9c42541e375e7bb70c53012b3012d70f1a380254Adam Moore# Checksums for upstream tarball
9c42541e375e7bb70c53012b3012d70f1a380254Adam MooreTARBALL_MD5 = ed7c382cbf8c13425b6a66bcac0ca5d9
9c42541e375e7bb70c53012b3012d70f1a380254Adam MooreTARBALL_SHA1 = 2d9d38bfd7003ec60eea0b1999ab72cfd5fa3b90
9c42541e375e7bb70c53012b3012d70f1a380254Adam MooreTARBALL_SHA256 = 7fe62180f08ef5f0a0062fb444591e349cae2ab5af6ad834599f5c654e6c840d
9c42541e375e7bb70c53012b3012d70f1a380254Adam Moore
9c42541e375e7bb70c53012b3012d70f1a380254Adam Moore# Patches to apply to source after unpacking, in order
9c42541e375e7bb70c53012b3012d70f1a380254Adam MooreSOURCE_PATCHES = \
02fc09f797e83e80199c96adc4751c230dccc973Adam Moore 1234757.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore 4010755.patch \
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam Moore 4614834.patch \
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam Moore 5039226.patch \
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam Moore solaris-abi.patch,-p1 \
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam Moore solaris-kbd.patch,-p1 \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore SolarisIA.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore 6714036.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore 6789219.patch,-p1 \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore im-suneu-greek.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore im-ximcp.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore lc-jisx0212.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore lc-jisx0208.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore lc-ksc5601.1992-3.patch,-p1 \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore lc-gb18030.patch,-p1 \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore om-generic.patch,-p1 \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore compose.dir.patch \
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam Moore compose-iso8859-1.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore compose-iso8859-2.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore compose-iso8859-5.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore compose-iso8859-6.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore compose-iso8859-7.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore compose-iso8859-8.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore compose-iso8859-9.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore compose-iso8859-13.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore compose-iso8859-15.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore compose-el_GR.UTF-8.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore compose-en_US.UTF-8.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore compose-ja_JP.UTF-8.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore compose-ko_KR.UTF-8.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore compose-pt_BR.UTF-8.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore compose-th_TH.UTF-8.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore compose-zh_CN.UTF-8.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore compose-zh_HK.UTF-8.patch \
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam Moore compose-zh_TW.UTF-8.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore locale.aliases.patch \
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam Moore locale.dir.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore locale.paths.patch,-p1 \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore locale-C.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore locale-iso8859-1.patch \
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore locale-iso8859-6.patch \
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore locale-iso8859-8.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore locale-en_US.UTF-8.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore locale-ja.SJIS.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore locale-ja.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore locale-ja_JP.UTF-8.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore locale-ko.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore locale-ko_KR.UTF-8.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore locale-pt_BR.UTF-8.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore locale-th_TH.UTF-8.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore locale-zh_CN.UTF-8.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore locale-zh_CN.gb18030.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore locale-zh_HK.UTF-8.patch \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore locale-zh_TW.UTF-8.patch \
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore locale-zh_TW.patch \
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore locale-ru-RU.UTF-8.patch
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore# Library name (used for specfiles/mapfiles)
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam MooreLIBNAME=X11
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore# ARC cases that covered this module
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore# PSARC/1992/077 X11/R5 Xlib API
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam MooreMODULE_ARC_CASES = PSARC/1992/077
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore# PSARC/1992/082 Dynamic Locale Access For X11/R5 Xlib
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam MooreMODULE_ARC_CASES += PSARC/1992/082
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam Moore# PSARC/1997/141 Sym links needed in /usr/lib for SPARC ABI compliance
eab87f0881fdf3e80c2a1af9224c50f0bf033644Adam MooreMODULE_ARC_CASES += PSARC/1997/141
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# PSARC/2006/448 UTF8_STRING support in Solaris libX11 and XLC modules
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreMODULE_ARC_CASES += PSARC/2006/448
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# PSARC/2008/062 Porting of Xorg XI18N
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreMODULE_ARC_CASES += PSARC/2008/062
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# PSARC/2009/666 libX11 1.3
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreMODULE_ARC_CASES += PSARC/2009/666
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# PSARC/2010/109 Introduce libXcb in Solaris
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreMODULE_ARC_CASES += PSARC/2010/109
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Man pages to apply Sun footer to & attributes to list
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreSUNTOUCHED_MANPAGES=man/*.man man/xkb/*.man
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam MooreMODULE_STABILITY=Committed
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreLIB_MAN_SUFFIX=3x11
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Command line options to GNU autoconf configure script
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreMODULE_CONFIG_OPTS = --enable-xthreads --enable-loadable-i18n \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore --disable-xf86bigfont \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore --with-xcb=yes --enable-loadable-xcursor --enable-xcms \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore --enable-xlocaledir --enable-xkb --enable-man-pages=$(LIB_MAN_SUFFIX) \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore --with-locale-lib-dir='$${exec_prefix}/lib/X11/locale$(LIBSUBDIR)'
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# -xF is needed for mapfile reordering to work
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreMODULE_CFLAGS = -xF
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# -DSUNSOFT enables Solaris extensions
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# -DMOTIFBC enables compatibility with bugs in Motif & other apps
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# -DSUNSOFT_KBD enables Solaris traditional keyboard handling
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreMODULE_CPPFLAGS = -DSUNSOFT -DMOTIFBC -DSUNSOFT_KBD \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore -I$(PROTODIR)/usr/include/X11 \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore -I$(PROTODIR)/usr/include/xcb
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreMODULE_LDFLAGS = -R$(X11_LIB_DIR)$(ARCHLIBSUBDIR)
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Need to ignore extra libraries like -lsocket & -lnsl in i18n modules
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreMODULE_LD_OPTIONS = -z ignore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Backwards compatibility for old paths until g11n moves all input methods
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreMODULE_CONFIG_ENV = \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore XLOCALEDIR="/usr/share/X11/locale:/usr/X11/share/X11/locale" \
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore XLOCALELIBDIR="/usr/lib/X11/locale$(LIBSUBDIR):/usr/X11/lib/X11/locale$(LIBSUBDIR)"
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Work around libtool's interference
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreDELIBTOOLIZE=yes
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Use -KPIC instead of -Kpic because we have too many symbols on SPARC
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreDELIBTOOLIZE_FLAGS_sparc = -P
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam MooreDELIBTOOLIZE_FLAGS_i386 =
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreDELIBTOOLIZE_FLAGS = $(DELIBTOOLIZE_FLAGS_$(MACH))
abdfe7cf11d34f89f17b26e4779bf6079d22a910Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Need additional mapfile for additional symbols in 64-bit versions
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreMODULE_BUILD_64_FLAGS = ADD_libX11_LDFLAGS="-M $(PWD)/mapfile-vers-64"
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# pkg-config files that need to have -R added
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreFIX_PC_FILES=x11.pc.in
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Regenerate Makefile.in's from Makefile.am's after patching them
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreAUTORECONF=yes
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Merge in additional sources from sun-src directory
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreADDITIONAL_SOURCE_DIR=sun-src
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Install additional headers we need in other parts of the build or ship in
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# packages, but which X.Org doesn't
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreMODULE_ADD_INSTALL_TARGETS_32 = install_extra_headers
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreMODULE_ADD_INSTALL_TARGETS = $(MODULE_ADD_INSTALL_TARGETS_$(BUILD_TYPE))
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Extra links to libX11 for compatibility with SVID / SPARC ABI / etc.
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreEXTRA_LINKS = libX.so libX.so.4 libX11.so.5
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreMODULE_ADD_INSTALL_TARGETS += install_extra_links
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore# Compatibility links from /usr/X11/lib to /usr/lib
80d2034f65b9348e5fd36291f03b0819181efb89Adam MooreMODULE_X11_LIBCOMPAT_LINKS = libX11.so libX11.so.4 $(EXTRA_LINKS)
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
80d2034f65b9348e5fd36291f03b0819181efb89Adam Mooreinclude ../Makefile.inc
80d2034f65b9348e5fd36291f03b0819181efb89Adam Moore
9bc9c1474a84983bd254adc2bc425c5b24d25526Adam Mooreinstall_extra_headers: $(INSTALL_DEPS)
9bc9c1474a84983bd254adc2bc425c5b24d25526Adam Moore mkdir -p $(PROTODIR)$(X11_INCLUDES_DIR)/X11/extensions
9bc9c1474a84983bd254adc2bc425c5b24d25526Adam Moore cp -pf sun-src/include/X11/Xvarargs.h \
9bc9c1474a84983bd254adc2bc425c5b24d25526Adam Moore $(PROTODIR)$(X11_INCLUDES_DIR)/X11/
9bc9c1474a84983bd254adc2bc425c5b24d25526Adam Moore cp -pf sun-src/include/X11/extensions/XInteractive.h \
9bc9c1474a84983bd254adc2bc425c5b24d25526Adam Moore $(PROTODIR)$(X11_INCLUDES_DIR)/X11/extensions/
9bc9c1474a84983bd254adc2bc425c5b24d25526Adam Moore cp -pf $(SOURCE_DIR)/src/xlibi18n/Xlc*.h \
bd6676c46a56d23b5e6f4702054bbd52e3d6f05fAdam Moore $(PROTODIR)$(X11_INCLUDES_DIR)/X11/
9bc9c1474a84983bd254adc2bc425c5b24d25526Adam Moore
9bc9c1474a84983bd254adc2bc425c5b24d25526Adam Moore# Install additional links to libX11 that we include in our packages
9bc9c1474a84983bd254adc2bc425c5b24d25526Adam MooreEXTRA_PROTO_LINKS = $(EXTRA_LINKS:%=$(PROTODIR)$(MODULE_PREFIX)/lib$(ARCHLIBSUBDIR)/%)
9bc9c1474a84983bd254adc2bc425c5b24d25526Adam Moore
bd6676c46a56d23b5e6f4702054bbd52e3d6f05fAdam Moore$(EXTRA_PROTO_LINKS): $(INSTALL_DEPS)
9bc9c1474a84983bd254adc2bc425c5b24d25526Adam Moore @rm -f $@
9bc9c1474a84983bd254adc2bc425c5b24d25526Adam Moore ln -s libX11.so.4 $@
9bc9c1474a84983bd254adc2bc425c5b24d25526Adam Moore
9bc9c1474a84983bd254adc2bc425c5b24d25526Adam Mooreinstall_extra_links: $(EXTRA_PROTO_LINKS)
9bc9c1474a84983bd254adc2bc425c5b24d25526Adam Moore