#
# Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
# Use is subject to license terms.
#

******************************************************************

Chip/Smart Card Interface Devices (CCID)

1. Introduction

2. Build Environment

3. Configuration

4. Build Steps


1.  Introduction
----------------

   This workspace builds a Solaris-specific implementation of the CCID
   IFD handler for Solaris and Sun Ray environments.  This version
   supports both environments.  Packages can be created for SPARC and
   i386 platforms.

   The SUNWusb-scrdr package contains the CCID IFD handler configured
   and built for Solaris 10 in a form that will be found and used by
   PC/SC-lite, with or without Solaris Trusted Extensions enabled.

   This README describes the build environment, configuration and
   build steps required to create the Solaris CCID IFDH packages.


2. Build Environment
--------------------

   This workspace can be built only on a suitably provisioned Solaris
   machine, running Solaris 10 update 3 or later - SPARC or i386
   that all has been installed with the following additional
   resources:

   A. Gnu C compiler (gcc version 3.4.3 or later).

   B. The Solaris 10 Companion software must be installed as a
      prerequisite.  This includes the required gcc.

      The Solaris 10 Companion software can be acquired from 
      http://www.sun.com.

   C. PC/SC-lite header files

      The CCID workspace requires the PC/SC-lite header files in 
      '/usr/include/smartcard' directory at build time. These header files 
      are delivered in a package called PCSClite. 

      To get the PCSClite package and the required header files, the 
      PC/SC-lite workspace needs to be built before building CCID. 
      This package will get created in dist/sparc or dist/i386 directory
      depending upon the build platform in PC/SC-lite workspace.

      Add this package to the build server. This will copy the  
      required files in '/usr/include/smartcard' directory.

   NOTE: The CCID workspace is set up so that it can be NFS shared from a
   machine and NFS mounted from other machines and built in order to
   facilitate the production of packages for multiple architectures,
   into one shared distribution location.

3. Configuration
----------------

   Modify the PATH environment variable to include '/usr/sfw/bin' 
   (for gcc and libusb).  
   

4. Build Steps
--------------

   Because the same workspace can be built on both the SPARC and i386
   architecture (in a separate pass from each architecture respectively),
   the following commands must be run prior to building on each
   architecture:

         $ make clean
         $ make config

   After these commands have run on the build architecture, the following
   command can be run as many times as desired for the configured
   architecture as desired:

         $ make all

   This build step will generate the following packages for the specified
   platform into the corresponding platform-specific subdirectory, under
   the 'dist' directory:

         SUNWusb-scrdr       - Solaris CCID IFD Handler package

