#!/bin/sh
#
#  This library is part of the Firebird project
#
#  This library is free software; you can redistribute it and/or
#  modify it under the terms of the GNU Lesser General Public
#  License as published by the Free Software Foundation; either
#  version 2.1 of the License, or (at your option) any later version.
#  You may obtain a copy of the Licence at
#  http://www.gnu.org/licences/lgpl.html
#  
#  As a special exception this file can also be included in modules
#  with other source code as long as that source code has been 
#  released under an Open Source Initiative certificed licence.  
#  More information about OSI certification can be found at: 
#  http://www.opensource.org 
#  
#  This module 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 Lesser General Public Licence for more details.
#  
#  This module was created by members of the firebird development 
#  team.  All individual contributions remain the Copyright (C) of 
#  those individuals and all rights are reserved.  Contributors to 
#  this file are either listed below or can be obtained from a CVS 
#  history command.
# 
#   Created by:  Mark O'Donohue <mark.odonohue@ludwig.edu.au>
# 
#   Contributor(s):
#  
# 


# This script allows the user to change the link on classic for the 
# client library from 
#
#  a) libfbembed.sl  original classic direct connection
#  b) libfbclient.sl multithreaded client connection
#

#------------------------------------------------------------------------
#  quitIfRealFile
# Quit if library is real file, not link somewhere

quitIfRealFile() {

    fileToCheck=$1

    # Don't worry about symbolic links
    if [ -L $fileToCheck ]
      then
        return
    fi

    if [ -f $fileToCheck ]
      then
        echo "The file $fileToCheck is a real file not just a link to an "
        echo "existing file.  It therefore may be from a"
        echo "previous firebird or InterBase(r) installation"
        echo "You will need to manually check the status of this file"
        echo "and remove it before running this script again"
        exit
    fi
}


#------------------------------------------------------------------------
#  printStatus

printStatus() {
    prStatus=`ls -l @libdir@/libgds.so | sed 's@^.* /usr@/usr@'`
    echo $prStatus
}
    



    quitIfRealFile @libdir@/libgds.sl
    quitIfRealFile @libdir@/libgds.sl.0


cat <<EOF
For classic server there are two optional backward compatible client libraries.
These are libfbclient.sl and libfbembed.sl.  

libfbclient.sl) enables your client to be multithreaded but must connect to a 
                database via a server.  
libfbembed.sl)  allows the client to directly open the database file, but does
                not support multithreaded access

Your current setting is:
EOF
    printStatus

    echo ""

    
    AskQuestion "Which option would you like to choose (client|embed|remove) [client] " "client"

    case $Answer in
    embed) 
        createLinksForBackCompatibility libfbembed.sl
        ;;
    client)
        createLinksForBackCompatibility libfbclient.sl
        ;;
    remove)
        removeLinks
        ;;
    *)
        echo "Unknown option $Answer chosen"
        ;;
    esac
