source: trunk/openjdk/jdk/make/common/shared/Compiler-gcc.gmk

Last change on this file was 448, checked in by dmik, 9 years ago

Remove SYM file generation on OS/2.

This doesn't make any practical sense as there is embedded HLL debug
info which is much more verbose than SYM and doesn't require separate
files (it is generated when -g option is passed to gcc).

This commint also removes the dependency on mapsym.exe and wmapsym.cmd.

File size: 4.3 KB
Line 
1#
2# Copyright (c) 2005, Oracle and/or its affiliates. All rights reserved.
3# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4#
5# This code is free software; you can redistribute it and/or modify it
6# under the terms of the GNU General Public License version 2 only, as
7# published by the Free Software Foundation. Oracle designates this
8# particular file as subject to the "Classpath" exception as provided
9# by Oracle in the LICENSE file that accompanied this code.
10#
11# This code is distributed in the hope that it will be useful, but WITHOUT
12# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14# version 2 for more details (a copy is included in the LICENSE file that
15# accompanied this code).
16#
17# You should have received a copy of the GNU General Public License version
18# 2 along with this work; if not, write to the Free Software Foundation,
19# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20#
21# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22# or visit www.oracle.com if you need additional information or have any
23# questions.
24#
25
26#
27# GCC Compiler settings
28#
29
30COMPILER_NAME=GCC
31
32ifeq ($(PLATFORM), windows)
33
34 # Settings specific to Windows, pretty stale, hasn't been used
35 CC = $(COMPILER_PATH)gcc
36 CPP = $(COMPILER_PATH)gcc -E
37 CXX = $(COMPILER_PATH)g++
38 CCC = $(COMPILER_PATH)g++
39 LIBEXE = $(COMPILER_PATH)lib
40 LINK = $(COMPILER_PATH)link
41 RC = $(MSDEVTOOLS_PATH)link
42 LINK32 = $(LINK)
43 RSC = $(RC)
44 # unset any GNU Make settings of MFLAGS and MAKEFLAGS which may mess up nmake
45 NMAKE = MFLAGS= MAKEFLAGS= $(COMPILER_PATH)nmake -nologo
46 ifeq ($(ARCH_DATA_MODEL), 32)
47 CC_VER = UNKNOWN
48 CC_TYPE = UNKNOWN
49 else
50 CC_VER = UNKNOWN
51 CC_TYPE = UNKNOWN
52 endif
53 _LINK_VER :=$(shell $(LINK) 2>&1 | $(HEAD) -n 1)
54 LINK_VER :=$(call GetVersion,"$(_LINK_VER)")
55
56endif
57
58ifeq ($(PLATFORM), os2)
59
60 # Settings specific to OS/2
61 CC = $(COMPILER_PATH)gcc
62 CPP = $(COMPILER_PATH)gcc -E
63 CXX = $(COMPILER_PATH)g++
64 REQUIRED_CC_VER = 3.2
65
66 LINK = $(COMPILER_PATH)g++
67 AR = $(COMPILER_PATH)emxomfar
68 IMPLIB = $(COMPILER_PATH)emximp
69
70 # Option used to create a shared library
71 SHARED_LIBRARY_FLAG = -Zdll
72 ifeq ($(EMXOMFLD_TYPE), VAC308)
73 # (for some reason -Zdll is not always converted to /DLL by emxomfld)
74 SHARED_LIBRARY_FLAG += -Zlinker /DLL
75 endif
76
77endif
78
79ifeq ($(PLATFORM), linux)
80
81 # Settings specific to Linux
82 CC = $(COMPILER_PATH)gcc
83 CPP = $(COMPILER_PATH)gcc -E
84 # statically link libstdc++ before C++ ABI is stablized on Linux
85 STATIC_CXX = true
86 ifeq ($(STATIC_CXX),true)
87 # g++ always dynamically links libstdc++, even we use "-Wl,-Bstatic -lstdc++"
88 # We need to use gcc to statically link the C++ runtime. gcc and g++ use
89 # the same subprocess to compile C++ files, so it is OK to build using gcc.
90 CXX = $(COMPILER_PATH)gcc
91 else
92 CXX = $(COMPILER_PATH)g++
93 endif
94 ifneq ("$(findstring sparc,$(ARCH))", "")
95 # sparc or sparcv9
96 REQUIRED_CC_VER = 4.0
97 REQUIRED_GCC_VER = 4.0.*
98 else
99 ifeq ($(ARCH_DATA_MODEL), 32)
100 # i586
101 REQUIRED_CC_VER = 3.2
102 REQUIRED_GCC_VER = 3.2.1*
103 REQUIRED_GCC_VER_INT = 3.2.1-7a
104 else
105 ifeq ($(ARCH), amd64)
106 # amd64
107 REQUIRED_CC_VER = 3.2
108 REQUIRED_GCC_VER = 3.2.*
109 endif
110 ifeq ($(ARCH), ia64)
111 # ia64
112 REQUIRED_CC_VER = 3.2
113 REQUIRED_GCC_VER = 2.9[56789].*
114 endif
115 endif
116 endif
117 # Option used to create a shared library
118 SHARED_LIBRARY_FLAG = -shared
119 SUN_COMP_VER := $(shell $(CC) --verbose 2>&1 )
120
121endif
122
123ifeq ($(PLATFORM), solaris)
124
125 # Settings specific to Solaris
126 CC = $(COMPILER_PATH)gcc
127 CPP = $(COMPILER_PATH)gcc -E
128 CXX = $(COMPILER_PATH)g++
129 REQUIRED_CC_VER = 3.2
130
131 # Option used to create a shared library
132 SHARED_LIBRARY_FLAG = -G
133 # But gcc is still needed no matter what on 32bit
134 ifeq ($(ARCH_DATA_MODEL), 32)
135 REQUIRED_GCC_VER = 2.95
136 GCC =$(GCC_COMPILER_PATH)gcc
137 _GCC_VER :=$(shell $(GCC) -dumpversion 2>&1 )
138 GCC_VER :=$(call GetVersion,"$(_GCC_VER)")
139 endif
140
141endif
142
143# Get gcc version
144_CC_VER :=$(shell $(CC) -dumpversion 2>&1 )
145CC_VER :=$(call GetVersion,"$(_CC_VER)")
146
Note: See TracBrowser for help on using the repository browser.