[sword-cvs] icu-sword/source/config .cvsignore,1.2,1.3 Makefile.inc.in,1.5,1.6 icu-config-bottom,NONE,1.1 icu-config-top,NONE,1.1 icu-config.1.in,NONE,1.1 make2sh.sed,NONE,1.1 mh-aix,1.4,1.5 mh-aix-va,1.4,1.5 mh-alpha-linux-cc,1.4,1.5 mh-alpha-linux-gcc,1.4,1.5 mh-alpha-osf,1.2,1.3 mh-bsd-gcc,1.4,1.5 mh-cygwin,1.4,1.5 mh-cygwin-msvc,NONE,1.1 mh-darwin,1.4,1.5 mh-hpux-acc,1.4,1.5 mh-hpux-cc,1.4,1.5 mh-hpux-gcc,NONE,1.1 mh-irix,1.4,1.5 mh-linux,1.4,1.5 mh-os390,1.4,1.5 mh-os400,1.4,1.5 mh-ptx,1.4,1.5 mh-qnx,NONE,1.1 mh-solaris,1.4,1.5 mh-solaris-gcc,1.4,1.5 mh-unknown,NONE,1.1 test-icu-config.sh,NONE,1.1

sword@www.crosswire.org sword@www.crosswire.org
Tue, 9 Sep 2003 19:43:15 -0700


Update of /usr/local/cvsroot/icu-sword/source/config
In directory www:/tmp/cvs-serv19862/source/config

Added Files:
	.cvsignore Makefile.inc.in icu-config-bottom icu-config-top 
	icu-config.1.in make2sh.sed mh-aix mh-aix-va mh-alpha-linux-cc 
	mh-alpha-linux-gcc mh-alpha-osf mh-bsd-gcc mh-cygwin 
	mh-cygwin-msvc mh-darwin mh-hpux-acc mh-hpux-cc mh-hpux-gcc 
	mh-irix mh-linux mh-os390 mh-os400 mh-ptx mh-qnx mh-solaris 
	mh-solaris-gcc mh-unknown test-icu-config.sh 
Log Message:
ICU 2.6 commit



--- NEW FILE: icu-config-bottom ---
## -*-sh-*-
## BEGIN of icu-config-bottom. $Revision: 1.1 $
## Copyright (c) 2002-2003, International Business Machines Corporation and
## others. All Rights Reserved.

ICUUC_FILE=${libdir}/${ICULIBS_COMMON_LIB_NAME}
    
#  echo ENABLE RPATH $ENABLE_RPATH and RPATHLDFLAGS=${RPATH_LDFLAGS}
if [ "x$PKGDATA_MODE" = "x" ]; then
    PKGDATA_MODE=dll
fi

}

## The actual code of icu-config goes here.

ME=`basename $0`

allflags()
{
    echo "  --bindir               Print binary directory path (bin)"
    echo "  --cc                   Print C compiler used [CC]"
    echo "  --cflags               Print C compiler flags [CFLAGS]"
    echo "  --cflags-dynamic       Print additional C flags for"
    echo "                             building shared libraries."
    echo "  --cppflags             Print C Preprocessor flags [CPPFLAGS]"
    echo "  --cppflags-dynamic     Print additional C Preprocessor flags for"
    echo "                             building shared libraries."
    echo "  --cppflags-searchpath  Print only -I include directives  (-Iinclude)"
    echo "  --cxx                  Print C++ compiler used [CXX]"
    echo "  --cxxflags             Print C++ compiler flags [CXXFLAGS]"
    echo "  --cxxflags-dynamic     Print additional C++ flags for"
    echo "                             building shared libraries."
    echo "  --detect-prefix        Attempt to detect prefix based on PATH"
    echo "  --exec-prefix          Print prefix for executables (/bin)"
    echo "  --exists               Return with 0 status if ICU exists else fail"
    echo "  --help, -?, --usage    Print this message"
    echo "  --icudata              Print shortname of ICU data file (icudt21l)"
    echo "  --icudata-install-dir  Print path to install data to - use as --install option to pkgdata(1)"
    echo "  --icudata-mode         Print default ICU pkgdata mode (dll) - use as --mode option to pkgdata(1)."
    echo "  --icudatadir           Print path to packaged archive data. Can set as [ICU_DATA]"
    echo "  --invoke               Print commands to invoke an ICU program"
    echo "  --invoke=<prog>        Print commands to invoke an ICU program named <prog> (ex: genrb)" 
    echo "  --ldflags              Print -L search path and -l libraries to link with ICU [LDFLAGS].  This is for the data, uc (common), and i18n libraries only.  "
    echo "  --ldflags-layout       Print ICU layout engine link directive. Use in addition to --ldflags"
    echo "  --ldflags-libsonly     Same as --ldflags, but only the -l directives"
    echo "  --ldflags-searchpath   Print only -L (search path) directive"
    echo "  --ldflags-system       Print only system libs ICU links with (-lpthread, -lm)"
    echo "  --ldflags-ustdio       Print ICU ustdio link directive. Use in addition to --ldflags "
    echo "  --ldflags-obsolete     Print ICU obsolete link directive. Use in addition to --ldflags. (requires icuapps/obsolete to be built and installed.) "
    echo "  --mandir               Print manpage (man) path"
    echo "  --prefix               Print PREFIX to icu install (/usr/local)"
    echo "  --prefix=XXX           Set prefix to XXX for remainder of command"
    echo "  --sbindir              Print system binary path (sbin) "
    echo "  --shared-datadir       Print shared data (share) path. This is NOT the ICU data dir."
    echo "  --shlib-c              Print the command to compile and build C shared libraries with ICU"
    echo "  --shlib-cc             Print the command to compile and build C++ shared libraries with ICU"
    echo "  --sysconfdir           Print system config (etc) path"
    echo "  --unicode-version      Print version of Unicode data used in ICU ($UNICODE_VERSION)"
    echo "  --version              Print ICU version ($VERSION)"
    echo "  --incfile              Print path to Makefile.inc (for -O option of pkgdata)"
}

