Makefile revision 4337
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina###############################################################################
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina#
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved.
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina#
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# Permission is hereby granted, free of charge, to any person obtaining a
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# copy of this software and associated documentation files (the "Software"),
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# to deal in the Software without restriction, including without limitation
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# the rights to use, copy, modify, merge, publish, distribute, sublicense,
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# and/or sell copies of the Software, and to permit persons to whom the
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# Software is furnished to do so, subject to the following conditions:
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina#
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# The above copyright notice and this permission notice (including the next
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# paragraph) shall be included in all copies or substantial portions of the
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# Software.
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina#
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# DEALINGS IN THE SOFTWARE.
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina#
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina#
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# Package name used in tarballs
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel BřezinaMODULE_NAME=libX11
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# Version number (used in path names)
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel BřezinaMODULE_VERSION = 1.5.0
50c9d542e8bf641412debaa82a4dcf67ddb72258Lukas Slebodnik
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# Checksums for upstream tarball
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel BřezinaTARBALL_MD5 = 78b4b3bab4acbdf0abcfca30a8c70cc6
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel BřezinaTARBALL_SHA1 = 8177535c9c59d8c3ab98d55ce53520b5737ccd1a
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel BřezinaTARBALL_SHA256= c382efd7e92bfc3cef39a4b7f1ecf2744ba4414a705e3bc1e697f75502bd4d86
bbc34d5a6e84d6c337bd89a22d33e365eb466226Pavel Březina
28ebfa4373d1e7ce45b5d70a3619df1c074a661ePavel Březina# Patches to apply to source after unpacking, in order
3a5ea81007bd38ce511c37f65cc45d4b6b95ec44Pavel BřezinaSOURCE_PATCHES = \
641d684ee88c6540a4cf1d74d258614f615699fePavel Březina 1234757.patch,-p1 \
641d684ee88c6540a4cf1d74d258614f615699fePavel Březina 4010755.patch \
bbc34d5a6e84d6c337bd89a22d33e365eb466226Pavel Březina 4614834.patch \
fd04b25eaa5cd105da4122854d8bc1e702760e60Jakub Hrozek 5039226.patch \
fd04b25eaa5cd105da4122854d8bc1e702760e60Jakub Hrozek solaris-abi.patch,-p1 \
fd04b25eaa5cd105da4122854d8bc1e702760e60Jakub Hrozek solaris-kbd.patch,-p1 \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina SolarisIA.patch,-p1 \
4e5e846de22407f825fe3b4040d79606818a2419Jakub Hrozek 6714036.patch,-p1 \
4e5e846de22407f825fe3b4040d79606818a2419Jakub Hrozek 6789219.patch,-p1 \
4e5e846de22407f825fe3b4040d79606818a2419Jakub Hrozek im-suneu-greek.patch \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina im-ximcp.patch \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina lc-jisx0212.patch \
4e5e846de22407f825fe3b4040d79606818a2419Jakub Hrozek lc-jisx0208.patch \
4e5e846de22407f825fe3b4040d79606818a2419Jakub Hrozek lc-ksc5601.1992-3.patch,-p1 \
4e5e846de22407f825fe3b4040d79606818a2419Jakub Hrozek lc-gb18030.patch,-p1 \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina om-generic.patch,-p1 \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina compose.dir.patch \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina compose-iso8859-1.patch \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina compose-iso8859-2.patch \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina compose-iso8859-5.patch \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina compose-iso8859-6.patch \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina compose-iso8859-7.patch,-p1 \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina compose-iso8859-8.patch \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina compose-iso8859-9.patch \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina compose-iso8859-13.patch \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina compose-iso8859-15.patch \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina compose-el_GR.UTF-8.patch \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina compose-en_US.UTF-8.patch,-p1 \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina compose-ja_JP.UTF-8.patch \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina compose-ko_KR.UTF-8.patch \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina compose-pt_BR.UTF-8.patch,-p1 \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina compose-th_TH.UTF-8.patch \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina compose-zh_CN.UTF-8.patch \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina compose-zh_HK.UTF-8.patch \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina compose-zh_TW.UTF-8.patch \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina locale.aliases.patch,-p1 \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina locale.dir.patch \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina locale.paths.patch,-p1 \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina locale-C.patch \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina locale-iso8859-1.patch \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina locale-iso8859-6.patch \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina locale-iso8859-8.patch \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina locale-en_US.UTF-8.patch \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina locale-ja.SJIS.patch \
e87b2a6e94c1066b3044fe683825ff5b4f8716c2Pavel Březina locale-ja.patch \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina locale-ja_JP.UTF-8.patch \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina locale-ko.patch \
641d684ee88c6540a4cf1d74d258614f615699fePavel Březina locale-ko_KR.UTF-8.patch \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina locale-pt_BR.UTF-8.patch \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina locale-th_TH.UTF-8.patch \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina locale-zh_CN.UTF-8.patch \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina locale-zh_CN.gb18030.patch \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina locale-zh_HK.UTF-8.patch \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina locale-zh_TW.UTF-8.patch \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina locale-zh_TW.patch \
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina locale-ru-RU.UTF-8.patch
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# Library name (used for specfiles/mapfiles)
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel BřezinaLIBNAME=X11
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# ARC cases that covered this module
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# PSARC/1992/077 X11/R5 Xlib API
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel BřezinaMODULE_ARC_CASES = PSARC/1992/077
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# PSARC/1992/082 Dynamic Locale Access For X11/R5 Xlib
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel BřezinaMODULE_ARC_CASES += PSARC/1992/082
54ed1b1214dbf9da1f481e8d193c81ce4312516bPavel Březina# PSARC/1997/141 Sym links needed in /usr/lib for SPARC ABI compliance
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel BřezinaMODULE_ARC_CASES += PSARC/1997/141
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# PSARC/2006/448 UTF8_STRING support in Solaris libX11 and XLC modules
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel BřezinaMODULE_ARC_CASES += PSARC/2006/448
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# PSARC/2008/062 Porting of Xorg XI18N
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel BřezinaMODULE_ARC_CASES += PSARC/2008/062
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# PSARC/2009/666 libX11 1.3
e87b2a6e94c1066b3044fe683825ff5b4f8716c2Pavel BřezinaMODULE_ARC_CASES += PSARC/2009/666
e87b2a6e94c1066b3044fe683825ff5b4f8716c2Pavel Březina# PSARC/2010/109 Introduce libXcb in Solaris
e87b2a6e94c1066b3044fe683825ff5b4f8716c2Pavel BřezinaMODULE_ARC_CASES += PSARC/2010/109
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel Březina# Man pages to apply Sun footer to & attributes to list
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel BřezinaSUNTOUCHED_MANPAGES=man/*.man man/xkb/*.man
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel BřezinaMODULE_STABILITY=Committed
360a4be4266d6a72be99dfd252623dc0527f5b84Pavel BřezinaLIB_MAN_SUFFIX=3x11
3a5ea81007bd38ce511c37f65cc45d4b6b95ec44Pavel Březina
3a5ea81007bd38ce511c37f65cc45d4b6b95ec44Pavel Březina# Command line options to GNU autoconf configure script
3a5ea81007bd38ce511c37f65cc45d4b6b95ec44Pavel BřezinaMODULE_CONFIG_OPTS = --enable-xthreads --enable-loadable-i18n \
3a5ea81007bd38ce511c37f65cc45d4b6b95ec44Pavel Březina --disable-xf86bigfont \
3a5ea81007bd38ce511c37f65cc45d4b6b95ec44Pavel Březina --with-xcb=yes --enable-loadable-xcursor --enable-xcms \
3a5ea81007bd38ce511c37f65cc45d4b6b95ec44Pavel Březina --enable-xlocaledir --enable-xkb --enable-man-pages=$(LIB_MAN_SUFFIX) \
3a5ea81007bd38ce511c37f65cc45d4b6b95ec44Pavel Březina --with-locale-lib-dir='$${exec_prefix}/lib/X11/locale$(LIBSUBDIR)'
3a5ea81007bd38ce511c37f65cc45d4b6b95ec44Pavel Březina
3a5ea81007bd38ce511c37f65cc45d4b6b95ec44Pavel Březina# -xF is needed for mapfile reordering to work
3a5ea81007bd38ce511c37f65cc45d4b6b95ec44Pavel BřezinaMODULE_CFLAGS = -xF
3a5ea81007bd38ce511c37f65cc45d4b6b95ec44Pavel Březina
3a5ea81007bd38ce511c37f65cc45d4b6b95ec44Pavel Březina# -DSUNSOFT enables Solaris extensions
3a5ea81007bd38ce511c37f65cc45d4b6b95ec44Pavel Březina# -DMOTIFBC enables compatibility with bugs in Motif & other apps
641d684ee88c6540a4cf1d74d258614f615699fePavel Březina# -DSUNSOFT_KBD enables Solaris traditional keyboard handling
641d684ee88c6540a4cf1d74d258614f615699fePavel BřezinaMODULE_CPPFLAGS = -DSUNSOFT -DMOTIFBC -DSUNSOFT_KBD \
641d684ee88c6540a4cf1d74d258614f615699fePavel Březina -I$(PROTODIR)/usr/include/X11 \
641d684ee88c6540a4cf1d74d258614f615699fePavel Březina -I$(PROTODIR)/usr/include/xcb
641d684ee88c6540a4cf1d74d258614f615699fePavel Březina
641d684ee88c6540a4cf1d74d258614f615699fePavel BřezinaMODULE_LDFLAGS = -R$(X11_LIB_DIR)$(ARCHLIBSUBDIR)
641d684ee88c6540a4cf1d74d258614f615699fePavel Březina
e87b2a6e94c1066b3044fe683825ff5b4f8716c2Pavel Březina# Need to ignore extra libraries like -lsocket & -lnsl in i18n modules
e87b2a6e94c1066b3044fe683825ff5b4f8716c2Pavel BřezinaMODULE_LD_OPTIONS = -z ignore
e87b2a6e94c1066b3044fe683825ff5b4f8716c2Pavel Březina
641d684ee88c6540a4cf1d74d258614f615699fePavel Březina# Backwards compatibility for old paths until g11n moves all input methods
641d684ee88c6540a4cf1d74d258614f615699fePavel BřezinaMODULE_CONFIG_ENV = \
641d684ee88c6540a4cf1d74d258614f615699fePavel Březina XLOCALEDIR="/usr/share/X11/locale:/usr/X11/share/X11/locale" \
641d684ee88c6540a4cf1d74d258614f615699fePavel Březina XLOCALELIBDIR="/usr/lib/X11/locale$(LIBSUBDIR):/usr/X11/lib/X11/locale$(LIBSUBDIR)"
641d684ee88c6540a4cf1d74d258614f615699fePavel Březina
71965bb18407ff45ada9e47cb6def086e48663c6Pavel Březina# Work around libtool's interference
71965bb18407ff45ada9e47cb6def086e48663c6Pavel BřezinaDELIBTOOLIZE=yes
71965bb18407ff45ada9e47cb6def086e48663c6Pavel Březina
71965bb18407ff45ada9e47cb6def086e48663c6Pavel Březina# Use -KPIC instead of -Kpic because we have too many symbols on SPARC
71965bb18407ff45ada9e47cb6def086e48663c6Pavel BřezinaDELIBTOOLIZE_FLAGS_sparc = -P
71965bb18407ff45ada9e47cb6def086e48663c6Pavel BřezinaDELIBTOOLIZE_FLAGS_i386 =
71965bb18407ff45ada9e47cb6def086e48663c6Pavel BřezinaDELIBTOOLIZE_FLAGS = $(DELIBTOOLIZE_FLAGS_$(MACH))
71965bb18407ff45ada9e47cb6def086e48663c6Pavel Březina
71965bb18407ff45ada9e47cb6def086e48663c6Pavel Březina# Need additional mapfile for additional symbols in 64-bit versions
71965bb18407ff45ada9e47cb6def086e48663c6Pavel BřezinaMODULE_BUILD_64_FLAGS = ADD_libX11_LDFLAGS="-M $(PWD)/mapfile-vers-64"
71965bb18407ff45ada9e47cb6def086e48663c6Pavel Březina
71965bb18407ff45ada9e47cb6def086e48663c6Pavel Březina# pkg-config files that need to have -R added
71965bb18407ff45ada9e47cb6def086e48663c6Pavel BřezinaFIX_PC_FILES=x11.pc.in
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina# Regenerate Makefile.in's from Makefile.am's after patching them
3688374991afb34bbaf2b7843683fc13dd77879dPavel BřezinaAUTORECONF=yes
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina# Merge in additional sources from sun-src directory
3688374991afb34bbaf2b7843683fc13dd77879dPavel BřezinaADDITIONAL_SOURCE_DIR=sun-src
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina# Install additional headers we need in other parts of the build or ship in
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina# packages, but which X.Org doesn't
3688374991afb34bbaf2b7843683fc13dd77879dPavel BřezinaMODULE_ADD_INSTALL_TARGETS_32 = install_extra_headers
3688374991afb34bbaf2b7843683fc13dd77879dPavel BřezinaMODULE_ADD_INSTALL_TARGETS = $(MODULE_ADD_INSTALL_TARGETS_$(BUILD_TYPE))
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina# Extra links to libX11 for compatibility with SVID / SPARC ABI / etc.
3688374991afb34bbaf2b7843683fc13dd77879dPavel BřezinaEXTRA_LINKS = libX.so libX.so.4 libX11.so.5
3688374991afb34bbaf2b7843683fc13dd77879dPavel BřezinaMODULE_ADD_INSTALL_TARGETS += install_extra_links
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina# Compatibility links from /usr/X11/lib to /usr/lib
3688374991afb34bbaf2b7843683fc13dd77879dPavel BřezinaMODULE_X11_LIBCOMPAT_LINKS = libX11.so libX11.so.4 $(EXTRA_LINKS)
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březinainclude ../Makefile.inc
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březinainstall_extra_headers: $(INSTALL_DEPS)
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina mkdir -p $(PROTODIR)$(X11_INCLUDES_DIR)/X11/extensions
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina cp -pf sun-src/include/X11/Xvarargs.h \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina $(PROTODIR)$(X11_INCLUDES_DIR)/X11/
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina cp -pf sun-src/include/X11/extensions/XInteractive.h \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina $(PROTODIR)$(X11_INCLUDES_DIR)/X11/extensions/
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina cp -pf $(SOURCE_DIR)/src/xlibi18n/Xlc*.h \
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina $(PROTODIR)$(X11_INCLUDES_DIR)/X11/
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina# Install additional links to libX11 that we include in our packages
3688374991afb34bbaf2b7843683fc13dd77879dPavel BřezinaEXTRA_PROTO_LINKS = $(EXTRA_LINKS:%=$(PROTODIR)$(MODULE_PREFIX)/lib$(ARCHLIBSUBDIR)/%)
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina$(EXTRA_PROTO_LINKS): $(INSTALL_DEPS)
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina @rm -f $@
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina ln -s libX11.so.4 $@
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březinainstall_extra_links: $(EXTRA_PROTO_LINKS)
3688374991afb34bbaf2b7843683fc13dd77879dPavel Březina