comparison gcc/cp/Make-lang.in @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
1 # Top level -*- makefile -*- fragment for GNU C++. 1 # Top level -*- makefile -*- fragment for GNU C++.
2 # Copyright (C) 1994-2017 Free Software Foundation, Inc. 2 # Copyright (C) 1994-2018 Free Software Foundation, Inc.
3 3
4 #This file is part of GCC. 4 #This file is part of GCC.
5 5
6 #GCC is free software; you can redistribute it and/or modify 6 #GCC is free software; you can redistribute it and/or modify
7 #it under the terms of the GNU General Public License as published by 7 #it under the terms of the GNU General Public License as published by
37 # Actual names to use when installing a native compiler. 37 # Actual names to use when installing a native compiler.
38 CXX_INSTALL_NAME := $(shell echo c++|sed '$(program_transform_name)') 38 CXX_INSTALL_NAME := $(shell echo c++|sed '$(program_transform_name)')
39 GXX_INSTALL_NAME := $(shell echo g++|sed '$(program_transform_name)') 39 GXX_INSTALL_NAME := $(shell echo g++|sed '$(program_transform_name)')
40 CXX_TARGET_INSTALL_NAME := $(target_noncanonical)-$(shell echo c++|sed '$(program_transform_name)') 40 CXX_TARGET_INSTALL_NAME := $(target_noncanonical)-$(shell echo c++|sed '$(program_transform_name)')
41 GXX_TARGET_INSTALL_NAME := $(target_noncanonical)-$(shell echo g++|sed '$(program_transform_name)') 41 GXX_TARGET_INSTALL_NAME := $(target_noncanonical)-$(shell echo g++|sed '$(program_transform_name)')
42 CP_PLUGIN_HEADERS := cp-tree.h cxx-pretty-print.h name-lookup.h type-utils.h 42 CP_PLUGIN_HEADERS := cp-tree.h cxx-pretty-print.h name-lookup.h type-utils.h operators.def
43 43
44 # 44 #
45 # Define the names for selecting c++ in LANGUAGES. 45 # Define the names for selecting c++ in LANGUAGES.
46 # Note that it would be nice to move the dependency on g++ 46 # Note that it would be nice to move the dependency on g++
47 # into the C++ rule, but that needs a little bit of work 47 # into the C++ rule, but that needs a little bit of work
71 $(C_COMMON_OBJS) $(CXX_TARGET_OBJS) 71 $(C_COMMON_OBJS) $(CXX_TARGET_OBJS)
72 72
73 # Language-specific object files for C++ and Objective C++. 73 # Language-specific object files for C++ and Objective C++.
74 CXX_AND_OBJCXX_OBJS = \ 74 CXX_AND_OBJCXX_OBJS = \
75 cp/call.o cp/class.o cp/constexpr.o cp/constraint.o \ 75 cp/call.o cp/class.o cp/constexpr.o cp/constraint.o \
76 cp/cp-array-notation.o cp/cp-cilkplus.o cp/cp-gimplify.o \ 76 cp/cp-gimplify.o \
77 cp/cp-objcp-common.o cp/cp-ubsan.o \ 77 cp/cp-objcp-common.o cp/cp-ubsan.o \
78 cp/cvt.o cp/cxx-pretty-print.o \ 78 cp/cvt.o cp/cxx-pretty-print.o \
79 cp/decl.o cp/decl2.o cp/dump.o \ 79 cp/decl.o cp/decl2.o cp/dump.o \
80 cp/error.o cp/except.o cp/expr.o \ 80 cp/error.o cp/except.o cp/expr.o \
81 cp/friend.o cp/init.o \ 81 cp/friend.o cp/init.o \
161 161
162 c++.man: doc/g++.1 162 c++.man: doc/g++.1
163 163
164 c++.srcman: doc/g++.1 164 c++.srcman: doc/g++.1
165 -cp -p $^ $(srcdir)/doc 165 -cp -p $^ $(srcdir)/doc
166
167 # C++ selftests
168
169 # If C++ is enabled, require the selftests to be run for it
170 # at each stage of the build:
171 selftest-c++: s-selftest-c++
172
173 CPP_SELFTEST_DEPS = cc1plus$(exeext) $(SELFTEST_DEPS)
174 CPP_SELFTEST_FLAGS = -xc++ $(SELFTEST_FLAGS)
175
176 # Run the C++ selftests
177 s-selftest-c++: $(CPP_SELFTEST_DEPS)
178 $(GCC_FOR_TARGET) $(CPP_SELFTEST_FLAGS)
179 $(STAMP) $@
180
181 # Convenience method for running C++ selftests under gdb:
182 .PHONY: selftest-c++-gdb
183 selftest-c++-gdb: $(CPP_SELFTEST_DEPS)
184 $(GCC_FOR_TARGET) $(CPP_SELFTEST_FLAGS) \
185 -wrapper gdb,--args
186
187 # Convenience method for running C++ selftests under valgrind:
188 .PHONY: selftest-c++-valgrind
189 selftest-c++-valgrind: $(CPP_SELFTEST_DEPS)
190 $(GCC_FOR_TARGET) $(CPP_SELFTEST_FLAGS) \
191 -wrapper valgrind,--leak-check=full
166 192
167 # 'make check' in gcc/ looks for check-c++, as do all toplevel C++-related 193 # 'make check' in gcc/ looks for check-c++, as do all toplevel C++-related
168 # check targets. However, our DejaGNU framework requires 'check-g++' as its 194 # check targets. However, our DejaGNU framework requires 'check-g++' as its
169 # entry point. We feed the former to the latter here. 195 # entry point. We feed the former to the latter here.
170 check-c++ : check-g++ 196 check-c++ : check-g++
236 echo $(INSTALL_DATA) $$path $(DESTDIR)$$dest; \ 262 echo $(INSTALL_DATA) $$path $(DESTDIR)$$dest; \
237 dir=`dirname $$dest`; \ 263 dir=`dirname $$dest`; \
238 $(mkinstalldirs) $(DESTDIR)$$dir; \ 264 $(mkinstalldirs) $(DESTDIR)$$dir; \
239 $(INSTALL_DATA) $$path $(DESTDIR)$$dest; \ 265 $(INSTALL_DATA) $$path $(DESTDIR)$$dest; \
240 done 266 done
267 # Install import library.
268 ifeq ($(plugin_implib),yes)
269 $(mkinstalldirs) $(DESTDIR)$(plugin_resourcesdir)
270 $(INSTALL_DATA) cc1plus$(exeext).a $(DESTDIR)/$(plugin_resourcesdir)/cc1plus$(exeext).a
271 endif
241 272
242 c++.uninstall: 273 c++.uninstall:
243 -rm -rf $(DESTDIR)$(bindir)/$(CXX_INSTALL_NAME)$(exeext) 274 -rm -rf $(DESTDIR)$(bindir)/$(CXX_INSTALL_NAME)$(exeext)
244 -rm -rf $(DESTDIR)$(bindir)/$(GXX_INSTALL_NAME)$(exeext) 275 -rm -rf $(DESTDIR)$(bindir)/$(GXX_INSTALL_NAME)$(exeext)
245 -rm -rf $(DESTDIR)$(man1dir)/$(GXX_INSTALL_NAME)$(man1ext) 276 -rm -rf $(DESTDIR)$(man1dir)/$(GXX_INSTALL_NAME)$(man1ext)