## Print the normal usage message
shortusage()
{
    echo "usage: ${ME} " `allflags | cut -c-25 | sed -e 's%.*%[ & ]%'`
}


usage()
{
    echo "${ME}: icu-config: ICU configuration helper script"
    echo
    echo "The most commonly used options will be --cflags, --cxxflags, --cppflags, and --ldflags."
    echo 'Example (in make):   CPFLAGS=$(shell icu-config --cppflags)'
    echo '                     LDFLAGS=$(shell icu-config --ldflags)'
    echo "                     (etc).."
    echo
    echo "Usage:"
    allflags

    echo 
    echo " [Brackets] show MAKE variable equivalents,  (parenthesis) show example output"
    echo
    echo "Copyright (c) 2002, International Business Machines Corporation and others. All Rights Reserved."
}

## Check the sanity of current variables
sanity()
{
    if [ ! -f ${ICUUC_FILE} ];
    then
	echo "### $ME: Can't find ${ICUUC_FILE} - ICU prefix is wrong."  1>&2
	echo "###      Try the --prefix= or --exec-prefix= options " 1>&2
	echo "###      or --detect-prefix"
	echo "### $ME: Exitting." 1>&2
	exit 2
    fi
}

## Main starts here.

if [ $# -lt 1 ]; then
    shortusage
    exit 1
fi


# Load our variables from autoconf
# ALWAYS load twice because of dependencies
loaddefs
loaddefs
sanity

while [ $# -gt 0 ];
do
    arg="$1"
    var=`echo $arg | sed -e 's/^[^=]*=//'`
#    echo "### processing $arg" 1>&2
    case "$arg" in

        # undocumented.
	--debug)
	    set -x
	    ;;

        --so)
            echo $SO
            ;;

	--bindir)
	    echo $bindir
	    ;;

	--libdir)
	    echo $libdir
	    ;;

	--exists)
	    sanity
	    ;;

	--sbindir)
	    echo $sbindir
	    ;;

	--invoke=*)
	    QUOT="'"
            CMD="${var}"

            # If it's not a locally executable command (1st choice) then 
            # search for it in the ICU directories. 
            if [ ! -x ${CMD} ]; then
                if [ -x ${bindir}/${var} ]; then
                    CMD="${bindir}/${var}"
                fi
                if [ -x ${sbindir}/${var} ]; then
                    CMD="${sbindir}/${var}"
                fi
            fi

	    echo "env ${QUOT}${LDLIBRARYPATH_ENVVAR}=${libdir}:"'${'"${LDLIBRARYPATH_ENVVAR}"'}'${QUOT} ${CMD}
	    ;;

	--invoke)
	    QUOT="'"
	    echo "env ${QUOT}${LDLIBRARYPATH_ENVVAR}=${libdir}:"'${'"${LDLIBRARYPATH_ENVVAR}"'}'${QUOT}
	    ;;

	--cflags)
	    echo $CFLAGS
	    ;;
	    
	--cc)
	    echo $CC
	    ;;
	    
	--cxx)
	    echo $CXX
	    ;;

	--cxxflags)
	    echo $CXXFLAGS
	    ;;

	--cppflags)
	    # Don't echo the -I. - it's unneeded.
	    echo $CPPFLAGS | sed -e 's/-I. //'
	    ;;

	--cppflags-searchpath)
	    echo -I${prefix}/include
	    ;;

	--cppflags-dynamic)
	    echo $SHAREDLIBCPPFLAGS
	    ;;

	--cxxflags-dynamic)
	    echo $SHAREDLIBCXXFLAGS
	    ;;

	--cflags-dynamic)
	    echo $SHAREDLIBCFLAGS
	    ;;

	--ldflags-system)
	    echo $LIBS
	    ;;

	--ldflags)
	    echo $LDFLAGS $ICULIBS $LIBS 
