# These are the variables/macros that can be used in the conf.
# The default are POSIX/X11 compliant ones.
# $Id: PROJECT,v 1.2 2007/02/18 16:07:39 tlaronde Exp $
#
#  Copyright 2006 Thierry LARONDE <tlaronde@polynum.com>
#  All rights reserved. 
#  
#  This work is under the KerGIS Public Licence v1.1
# 
#  See the COPYRIGHT file at the root of the source directory or see
#  http://www.kergis.com/ for complete information.
# 
# !!!THIS SOFTWARE IS PROVIDED ``AS IS'' WITHOUT ANY WARRANTIES!!! 
#                      USE IT AT YOUR OWN RISK 

#========== THIS RISK COMP API
# Need to tell with which RISK API the files were designed for
# The RK_ prefix is reserved. Use another one for the project defined
# variable.
# We will use KG_ prefix here using KerGIS as an example.
RK_API_VERSION=1A

#========== OWN STUFF
# Project own subfunctions can be defined, since it is a POSIX compliant
# shell script.
KG_is_portable()
{
	# The sizes are given by `config'
	if [ $WITH_PORTABLE_VECTOR = "YES" -a $CHAR = "BYTE" \
	  -a $SHORT = "WYDE" -a $LONG = "TETRA" \
	  -a $FLOAT = "TETRA" -a $DOUBLE = "OCTA" ]; then
	  echo "-DPORTABLE "
	else
	  echo "-UPORTABLE "
	fi
}

# Version is set in CID and retrieved by rkconfig and set in
# PROJECT_VERSION

#========== IDENTIFICATION
# name of the final component of the dir where to install
KG_SYSNAME="KerGIS"

KG_VERSION="($(basename $CONF)_${TARGET}_${TARGET_ARCH}) $(who -m | cut -d ' ' -f1)@$(hostname) $(LC_TIME=C date) [GISBASE=$PKGDIR]"

#----- USER'S OPTIONS (see PROJECT.options)

WITH_UI_CURSES=${WITH_UI_CURSES:-"YES"}
WITH_UI_X11=${WITH_UI_X11:-"YES"}
WITH_PORTABLE_VECTOR=${WITH_PORTABLE_VECTOR:-"YES"}

#----- USER CUSTOMIZABLE
# see PROJECT.options for a description

KG_SWITCH=${KG_SWITCH:-"kergis"}
# This one is a rkcomp defined variable allowing to replace variables
# by their values in PROJECT.map.
MAP_REPLACE="KG_SWITCH"

KG_DEFAULT_LOCATION=${KG_DEFAULT_LOCATION:-"spearfish"}
KG_DEFAULT_GISDATABASE=${KG_DEFAULT_GISDATABASE:-"/usr/local/share/kergis"}

#----- GENERAL SWITCHES

#----- ABI dependencies. 

KG_USE_PORTABLE=$(KG_is_portable)

#========== EXTERNAL DEPENDENCIES
# HAVE_* variables are rkcomp reserved.
#----- C99
[ "x$HAVE_VSNPRINTF" = "xYES" ] && CPPFLAGS="$CPPFLAGS -DHAVE_VSNPRINTF"

#----- ICONV
# these functions are XSI extension of POSIX susv3. They may or may not
# be implemented by the system. If there are, there are in the libc, it
# is set at rkcomp level (ICONVLIB == LIBC).
ICONVLIB=${ICONVLIB:-$(rk_which_lib_of libiconv__ iconv.h)}

#----- CURSES
CURSESLIB=${CURSESLIB:-$(rk_which_lib_of libcurses__ curses.h)}
CURSESLIB=${CURSESLIB:-$(rk_which_lib_of libncurses__ ncurses.h)}

#----- X11
# One can include a file belonging to rkcomp.
include x11
# recall what is used by us
XLIB=$XLIB
XTLIB=$XTLIB

#----- MTIO
MTIO_HEADER=$(rk_which_header_of mtio.h)
KG_USE_MTIO=$([ "x$MTIO_HEADER" = "x" ] || echo "-D USE_MTIO")

#========== DEBUGGING
EFENCELIB=$(rk_which_lib_of libefence__ NULL)

#========== SANITY CHECKS
# Verify that we have the mandatory libes
# We do not use liby (it is so light that this is generally useless)
rk_check_required ICONVLIB CURSESLIB XLIB XTLIB

#========== INTERNALS - DO NOT TAMPER WITH THESE!

# our LIBES and HEADERS

