make/common/shared/Defs-utils.gmk

changeset 1
55540e827aef
child 27
0d92f2ecc8ff
     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 +

mercurial