# $RPATH_LDFLAGS
	    ;;

	--ldflags-libsonly)
	    echo $ICULIBS_I18N $ICULIBS_COMMON $ICULIBS_DATA 
	    ;;

	--ldflags-ustdio)
	    echo $ICULIBS_USTDIO
	    ;;

	--ldflags-obsolete)
	    echo $ICULIBS_OBSOLETE
	    ;;

	--ldflags-toolutil)
	    echo $ICULIBS_TOOLUTIL
	    ;;

	--ldflags-layout)
	    echo $ICULIBS_LAYOUT $ICULIBS_LAYOUTEX
	    ;;

	--ldflags-searchpath)
	    echo -L${libdir}
	    ;;

	--detect-prefix)
	    HERE=`echo $0 | sed -e "s/$ME//g"`
	    if [ -f $HERE/../lib/${ICULIBS_COMMON_LIB_NAME} ]; then
		prefix=$HERE/..
		echo "## Using --prefix=${prefix}" 1>&2
	    fi
	    loaddefs
	    loaddefs
	    sanity
	    ;;

	--exec-prefix)
	    echo $exec_prefix
	    ;;

	--prefix)
	    echo $prefix
	    ;;

	--prefix=*)
	    prefix=$var
	    loaddefs
	    loaddefs
	    sanity
	    ;;

	--sysconfdir)
	    echo $sysconfdir
	    ;;

	--mandir)
	    echo $mandir
	    ;;

	--shared-datadir)
	    echo $datadir
	    ;;

        --incfile)
	    echo $pkglibdir/Makefile.inc
	    ;;

	--icudata)
	    echo $ICUDATA_NAME
	    ;;

	--icudata-mode)
	    echo $PKGDATA_MODE
	    ;;

	--icudata-install-dir)
	    case "$PKGDATA_MODE" in
		
		common)
		    echo "$pkgdatadir"
		    ;;

		dll)
		    echo "$libdir"
		    ;;

		*)
		    echo "## ${ME} Unknown pkgdata mode $PKGDATA_MODE" 1>&2
		    exit 4
		    ;;
	    esac
	    ;;
	    
	--icudatadir)
	    echo $pkgdatadir
	    ;;

	--shlib-c)
	    echo $SHLIB_c
	    ;;

	--shlib-cc)
	    echo $SHLIB_cc
	    ;;

	--version)
            echo $VERSION
            ;;

        --unicode-version)
            echo $UNICODE_VERSION
            ;;

	--help)
	    usage
	    exit 0
	    ;;

	--usage)
	    usage
	    exit 0
	    ;;

#	--enable-rpath=*)
#	    ENABLE_RPATH=$var
#	    loaddefs
#	    ;;

	-?)
	    usage
	    exit 0
	    ;;

        *)
	    echo ${ME}: ERROR Unknown Option $arg 1>&2
            echo 1>&2
            shortusage 1>&2
	    echo "### $ME: Exitting." 1>&2
            exit 1;
            ;;
    esac
    shift
done

# Check once before we quit (will check last used prefix)
sanity
## END of icu-config-bottom

exit 0


--- NEW FILE: icu-config-top ---
#!/bin/sh
## -*-sh-*-
#set -x
# BEGIN of icu-config-top
#******************************************************************************
#   Copyright (C) 1999-2002, International Business Machines
#   Corporation and others.  All Rights Reserved.
# $Revision: 1.1 $
#******************************************************************************
# This script is designed to aid configuration of ICU.
# rpath links a library search path right into the binaries.


### END of icu-config-top

## Zero out prefix.
execprefix=
prefix=


