243N/A#
243N/A# CDDL HEADER START
243N/A#
243N/A# The contents of this file are subject to the terms of the
243N/A# Common Development and Distribution License (the "License").
243N/A# You may not use this file except in compliance with the License.
243N/A#
243N/A# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
243N/A# or http://www.opensolaris.org/os/licensing.
243N/A# See the License for the specific language governing permissions
243N/A# and limitations under the License.
243N/A#
243N/A# When distributing Covered Code, include this CDDL HEADER in each
243N/A# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
243N/A# If applicable, add the following below this CDDL HEADER, with the
243N/A# fields enclosed by brackets "[]" replaced with your own identifying
243N/A# information: Portions Copyright [yyyy] [name of copyright owner]
243N/A#
243N/A# CDDL HEADER END
243N/A#
243N/A
243N/A#
3996N/A# Copyright (c) 2011, 2015, Oracle and/or its affiliates. All rights reserved.
243N/A#
243N/A
3996N/ACOMPILER=gcc
3996N/A
243N/Ainclude ../../make-rules/shared-macros.mk
243N/A
243N/ACOMPONENT_NAME= gdb
2131N/ACOMPONENT_VERSION= 7.6
243N/ACOMPONENT_SRC= $(COMPONENT_NAME)-$(COMPONENT_VERSION)
243N/ACOMPONENT_ARCHIVE= $(COMPONENT_SRC).tar.gz
844N/ACOMPONENT_ARCHIVE_HASH= \
2131N/A sha256:8070389a5dcc104eb0be483d582729f98ed4d761ad19cedd3f17b5d2502faa36
243N/ACOMPONENT_ARCHIVE_URL= http://ftp.gnu.org/gnu/gdb/$(COMPONENT_ARCHIVE)
2131N/ACOMPONENT_PROJECT_URL = http://www.gnu.org/software/gdb/
1273N/ACOMPONENT_BUGDB= utility/gdb
243N/A
3661N/ATPNO= 17258
3661N/A
3996N/Ainclude $(WS_MAKE_RULES)/prep.mk
3996N/Ainclude $(WS_MAKE_RULES)/configure.mk
3996N/Ainclude $(WS_MAKE_RULES)/ips.mk
243N/A
2131N/A# GDB wants the GNU utilities
2238N/APATH=/usr/gnu/bin:$(GCC_ROOT)/bin:/usr/bin:/usr/perl5/bin
243N/A
2131N/ACFLAGS_sparc = -g -O2 -mcpu=ultrasparc -mtune=ultrasparc
2131N/ACFLAGS_sparc += -mno-unaligned-doubles
2131N/ACFLAGS_sparc += -mapp-regs -mhard-float
2131N/ACFLAGS_i386 = -g -O2 -march=opteron -mtune=opteron
2131N/ACFLAGS_EXTRA = -Wall -Wno-long-long -Wcast-align -fno-omit-frame-pointer
243N/A
2131N/ACFLAGS = $(CC_BITS) $(CFLAGS_EXTRA) $(CFLAGS_$(MACH))
2131N/ACXXFLAGS = $(CC_BITS) $(CFLAGS_EXTRA) $(CFLAGS_$(MACH))
2131N/ACPPFLAGS = -D_REENTRANT -I/usr/include/ncurses
243N/A
243N/A# `echo $(CFLAGS)` and `echo $(LDFLAGS)` used to
243N/A# work around problem with extra blank characters
243N/A# inserted into configrue option strings during
243N/A# nested configure invocations within the gdb build.
243N/A
243N/ACONFIGURE_ENV += CFLAGS="`echo $(CFLAGS)`"
2131N/ACONFIGURE_ENV += CPPFLAGS="`echo $(CPPFLAGS)`"
243N/ACONFIGURE_ENV += LDFLAGS="`echo $(LDFLAGS)`"
243N/A
243N/ACONFIGURE_OPTIONS += --with-x=no
243N/ACONFIGURE_OPTIONS += --with-curses
2131N/ACONFIGURE_OPTIONS += --disable-werror
2131N/ACONFIGURE_OPTIONS += --enable-plugins
2131N/ACONFIGURE_OPTIONS += --enable-tui
2131N/ACONFIGURE_OPTIONS += --without-auto-load-safe-path
2131N/ACONFIGURE_OPTIONS += --with-python=yes
243N/ACONFIGURE_OPTIONS += --with-libexpat-prefix=/usr/lib
370N/ACONFIGURE_OPTIONS += --infodir=$(CONFIGURE_INFODIR)
243N/A
2131N/A# Generate the newly added Solaris instruction and
2131N/A# register tables which weren't there by default.
2131N/ACOMPONENT_PRE_CONFIGURE_ACTION = \
2131N/A ( cd $(SOURCE_DIR)/gdb/features ; \
2131N/A $(GMAKE) all )
2131N/A
2131N/ACOMPONENT_POST_INSTALL_ACTION = \
2131N/A ( cd $(PROTOUSRDIR)/share/gdb/python/gdb ; \
2131N/A $(PYTHON) -m compileall . ; \
2131N/A cd $(PROTOUSRDIR)/share/gdb/python/gdb/command ; \
2131N/A $(PYTHON) -m compileall . ; \
2131N/A cd $(PROTOUSRDIR)/share/gdb/python/gdb/function ; \
2131N/A $(PYTHON) -m compileall . ; \
2131N/A cd $(PROTOUSRBINDIR64)/ ; \
2131N/A /usr/bin/strip -x gdb ; \
2131N/A cd $(COMPONENT_DIR) ; \
2131N/A $(INSTALL) -m 0755 $(COMPONENT_DIR)/Solaris/gdbtui \
2131N/A $(PROTOUSRBINDIR)/ ; \
2131N/A $(INSTALL) -m 0644 $(SOURCE_DIR)/gdb/doc/gdb.info \
2131N/A $(PROTOUSRSHAREDIR)/info/ ; \
2131N/A $(INSTALL) -m 0644 $(SOURCE_DIR)/gdb/doc/gdb.info-1 \
2131N/A $(PROTOUSRSHAREDIR)/info/ ; \
2131N/A $(INSTALL) -m 0644 $(SOURCE_DIR)/gdb/doc/gdb.info-2 \
2131N/A $(PROTOUSRSHAREDIR)/info/ ; \
2131N/A $(INSTALL) -m 0644 $(SOURCE_DIR)/gdb/doc/gdb.info-3 \
2131N/A $(PROTOUSRSHAREDIR)/info/ ; \
2131N/A $(INSTALL) -m 0644 $(SOURCE_DIR)/gdb/doc/gdb.info-4 \
2131N/A $(PROTOUSRSHAREDIR)/info/ ; \
2131N/A $(INSTALL) -m 0644 $(SOURCE_DIR)/gdb/doc/gdb.info-5 \
2131N/A $(PROTOUSRSHAREDIR)/info/ ; \
2131N/A $(INSTALL) -m 0644 $(SOURCE_DIR)/gdb/doc/gdb.info-6 \
2131N/A $(PROTOUSRSHAREDIR)/info/ ; \
2131N/A $(INSTALL) -m 0644 $(SOURCE_DIR)/gdb/doc/gdb.info-7 \
2131N/A $(PROTOUSRSHAREDIR)/info/ ; \
2131N/A $(INSTALL) -m 0644 $(SOURCE_DIR)/gdb/doc/gdbint.info \
2131N/A $(PROTOUSRSHAREDIR)/info/ ; \
2131N/A $(INSTALL) -m 0644 $(SOURCE_DIR)/gdb/doc/gdbint.info-1 \
2131N/A $(PROTOUSRSHAREDIR)/info/ ; \
2131N/A $(INSTALL) -m 0644 $(SOURCE_DIR)/gdb/doc/gdbint.info-2 \
2131N/A $(PROTOUSRSHAREDIR)/info/ ; \
2131N/A $(INSTALL) -m 0644 $(SOURCE_DIR)/gdb/doc/annotate.info \
2131N/A $(PROTOUSRSHAREDIR)/info/ ; \
2131N/A $(INSTALL) -m 0644 $(SOURCE_DIR)/gdb/doc/stabs.info \
2131N/A $(PROTOUSRSHAREDIR)/info/ )
2131N/A
2131N/A# Disable ASLR: it's a debugger and we do not want to risk
2131N/A# altering the results of the debugging experiment.
2131N/AASLR_MODE=$(ASLR_DISABLE)
2131N/A
243N/A# common targets
316N/Abuild: $(BUILD_64)
243N/A
316N/Ainstall: $(INSTALL_64)
243N/A
243N/Atest: $(NO_TESTS)
243N/A
243N/A
3996N/AREQUIRED_PACKAGES += compress/xz
3996N/AREQUIRED_PACKAGES += library/expat
3996N/AREQUIRED_PACKAGES += library/ncurses
3996N/AREQUIRED_PACKAGES += library/readline
3996N/AREQUIRED_PACKAGES += library/zlib
3996N/AREQUIRED_PACKAGES += runtime/python-26
3996N/AREQUIRED_PACKAGES += shell/ksh93
3996N/AREQUIRED_PACKAGES += system/library
3996N/AREQUIRED_PACKAGES += system/library/math
3996N/AREQUIRED_PACKAGES += system/linker