jdk/make/javax/crypto/Defs-jce.gmk
author sherman
Fri, 20 Mar 2009 16:22:59 -0700
changeset 2290 3a3bde061968
parent 300 d4f77ff718fd
child 3353 ddbd63234844
permissions -rw-r--r--
6817475: named-capturing group name started with digit causes PSE exception Summary: Need accept the digit as the first char of the group name Reviewed-by: alanb
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     1
#
300
d4f77ff718fd 6683078: Update JCE framework and provider builds to work on read-only filesystems
wetmore
parents: 2
diff changeset
     2
# Copyright 2007-2008 Sun Microsystems, Inc.  All Rights Reserved.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
# This code is free software; you can redistribute it and/or modify it
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
# under the terms of the GNU General Public License version 2 only, as
90ce3da70b43 Initial load
duke
parents:
diff changeset
     7
# published by the Free Software Foundation.  Sun designates this
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
# particular file as subject to the "Classpath" exception as provided
90ce3da70b43 Initial load
duke
parents:
diff changeset
     9
# by Sun in the LICENSE file that accompanied this code.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
# This code is distributed in the hope that it will be useful, but WITHOUT
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
# version 2 for more details (a copy is included in the LICENSE file that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
# accompanied this code).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
# You should have received a copy of the GNU General Public License version
90ce3da70b43 Initial load
duke
parents:
diff changeset
    18
# 2 along with this work; if not, write to the Free Software Foundation,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    19
# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    20
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    21
# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    22
# CA 95054 USA or visit www.sun.com if you need additional information or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    23
# have any questions.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    25
90ce3da70b43 Initial load
duke
parents:
diff changeset
    26
include $(BUILDDIR)/common/Release.gmk
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
# Include these extra attributes for now, should probably take out.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    31
JCE_MANIFEST_FILE    = $(TEMPDIR)/manifest.mf
90ce3da70b43 Initial load
duke
parents:
diff changeset
    32
$(JCE_MANIFEST_FILE): $(MAINMANIFEST)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    33
	$(prep-target)
300
d4f77ff718fd 6683078: Update JCE framework and provider builds to work on read-only filesystems
wetmore
parents: 2
diff changeset
    34
	( $(SED) "s/@@RELEASE@@/$(RELEASE)/" $<; \
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    35
	    $(ECHO) "Extension-Name: javax.crypto"; \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    36
	    $(ECHO) "Implementation-Vendor-Id: com.sun"; ) > $@
90ce3da70b43 Initial load
duke
parents:
diff changeset
    37
90ce3da70b43 Initial load
duke
parents:
diff changeset
    38
README-MAKEFILE_WARNING = \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
    "\nPlease read make/javax/crypto/Makefile for further build instructions."
90ce3da70b43 Initial load
duke
parents:
diff changeset
    40
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
define no-source-warning
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
	@$(ECHO) "\n***JCE sources are not available, skipping build.***" \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    43
	    $(README-MAKEFILE_WARNING)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    44
endef
90ce3da70b43 Initial load
duke
parents:
diff changeset
    45
90ce3da70b43 Initial load
duke
parents:
diff changeset
    46
ifndef OPENJDK
90ce3da70b43 Initial load
duke
parents:
diff changeset
    47
90ce3da70b43 Initial load
duke
parents:
diff changeset
    48
PREBUILT_DIR = $(BUILDDIR)/closed/tools/crypto
90ce3da70b43 Initial load
duke
parents:
diff changeset
    49
90ce3da70b43 Initial load
duke
parents:
diff changeset
    50
define build-warning
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
	@$(ECHO) "\n***JCE in JDK builds require special tools/procedures.***" \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
	    $(README-MAKEFILE_WARNING)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    53
endef
90ce3da70b43 Initial load
duke
parents:
diff changeset
    54
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
# Location for JCE codesigning key.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    58
SIGNING_KEY_DIR    = /security/ws/JCE-signing/src
90ce3da70b43 Initial load
duke
parents:
diff changeset
    59
SIGNING_KEYSTORE   = $(SIGNING_KEY_DIR)/KeyStore.jks
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
SIGNING_PASSPHRASE = $(SIGNING_KEY_DIR)/passphrase.txt
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
SIGNING_ALIAS      = jce_rsa
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
90ce3da70b43 Initial load
duke
parents:
diff changeset
    63
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
# Defines for signing/obfuscating the various jar files.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    65
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    66
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
define presign
90ce3da70b43 Initial load
duke
parents:
diff changeset
    68
    @if [ ! -f $(SIGNING_KEYSTORE) -o ! -f $(SIGNING_PASSPHRASE) ]; then \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    69
	$(ECHO) "\n$(SIGNING_KEYSTORE): Signing mechanism *NOT* available..." \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    70
	    $(README-MAKEFILE_WARNING); \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    71
	exit 2; \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
    fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
