#################################################################################
#                                                                               #
# Copyright (c) 2007 Luca Bruno                                                 #
#                                                                               #
# This file is part of Smalltalk YX.                                            #
#                                                                               #
# Permission is hereby granted, free of charge, to any person obtaining a copy  #
# of this software and associated documentation files (the "Software"), to deal #
# in the Software without restriction, including without limitation the rights  #
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell     #
# copies of the Software, and to permit persons to whom the Software is         #
# furnished to do so, subject to the following conditions:                      #
#                                                                               #
# The above copyright notice and this permission notice shall be included in    #
# all copies or substantial portions of the Software.                           #
#                                                                               #
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR    #
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,      #
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE   #
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER        #
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING       #
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER           #
# DEALINGS IN THE SOFTWARE.                                                     #
#                                                                               #
#################################################################################

import os

Import ('penv', 'distdir')

lib_sources = Split ("plugin-init.c")

if penv['plugins'] and penv['READLINE']:
   env = penv.Clone ()
   if env['PLATFORM'] != 'win32':
      conf = Configure (env)
      if conf.CheckLibWithHeader ('curses', ['curses.h', 'term.h'], 'c', 'tgetnum(NULL);') and conf.CheckLibWithHeader ('readline', ['stdio.h', 'curses.h', 'term.h', 'readline/readline.h', 'readline/history.h'], 'c', 'add_history("testline");'):
         conf.Finish ()
         lib_objects = env.SharedObject (lib_sources)
         lib_shared = env.SharedLibrary (target='syx-readline', source=lib_objects)
         Default (lib_shared)
         
         instdir = os.path.join (env['plugindir'], 'readline')
         env.SyxInstall (instdir, lib_shared)
      else:
         conf.Finish ()
         print 'WARNING: building without readline plugin'

target = penv.Install (os.path.join (distdir, 'plugins', 'readline'),
                       lib_sources + ['Makefile.am', 'SConscript'])
penv.Alias ('sdist', target)
