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