#
#   
#
# Copyright  1990-2006 Sun Microsystems, Inc. All Rights Reserved.
# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER
# 
# This program 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. 
# 
# This program 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 at /legal/license.txt). 
# 
# 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 or visit www.sun.com if you need additional
# information or have any questions. 
#
############################################################
#
# Module's Component Configuration file
#
# Remember: It is up to the module itself to impose rules of
# how to compile the options. All the global Makefile needs
# is the final def. of Java and native file lists and some
# other def. (like VPATH)
#
############################################################

SUBSYSTEM_SECURITY_MODULES += crypto

CRYPTO_DIR = $(SUBSYSTEM_DIR)/security/crypto

CRYPTO_REF_CLASS_DIR = $(CRYPTO_DIR)/reference/classes/com/sun/midp/crypto

# Javadoc source path
SUBSYSTEM_CRYPTO_SOURCEPATH += $(CRYPTO_DIR)/reference/classes

SUBSYSTEM_CRYPTO_PACKAGES = \
    com.sun.midp.crypto

MIDP_JAVADOC_SOURCEPATH += $(SUBSYSTEM_CRYPTO_SOURCEPATH)
MIDP_JAVADOC_PACKAGES +=  $(SUBSYSTEM_CRYPTO_PACKAGES)

MIDP_JAVADOC_ALL += \
    -group "Crypto Subsystem" \
    $(shell echo $(SUBSYSTEM_CRYPTO_PACKAGES) | tr ' ' $(PATHSEP))

#
# Java files for the library
#
SUBSYSTEM_SECURITY_JAVA_FILES += \
    $(CRYPTO_REF_CLASS_DIR)/PKCS5Padding.java \
    $(CRYPTO_REF_CLASS_DIR)/Padder.java \
    $(CRYPTO_REF_CLASS_DIR)/CryptoParameter.java \
    $(CRYPTO_REF_CLASS_DIR)/IvParameter.java \
    $(CRYPTO_REF_CLASS_DIR)/BadPaddingException.java \
    $(CRYPTO_REF_CLASS_DIR)/DigestException.java \
    $(CRYPTO_REF_CLASS_DIR)/IllegalBlockSizeException.java \
    $(CRYPTO_REF_CLASS_DIR)/InvalidAlgorithmParameterException.java \
    $(CRYPTO_REF_CLASS_DIR)/InvalidKeyException.java \
    $(CRYPTO_REF_CLASS_DIR)/InvalidKeySpecException.java \
    $(CRYPTO_REF_CLASS_DIR)/NoSuchAlgorithmException.java \
    $(CRYPTO_REF_CLASS_DIR)/NoSuchPaddingException.java \
    $(CRYPTO_REF_CLASS_DIR)/ShortBufferException.java \
    $(CRYPTO_REF_CLASS_DIR)/SignatureException.java \
    $(CRYPTO_REF_CLASS_DIR)/Cipher.java \
    $(CRYPTO_REF_CLASS_DIR)/GeneralSecurityException.java \
    $(CRYPTO_REF_CLASS_DIR)/Key.java \
    $(CRYPTO_REF_CLASS_DIR)/MD2.java \
    $(CRYPTO_REF_CLASS_DIR)/MD5.java \
    $(CRYPTO_REF_CLASS_DIR)/MessageDigest.java \
    $(CRYPTO_REF_CLASS_DIR)/PrivateKey.java \
    $(CRYPTO_REF_CLASS_DIR)/PublicKey.java \
    $(CRYPTO_REF_CLASS_DIR)/RSAKey.java \
    $(CRYPTO_REF_CLASS_DIR)/RSAPrivateKey.java \
    $(CRYPTO_REF_CLASS_DIR)/RSAPublicKey.java \
    $(CRYPTO_REF_CLASS_DIR)/SHA.java \
    $(CRYPTO_REF_CLASS_DIR)/SecretKey.java \
    $(CRYPTO_REF_CLASS_DIR)/Signature.java \
    $(CRYPTO_REF_CLASS_DIR)/Util.java

#
# Native files for the library
#
ifeq ($(TARGET_VM), cldc_vm)
vpath % $(CRYPTO_DIR)/reference/native

SUBSYSTEM_SECURITY_NATIVE_FILES += \
    messagedigest.c \
    MD5.c \
    SHA.c \
    MD2.c
endif

SUBSYSTEM_SECURITY_EXTRA_INCLUDES += \
    -I$(CRYPTO_DIR)/include