loaddefs()
{


--- NEW FILE: icu-config.1.in ---
.\" Hey, Emacs! This is -*-nroff-*- you know...
.\"
.\" icu-config.1: manual page for the icu-config utility
.\"
.\" Copyright (C) 2002 IBM, Inc. and others.
.\"
.\" Based on  Yves Arrouye's pkgdata page <yves@arrouye.net>
.\" Modified by Steven R. Loomis <srl@jtcsv.com>.
.\" With help from http://www.igpm.rwth-aachen.de/~albrecht/manpage.html

.TH ICU-CONFIG 1 "17 May 2002" "ICU MANPAGE" "ICU @VERSION@ Manual"
.\".Dd "17 May 2002"
.\".Dt ICU-CONFIG 1
.\".Os 

.SH NAME
.B icu-config
\- output ICU build options 
.SH SYNOPSIS
.B icu-config
[
.BI "\-\-bindir"
]
[
.BI "\-\-cc"
]
[
.BI "\-\-cflags"
]
[
.BI "\-\-cppflags"
]
[
.BI "\-\-cppflags\-searchpath"
]
[
.BI "\-\-cxx"
]
[
.BI "\-\-cxxflags"
]
[
.BI "\-\-detect\-prefix"
]
[
.BI "\-\-exec\-prefix"
]
[
.BI "\-\-exists"
]
[
.BI "\-\-help\fP, \fB\-?\fP,\fB"
.BI "\-\-usage"
]
[
.BI "\-\-icudata"
]
[
.BI "\-\-icudata\-installdir"
]
[
.BI "\-\-icudata\-mode"
]
[
.BI "\-\-icudatadir"
]
[
.BI "\-\-invoke"
]
[
.BI "\-\-invoke=" "prog"
]
[
.BI "\-\-ldflags"
]
[
.BI "\-\-ldflags\-layout"
]
[
.BI "\-\-ldflags\-libsonly"
]
[
.BI "\-\-ldflags\-searchpath"
]
[
.BI "\-\-ldflags\-system"
]
[
.BI "\-\-ldflags\-ustdio"
]
[
.BI "\-\-mandir"
]
[
.BI "\-\-prefix"
]
[
.BI "\-\-prefix=" "prefix"
]
[
.BI "\-\-sbindir"
]
[
.BI "\-\-shared\-datadir"
]
[
.BI "\-\-sysconfdir"
]
[
.BI "\-\-unicode\-version"
]
[
.BI "\-\-version"
]
[
.BI "\-\-incfile"
]



.SH DESCRIPTION
.B icu-config
simplifies the task of building and linking against ICU as compared to
manually configuring user makefiles or equivalent.  Because 
.B icu-config
is an executable script, it also solves the problem of locating the ICU
libraries and headers, by allowing the system PATH to locate it. 
.SH EXAMPLES
.B icu-config
can be used without a makefile. The command line below is sufficient for
building a single-file c++ program against ICU. (For example, \fBicu/source/samples/props/props.cpp\fR)
.PP
.RS
`icu-config --cxx --cxxflags --cppflags --ldflags` -o props props.cpp
.RE
.PP
More commonly,
.B icu-config
will be called from within a makefile, and used to set up variables. The
following example also builds the \fIprops\fR example.
.PP
.RS
CC=$(shell icu-config --cc)

CXX=$(shell icu-config --cxx)

CPPFLAGS=$(shell icu-config --cppflags)

CXXFLAGS=$(shell icu-config --cxxflags)

LDFLAGS =$(shell icu-config --ldflags)

all: props

props.o: props.cpp
.RE
.PP
make(1) will automatically use the above variables.
.SH OPTIONS
.TP
.BI "\-\-bindir"
Prints the binary (executable) directory path. Normally equivalent to 'bin'.
ICU user-executable applications and scripts are found here.
.TP
.BI "\-\-cc"
Print the C compiler used.  Equivalent to the $(CC) Makefile variable.
.TP
.BI "\-\-cflags"
Print the C compiler flags. Equivalent to the $(CFLAGS) Makefile variable.
Does NOT include preprocessor directives such as include path or defined symbols. Examples include debugging (\-g) and optimization flags
.TP
.BI "\-\-cppflags"
Print the C preprocessor flags. Equivalent to the $(CPPFLAGS) Makefile variable. Examples are \-I include paths  and \-D define directives.
.TP
.BI "\-\-cppflags\-searchpath"
Print the C preprocessor flags, as above but only \-I search paths.
.TP
.BI "\-\-cxx"
Print the C++ compiler. Equivalent to the $(CXX) Makefile variable.
.TP
.BI "\-\-cxxflags"
Print the C++ compiler flags. Equivalent to the $(CXXFLAGS) Makefile variable.
.TP
.BI "\-\-detect\-prefix"
If ICU has been moved from its installed location, prepending this flag to
other 
.B icu-config
calls will attempt to locate ICU relative to where the
.B icu-config
script has been located. Can be used as a last-chance effort if the ICU
install has been damaged.
.TP
.BI "\-\-exec\-prefix"
Print the prefix used for executable program directories (such as bin, sbin, etc). Normally the same as the prefix.
.TP
.BI "\-\-exists"
Script will return with a successful (0) status if ICU seems to be installed
and located correctly, otherwise an error message and nonzero status will
be displayed.
.TP
.BI "\-\-help\fP, \fB\-?\fP,\fB\-\-usage"
Print a help and usage message.
.TP
.BI "\-\-icudata"
Print the \fIshortname\fP of the ICU data file. This does not include any suffix such as .dat, .dll, .so, .lib, .a, etc nor does it include prefixes such as 'lib'.  It may be in the form \fBlibicudt21b\fP 
.TP
.BI "\-\-icudata\-installdir"
Print the directory where ICU packaged data should 
be installed.   Can use as pkgdata(1)'s --install option.
.TP
.BI "\-\-icudata\-mode"
Print the default ICU pkgdata mode, such as dll or common.  Can use as pkgdata(1)'s --mode option.
.TP
.BI "\-\-icudatadir"
Print the path to packaged archive data.  (should be where $ICU_DATA 
or equivalent default path points.)  Will NOT point to the libdir.
.TP
.BI "\-\-invoke"
If ICU is not installed in a location where the operating system will locate 
its shared libraries, this option will print out commands so as to set the
appropriate environment variables to load ICU's shared libraries. For example,
on many systems a variable named LD_LIBRARY_PATH or equivalent must be set.
.TP
.BI "\-\-invoke=" "prog"
Same as the \fB\-\-invoke\fP option, except includes options for invoking 
a program named \fIprog\fP.  If \fIprog\fP is the name of an ICU tool, 
such as genrb(1), then \fBicu-config\fP will also include the full path
to that tool. 
.TP
.BI "\-\-ldflags"
Print any flags which should be passed to the linker. These may include 
-L for library search paths, and -l for including ICU libraries. By default, 
this option will attempt to link in the "common" (libicuuc) and "i18n" 
(libicui18n) libraries, as well as the data library. If additional libraries
are required, any of the following two flags may be added in conjunction with this one,
for example "\-\-ldflags \-\-ldflags-ustdio" if the ustdio library is required
in addition to the standard ICU libraries.
Equivalent to the $(LDFLAGS) Makefile variable.
.TP
.BI "\-\-ldflags\-layout"
Prints the link option for the ICU layout library.
.TP
.BI "\-\-ldflags\-ustdio"
Prints the link option to add the UStdio package
.TP
.BI "\-\-ldflags\-libsonly"
Similar to \fI\-\-ldflags\fP but only includes the \-l options.
.TP
.BI "\-\-ldflags\-searchpath"
Similar to \fI\-\-ldflags\fP but only includes the \-L search path options.
.TP
.BI "\-\-ldflags\-system"
Similar to \fI\-\-ldflags\fP but only includes system libraries (such as pthreads)
.BI "\-\-mandir"
Prints the location of the installed ICU man pages. Normally (man)
.TP
.BI "\-\-prefix"
Prints the prefix (base directory) under which the installed ICU resides. 
.TP
.BI "\-\-prefix=" "prefix"
Sets the ICU prefix to \fIprefix\fP for the remainder of this command line.  
Does test whether the new prefix is valid.
.TP
.BI "\-\-sbindir"
Prints the location of ICU system binaries, normally (sbin)
.TP
.BI "\-\-shared\-datadir"
Prints the location of ICU shared data, normally (share)
.TP
.BI "\-\-sysconfdir"
Prints the location of ICU system configuration data, normally (etc)
.TP
.BI "\-\-unicode\-version"
Prints the Version of the Unicode Standard which the current ICU uses.
.TP
.BI "\-\-version"
Prints the current version of ICU.
.TP
.BI "\-\-incfile"
Prints the 'Makefile.inc' path, suitable for use with pkgdata(1)'s \-O option.
.PP
.SH AUTHORS
Steven Loomis
.SH VERSION
@VERSION@
.SH COPYRIGHT
Copyright (C) 2002 IBM, Inc. and others.


--- NEW FILE: make2sh.sed ---
# Copyright (C) 1999-2003, International Business Machines  Corporation and others.  All Rights Reserved.
s%^\([a-zA-Z\._-]*\)[ 	]*+=%\1=$(\1) %
s%^[A-Z]*_SO_TARG*%## &%
s%$(\([^\)]*\))%${\1}%g
s%^	%#M#	%
s@^[a-zA-Z%$.][^=]*$@#M#&@
s@^\([a-zA-Z][-.a-zA-Z_0-9-]*\)[	 ]*=[ 	]*\(.*\)@\1="\2"@
s@^\([a-zA-Z][-a-zA-Z_0-9-]*\)\.\([a-zA-Z_0-9-]*\)[	 ]*=[ 	]*\(.*\)@\1_\2=\3@
s@^\([a-zA-Z][-a-zA-Z_0-9-]*\)\-\([a-zA-Z_0-9-]*\)[	 ]*=[ 	]*\(.*\)@\1_\2=\3@
s@^\(prefix\)=\(.*\)@default_\1=\2\
if [ "x${\1}" = "x" ]; then \1="$default_\1"; fi@
s@^\(ENABLE_RPATH\)=\(.*\)@default_\1=\2\
if [ "x${\1}" = "x" ]; then \1="$default_\1"; fi@
s%^#SH#[ ]*%%








--- NEW FILE: mh-cygwin-msvc ---
## -*-makefile-*-
## Cygwin-specific setup
## Copyright (c) 2001-2003, International Business Machines Corporation and
## others. All Rights Reserved.
##
## $Id: mh-cygwin-msvc,v 1.1 2003/09/10 02:42:05 chrislit Exp $

## Commands to generate dependency files
GEN_DEPS.c=	:
GEN_DEPS.cc=	:

## Flags for position independent code
SHAREDLIBCFLAGS = 
SHAREDLIBCXXFLAGS = 
SHAREDLIBCPPFLAGS =

## Additional flags when building libraries and with threads
LIBCPPFLAGS = 
THREADSCPPFLAGS = 

CPPFLAGS+=/nologo
DEFS+=/D"WIN32"
LDFLAGS+=/nologo

# Commands to compile
COMPILE.c=	$(CC) $(CPPFLAGS) $(DEFS) $(CFLAGS) /GF /c
COMPILE.cc=	$(CXX) $(CPPFLAGS) $(DEFS) $(CXXFLAGS) /GF /c

# Commands to link
LINK.c=		LINK.EXE /subsystem:console $(LDFLAGS)
LINK.cc=	LINK.EXE /subsystem:console $(LDFLAGS)

## Commands to make a shared library
SHLIB.c=	LINK.EXE /DLL $(LDFLAGS)
SHLIB.cc=	LINK.EXE /DLL $(LDFLAGS)

