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