# -------------------------------------------------------------------------- 
# Copyright 2002-2010, OpenNebula Project Leads (OpenNebula.org)            
#                                                                          
# Licensed under the Apache License, Version 2.0 (the "License"); you may 
# not use this file except in compliance with the License. You may obtain   
# a copy of the License at                                               
#                                                                          
# http://www.apache.org/licenses/LICENSE-2.0                              
#                                                                           
# Unless required by applicable law or agreed to in writing, software      
# distributed under the License is distributed on an "AS IS" BASIS,       
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and    
# limitations under the License.                                        
# -------------------------------------------------------------------------- 

import os
import sys
import shutil
sys.path.append("../../../share/scons")
from lex_bison import *

# This is the absolute path where the project is located
cwd="../../../"

# Environment that will be applied to each scons child
main_env=Environment()
main_env['ENV']['PATH']=os.environ['PATH']

# Add builders for flex and bison
add_lex(main_env)
add_bison(main_env)

# Include dirs
main_env.Append(CPPPATH=[
    cwd + '/include',
    cwd + '/include/test',
    '/usr/include/cppunit/',
])

# Library dirs
main_env.Append(LIBPATH=[
    cwd + '/src/common',
    cwd + '/src/log',
    cwd + '/src/nebula',
    cwd + '/src/sql',
    cwd + '/src/pool',
    cwd + '/src/template',
    cwd + '/src/vm',
    cwd + '/src/hm',
    cwd + '/src/mad',
    cwd + '/src/vnm',
    cwd + '/src/um',
    cwd + '/src/authm',
    cwd + '/src/image',
    '/usr/include/openssl/',
])

main_env.Append(LIBS=[
    'nebula_image',
    'nebula_um',
    'nebula_vm',
    'nebula_hm',
    'nebula_vnm',
    'nebula_authm',
    'nebula_template',
    'nebula_pool',
    'nebula_mad',
    'nebula_common',
    'nebula_log',
    'nebula_core',
    'nebula_sql',
    'cppunit',
    'dl',
    'pthread',
    'crypto',
])

# MYSQL
main_env.Append(LIBPATH=["/usr/lib/mysql"])
main_env.Append(CPPPATH=["/usr/include/mysql"])

# libxml2
main_env.ParseConfig('xml2-config --libs --cflags')

sqlite=ARGUMENTS.get('sqlite', 'yes')
if sqlite=='yes':
    main_env.Append(CPPFLAGS=["-DSQLITE_DB"])
    main_env.Append(LIBS=[ 'sqlite3', ])

# MySQL
mysql=ARGUMENTS.get('mysql', 'no')
if mysql=='yes':
    main_env.Append(CPPFLAGS=["-DMYSQL_DB"])
    main_env.Append(LIBS=[ 'mysqlclient', ])

# Compile flags
main_env.Append(CPPFLAGS=[
    "-g",
    "-Wall",
    "-Werror"
])

# Linking flags
main_env.Append(LDFLAGS=["-g "])

main_env.Program('test','ImagePoolTest.cc')