## Compiler switch to embed a runtime search path
LD_RPATH=	
LD_RPATH_PRE=

## Compiler switch to embed a library name
LD_SONAME =

## Shared object suffix
SO = dll
## Non-shared intermediate object suffix
STATIC_O = o
# OUTOPT is for creating a specific output name
OUTOPT = /out:

## An import library is needed for z/OS and MSVC
IMPORT_LIB_EXT = .lib

LIBICU = $(ICUPREFIX)
DEFAULT_LIBS =

## Link commands to link to ICU libs
LIBICUDT=	$(top_builddir)/stubdata/$(LIBICU)data$(ICULIBSUFFIX)$(SO_TARGET_VERSION_MAJOR).lib
LIBICUUC=	$(top_builddir)/common/$(LIBICU)uc$(ICULIBSUFFIX)$(SO_TARGET_VERSION_MAJOR).lib
LIBICUI18N=	$(top_builddir)/i18n/$(LIBICU)i18n$(ICULIBSUFFIX)$(SO_TARGET_VERSION_MAJOR).lib
LIBICULE=	$(top_builddir)/layout/$(LIBICU)le$(ICULIBSUFFIX)$(SO_TARGET_VERSION_MAJOR).lib
LIBICULX=	$(top_builddir)/layoutex/$(LIBICU)lx$(ICULIBSUFFIX)$(SO_TARGET_VERSION_MAJOR).lib
LIBCTESTFW=	$(top_builddir)/tools/ctestfw/$(LIBICU)ctestfw$(ICULIBSUFFIX)$(SO_TARGET_VERSION_MAJOR).lib
LIBICUTOOLUTIL=	$(top_builddir)/tools/toolutil/$(LIBICU)toolutil$(ICULIBSUFFIX)$(SO_TARGET_VERSION_MAJOR).lib
LIBUSTDIO=	$(top_builddir)/extra/ustdio/$(LIBICU)io$(ICULIBSUFFIX)$(SO_TARGET_VERSION_MAJOR).lib


## Compilation rules
%.$(STATIC_O): $(srcdir)/%.c
	$(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) /Fo$@ $<
%.o: $(srcdir)/%.c
	$(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) /Fo$@ $<

%.$(STATIC_O): $(srcdir)/%.cpp
	$(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) /Fo$@ $<
%.o: $(srcdir)/%.cpp
	$(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) /Fo$@ $<

../data/%.o: ../data/%.c
	$(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) /Fo$@ $<

## Dependency rules
#%.d: $(srcdir)/%.c
#	@echo "generating dependency information for $<"
#	$(SHELL) -ec '$(GEN_DEPS.c) $< \
#		| sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \
#		[ -s $@ ] || rm -f $@'
#
#%.d: $(srcdir)/%.cpp
#	@echo "generating dependency information for $<"
#	$(SHELL) -ec '$(GEN_DEPS.cc) $< \
#		| sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \
#		[ -s $@ ] || rm -f $@'

## Dependency rules
%.d : $(srcdir)/%.c
	@echo "generating dependency information for $<"
	@$(GEN_DEPS.c) $< > $@

%.d : $(srcdir)/%.cpp
	@echo "generating dependency information for $<"
	@$(GEN_DEPS.cc) $< > $@

## Compile a Windows resource file
%.res : $(srcdir)/%.rc
	@rc.exe /fo$@ $<

## Versioned target for a shared library.
FINAL_SO_TARGET=  $(basename $(SO_TARGET))$(SO_TARGET_VERSION_MAJOR).$(SO)
MIDDLE_SO_TARGET=$(SO_TARGET)

## Versioned import library names.
IMPORT_LIB = $(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX)$(IMPORT_LIB_EXT)
MIDDLE_IMPORT_LIB = $(LIBICU)$(TARGET_STUBNAME)$(ICULIBSUFFIX)$(SO_TARGET_VERSION_MAJOR)$(IMPORT_LIB_EXT)
FINAL_IMPORT_LIB := $(MIDDLE_IMPORT_LIB)

## Versioned libraries rules
#%$(SO_TARGET_VERSION_MAJOR).$(SO): %$(SO_TARGET_VERSION).$(SO)
#	$(RM) $@ && cp $< $@
%.$(SO): %$(SO_TARGET_VERSION_MAJOR).$(SO)
	$(RM) $@ && ln -s $< $@

##  Bind internal references

# LDflags that pkgdata will use
BIR_LDFLAGS= -Wl,-Bsymbolic

# CPPflags for genccode/gencmn
BIR_CPPFLAGS= -DU_HAVE_BIND_INTERNAL_REFERENCES