endef
90ce3da70b43 Initial load
duke
parents:
diff changeset
    74
90ce3da70b43 Initial load
duke
parents:
diff changeset
    75
define sign-target
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
	$(BOOT_JARSIGNER_CMD) -keystore $(SIGNING_KEYSTORE) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    77
	    $@ $(SIGNING_ALIAS) < $(SIGNING_PASSPHRASE)
300
d4f77ff718fd 6683078: Update JCE framework and provider builds to work on read-only filesystems
wetmore
parents: 2
diff changeset
    78
	@$(java-vm-cleanup)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
	@$(ECHO) "\nJar codesigning finished."
90ce3da70b43 Initial load
duke
parents:
diff changeset
    80
endef
90ce3da70b43 Initial load
duke
parents:
diff changeset
    81
90ce3da70b43 Initial load
duke
parents:
diff changeset
    82
RELEASE_DIR = $(OUTPUTDIR)/jce-release
90ce3da70b43 Initial load
duke
parents:
diff changeset
    83
90ce3da70b43 Initial load
duke
parents:
diff changeset
    84
define release-warning
90ce3da70b43 Initial load
duke
parents:
diff changeset
    85
	@$(ECHO) \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    86
	    "\n***The jar files built by the \"release\" target must***" \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    87
	    "\n***still be checked into the closed workspace!     ***" \
90ce3da70b43 Initial load
duke
parents:
diff changeset
    88
	    $(README-MAKEFILE_WARNING)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    89
endef
90ce3da70b43 Initial load
duke
parents:
diff changeset
    90
90ce3da70b43 Initial load
duke
parents:
diff changeset
    91
#
300
d4f77ff718fd 6683078: Update JCE framework and provider builds to work on read-only filesystems
wetmore
parents: 2
diff changeset
    92
# Convenience macros for signing a jar file.
d4f77ff718fd 6683078: Update JCE framework and provider builds to work on read-only filesystems
wetmore
parents: 2
diff changeset
    93
#
d4f77ff718fd 6683078: Update JCE framework and provider builds to work on read-only filesystems
wetmore
parents: 2
diff changeset
    94
# Call through $(call sign-file, target file)
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    95
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
    96
define sign-file
90ce3da70b43 Initial load
duke
parents:
diff changeset
    97
	$(presign)
300
d4f77ff718fd 6683078: Update JCE framework and provider builds to work on read-only filesystems
wetmore
parents: 2
diff changeset
    98
	$(prep-target)
d4f77ff718fd 6683078: Update JCE framework and provider builds to work on read-only filesystems
wetmore
parents: 2
diff changeset
    99
	$(CP) $1 $@
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   100
	$(sign-target)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   101
endef
90ce3da70b43 Initial load
duke
parents:
diff changeset
   102
90ce3da70b43 Initial load
duke
parents:
diff changeset
   103
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   104
# Location for the Obfuscation product.  JDK currently has
90ce3da70b43 Initial load
duke
parents:
diff changeset
   105
# the requirement that we obfuscate our JCE jars.
90ce3da70b43 Initial load
duke
parents:
diff changeset
   106
#
90ce3da70b43 Initial load
duke
parents:
diff changeset
   107
OBFUSCATOR = /security/tools/bin/obfus
90ce3da70b43 Initial load
duke
parents:
diff changeset
   108
OBFUS_DIR = $(TEMPDIR)/obfus
90ce3da70b43 Initial load
duke
parents:
diff changeset
   109
90ce3da70b43 Initial load
duke
parents:
diff changeset
   110
define preobfus
90ce3da70b43 Initial load
duke
parents:
diff changeset
   111
    @if [ ! -f $(OBFUSCATOR) ]; then \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   112
	$(ECHO) "\n$(OBFUSCATOR): Obfuscator *NOT* available..." \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   113
	    $(README-MAKEFILE_WARNING); \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   114
	exit 2; \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   115
    fi
90ce3da70b43 Initial load
duke
parents:
diff changeset
   116
endef
90ce3da70b43 Initial load
duke
parents:
diff changeset
   117
90ce3da70b43 Initial load
duke
parents:
diff changeset
   118
endif  # !OPENJDK