KG_SYS_LIBDIR=$OBJDIR/lib
KG_USR_LIBDIR=$OBJDIR/usr.lib
KG_INCLUDE_DIR=$PROJECTDIR/include
KG_DYN_INCLUDE_DIR=$OBJDIR/include

CPPFLAGS="$CPPFLAGS -I$KG_INCLUDE_DIR -I$KG_DYN_INCLUDE_DIR"

# These ones are transient (only static don't install)
MANAGELIB=$(rk_add_lib $KG_SYS_LIBDIR/libmanage__ $PROJECTDIR/bin/manage/g_manage.h static)
SIGLIB=$(rk_add_lib $KG_SYS_LIBDIR/libsig__ $PROJECTDIR/bin/i.signatures/sig.h static)
ORTHOPHOTOLIB=$(rk_add_lib $KG_USR_LIBDIR/liborthophoto__ $PROJECTDIR/usr.bin/i.ortho.photo/libexec/lib/orthophoto.h static)
SHAPELIB=$(rk_add_lib $KG_USR_LIBDIR/libshape__99.0.0 $OBJDIR/usr.lib/shape/shape.h $REQUESTED_TYPES)

# Main ones
# System
GISLIB=$(rk_add_lib $KG_SYS_LIBDIR/libgis__99.0.0 $PROJECTDIR/lib/gis/gis.h $REQUESTED_TYPES)
RASTERLIB=$(rk_add_lib $KG_SYS_LIBDIR/libraster__99.0.0 $PROJECTDIR/lib/raster/raster.h $REQUESTED_TYPES)
ICONLIB=$(rk_add_lib $KG_SYS_LIBDIR/libicon__99.0.0 $PROJECTDIR/lib/icon/icon.h $REQUESTED_TYPES)
COORCNVLIB=$(rk_add_lib $KG_SYS_LIBDIR/libcoorcnv__99.0.0 $PROJECTDIR/lib/coorcnv/coorcnv.h $REQUESTED_TYPES)
PROJ4LIB=$(rk_add_lib $KG_SYS_LIBDIR/libproj4__1.0.0 $PROJECTDIR/lib/proj4/lib_proj.h $REQUESTED_TYPES)
VECTORLIB=$(rk_add_lib $KG_SYS_LIBDIR/libvector__99.0.0 $PROJECTDIR/lib/vector/vector.h $REQUESTED_TYPES)
# see comments in lib/digitizer/Makefile.ker for why static
DIGITIZERLIB=$(rk_add_lib $KG_SYS_LIBDIR/libdigitizer__99.0.0 $PROJECTDIR/lib/digitizer/digitizer.h static)
SITESLIB=$(rk_add_lib $KG_SYS_LIBDIR/libsites__99.0.0 $PROJECTDIR/lib/sites/sites.h $REQUESTED_TYPES)
DRAWLIB=$(rk_add_lib $KG_SYS_LIBDIR/libdraw__99.0.0 $PROJECTDIR/lib/draw/draw.h $REQUESTED_TYPES)
CORRLIB=$(rk_add_lib $KG_SYS_LIBDIR/libcorr__99.0.0 $OBJDIR/lib/corr/corr.h $REQUESTED_TYPES)
PARTLIB=$(rk_add_lib $KG_SYS_LIBDIR/libpart__99.0.0 $OBJDIR/lib/part/part.h $REQUESTED_TYPES)
RASTERIZERLIB=$(rk_add_lib $KG_SYS_LIBDIR/librasterizer__99.0.0 $PROJECTDIR/lib/rasterizer/rasterizer.h $REQUESTED_TYPES)

# USR or second level ones
DRAWTKLIB=$(rk_add_lib $KG_USR_LIBDIR/libdrawtk__99.0.0 $PROJECTDIR/usr.lib/drawtk/drawtk.h $REQUESTED_TYPES)
GEOREFLIB=$(rk_add_lib $KG_USR_LIBDIR/libgeoref__99.0.0 $PROJECTDIR/usr.lib/georef/georef.h $REQUESTED_TYPES)
CURSESTKLIB=$(rk_add_lib $KG_USR_LIBDIR/libcursestk__99.0.0 $PROJECTDIR/usr.lib/cursestk/cursestk.h $REQUESTED_TYPES)
IMAGERYLIB=$(rk_add_lib $KG_USR_LIBDIR/libimagery__99.0.0 $PROJECTDIR/usr.lib/imagery/imagery.h $REQUESTED_TYPES)