# Dependencies [i.e. map files] for the final library
BIR_DEPS=

# Environment variable to set a runtime search path
LDLIBRARYPATH_ENVVAR = PATH

## End Cygwin-specific setup





--- NEW FILE: mh-hpux-gcc ---
## -*-makefile-*-
## HPUX/gcc specific setup
## Copyright (c) 1999-2001, International Business Machines Corporation and
## others. All Rights Reserved.
##
## $Id: mh-hpux-gcc,v 1.1 2003/09/10 02:42:05 chrislit Exp $

## Commands to generate dependency files
GEN_DEPS.c=	$(CC) -E -MM $(DEFS) $(CPPFLAGS)
GEN_DEPS.cc=	$(CXX) -E -MM $(DEFS) $(CPPFLAGS)

## Flags for position independent code
SHAREDLIBCFLAGS = -fPIC
SHAREDLIBCXXFLAGS = -fPIC
SHAREDLIBCPPFLAGS = -DPIC

## Common 'default' path to ensure the sanity of users.  Search the current
## directory, at least.
LD_DEFAULTPATH= -Wl,+b,.:'$$'ORIGIN/

# Get some handy functions defined properly
DEFS += -D_HPUX_SOURCE -D_POSIX_C_SOURCE=199506L

## Commands to link
## For aCC, use the C++ linker so that __shlinit gets defined
LINK.c=     $(CXX) $(DEFS) $(LDFLAGS) -Wl,+s $(LD_DEFAULTPATH)
LINK.cc=    $(CXX) $(DEFS) $(LDFLAGS) -Wl,+s $(LD_DEFAULTPATH)

## Commands to make a shared library
SHLIB.c=  $(CC) $(DEFS) $(CFLAGS) $(LDFLAGS) $(SHAREDLIBCXXFLAGS) -shared -Wl,+s $(LD_DEFAULTPATH)
SHLIB.cc= $(CXX) $(DEFS) $(CXXFLAGS) $(LDFLAGS) $(SHAREDLIBCXXFLAGS) -shared -Wl,+s $(LD_DEFAULTPATH)

## Compiler switch to embed a runtime search path
LD_RPATH=   -Wl,+b,
LD_RPATH_PRE=

## Compiler switch to embed a library name
LD_SONAME = -Wl,+h,$(MIDDLE_SO_TARGET)

## Environment variable to set a runtime search path
LDLIBRARYPATH_ENVVAR = SHLIB_PATH

## Shared object suffix
SO=		sl
## Non-shared intermediate object suffix
STATIC_O = o

