Wed, 13 Jun 2012 16:53:07 -0700
Merge
duke@1 | 1 | # |
ohair@158 | 2 | # Copyright (c) 2005, 2009, 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 |
duke@1 | 154 | ECHO = $(UNIXCOMMAND_PATH)echo -e |
duke@1 | 155 | ZIPEXE = $(UNIXCOMMAND_PATH)zip |
duke@1 | 156 | UNZIP = $(UNIXCOMMAND_PATH)unzip |
duke@1 | 157 | else |
duke@1 | 158 | ZIPEXE = $(UTILS_DEVTOOL_PATH)zip |
duke@1 | 159 | UNZIP = $(UTILS_DEVTOOL_PATH)unzip |
duke@1 | 160 | endif |
duke@1 | 161 | # Re-define some utilities |
duke@1 | 162 | LEX =# override GNU Make intrinsic: no lex on windows |
duke@1 | 163 | NAWK = $(UNIXCOMMAND_PATH)awk |
duke@1 | 164 | endif |
duke@1 | 165 | |
duke@1 | 166 | # Linux specific |
duke@1 | 167 | ifeq ($(PLATFORM),linux) |
duke@1 | 168 | # A few redefines |
duke@1 | 169 | # Allows for builds on Debian GNU Linux, basename is in a different place |
duke@1 | 170 | BASENAME=$(firstword $(wildcard $(UTILS_COMMAND_PATH)basename) \ |
duke@1 | 171 | $(wildcard $(UTILS_USR_BIN_PATH)basename)) |
duke@1 | 172 | # RPM 4 has replaced "rpm -b" with an entirely new utility "rpmbuild". |
duke@1 | 173 | # Also, some distribution (Ubuntu, Debian, others?) place the rpm command |
duke@1 | 174 | # itself in /usr/bin rather than it's traditional home in /bin. |
duke@1 | 175 | RPM=$(firstword $(wildcard $(UTILS_COMMAND_PATH)rpm) \ |
michaelm@340 | 176 | $(wildcard $(UTILS_USR_BIN_PATH)rpm)) |
duke@1 | 177 | RPMBUILD=$(firstword $(wildcard $(UTILS_COMMAND_PATH)rpmbuild) \ |
michaelm@340 | 178 | $(wildcard $(UTILS_USR_BIN_PATH)rpmbuild) \ |
michaelm@340 | 179 | $(wildcard $(UTILS_COMMAND_PATH)rpm) \ |
michaelm@340 | 180 | $(wildcard $(UTILS_USR_BIN_PATH)rpm)) |
duke@1 | 181 | # Most Linux distros have "sort" in /bin. Ubuntu, Debian and perhaps |
duke@1 | 182 | # others have it in /usr/bin. |
duke@1 | 183 | SORT=$(firstword $(wildcard $(UTILS_COMMAND_PATH)sort) \ |
michaelm@340 | 184 | $(wildcard $(UTILS_USR_BIN_PATH)sort)) |
duke@1 | 185 | NAWK = $(USRBIN_PATH)gawk |
duke@1 | 186 | # Intrinsic unix command, with backslash-escaped character interpretation |
duke@1 | 187 | ECHO = /bin/echo -e |
duke@1 | 188 | # These are really in UTILS_USR_BIN_PATH on Linux (only sccs is not) |
duke@1 | 189 | AR = $(UTILS_USR_BIN_PATH)ar |
duke@1 | 190 | AS = $(UTILS_USR_BIN_PATH)as |
duke@1 | 191 | LD = $(UTILS_USR_BIN_PATH)ld |
duke@1 | 192 | LEX = $(UTILS_USR_BIN_PATH)lex |
duke@1 | 193 | MCS = $(UTILS_USR_BIN_PATH)mcs |
duke@1 | 194 | M4 = $(UTILS_USR_BIN_PATH)m4 |
duke@1 | 195 | NM = $(UTILS_USR_BIN_PATH)nm |
duke@1 | 196 | STRIP = $(UTILS_USR_BIN_PATH)strip |
duke@1 | 197 | YACC = $(UTILS_USR_BIN_PATH)yacc |
duke@1 | 198 | endif |
duke@1 | 199 | |
duke@1 | 200 | # Solaris specific |
duke@1 | 201 | ifeq ($(PLATFORM),solaris) |
duke@1 | 202 | # Intrinsic unix command, with backslash-escaped character interpretation |
duke@1 | 203 | # (not using -e will cause build failure when using /bin/bash) |
duke@1 | 204 | # (using -e breaks something else) |
duke@1 | 205 | ECHO = /usr/bin/echo |
duke@1 | 206 | endif |
duke@1 | 207 | |
michaelm@340 | 208 | # BSD specific |
michaelm@340 | 209 | ifeq ($(PLATFORM),bsd) |
michaelm@340 | 210 | BASENAME = $(UTILS_USR_BIN_PATH)basename |
michaelm@340 | 211 | EGREP = $(UTILS_USR_BIN_PATH)egrep |
michaelm@340 | 212 | EXPR = $(UTILS_COMMAND_PATH)expr |
michaelm@340 | 213 | FMT = $(UTILS_USR_BIN_PATH)fmt |
michaelm@340 | 214 | GREP = $(UTILS_USR_BIN_PATH)grep |
michaelm@340 | 215 | GUNZIP = $(UTILS_USR_BIN_PATH)gunzip |
michaelm@340 | 216 | ID = $(UTILS_USR_BIN_PATH)id |
michaelm@340 | 217 | MSGFMT = $(UTILS_DEVTOOL_PATH)msgfmt |
michaelm@340 | 218 | SED = $(UTILS_USR_BIN_PATH)sed |
michaelm@340 | 219 | SORT = $(UTILS_USR_BIN_PATH)sort |
michaelm@340 | 220 | TEST = $(UTILS_COMMAND_PATH)test |
michaelm@340 | 221 | TOUCH = $(UTILS_USR_BIN_PATH)touch |
michaelm@340 | 222 | TRUE = $(UTILS_USR_BIN_PATH)true |
michaelm@340 | 223 | UNAME = $(UTILS_USR_BIN_PATH)uname |
michaelm@340 | 224 | # BSD OS_VENDOR specific |
michaelm@340 | 225 | ifeq ($(OS_VENDOR), Apple) |
michaelm@340 | 226 | NAWK = $(UTILS_USR_BIN_PATH)awk |
michaelm@340 | 227 | UNZIPSFX = $(UTILS_USR_BIN_PATH)unzipsfx |
michaelm@340 | 228 | ZIPEXE = $(UTILS_USR_BIN_PATH)zip |
michaelm@340 | 229 | else |
michaelm@340 | 230 | UNZIP = $(UTILS_DEVTOOL_PATH)unzip |
michaelm@340 | 231 | endif |
michaelm@340 | 232 | ifeq ($(OS_VENDOR), OpenBSD) |
michaelm@340 | 233 | NAWK = $(UTILS_USR_BIN_PATH)awk |
michaelm@340 | 234 | else |
michaelm@340 | 235 | CPIO = $(UTILS_USR_BIN_PATH)cpio |
michaelm@340 | 236 | TAR = $(UTILS_USR_BIN_PATH)tar |
michaelm@340 | 237 | endif |
michaelm@340 | 238 | endif |