Makefile revision 4065
279N/A#
279N/A# CDDL HEADER START
279N/A#
279N/A# The contents of this file are subject to the terms of the
279N/A# Common Development and Distribution License (the "License").
279N/A# You may not use this file except in compliance with the License.
279N/A#
279N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
279N/A# or http://www.opensolaris.org/os/licensing.
279N/A# See the License for the specific language governing permissions
279N/A# and limitations under the License.
279N/A#
279N/A# When distributing Covered Code, include this CDDL HEADER in each
279N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
279N/A# If applicable, add the following below this CDDL HEADER, with the
279N/A# fields enclosed by brackets "[]" replaced with your own identifying
279N/A# information: Portions Copyright [yyyy] [name of copyright owner]
279N/A#
279N/A# CDDL HEADER END
279N/A
279N/A#
3697N/A# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
279N/A#
279N/A
279N/Ainclude ../../make-rules/shared-macros.mk
279N/A
279N/ACOMPONENT_NAME= sudo
2985N/ASRC_VERSION= 1.8.9
2985N/ASRC_PATCH_VERSION= 5
279N/ACOMPONENT_VERSION= $(SRC_VERSION).$(SRC_PATCH_VERSION)
279N/ACOMPONENT_SRC= $(COMPONENT_NAME)-$(SRC_VERSION)p$(SRC_PATCH_VERSION)
279N/ACOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
844N/ACOMPONENT_ARCHIVE_HASH= \
2985N/A sha256:bc9d5c96de5f8b4d2b014f87a37870aef60d2891c869202454069150a21a5c21
279N/ACOMPONENT_ARCHIVE_URL= http://www.sudo.ws/sudo/dist/$(COMPONENT_ARCHIVE)
279N/ACOMPONENT_PROJECT_URL= http://www.sudo.ws/
1273N/ACOMPONENT_BUGDB= utility/sudo
279N/A
2985N/ATPNO= 16733
2985N/A
3996N/Ainclude $(WS_MAKE_RULES)/prep.mk
3996N/Ainclude $(WS_MAKE_RULES)/configure.mk
3996N/Ainclude $(WS_MAKE_RULES)/ips.mk
279N/A
2635N/ACOMPONENT_PREP_ACTION = ( cd $(@D) ; $(AUTORECONF) -f -I m4 )
2635N/A
279N/ACONFIGURE_ENV += "CC=$(CC)"
1604N/ACONFIGURE_ENV += "CFLAGS=$(CFLAGS)"
279N/ACONFIGURE_ENV += "CXX=$(CXX)"
279N/ACONFIGURE_ENV += "MAKE=$(GMAKE)"
2985N/ACONFIGURE_ENV += "LDFLAGS=$(LDFLAGS)"
279N/A
279N/ACONFIGURE_OPTIONS += --with-ldap
279N/ACONFIGURE_OPTIONS += --with-project
840N/ACONFIGURE_OPTIONS += --with-timedir=/system/volatile/sudo
3697N/ACONFIGURE_OPTIONS += --with-pam
3697N/ACONFIGURE_OPTIONS += --with-pam-login
3697N/ACONFIGURE_OPTIONS += --disable-pam-session
447N/ACONFIGURE_OPTIONS += --with-tty-tickets
447N/ACONFIGURE_OPTIONS += --without-insults
447N/ACONFIGURE_OPTIONS += --without-lecture
447N/ACONFIGURE_OPTIONS += --with-ignore-dot
2635N/ACONFIGURE_OPTIONS += --with-solaris-audit
447N/ACONFIGURE_OPTIONS += --libexecdir=/usr/lib/sudo
924N/ACONFIGURE_OPTIONS += "sudo_cv_var_nroff_opt_Tascii=no"
279N/A
279N/ACOMPONENT_BUILD_ENV += CC=$(CC) CXX=$(CXX)
279N/ACOMPONENT_BUILD_ENV += "CFLAGS=$(CFLAGS)"
279N/A
447N/ACOMPONENT_INSTALL_TARGETS = install
2985N/ACOMPONENT_INSTALL_ARGS += bindir=$(USRBINDIR)
2985N/ACOMPONENT_INSTALL_ARGS += sbindir=$(USRSBINDIR)
2985N/A
279N/A
2635N/A# Enable aslr for this component
2635N/AASLR_MODE = $(ASLR_ENABLE)
2635N/A
279N/A# common targets
279N/A
2985N/A# 64 build corrupts audit logs because of 17561594. Until that is fixed do 32bit build.
447N/Abuild: $(BUILD_32)
279N/A
447N/Ainstall: $(INSTALL_32)
279N/A
2985N/AVISUDO=$(BUILD_DIR_32)/plugins/sudoers/visudo
2985N/Atest:
2985N/A # Since linking with libmd.so (which provides sha2 capability on
2985N/A # Solaris) is optional, we have a check here to make sure that the
2985N/A # configure script found it correctly.
2985N/A # http://www.sudo.ws/bugs/show_bug.cgi?id=641
2985N/A
2985N/A # Make sure that sudo is NOT built with it's internal sha2 implementation
2985N/A if [[ -n $$( elfdump -s "$(VISUDO)" | grep SHA256Init | grep -v UNDEF ) ]]; then \
2985N/A echo "SHA256Init is not an undefined symbol in $(VISUDO)"; \
2985N/A exit 1; \
2985N/A fi
2985N/A # ... but is linked with libmd instead
2985N/A if [[ -z $$( elfdump -d "$(VISUDO)" | grep 'NEEDED .* libmd.so' ) ]]; then \
2985N/A echo "$(VISUDO) is not linked against libmd.so"; \
2985N/A exit 1; \
2985N/A fi
2985N/A
279N/A
279N/A
3996N/AREQUIRED_PACKAGES += library/zlib
3996N/AREQUIRED_PACKAGES += system/library
4065N/AREQUIRED_PACKAGES += system/library/security/crypto