mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-12-02 16:23:56 +08:00
f68e90a0fe
Support for Solaris 11.3 had already been obsoleted in GCC 13. However, since the only Solaris system in the cfarm was running 11.3, I've kept it in tree until now when both Solaris 11.4/SPARC and x86 systems have been added. This patch actually removes the Solaris 11.3 support. Apart from several minor simplifications, there are two more widespread changes: * In Solaris 11.4, libsocket and libnsl were folded into libc, so there's no longer a need to link them explictly. * Since Solaris 11.4, Solaris includes all crts needed by gcc (like crt1.o and gcrt1.o) with the base system. All workarounds to provide fallbacks can thus go. Bootstrapped without regressions on i386-pc-solaris2.11 and sparc-sun-solaris2.11 (as/ld, gas/ld, and gas/gld) as well as Solaris 11.3/x86 to ascertain that version is actually rejected. 2024-04-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> c++tools: * configure.ac (ax_lib_socket_nsl.m4): Don't sinclude. (AX_LIB_SOCKET_NSL): Don't call. (NETLIBS): Remove. * configure: Regenerate. * Makefile.in (NETLIBS): Remove. (g++-mapper-server$(exeext)): Remove $(NETLIBS). gcc: * config.gcc: Move *-*-solaris2.11.[0-3]* to unsupported list. <*-*-solaris2*> (default_use_cxa_atexit): Set unconditionally. * configure.ac (AX_LIB_SOCKET_NSL): Don't call. (NETLIBS): Remove. (gcc_cv_ld_aligned_shf_merge): Remove. (hidden_linkonce) <i?86-*-solaris2* | x86_64-*-solaris2*>: Remove. (gcc_cv_target_dl_iterate_phdr) <*-*-solaris2*>: Always set to yes. * Makefile.in (NETLIBS): Remove. * configure, config.in, aclocal.m4: Regenerate. * config/sol2.h: Don't check HAVE_SOLARIS_CRTS. (STARTFILE_SPEC): Remove !HAVE_SOLARIS_CRTS case. [USE_GLD] (LINK_EH_SPEC): Remove TARGET_DL_ITERATE_PHDR guard. * config/i386/i386.cc (USE_HIDDEN_LINKONCE): Remove guard. * varasm.cc (mergeable_string_section): Remove HAVE_LD_ALIGNED_SHF_MERGE handling. (mergeable_constant_section): Likewise. * doc/install.texi (Specific,i?86-*-solaris2*): Reference Solaris 11.4 only. (Specific, *-*-solaris2*): Document Solaris 11.3 removal. Remove 11.3 references and caveats. Update for 11.4. gcc/cp: * Make-lang.in (cc1plus$(exeext)): Remove $(NETLIBS). gcc/objcp: * Make-lang.in (cc1objplus$(exeext)): Remove $(NETLIBS). gcc/testsuite: * lib/target-supports.exp (check_effective_target_pie): Always enable on *-*-solaris2*. libgcc: * configure.ac <*-*-solaris2*> (libgcc_cv_solaris_crts): Remove. * config.host <*-*-solaris2*>: Remove !libgcc_cv_solaris_crts support. * configure, config.in: Regenerate. * config/sol2/gmon.c (internal_mcount) [!HAVE_SOLARIS_CRTS]: Remove. * config/i386/sol2-c1.S, config/sparc/sol2-c1.S: Remove. * config/sol2/t-sol2 (crt1.o, gcrt1.o): Remove. libstdc++-v3: * testsuite/lib/dg-options.exp (add_options_for_net_ts) <*-*-solaris2*>: Don't link with -lsocket -lnsl.
144 lines
3.8 KiB
Makefile
144 lines
3.8 KiB
Makefile
# Makefile for c++tools
|
|
# Copyright (C) 2020-2024 Free Software Foundation, Inc.
|
|
#
|
|
# This file is free software; you can redistribute it and/or modify
|
|
# it under the terms of the GNU General Public License as published by
|
|
# the Free Software Foundation; either version 3 of the License, or
|
|
# (at your option) any later version.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
# GNU General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public License
|
|
# along with this program; see the file COPYING3. If not see
|
|
# <http://www.gnu.org/licenses/>.
|
|
|
|
srcdir := @srcdir@
|
|
prefix := @prefix@
|
|
bindir := @bindir@
|
|
libexecdir := @libexecdir@
|
|
target_noncanonical := @target_noncanonical@
|
|
gcc_version := $(shell @get_gcc_base_ver@ $(srcdir)/../gcc/BASE-VER)
|
|
libexecsubdir := $(libexecdir)/gcc/$(target_noncanonical)/$(gcc_version)
|
|
INSTALL := @INSTALL@
|
|
INSTALL_PROGRAM := @INSTALL_PROGRAM@
|
|
INSTALL_STRIP_PROGRAM := $(srcdir)/../install-sh -c -s
|
|
AUTOCONF := @AUTOCONF@
|
|
AUTOHEADER := @AUTOHEADER@
|
|
CXX := @CXX@
|
|
CXXFLAGS := @CXXFLAGS@
|
|
PICFLAG := @PICFLAG@
|
|
LD_PICFLAG := @LD_PICFLAG@
|
|
CXXOPTS := $(CXXFLAGS) $(PICFLAG) -fno-exceptions -fno-rtti
|
|
LDFLAGS := @LDFLAGS@
|
|
exeext := @EXEEXT@
|
|
LIBIBERTY := ../libiberty/libiberty.a
|
|
VERSION.O := ../gcc/version.o
|
|
|
|
all::
|
|
|
|
mostlyclean::
|
|
rm -f $(MAPPER.O)
|
|
|
|
clean:: mostlyclean
|
|
rm -f g++-mapper-server$(exeext)
|
|
|
|
distclean:: clean
|
|
rm -f config.log config.status config.h config.cache Makefile
|
|
rm -f $(MAPPER.O:%.o=%.d)
|
|
|
|
maintainer-clean:: distclean
|
|
|
|
install::
|
|
|
|
check::
|
|
installcheck::
|
|
dvi::
|
|
pdf::
|
|
html::
|
|
info::
|
|
install-info::
|
|
install-pdf::
|
|
install-dvi::
|
|
install-man::
|
|
install-html::
|
|
|
|
install-strip: override INSTALL_PROGRAM = $(INSTALL_STRIP_PROGRAM)
|
|
ifneq ($(STRIP),)
|
|
install-strip: STRIPPROG = $(STRIP)
|
|
export STRIPPROG
|
|
endif
|
|
install-strip: install
|
|
|
|
vpath %.cc $(srcdir)
|
|
vpath %.in $(srcdir)
|
|
.SUFFIXES:
|
|
.SUFFIXES: .cc .o
|
|
|
|
# Per-source & per-directory compile flags (warning: recursive)
|
|
SRC_CXXFLAGS = $(CXXFLAGS$(patsubst $(srcdir)%,%,$1)) \
|
|
$(if $(filter-out $(srcdir)/,$1),\
|
|
$(call $0,$(dir $(patsubst %/,%,$1))))
|
|
|
|
%.o: %.cc
|
|
$(CXX) $(strip $(CXXOPTS) $(call SRC_CXXFLAGS,$<) $(CXXINC)) \
|
|
-MMD -MP -MF ${@:.o=.d} -c -o $@ $<
|
|
|
|
ifeq (@CXX_AUX_TOOLS@,yes)
|
|
|
|
all::g++-mapper-server$(exeext)
|
|
|
|
ifneq ($(PICFLAG),)
|
|
override LIBIBERTY := ../libiberty/pic/libiberty.a
|
|
endif
|
|
|
|
MAPPER.O := server.o resolver.o
|
|
CODYLIB = ../libcody/libcody.a
|
|
CXXINC += -I$(srcdir)/../libcody -I$(srcdir)/../include -I$(srcdir)/../gcc -I. -I../gcc
|
|
g++-mapper-server$(exeext): $(MAPPER.O) $(CODYLIB)
|
|
+$(CXX) $(LDFLAGS) $(PICFLAG) $(LD_PICFLAG) -o $@ $^ $(LIBIBERTY)
|
|
|
|
# copy to gcc dir so tests there can run
|
|
all::../gcc/g++-mapper-server$(exeext)
|
|
|
|
../gcc/g++-mapper-server$(exeext): g++-mapper-server$(exeext)
|
|
$(INSTALL) $< $@
|
|
|
|
install::
|
|
$(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(libexecsubdir)
|
|
$(INSTALL_PROGRAM) g++-mapper-server$(exeext) $(DESTDIR)$(libexecsubdir)
|
|
endif
|
|
|
|
ifneq ($(MAINTAINER),)
|
|
override MAINTAINER += $1
|
|
endif
|
|
ifeq (@MAINTAINER@,yes)
|
|
MAINTAINER = $2
|
|
else
|
|
MAINTAINER = \# --enable-maintainer-mode to rebuild $1, or make MAINTAINER=touch
|
|
endif
|
|
|
|
all:: Makefile
|
|
|
|
Makefile: $(srcdir)/Makefile.in config.status
|
|
$(SHELL) ./config.status Makefile
|
|
|
|
$(srcdir)/configure: $(srcdir)/configure.ac
|
|
$(call MAINTAINER,$@,cd $(@D) && $(AUTOCONF) -W all,error)
|
|
|
|
$(srcdir)/config.h.in: $(srcdir)/configure.ac
|
|
$(call MAINTAINER,$@,cd $(@D) && $(AUTOHEADER) -f -W all,error)
|
|
|
|
config.h: config.status config.h.in
|
|
./$< --header=$@
|
|
touch $@
|
|
|
|
config.status: $(srcdir)/configure $(srcdir)/config.h.in
|
|
if test -x $@; then ./$@ -recheck; else $< @configure_args@; fi
|
|
|
|
.PHONY: all check mostlyclean clean distclean maintainer-clean
|
|
|
|
-include $(MAPPER.O:.o=.d)
|