Sun, 03 Nov 2013 07:32:11 +0000
Merge
1 #
2 # Copyright (c) 2005, 2012, 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 #
26 #
27 # Shared variables for standard unix utilties on all platforms.
28 #
29 # Assumes Platform.gmk has been included before this file.
30 #
31 # These input UTILS_* variables can be defined at anytime, ideally once.
32 # Unix Commands: Normally /bin/, /usr/bin/. or C:/mksnt/mksnt/
33 # UTILS_COMMAND_PATH
34 # /usr/bin/
35 # UTILS_USR_BIN_PATH
36 # /usr/ccs/bin/ (sccs, m4, lex, yacc, as, ar, strip, mcs)
37 # UTILS_CCS_BIN_PATH
38 # Dev Tools: zip, unzip, etc that we may have special versions of
39 # UTILS_DEVTOOL_PATH
40 #
41 # WARNING: This file cannot assume that any of these utilties are available
42 # to be run via their variable names defined here.
43 # The paths inside the UTILS_* variables may not be defined yet.
44 #
45 # Note: There is no guarantee that all these exist on all platforms.
46 # Some only make sense for one platform, but are harmless.
47 #
49 ifeq ($(PLATFORM),linux)
50 UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH)
51 UTILS_USR_BIN_PATH=$(USRBIN_PATH)
52 UTILS_CCS_BIN_PATH=$(USRBIN_PATH)
53 UTILS_DEVTOOL_PATH=$(USRBIN_PATH)
54 endif
56 ifeq ($(PLATFORM),bsd)
57 UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH)
58 UTILS_USR_BIN_PATH=$(USRBIN_PATH)
59 UTILS_CCS_BIN_PATH=$(USRBIN_PATH)
60 UTILS_DEVTOOL_PATH=$(DEVTOOLS_PATH)
61 endif
63 ifeq ($(PLATFORM),solaris)
64 UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH)
65 UTILS_USR_BIN_PATH=$(UNIXCOMMAND_PATH)
66 UTILS_CCS_BIN_PATH=$(UNIXCCS_PATH)
67 UTILS_DEVTOOL_PATH=$(DEVTOOLS_PATH)
68 endif
70 ifeq ($(PLATFORM),windows)
71 UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH)
72 UTILS_USR_BIN_PATH=$(UNIXCOMMAND_PATH)
73 UTILS_CCS_BIN_PATH=$(UNIXCOMMAND_PATH)
74 UTILS_DEVTOOL_PATH=$(DEVTOOLS_PATH)
75 endif
77 # Utilities
78 ADB = $(UTILS_COMMAND_PATH)adb
79 AR = $(UTILS_CCS_BIN_PATH)ar
80 AS = $(UTILS_CCS_BIN_PATH)as
81 BASENAME = $(UTILS_COMMAND_PATH)basename
82 CAT = $(UTILS_COMMAND_PATH)cat
83 CHMOD = $(UTILS_COMMAND_PATH)chmod
84 CMP = $(UTILS_USR_BIN_PATH)cmp
85 COMM = $(UTILS_USR_BIN_PATH)comm
86 COMPRESS = $(UTILS_USR_BIN_PATH)compress
87 CP = $(UTILS_COMMAND_PATH)cp
88 CPIO = $(UTILS_COMMAND_PATH)cpio
89 CUT = $(UTILS_USR_BIN_PATH)cut
90 DATE = $(UTILS_COMMAND_PATH)date
91 DF = $(UTILS_COMMAND_PATH)df
92 DIFF = $(UTILS_USR_BIN_PATH)diff
93 DIRNAME = $(UTILS_USR_BIN_PATH)dirname
94 ECHO = $(UTILS_COMMAND_PATH)echo
95 EGREP = $(UTILS_COMMAND_PATH)egrep
96 EXPR = $(UTILS_USR_BIN_PATH)expr
97 FILE = $(UTILS_USR_BIN_PATH)file
98 FIND = $(UTILS_USR_BIN_PATH)find
99 FMT = $(UTILS_COMMAND_PATH)fmt
100 GDB = $(UTILS_USR_BIN_PATH)gdb
101 GREP = $(UTILS_COMMAND_PATH)grep
102 GUNZIP = $(UTILS_COMMAND_PATH)gunzip
103 HEAD = $(UTILS_USR_BIN_PATH)head
104 ID = $(UTILS_COMMAND_PATH)id
105 ISAINFO = $(UTILS_COMMAND_PATH)isainfo
106 KSH = $(UTILS_COMMAND_PATH)ksh
107 LD = $(UTILS_CCS_BIN_PATH)ld
108 LEX = $(UTILS_CCS_BIN_PATH)lex
109 LN = $(UTILS_COMMAND_PATH)ln
110 LS = $(UTILS_COMMAND_PATH)ls
111 MCS = $(UTILS_CCS_BIN_PATH)mcs
112 M4 = $(UTILS_CCS_BIN_PATH)m4
113 MKDIR = $(UTILS_COMMAND_PATH)mkdir
114 MKSINFO = $(UTILS_COMMAND_PATH)mksinfo
115 MSGFMT = $(UTILS_USR_BIN_PATH)msgfmt
116 MV = $(UTILS_COMMAND_PATH)mv
117 NAWK = $(UTILS_USR_BIN_PATH)nawk
118 NM = $(UTILS_CCS_BIN_PATH)nm
119 PKGMK = $(UTILS_COMMAND_PATH)pkgmk
120 PRINTF = $(UTILS_USR_BIN_PATH)printf
121 PWD = $(UTILS_COMMAND_PATH)pwd
122 RC = $(UTILS_COMMAND_PATH)rc
123 RMDIR = $(UTILS_COMMAND_PATH)rmdir
124 RPM = $(UTILS_COMMAND_PATH)rpm
125 RPMBUILD = $(UTILS_COMMAND_PATH)rpmbuild
126 SED = $(UTILS_COMMAND_PATH)sed
127 SH = $(UTILS_COMMAND_PATH)sh
128 SHOWREV = $(UTILS_USR_BIN_PATH)showrev
129 SORT = $(UTILS_COMMAND_PATH)sort
130 STRIP = $(UTILS_CCS_BIN_PATH)strip
131 TAIL = $(UTILS_USR_BIN_PATH)tail
132 TAR = $(UTILS_COMMAND_PATH)tar
133 TEST = $(UTILS_USR_BIN_PATH)test
134 TOUCH = $(UTILS_COMMAND_PATH)touch
135 TR = $(UTILS_USR_BIN_PATH)tr
136 TRUE = $(UTILS_COMMAND_PATH)true
137 UNAME = $(UTILS_COMMAND_PATH)uname
138 UNIQ = $(UTILS_USR_BIN_PATH)uniq
139 UNZIP = $(UTILS_USR_BIN_PATH)unzip
140 UNZIPSFX = $(UTILS_DEVTOOL_PATH)unzipsfx
141 WC = $(UTILS_USR_BIN_PATH)wc
142 WHICH = $(UTILS_USR_BIN_PATH)which
143 YACC = $(UTILS_CCS_BIN_PATH)yacc
144 ZIPEXE = $(UTILS_DEVTOOL_PATH)zip
146 # Special cases
147 #RM is defined by GNU Make as 'rm -f'
148 CD = cd # intrinsic unix command
150 # Windows specific
151 ifeq ($(PLATFORM),windows)
152 ifdef USING_CYGWIN
153 # Intrinsic unix command, with backslash-escaped character interpretation
154 ECHO = $(UNIXCOMMAND_PATH)echo -e
155 ZIPEXE = $(UNIXCOMMAND_PATH)zip
156 UNZIP = $(UNIXCOMMAND_PATH)unzip
157 # Some CYGWIN nawk versions require BINMODE=w for proper '\r' interpretation
158 NAWK = $(UNIXCOMMAND_PATH)awk -v BINMODE=w
159 else
160 ifdef USING_MSYS
161 ECHO = $(UTILS_COMMAND_PATH)echo -e
162 ZIPEXE = $(UTILS_DEVTOOL_PATH)zip
163 UNZIP = $(UTILS_DEVTOOL_PATH)unzip
164 NAWK = $(UNIXCOMMAND_PATH)awk
165 else
166 ZIPEXE = $(UTILS_DEVTOOL_PATH)zip
167 UNZIP = $(UTILS_DEVTOOL_PATH)unzip
168 NAWK = $(UNIXCOMMAND_PATH)awk
169 endif
170 endif
171 # Re-define some utilities
172 LEX =# override GNU Make intrinsic: no lex on windows
173 SHA1SUM = $(UNIXCOMMAND_PATH)openssl sha1
174 endif
176 # Linux specific
177 ifeq ($(PLATFORM),linux)
178 # A few redefines
179 # Allows for builds on Debian GNU Linux, basename is in a different place
180 BASENAME=$(firstword $(wildcard $(UTILS_COMMAND_PATH)basename) \
181 $(wildcard $(UTILS_USR_BIN_PATH)basename))
182 # RPM 4 has replaced "rpm -b" with an entirely new utility "rpmbuild".
183 # Also, some distribution (Ubuntu, Debian, others?) place the rpm command
184 # itself in /usr/bin rather than it's traditional home in /bin.
185 RPM=$(firstword $(wildcard $(UTILS_COMMAND_PATH)rpm) \
186 $(wildcard $(UTILS_USR_BIN_PATH)rpm))
187 RPMBUILD=$(firstword $(wildcard $(UTILS_COMMAND_PATH)rpmbuild) \
188 $(wildcard $(UTILS_USR_BIN_PATH)rpmbuild) \
189 $(wildcard $(UTILS_COMMAND_PATH)rpm) \
190 $(wildcard $(UTILS_USR_BIN_PATH)rpm))
191 # Most Linux distros have "sort" in /bin. Ubuntu, Debian and perhaps
192 # others have it in /usr/bin.
193 SORT=$(firstword $(wildcard $(UTILS_COMMAND_PATH)sort) \
194 $(wildcard $(UTILS_USR_BIN_PATH)sort))
195 NAWK = $(USRBIN_PATH)gawk
196 # Intrinsic unix command, with backslash-escaped character interpretation
197 ECHO = /bin/echo -e
198 # These are really in UTILS_USR_BIN_PATH on Linux (only sccs is not)
199 AR = $(UTILS_USR_BIN_PATH)ar
200 AS = $(UTILS_USR_BIN_PATH)as
201 LD = $(UTILS_USR_BIN_PATH)ld
202 LEX = $(UTILS_USR_BIN_PATH)lex
203 MCS = $(UTILS_USR_BIN_PATH)mcs
204 M4 = $(UTILS_USR_BIN_PATH)m4
205 NM = $(UTILS_USR_BIN_PATH)nm
206 STRIP = $(UTILS_USR_BIN_PATH)strip
207 YACC = $(UTILS_USR_BIN_PATH)yacc
208 endif
210 # Solaris specific
211 ifeq ($(PLATFORM),solaris)
212 # Intrinsic unix command, with backslash-escaped character interpretation
213 # (not using -e will cause build failure when using /bin/bash)
214 # (using -e breaks something else)
215 ECHO = /usr/bin/echo
216 endif
218 # BSD specific
219 ifeq ($(PLATFORM),bsd)
220 BASENAME = $(UTILS_USR_BIN_PATH)basename
221 EGREP = $(UTILS_USR_BIN_PATH)egrep
222 EXPR = $(UTILS_COMMAND_PATH)expr
223 FMT = $(UTILS_USR_BIN_PATH)fmt
224 GREP = $(UTILS_USR_BIN_PATH)grep
225 GUNZIP = $(UTILS_USR_BIN_PATH)gunzip
226 ID = $(UTILS_USR_BIN_PATH)id
227 MSGFMT = $(UTILS_DEVTOOL_PATH)msgfmt
228 SED = $(UTILS_USR_BIN_PATH)sed
229 SORT = $(UTILS_USR_BIN_PATH)sort
230 TEST = $(UTILS_COMMAND_PATH)test
231 TOUCH = $(UTILS_USR_BIN_PATH)touch
232 TRUE = $(UTILS_USR_BIN_PATH)true
233 UNAME = $(UTILS_USR_BIN_PATH)uname
234 # BSD OS_VENDOR specific
235 ifeq ($(OS_VENDOR), Apple)
236 NAWK = $(UTILS_USR_BIN_PATH)awk
237 UNZIPSFX = $(UTILS_USR_BIN_PATH)unzipsfx
238 ZIPEXE = $(UTILS_USR_BIN_PATH)zip
239 else
240 UNZIP = $(UTILS_DEVTOOL_PATH)unzip
241 endif
242 ifeq ($(OS_VENDOR), OpenBSD)
243 NAWK = $(UTILS_USR_BIN_PATH)awk
244 else
245 CPIO = $(UTILS_USR_BIN_PATH)cpio
246 TAR = $(UTILS_USR_BIN_PATH)tar
247 endif
248 endif