Makefile revision 7268
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User#
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# CDDL HEADER START
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User#
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# The contents of this file are subject to the terms of the
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# Common Development and Distribution License (the "License").
5347c0fcb04eaea19d9f39795646239f487c6207Tinderbox User# You may not use this file except in compliance with the License.
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User#
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User# or http://www.opensolaris.org/os/licensing.
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User# See the License for the specific language governing permissions
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User# and limitations under the License.
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User#
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt# When distributing Covered Code, include this CDDL HEADER in each
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox User# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
e108f2ec640e1acb54999c0ade58af606149956dTinderbox User# If applicable, add the following below this CDDL HEADER, with the
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User# fields enclosed by brackets "[]" replaced with your own identifying
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User# information: Portions Copyright [yyyy] [name of copyright owner]
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User#
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User# CDDL HEADER END
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User#
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User#
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User# Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved.
e108f2ec640e1acb54999c0ade58af606149956dTinderbox User#
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserBUILD_BITS=64_and_32
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox Userinclude ../../make-rules/shared-macros.mk
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserPATH=$(dir $(CC)):$(SPRO_VROOT)/bin:$(USRBINDIR):$(GNUBIN)
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserCOMPONENT_NAME= subversion
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserCOMPONENT_VERSION= 1.9.4
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserCOMPONENT_PROJECT_URL= http://subversion.apache.org/
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserCOMPONENT_ARCHIVE_HASH= \
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User sha256:11f738063f322b06f8c81e42bc26c33e0cb1e465539647109e534274d4a8540c
dec590a3deb8e87380a8bd3a77d535dba3729bf6Tinderbox UserCOMPONENT_ARCHIVE_URL= http://archive.apache.org/dist/subversion/$(COMPONENT_ARCHIVE)
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserCOMPONENT_BUGDB= utility/svn
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserTPNO= 30345
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox Userinclude $(WS_MAKE_RULES)/common.mk
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserPATCH_LEVEL := 0
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserJAVA_ROOT = $(JAVA_HOME)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserGNUCP = $(GNUBIN)/cp
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User# Because we can't seem to get -norunpath to the java bindings build any
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User# other way.
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserCXX += $(studio_NORUNPATH)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserCFLAGS += -features=extensions
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserCFLAGS += -D_REENTRANT -DNDEBUG -DSOLARIS
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserCXXFLAGS += -features=nestedaccess,tmplife,tmplrefstatic
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserCXXFLAGS += -template=geninlinefuncs
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserCXXFLAGS += $(CC_PIC)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserCXXFLAGS += -D_REENTRANT -DNDEBUG -DSOLARIS
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserCXXFLAGS += $(CPP_LARGEFILES)
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserCFLAGS += `pkg-config --cflags serf-1`
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserCFLAGS += $(CPP_LARGEFILES)
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserPYMODS := client core delta fs ra repos wc
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserPLMODS :=
9d557856c2a19ec95ee73245f60a92f8675cf5baTinderbox User
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox Userifneq (,$(findstring m64,$(CXXFLAGS)))
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User PLMODS = Fs Core Wc Client Repos Ra Delta
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox Userendif
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserCOMPONENT_TEST_MASTER = \
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User $(COMPONENT_TEST_RESULTS_DIR)/results-subversion.master
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
14a656f94b1fd0ababd84a772228dfa52276ba15Evan HuntCOMPONENT_TEST_TRANSFORMS += \
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User '-e "/libtool/d"' \
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User '-e "/-m32/d"' \
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User '-e "/-m64/d"' \
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User '-e "/Entering/d"' \
14a656f94b1fd0ababd84a772228dfa52276ba15Evan Hunt '-e "/Leaving/d"' \
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User '-e "/At least/d"' \
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User '-e "s^lib/$(MACH64)^lib/MACH64^g"' \
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User '-e "s/^make\[[0-9]\{1,\}\]/make/g"' \
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User '-e "/ld: warning/d"' \
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User '-e "/warning/d"'
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox User
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserPERL_VERSION.32 = none
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserPERL_VERSION.64 = 5.22
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserPERL_VERSION=$(PERL_VERSION.$(BITS))
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserPERL.32 = none
fd2597f75693a2279fdf588bd40dfe2407c42028Tinderbox UserPERL.64 = $(USRDIR)/perl5/$(PERL_VERSION)/bin/perl
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserPERL=$(PERL.$(BITS))
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserPERL_VERSION_22 = 5.22
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserPERL_ARCH_22_i386 = i86pc-solaris-thread-multi-64
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserPERL_ARCH_22_sparc = sun4-solaris-thread-multi-64
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserPERL_ARCH_22 = $(PERL_ARCH_22_$(MACH))
e108f2ec640e1acb54999c0ade58af606149956dTinderbox User
cd32f419a8a5432fbb139f56ee73cbf68b9350ccTinderbox UserAPR_VERSION = 1.5
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserAPR_UTIL_VERSION = 1.5
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User# Use the libraries just built plus the svn test harness library.
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserLD_TEST_PATH_32 := \
e108f2ec640e1acb54999c0ade58af606149956dTinderbox User $(PROTOUSRLIBDIR)/svn:$(BUILD_DIR_32)/subversion/tests/.libs
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserLD_TEST_PATH_64 := \
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User $(PROTOUSRLIBDIR)/svn/$(MACH64):$(BUILD_DIR_64)/subversion/tests/.libs
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User# Let's write some post-configure hacks
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox UserCOMPONENT_POST_CONFIGURE_ACTION = \
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User ( $(CLONEY) $(SOURCE_DIR) $(@D) ; \
1700442a7751c2bbdafe2d039cebbd8316496957Tinderbox User cd $(SOURCE_DIR) ; \
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User $(PYTHON.$(BITS)) ./build/transform_sql.py ./subversion/libsvn_fs_fs/rep-cache-db.sql < ./subversion/libsvn_fs_fs/rep-cache-db.sql > $(BUILD_DIR_$(BITS))/subversion/libsvn_fs_fs/rep-cache-db.h 2>&1 ; \
1ebb25608fa10737ea27abd4e0481707ccd45581Tinderbox User cd $(BUILD_DIR_$(BITS)) ; \
find . -type f -name "*.class" -exec rm -f {} \; > /dev/null 2>&1 ; \
cd $(BUILD_DIR_$(BITS)) ; \
$(GSED) -i 's/-mt//g' Makefile )
COMPONENT_BUILD_TARGETS = all swig-py swig-pl javahl
COMPONENT_INSTALL_TARGETS = install install-lib \
install-swig-pl install-swig-py \
install-javahl install-javahl-lib \
install-bin install-docs
$(BUILD_DIR)/$(MACH64)/.installed: COMPONENT_INSTALL_TARGETS += install-mods-shared
CONFIGURE_LIBDIR.32 = $(CONFIGURE_PREFIX)/lib/svn
CONFIGURE_LIBDIR.64 = $(CONFIGURE_PREFIX)/lib/svn/$(MACH64)
APR-CONFIG.32 = $(USRDIR)/apr/$(APR_VERSION)/bin/apr-1-config
APR-CONFIG.64 = $(USRDIR)/apr/$(APR_VERSION)/bin/$(MACH64)/apr-1-config
APU-CONFIG.32 = $(USRDIR)/apr-util/$(APR_UTIL_VERSION)/bin/apu-1-config
APU-CONFIG.64 = $(USRDIR)/apr-util/$(APR_UTIL_VERSION)/bin/$(MACH64)/apu-1-config
APXS.32 = no
APXS.64 = $(USRDIR)/apache2/2.4/bin/apxs
APR-CONFIG-RPATH.32 = $(USRDIR)/apr/$(APR_VERSION)/lib
APR-CONFIG-RPATH.64 = $(USRDIR)/apr/$(APR_VERSION)/lib/$(MACH64)
APU-CONFIG-RPATH.32 = $(USRDIR)/apr-util/$(APR_VERSION)/lib
APU-CONFIG-RPATH.64 = $(USRDIR)/apr-util/$(APR_VERSION)/lib/$(MACH64)
EXPAT_INCLUDE = $(USRINCDIR)
EXPAT_LIBDIR = $(USRLIB.$(BITS))
EXPAT_LIB = -lexpat
APACHE_LIBEXECDIR=$(USRDIR)/apache2/2.4/libexec
LDFLAGS += -R$(CONFIGURE_LIBDIR.$(BITS)) -R$(APR-CONFIG-RPATH.$(BITS)) \
-R$(APU-CONFIG-RPATH.$(BITS))
LD_OPTIONS += -R$(CONFIGURE_LIBDIR.$(BITS)) -R$(APR-CONFIG-RPATH.$(BITS)) \
-R$(APU-CONFIG-RPATH.$(BITS))
CONFIGURE_ENV += PYTHON="$(PYTHON.$(BITS))"
CONFIGURE_ENV += PYMODS="$(PYMODS)"
CONFIGURE_ENV += PYTHONPATH="$(PYTHON_VENDOR_PACKAGES.$(BITS))"
CONFIGURE_ENV += JAVA_ROOT="$(JAVA_ROOT)"
CONFIGURE_ENV += PERL="$(PERL)"
CONFIGURE_ENV += ac_cv_path_PERL="$(PERL)"
CONFIGURE_ENV += PLMODS="$(PLMODS)"
CONFIGURE_ENV += LD_OPTIONS="$(LD_OPTIONS)"
CONFIGURE_OPTIONS += --localstatedir=$(VARDIR)
CONFIGURE_OPTIONS += --enable-shared
CONFIGURE_OPTIONS += --disable-static
CONFIGURE_OPTIONS += --disable-libtool-lock
CONFIGURE_OPTIONS += --disable-experimental-libtool
CONFIGURE_OPTIONS += --with-apxs=$(APXS.$(BITS))
CONFIGURE_OPTIONS += --with-zlib=$(CONFIGURE_PREFIX)
CONFIGURE_OPTIONS += --with-jdk=$(JAVA_ROOT)
CONFIGURE_OPTIONS += --with-apr=$(USRDIR)/apr/$(APR_VERSION)
CONFIGURE_OPTIONS += --with-apr-util=$(USRDIR)/apr-util/$(APR_UTIL_VERSION)
CONFIGURE_OPTIONS += --enable-nls
CONFIGURE_OPTIONS += --disable-mod-activation
CONFIGURE_OPTIONS += --enable-javahl
CONFIGURE_OPTIONS += --with-swig
CONFIGURE_OPTIONS += --with-expat=$(EXPAT_INCLUDE):$(EXPAT_LIBDIR):$(EXPAT_LIB)
CONFIGURE_OPTIONS += --with-serf=$(CONFIGURE_PREFIIX)
CONFIGURE_OPTIONS += --with-apr=$(APR-CONFIG.$(BITS))
CONFIGURE_OPTIONS += --with-apr-util=$(APU-CONFIG.$(BITS))
CONFIGURE_OPTIONS += --with-apache-libexecdir=$(APACHE_LIBEXECDIR)
COMPONENT_BUILD_ENV += CFLAGS="$(CFLAGS)"
COMPONENT_BUILD_ENV += CXXFLAGS="$(CXXFLAGS)"
COMPONENT_BUILD_ENV += PYTHON="$(PYTHON.$(BITS))"
COMPONENT_BUILD_ENV += PYMODS="$(PYMODS)"
COMPONENT_BUILD_ENV += PYTHONPATH="$(PYTHON_VENDOR_PACKAGES.$(BITS))"
COMPONENT_BUILD_ENV += JAVA_ROOT="$(JAVA_ROOT)"
COMPONENT_BUILD_ENV += PERL="$(PERL)"
COMPONENT_BUILD_ENV += ac_cv_path_PERL="$(PERL)"
COMPONENT_BUILD_ENV += PLMODS="$(PLMODS)"
COMPONENT_BUILD_ENV += LD_OPTIONS="$(LD_OPTIONS)"
COMPONENT_BUILD_ENV += LDFLAGS="$(LDFLAGS)"
COMPONENT_TEST_ENV += LD_LIBRARY_PATH_32="$(LD_TEST_PATH_32)"
COMPONENT_TEST_ENV += LD_LIBRARY_PATH_64="$(LD_TEST_PATH_64)"
PKG_MACROS += PERL_ARCH_22="$(PERL_ARCH_22)"
PKG_MACROS += PYVER=$(PYTHON_VERSION)
# Swig overwrites the 32-bit directory with 64-bit objects.
# So we work around that.
COMPONENT_POST_INSTALL_ACTION += \
( cd $(PROTOUSRLIBDIR)/python$(PYTHON_VERSION) ; \
$(RM) -rf vendor-packages-$(BITS) ; \
$(MV) vendor-packages vendor-packages-$(BITS) ; \
$(MKDIR) -p vendor-packages ; \
$(MKDIR) -p vendor-packages/64 ; \
if test -d vendor-packages-64 ; then \
$(GNUCP) -rpd vendor-packages-64/libsvn vendor-packages/64/ ; \
$(GNUCP) -rpd vendor-packages-64/svn vendor-packages/64/ ; \
$(GNUCP) -rpd vendor-packages-32/libsvn vendor-packages/ ; \
$(GNUCP) -rpd vendor-packages-32/svn vendor-packages/ ; \
fi ; )
REQUIRED_PACKAGES += database/sqlite-3
REQUIRED_PACKAGES += developer/versioning/subversion
REQUIRED_PACKAGES += developer/build/scons
REQUIRED_PACKAGES += gnome/gnome-keyring
REQUIRED_PACKAGES += library/apr-15
REQUIRED_PACKAGES += library/apr-util-15
REQUIRED_PACKAGES += library/expat
REQUIRED_PACKAGES += library/glib2
REQUIRED_PACKAGES += library/gnome/gnome-keyring
REQUIRED_PACKAGES += library/libserf
REQUIRED_PACKAGES += library/zlib
REQUIRED_PACKAGES += runtime/perl-522
REQUIRED_PACKAGES += security/kerberos-5
REQUIRED_PACKAGES += system/library/c++-runtime
REQUIRED_PACKAGES += system/library/security/libsasl
REQUIRED_PACKAGES += system/library/security/libsasl2