1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/make/common/shared/Defs-utils.gmk Sat Dec 01 00:00:00 2007 +0000 1.3 @@ -0,0 +1,211 @@ 1.4 +# 1.5 +# Copyright 2005-2007 Sun Microsystems, Inc. All Rights Reserved. 1.6 +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 1.7 +# 1.8 +# This code is free software; you can redistribute it and/or modify it 1.9 +# under the terms of the GNU General Public License version 2 only, as 1.10 +# published by the Free Software Foundation. Sun designates this 1.11 +# particular file as subject to the "Classpath" exception as provided 1.12 +# by Sun in the LICENSE file that accompanied this code. 1.13 +# 1.14 +# This code is distributed in the hope that it will be useful, but WITHOUT 1.15 +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 1.16 +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 1.17 +# version 2 for more details (a copy is included in the LICENSE file that 1.18 +# accompanied this code). 1.19 +# 1.20 +# You should have received a copy of the GNU General Public License version 1.21 +# 2 along with this work; if not, write to the Free Software Foundation, 1.22 +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 1.23 +# 1.24 +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, 1.25 +# CA 95054 USA or visit www.sun.com if you need additional information or 1.26 +# have any questions. 1.27 +# 1.28 + 1.29 +# 1.30 +# Shared variables for standard unix utilties on all platforms. 1.31 +# 1.32 +# Assumes Platform.gmk has been included before this file. 1.33 +# 1.34 +# These input UTILS_* variables can be defined at anytime, ideally once. 1.35 +# Unix Commands: Normally /bin/, /usr/bin/. or C:/mksnt/mksnt/ 1.36 +# UTILS_COMMAND_PATH 1.37 +# /usr/bin/ 1.38 +# UTILS_USR_BIN_PATH 1.39 +# /usr/ccs/bin/ (sccs, m4, lex, yacc, as, ar, strip, mcs) 1.40 +# UTILS_CCS_BIN_PATH 1.41 +# Dev Tools: zip, unzip, etc that we may have special versions of 1.42 +# UTILS_DEVTOOL_PATH 1.43 +# 1.44 +# WARNING: This file cannot assume that any of these utilties are available 1.45 +# to be run via their variable names defined here. 1.46 +# The paths inside the UTILS_* variables may not be defined yet. 1.47 +# 1.48 +# Note: There is no guarantee that all these exist on all platforms. 1.49 +# Some only make sense for one platform, but are harmless. 1.50 +# 1.51 + 1.52 +ifeq ($(PLATFORM),linux) 1.53 + UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH) 1.54 + UTILS_USR_BIN_PATH=$(USRBIN_PATH) 1.55 + UTILS_CCS_BIN_PATH=$(USRBIN_PATH) 1.56 + UTILS_DEVTOOL_PATH=$(USRBIN_PATH) 1.57 +endif 1.58 + 1.59 +ifeq ($(PLATFORM),solaris) 1.60 + UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH) 1.61 + UTILS_USR_BIN_PATH=$(UNIXCOMMAND_PATH) 1.62 + UTILS_CCS_BIN_PATH=$(UNIXCCS_PATH) 1.63 + UTILS_DEVTOOL_PATH=$(DEVTOOLS_PATH) 1.64 +endif 1.65 + 1.66 +ifeq ($(PLATFORM),windows) 1.67 + UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH) 1.68 + UTILS_USR_BIN_PATH=$(UNIXCOMMAND_PATH) 1.69 + UTILS_CCS_BIN_PATH=$(UNIXCOMMAND_PATH) 1.70 + UTILS_DEVTOOL_PATH=$(DEVTOOLS_PATH) 1.71 +endif 1.72 + 1.73 +# Utilities ant and findbugs 1.74 +ifndef ANT_HOME 1.75 + ANT_HOME = $(JDK_DEVTOOLS_DIR)/share/ant/latest 1.76 +endif 1.77 +ANT = $(ANT_HOME)/bin/ant 1.78 +ifndef FINDBUGS_HOME 1.79 + FINDBUGS_HOME = $(JDK_DEVTOOLS_DIR)/share/findbugs/latest 1.80 +endif 1.81 +FINDBUGS = $(FINDBUGS_HOME)/bin/findbugs 1.82 + 1.83 +# Utilities 1.84 +ADB = $(UTILS_COMMAND_PATH)adb 1.85 +AR = $(UTILS_CCS_BIN_PATH)ar 1.86 +AS = $(UTILS_CCS_BIN_PATH)as 1.87 +BASENAME = $(UTILS_COMMAND_PATH)basename 1.88 +CAT = $(UTILS_COMMAND_PATH)cat 1.89 +CHMOD = $(UTILS_COMMAND_PATH)chmod 1.90 +CMP = $(UTILS_USR_BIN_PATH)cmp 1.91 +COMM = $(UTILS_USR_BIN_PATH)comm 1.92 +COMPRESS = $(UTILS_USR_BIN_PATH)compress 1.93 +CP = $(UTILS_COMMAND_PATH)cp 1.94 +CPIO = $(UTILS_COMMAND_PATH)cpio 1.95 +CUT = $(UTILS_USR_BIN_PATH)cut 1.96 +DATE = $(UTILS_COMMAND_PATH)date 1.97 +DF = $(UTILS_COMMAND_PATH)df 1.98 +DIFF = $(UTILS_USR_BIN_PATH)diff 1.99 +DIRNAME = $(UTILS_USR_BIN_PATH)dirname 1.100 +ECHO = $(UTILS_COMMAND_PATH)echo 1.101 +EGREP = $(UTILS_COMMAND_PATH)egrep 1.102 +EXPR = $(UTILS_USR_BIN_PATH)expr 1.103 +FILE = $(UTILS_USR_BIN_PATH)file 1.104 +FIND = $(UTILS_USR_BIN_PATH)find 1.105 +FMT = $(UTILS_COMMAND_PATH)fmt 1.106 +GDB = $(UTILS_USR_BIN_PATH)gdb 1.107 +GREP = $(UTILS_COMMAND_PATH)grep 1.108 +GUNZIP = $(UTILS_COMMAND_PATH)gunzip 1.109 +HEAD = $(UTILS_USR_BIN_PATH)head 1.110 +ID = $(UTILS_COMMAND_PATH)id 1.111 +ISAINFO = $(UTILS_COMMAND_PATH)isainfo 1.112 +KSH = $(UTILS_COMMAND_PATH)ksh 1.113 +LD = $(UTILS_CCS_BIN_PATH)ld 1.114 +LEX = $(UTILS_CCS_BIN_PATH)lex 1.115 +LN = $(UTILS_COMMAND_PATH)ln 1.116 +LS = $(UTILS_COMMAND_PATH)ls 1.117 +MCS = $(UTILS_CCS_BIN_PATH)mcs 1.118 +M4 = $(UTILS_CCS_BIN_PATH)m4 1.119 +MKDIR = $(UTILS_COMMAND_PATH)mkdir 1.120 +MKSINFO = $(UTILS_COMMAND_PATH)mksinfo 1.121 +MSGFMT = $(UTILS_USR_BIN_PATH)msgfmt 1.122 +MV = $(UTILS_COMMAND_PATH)mv 1.123 +NAWK = $(UTILS_USR_BIN_PATH)nawk 1.124 +NM = $(UTILS_CCS_BIN_PATH)nm 1.125 +PKGMK = $(UTILS_COMMAND_PATH)pkgmk 1.126 +PRINTF = $(UTILS_USR_BIN_PATH)printf 1.127 +PWD = $(UTILS_COMMAND_PATH)pwd 1.128 +RC = $(UTILS_COMMAND_PATH)rc 1.129 +RMDIR = $(UTILS_COMMAND_PATH)rmdir 1.130 +RPM = $(UTILS_COMMAND_PATH)rpm 1.131 +RPMBUILD = $(UTILS_COMMAND_PATH)rpmbuild 1.132 +SCCS = $(UTILS_CCS_BIN_PATH)sccs 1.133 +SED = $(UTILS_COMMAND_PATH)sed 1.134 +SH = $(UTILS_COMMAND_PATH)sh 1.135 +SHOWREV = $(UTILS_USR_BIN_PATH)showrev 1.136 +SORT = $(UTILS_COMMAND_PATH)sort 1.137 +STRIP = $(UTILS_CCS_BIN_PATH)strip 1.138 +TAIL = $(UTILS_USR_BIN_PATH)tail 1.139 +TAR = $(UTILS_COMMAND_PATH)tar 1.140 +TEST = $(UTILS_USR_BIN_PATH)test 1.141 +TOUCH = $(UTILS_COMMAND_PATH)touch 1.142 +TR = $(UTILS_USR_BIN_PATH)tr 1.143 +TRUE = $(UTILS_COMMAND_PATH)true 1.144 +UNAME = $(UTILS_COMMAND_PATH)uname 1.145 +UNIQ = $(UTILS_USR_BIN_PATH)uniq 1.146 +UNZIP = $(UTILS_USR_BIN_PATH)unzip 1.147 +UNZIPSFX = $(UTILS_DEVTOOL_PATH)unzipsfx 1.148 +WC = $(UTILS_USR_BIN_PATH)wc 1.149 +WHICH = $(UTILS_USR_BIN_PATH)which 1.150 +YACC = $(UTILS_CCS_BIN_PATH)yacc 1.151 +ZIPEXE = $(UTILS_DEVTOOL_PATH)zip 1.152 + 1.153 +# Special cases 1.154 +#RM is defined by GNU Make as 'rm -f' 1.155 +CD = cd # intrinsic unix command 1.156 + 1.157 +# Windows specific 1.158 +ifeq ($(PLATFORM),windows) 1.159 + ifdef USING_CYGWIN 1.160 + # Intrinsic unix command, with backslash-escaped character interpretation 1.161 + ECHO = $(UNIXCOMMAND_PATH)echo -e 1.162 + ZIPEXE = $(UNIXCOMMAND_PATH)zip 1.163 + UNZIP = $(UNIXCOMMAND_PATH)unzip 1.164 + else 1.165 + ZIPEXE = $(UTILS_DEVTOOL_PATH)zip 1.166 + UNZIP = $(UTILS_DEVTOOL_PATH)unzip 1.167 + endif 1.168 + # Re-define some utilities 1.169 + LEX =# override GNU Make intrinsic: no lex on windows 1.170 + NAWK = $(UNIXCOMMAND_PATH)awk 1.171 +endif 1.172 + 1.173 +# Linux specific 1.174 +ifeq ($(PLATFORM),linux) 1.175 + # A few redefines 1.176 + # Allows for builds on Debian GNU Linux, basename is in a different place 1.177 + BASENAME=$(firstword $(wildcard $(UTILS_COMMAND_PATH)basename) \ 1.178 + $(wildcard $(UTILS_USR_BIN_PATH)basename)) 1.179 + # RPM 4 has replaced "rpm -b" with an entirely new utility "rpmbuild". 1.180 + # Also, some distribution (Ubuntu, Debian, others?) place the rpm command 1.181 + # itself in /usr/bin rather than it's traditional home in /bin. 1.182 + RPM=$(firstword $(wildcard $(UTILS_COMMAND_PATH)rpm) \ 1.183 + $(wildcard $(UTILS_USR_BIN_PATH)rpm)) 1.184 + RPMBUILD=$(firstword $(wildcard $(UTILS_COMMAND_PATH)rpmbuild) \ 1.185 + $(wildcard $(UTILS_USR_BIN_PATH)rpmbuild) \ 1.186 + $(wildcard $(UTILS_COMMAND_PATH)rpm) \ 1.187 + $(wildcard $(UTILS_USR_BIN_PATH)rpm)) 1.188 + # Most Linux distros have "sort" in /bin. Ubuntu, Debian and perhaps 1.189 + # others have it in /usr/bin. 1.190 + SORT=$(firstword $(wildcard $(UTILS_COMMAND_PATH)sort) \ 1.191 + $(wildcard $(UTILS_USR_BIN_PATH)sort)) 1.192 + NAWK = $(USRBIN_PATH)gawk 1.193 + # Intrinsic unix command, with backslash-escaped character interpretation 1.194 + ECHO = /bin/echo -e 1.195 + # These are really in UTILS_USR_BIN_PATH on Linux (only sccs is not) 1.196 + AR = $(UTILS_USR_BIN_PATH)ar 1.197 + AS = $(UTILS_USR_BIN_PATH)as 1.198 + LD = $(UTILS_USR_BIN_PATH)ld 1.199 + LEX = $(UTILS_USR_BIN_PATH)lex 1.200 + MCS = $(UTILS_USR_BIN_PATH)mcs 1.201 + M4 = $(UTILS_USR_BIN_PATH)m4 1.202 + NM = $(UTILS_USR_BIN_PATH)nm 1.203 + STRIP = $(UTILS_USR_BIN_PATH)strip 1.204 + YACC = $(UTILS_USR_BIN_PATH)yacc 1.205 +endif 1.206 + 1.207 +# Solaris specific 1.208 +ifeq ($(PLATFORM),solaris) 1.209 + # Intrinsic unix command, with backslash-escaped character interpretation 1.210 + # (not using -e will cause build failure when using /bin/bash) 1.211 + # (using -e breaks something else) 1.212 + ECHO = /usr/bin/echo 1.213 +endif 1.214 +