## Compilation rules
%.$(STATIC_O): $(srcdir)/%.c
	$(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $<
%.o: $(srcdir)/%.c
	$(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $<

%.$(STATIC_O): $(srcdir)/%.cpp
	$(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $<
%.o: $(srcdir)/%.cpp
	$(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $<

../data/%.o: ../data/%.c
	$(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $<

## Dependency rules
%.d : $(srcdir)/%.c
	@echo "Generating dependency information for $<"
	@$(SHELL) -ec '$(GEN_DEPS.c) $< \
		| sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; \
		[ -s $@ ] || rm -f $@'

%.d : $(srcdir)/%.cpp
	@echo "Generating dependency information for $<"
	@$(SHELL) -ec '$(GEN_DEPS.cc) $< \
		| sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'' > $@; \
		[ -s $@ ] || rm -f $@'

## Versioned libraries rules

%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION)
	$(RM) $@ && ln -s $< $@
%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
	$(RM) $@ && ln -s $*.$(SO).$(SO_TARGET_VERSION) $@

## End HPUX/gcc specific setup







--- NEW FILE: mh-qnx ---
## -*-makefile-*-
## QNX-specific setup
## Copyright (c) 1999-2003, International Business Machines Corporation and
## others. All Rights Reserved.
##
## Provided By: Chris McKillop <cdm@qnx.com>
##
## $Id: mh-qnx,v 1.1 2003/09/10 02:42:05 chrislit Exp $


#
# Create shared libs that "work" properly.
#

## Commands to generate dependency files
GEN_DEPS.c=  $(CC) -E -Wp,-MM $(DEFS) $(CPPFLAGS)
GEN_DEPS.cc= $(CXX) -E -Wp,-MM $(DEFS) $(CPPFLAGS)

## Flags for position independent code
SHAREDLIBCFLAGS = -shared
SHAREDLIBCXXFLAGS = -shared
# SHAREDLIBCPPFLAGS = -shared

#
# Always generatate PIC code.
#
#CPPFLAGS+=-shared

## Additional flags when building libraries and with threads
LIBCPPFLAGS = 
THREADSCPPFLAGS = 

## Compiler switch to embed a runtime search path
LD_RPATH=	
LD_RPATH_PRE = -Wl,-rpath,

## Compiler switch to embed a library name
LD_SONAME = -Wl,-soname -Wl,$(MIDDLE_SO_TARGET)

## Shared object suffix
SO = so
## Non-shared intermediate object suffix
STATIC_O = ao

## Compilation rules
%.$(STATIC_O): $(srcdir)/%.c
	$(COMPILE.c) $(STATICCPPFLAGS) $(STATICCFLAGS) -o $@ $<
%.o: $(srcdir)/%.c
	$(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $<

%.$(STATIC_O): $(srcdir)/%.cpp
	$(COMPILE.cc) $(STATICCPPFLAGS) $(STATICCXXFLAGS) -o $@ $<
%.o: $(srcdir)/%.cpp
	$(COMPILE.cc) $(DYNAMICCPPFLAGS) $(DYNAMICCXXFLAGS) -o $@ $<

../data/%.o: ../data/%.c
	$(COMPILE.c) $(DYNAMICCPPFLAGS) $(DYNAMICCFLAGS) -o $@ $<

## Dependency rules
%.d: $(srcdir)/%.c
	@echo "generating dependency information for $<"
	@$(SHELL) -ec '$(GEN_DEPS.c) $< \
		| sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \
		[ -s $@ ] || rm -f $@'

%.d: $(srcdir)/%.cpp
	@echo "generating dependency information for $<"
	@$(SHELL) -ec '$(GEN_DEPS.cc) $< \
		| sed '\''s%\($*\)\.o[ :]*%\1.o $@ : %g'\'' > $@; \
		[ -s $@ ] || rm -f $@'

## Versioned libraries rules
##
## QNX wants the SONAME in the shared lib to match the final "real" filename.
## (to ease in packaging with QNX's native package format)
##
MIDDLE_SO_TARGET = $(SO_TARGET).$(SO_TARGET_VERSION_MAJOR)
FINAL_SO_TARGET = $(MIDDLE_SO_TARGET)

%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
	$(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION_MAJOR) $@
#%.$(SO).$(SO_TARGET_VERSION_MAJOR): %.$(SO).$(SO_TARGET_VERSION)
#	$(RM) $@ && ln -s ${<F} $@
#%.$(SO): %.$(SO).$(SO_TARGET_VERSION_MAJOR)
#	$(RM) $@ && ln -s ${*F}.$(SO).$(SO_TARGET_VERSION) $@

##  Bind internal references

# LDflags that pkgdata will use
BIR_LDFLAGS= -Wl,-Bsymbolic

# CPPflags for genccode/gencmn
BIR_CPPFLAGS= -DU_HAVE_BIND_INTERNAL_REFERENCES

# Dependencies [i.e. map files] for the final library
BIR_DEPS=

## End QNX-specific setup




--- NEW FILE: mh-unknown ---
## -*-makefile-*-
## Copyright (c) 2003, International Business Machines Corporation and
## others. All Rights Reserved.
##

# Note, this is not a real mh- file. You got here because configure
# (specifically, aclocal.m4) could not determine a suitable mh- file.
#
# Perhaps your platform wasn't detected- try changing aclocal.m4 and
# re-running autoconf. 
#
# If your platform is truly new/different:
# As a start, try copying mh-linux (which is fairly generic) over this
# file, and re-run config.status.

%.$(STATIC_O) %.o %.$(STATIC_O) %.o ../data/%.o %.d %.d %.$(SO).$(SO_TARGET_VERSION_MAJOR) %.$(SO):
	@echo 
	@echo 
	@echo "*** ERROR - configure could not detect your platform"
	@echo "*** see the readme.html"
	@echo "*** or, try copying icu/source/config/mh-linux to mh-unknown"
	@echo "***   and editing it."
	@echo 
	@echo 
	exit 1



--- NEW FILE: test-icu-config.sh ---
#!/bin/sh
## -*-sh-*-
## Copyright (c) 2002, International Business Machines Corporation and
## others. All Rights Reserved.
#
# Just a script to test out icu-config.
#

set -x
which icu-config
icu-config
icu-config -?
icu-config --BAD ARGUMENT
icu-config --bindir               
icu-config --cflags               
icu-config --cxx
icu-config --cc
icu-config --cxxflags               
icu-config --cppflags               
icu-config --cppflags-searchpath
icu-config --incpath
icu-config --invoke
icu-config --invoke=genrb
icu-config --invoke=./myapp
icu-config --invoke=/path/to/myapp
icu-config --ldflags                 
icu-config --ldflags-layout          
icu-config --ldflags-searchpath
icu-config --ldflags-libsonly
icu-config --ldflags-system          
icu-config --ldflags-ustdio          
icu-config --exec-prefix               
icu-config --prefix               
icu-config --sbindir              
icu-config --sysconfdir
icu-config --mandir
icu-config --icudata
icu-config --icudatadir
icu-config --icudata-mode
icu-config --icudata-install-dir
icu-config --shared-datadir
icu-config --unicode-version      
icu-config --version              
# should fail
icu-config --prefix=/tmp --bindir
# following needs to point to an alternate path that will work 
icu-config --prefix=/Users/srl/II --cflags
icu-config --detect-prefix --ldflags --ldflags-layout