# PARTIO SOFTWARE
# Copyright 2010 Disney Enterprises, Inc. All rights reserved
# 
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
# 
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 
# * The names "Disney", "Walt Disney Pictures", "Walt Disney Animation
# Studios" or the names of its contributors may NOT be used to
# endorse or promote products derived from this software without
# specific prior written permission from Walt Disney Pictures.
# 
# Disclaimer: THIS SOFTWARE IS PROVIDED BY WALT DISNEY PICTURES AND
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
# BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
# FOR A PARTICULAR PURPOSE, NONINFRINGEMENT AND TITLE ARE DISCLAIMED.
# IN NO EVENT SHALL WALT DISNEY PICTURES, THE COPYRIGHT HOLDER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND BASED ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
import os
import sys

python_ver = sys.version[:3]
python_inc = 'include/python%s' % python_ver
python_mod = 'lib/python%s/site-packages' % python_ver

Import('env variant_build_abs variant_install_abs')

envpy=env.Clone(CPPPATH=[variant_build_abs+"/include"]
              ,LIBPATH="%s/lib"%variant_build_abs
              ,LIBS=["partio"])


pythonDir="/usr"
#pythonDir=os.environ["RP_python2"]

envpy.Append(CXXFLAGS=["-Wno-format"])
envpy.Append(CPPPATH=[pythonDir+"/include/python%s" % python_ver
                      ],
             LIBPATH=["%s/lib"%variant_build_abs],
             LIBS=["partio"])

envpy.Append(SWIGFLAGS=['-c++','-python','-Wall'])
#envpy["SWIG"]="%s/bin/swig"%os.environ["RP_swig"]


if env["mac"]:
    envpy.Append(LINKFLAGS=["-framework","python"],LIBS=["z","partio"])
lib=envpy.SharedLibrary("partio",["partio.i"],LIBS=["z","partio"])
#print lib
dp1=envpy.InstallAs(variant_install_abs+"/%s/_partio.so" % python_mod,lib)
dp2=envpy.InstallAs(variant_install_abs+"/%s/partio.py" % python_mod,"partio.py")
envpy.Depends(dp1,dp2)

envpy.Alias('python', [dp1,dp2])

# Find all .cpp's and make them into programs with same names as cpp
#filter={"partview.cpp":0}  # don't compile this, it requires better env
#dir=Dir(".").srcnode().abspath
#files=[x for x in os.listdir(dir) if x.endswith(".cpp") and x not in filter]
#targets=[x.replace(".cpp","") for x in files]
#
#for i in range(len(files)):
#    file=files[i]
#    target=targets[i]
#    prog=envtools.Program(target,[file])
#    envtools.Install("../../bin",prog)
#    envtools.Install(variant_install_abs+"/bin",prog)
#
#print os.environ
#if "RP_qt4" in os.environ:
#    qtdir=os.environ["RP_qt4"]
#    #qtdir="/usr/local/Trolltech/Qt-4.5.0/"
#    envqt=envtools.Clone()
#    envqt.Append(CXXFLAGS=["-I/%s/include"%qtdir])
#    envqt.Append(LINKFLAGS=" -F%s/lib -L%s/lib"%(qtdir,qtdir))
#    envqt.Append(LINKFLAGS=" -lQtGui -lQtCore -lQtOpenGL -lGL")
#    #envqt.Append(LINKFLAGS=" -framework QtGui -framework QtCore -framework QtOpenGL -framework OpenGL")
#    prog=envqt.Program("partview",["partview.cpp"])
#    envqt.Install("../../bin",prog)
#    envqt.Install(variant_install_abs+"/bin",prog)
    
