duke@1: # ohair@158: # Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved. duke@1: # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. duke@1: # duke@1: # This code is free software; you can redistribute it and/or modify it duke@1: # under the terms of the GNU General Public License version 2 only, as ohair@158: # published by the Free Software Foundation. Oracle designates this duke@1: # particular file as subject to the "Classpath" exception as provided ohair@158: # by Oracle in the LICENSE file that accompanied this code. duke@1: # duke@1: # This code is distributed in the hope that it will be useful, but WITHOUT duke@1: # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or duke@1: # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License duke@1: # version 2 for more details (a copy is included in the LICENSE file that duke@1: # accompanied this code). duke@1: # duke@1: # You should have received a copy of the GNU General Public License version duke@1: # 2 along with this work; if not, write to the Free Software Foundation, duke@1: # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. duke@1: # ohair@158: # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA ohair@158: # or visit www.oracle.com if you need additional information or have any ohair@158: # questions. duke@1: # duke@1: duke@1: # duke@1: # Shared variables for standard unix utilties on all platforms. duke@1: # duke@1: # Assumes Platform.gmk has been included before this file. duke@1: # duke@1: # These input UTILS_* variables can be defined at anytime, ideally once. duke@1: # Unix Commands: Normally /bin/, /usr/bin/. or C:/mksnt/mksnt/ duke@1: # UTILS_COMMAND_PATH duke@1: # /usr/bin/ duke@1: # UTILS_USR_BIN_PATH duke@1: # /usr/ccs/bin/ (sccs, m4, lex, yacc, as, ar, strip, mcs) duke@1: # UTILS_CCS_BIN_PATH duke@1: # Dev Tools: zip, unzip, etc that we may have special versions of duke@1: # UTILS_DEVTOOL_PATH duke@1: # duke@1: # WARNING: This file cannot assume that any of these utilties are available duke@1: # to be run via their variable names defined here. duke@1: # The paths inside the UTILS_* variables may not be defined yet. duke@1: # duke@1: # Note: There is no guarantee that all these exist on all platforms. duke@1: # Some only make sense for one platform, but are harmless. duke@1: # duke@1: duke@1: ifeq ($(PLATFORM),linux) duke@1: UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH) duke@1: UTILS_USR_BIN_PATH=$(USRBIN_PATH) duke@1: UTILS_CCS_BIN_PATH=$(USRBIN_PATH) duke@1: UTILS_DEVTOOL_PATH=$(USRBIN_PATH) duke@1: endif duke@1: duke@1: ifeq ($(PLATFORM),solaris) duke@1: UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH) duke@1: UTILS_USR_BIN_PATH=$(UNIXCOMMAND_PATH) duke@1: UTILS_CCS_BIN_PATH=$(UNIXCCS_PATH) duke@1: UTILS_DEVTOOL_PATH=$(DEVTOOLS_PATH) duke@1: endif duke@1: duke@1: ifeq ($(PLATFORM),windows) duke@1: UTILS_COMMAND_PATH=$(UNIXCOMMAND_PATH) duke@1: UTILS_USR_BIN_PATH=$(UNIXCOMMAND_PATH) duke@1: UTILS_CCS_BIN_PATH=$(UNIXCOMMAND_PATH) duke@1: UTILS_DEVTOOL_PATH=$(DEVTOOLS_PATH) duke@1: endif duke@1: duke@1: # Utilities duke@1: ADB = $(UTILS_COMMAND_PATH)adb duke@1: AR = $(UTILS_CCS_BIN_PATH)ar duke@1: AS = $(UTILS_CCS_BIN_PATH)as duke@1: BASENAME = $(UTILS_COMMAND_PATH)basename duke@1: CAT = $(UTILS_COMMAND_PATH)cat duke@1: CHMOD = $(UTILS_COMMAND_PATH)chmod duke@1: CMP = $(UTILS_USR_BIN_PATH)cmp duke@1: COMM = $(UTILS_USR_BIN_PATH)comm duke@1: COMPRESS = $(UTILS_USR_BIN_PATH)compress duke@1: CP = $(UTILS_COMMAND_PATH)cp duke@1: CPIO = $(UTILS_COMMAND_PATH)cpio duke@1: CUT = $(UTILS_USR_BIN_PATH)cut duke@1: DATE = $(UTILS_COMMAND_PATH)date duke@1: DF = $(UTILS_COMMAND_PATH)df duke@1: DIFF = $(UTILS_USR_BIN_PATH)diff duke@1: DIRNAME = $(UTILS_USR_BIN_PATH)dirname duke@1: ECHO = $(UTILS_COMMAND_PATH)echo duke@1: EGREP = $(UTILS_COMMAND_PATH)egrep duke@1: EXPR = $(UTILS_USR_BIN_PATH)expr duke@1: FILE = $(UTILS_USR_BIN_PATH)file duke@1: FIND = $(UTILS_USR_BIN_PATH)find duke@1: FMT = $(UTILS_COMMAND_PATH)fmt duke@1: GDB = $(UTILS_USR_BIN_PATH)gdb duke@1: GREP = $(UTILS_COMMAND_PATH)grep duke@1: GUNZIP = $(UTILS_COMMAND_PATH)gunzip duke@1: HEAD = $(UTILS_USR_BIN_PATH)head duke@1: ID = $(UTILS_COMMAND_PATH)id duke@1: ISAINFO = $(UTILS_COMMAND_PATH)isainfo duke@1: KSH = $(UTILS_COMMAND_PATH)ksh duke@1: LD = $(UTILS_CCS_BIN_PATH)ld duke@1: LEX = $(UTILS_CCS_BIN_PATH)lex duke@1: LN = $(UTILS_COMMAND_PATH)ln duke@1: LS = $(UTILS_COMMAND_PATH)ls duke@1: MCS = $(UTILS_CCS_BIN_PATH)mcs duke@1: M4 = $(UTILS_CCS_BIN_PATH)m4 duke@1: MKDIR = $(UTILS_COMMAND_PATH)mkdir duke@1: MKSINFO = $(UTILS_COMMAND_PATH)mksinfo duke@1: MSGFMT = $(UTILS_USR_BIN_PATH)msgfmt duke@1: MV = $(UTILS_COMMAND_PATH)mv duke@1: NAWK = $(UTILS_USR_BIN_PATH)nawk duke@1: NM = $(UTILS_CCS_BIN_PATH)nm duke@1: PKGMK = $(UTILS_COMMAND_PATH)pkgmk duke@1: PRINTF = $(UTILS_USR_BIN_PATH)printf duke@1: PWD = $(UTILS_COMMAND_PATH)pwd duke@1: RC = $(UTILS_COMMAND_PATH)rc duke@1: RMDIR = $(UTILS_COMMAND_PATH)rmdir duke@1: RPM = $(UTILS_COMMAND_PATH)rpm duke@1: RPMBUILD = $(UTILS_COMMAND_PATH)rpmbuild duke@1: SED = $(UTILS_COMMAND_PATH)sed duke@1: SH = $(UTILS_COMMAND_PATH)sh duke@1: SHOWREV = $(UTILS_USR_BIN_PATH)showrev duke@1: SORT = $(UTILS_COMMAND_PATH)sort duke@1: STRIP = $(UTILS_CCS_BIN_PATH)strip duke@1: TAIL = $(UTILS_USR_BIN_PATH)tail duke@1: TAR = $(UTILS_COMMAND_PATH)tar duke@1: TEST = $(UTILS_USR_BIN_PATH)test duke@1: TOUCH = $(UTILS_COMMAND_PATH)touch duke@1: TR = $(UTILS_USR_BIN_PATH)tr duke@1: TRUE = $(UTILS_COMMAND_PATH)true duke@1: UNAME = $(UTILS_COMMAND_PATH)uname duke@1: UNIQ = $(UTILS_USR_BIN_PATH)uniq duke@1: UNZIP = $(UTILS_USR_BIN_PATH)unzip duke@1: UNZIPSFX = $(UTILS_DEVTOOL_PATH)unzipsfx duke@1: WC = $(UTILS_USR_BIN_PATH)wc duke@1: WHICH = $(UTILS_USR_BIN_PATH)which duke@1: YACC = $(UTILS_CCS_BIN_PATH)yacc duke@1: ZIPEXE = $(UTILS_DEVTOOL_PATH)zip duke@1: duke@1: # Special cases duke@1: #RM is defined by GNU Make as 'rm -f' duke@1: CD = cd # intrinsic unix command duke@1: duke@1: # Windows specific duke@1: ifeq ($(PLATFORM),windows) duke@1: ifdef USING_CYGWIN duke@1: # Intrinsic unix command, with backslash-escaped character interpretation duke@1: ECHO = $(UNIXCOMMAND_PATH)echo -e duke@1: ZIPEXE = $(UNIXCOMMAND_PATH)zip duke@1: UNZIP = $(UNIXCOMMAND_PATH)unzip duke@1: else duke@1: ZIPEXE = $(UTILS_DEVTOOL_PATH)zip duke@1: UNZIP = $(UTILS_DEVTOOL_PATH)unzip duke@1: endif duke@1: # Re-define some utilities duke@1: LEX =# override GNU Make intrinsic: no lex on windows duke@1: NAWK = $(UNIXCOMMAND_PATH)awk duke@1: endif duke@1: duke@1: # Linux specific duke@1: ifeq ($(PLATFORM),linux) duke@1: # A few redefines duke@1: # Allows for builds on Debian GNU Linux, basename is in a different place duke@1: BASENAME=$(firstword $(wildcard $(UTILS_COMMAND_PATH)basename) \ duke@1: $(wildcard $(UTILS_USR_BIN_PATH)basename)) duke@1: # RPM 4 has replaced "rpm -b" with an entirely new utility "rpmbuild". duke@1: # Also, some distribution (Ubuntu, Debian, others?) place the rpm command duke@1: # itself in /usr/bin rather than it's traditional home in /bin. duke@1: RPM=$(firstword $(wildcard $(UTILS_COMMAND_PATH)rpm) \ duke@1: $(wildcard $(UTILS_USR_BIN_PATH)rpm)) duke@1: RPMBUILD=$(firstword $(wildcard $(UTILS_COMMAND_PATH)rpmbuild) \ duke@1: $(wildcard $(UTILS_USR_BIN_PATH)rpmbuild) \ duke@1: $(wildcard $(UTILS_COMMAND_PATH)rpm) \ duke@1: $(wildcard $(UTILS_USR_BIN_PATH)rpm)) duke@1: # Most Linux distros have "sort" in /bin. Ubuntu, Debian and perhaps duke@1: # others have it in /usr/bin. duke@1: SORT=$(firstword $(wildcard $(UTILS_COMMAND_PATH)sort) \ duke@1: $(wildcard $(UTILS_USR_BIN_PATH)sort)) duke@1: NAWK = $(USRBIN_PATH)gawk duke@1: # Intrinsic unix command, with backslash-escaped character interpretation duke@1: ECHO = /bin/echo -e duke@1: # These are really in UTILS_USR_BIN_PATH on Linux (only sccs is not) duke@1: AR = $(UTILS_USR_BIN_PATH)ar duke@1: AS = $(UTILS_USR_BIN_PATH)as duke@1: LD = $(UTILS_USR_BIN_PATH)ld duke@1: LEX = $(UTILS_USR_BIN_PATH)lex duke@1: MCS = $(UTILS_USR_BIN_PATH)mcs duke@1: M4 = $(UTILS_USR_BIN_PATH)m4 duke@1: NM = $(UTILS_USR_BIN_PATH)nm duke@1: STRIP = $(UTILS_USR_BIN_PATH)strip duke@1: YACC = $(UTILS_USR_BIN_PATH)yacc duke@1: endif duke@1: duke@1: # Solaris specific duke@1: ifeq ($(PLATFORM),solaris) duke@1: # Intrinsic unix command, with backslash-escaped character interpretation duke@1: # (not using -e will cause build failure when using /bin/bash) duke@1: # (using -e breaks something else) duke@1: ECHO = /usr/bin/echo duke@1: endif duke@1: