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