#edit-mode: -*- python -*-
#coding:gbk

#工作路径. 如果高版本gcc 需要修改两个路径 设置好TOOLCHAIN_ROOT
WORKROOT('../../../../../../')
TOOLCHAIN_ROOT='../../../../../../ps/se/toolchain'
RELATIVE_PATH='../'

USE_GPROF=1 #是否增加-pg选项 gprof使用 
print 'USE_GPROF: %d'%USE_GPROF
LEVEL=0
print 'LEVEL: %d'%(LEVEL)
GCC_LOCAL=1
print 'GCC_LOCAL: %d'%GCC_LOCAL 
#是否使用高版本gcc 可以直接使用生成的bin文件 如./main 
GCC_HIGH=1
print 'GCC_HIGH: %d'%GCC_HIGH
#是否使用高版本动态链接库，即是否使用高版本libc 如果启用 可以使用openmp
GCC_DYNAMIC=1
print 'GCC_DYNAMIC: %d'%GCC_DYNAMIC
GCC_VERSION='3.4.5'
if  GCC_HIGH == 1: 
	if GCC_DYNAMIC == 1:
		GCC_VERSION='4.8.1'
	else:
		GCC_VERSION='4.8.2'
GLIBC_VERSION='2.9'
BINUTILS_VERSION='2.20'
KERNAL_VERSION='2.6.32'

#使用硬链接copy.
CopyUsingHardLink(True)

GCC_BIN='g++'
GCC_FLAGS = '' 

if GCC_LOCAL == 1:
	GCC_BIN = 'g++'
elif GCC_LOCAL == 2:
	GCC_BIN = '/opt/compiler/gcc-4.8.2/bin/g++'
print 'GCC_BIN: %s'%GCC_BIN
CC(GCC_BIN)
CXX(GCC_BIN)

#C预处理器参数.
CPPFLAGS('-D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DVERSION=\\\"1.9.8.7\\\"')

#编译参数设置
COMMON_FLAGS = '-g -O%d -pipe -W -Wall -fPIC -DHAVE_NETINET_IN_H -Wno-unused-parameter -Wno-deprecated'%LEVEL

if GCC_HIGH  == 1:
	GCC_FLAGS += '-std=c++11 -fpermissive -Wno-write-strings -Wno-literal-suffix -Wno-unused-local-typedefs'
	if GCC_DYNAMIC  == 1:
		GCC_FLAGS += ' -fopenmp'
		
#C编译参数.
CFLAGS(COMMON_FLAGS, GCC_FLAGS)

#C++编译参数.
CXXFLAGS(COMMON_FLAGS, GCC_FLAGS)

#IDL编译参数
IDLFLAGS('--compack')

#UBRPC编译参数
UBRPCFLAGS('--compack')

#链接参数.
GCC_LDFLAGS='-g'
if USE_GPROF:
	GCC_LDFLAGS += ' -pg'
if GCC_HIGH  == 1: 
	if GCC_DYNAMIC  == 1:
		GCC_LDFLAGS += ' -lgomp'
	else: 
		GCC_LDFLAGS  += ' -static-libgcc -static-libstdc++'

#链接参数.
#LDFLAGS('-lpthread -lcrypto -lrt -lssl -lldap -lcurl -ldl -rdynamic', GCC_LDFLAGS)
#LDFLAGS('-lpthread -lcrypto -lrt -ldl -rdynamic', GCC_LDFLAGS)
#LDFLAGS('-lpthread -lcrypto -lrt -ldl -rdynamic', GCC_LDFLAGS)
LDFLAGS('-lpthread', GCC_LDFLAGS)
#头文件路径.
INCPATHS('./ ./include ./utils'.replace('./', RELATIVE_PATH))

#使用库
#LIBS('./librsc-sender.a')

#依赖模块
ImportConfigsFrom('../')
srcs=''
srcs=GLOB('./src/*.cpp ./src/Trainers/*.cpp'.replace('./',RELATIVE_PATH))
Application('melt',Sources('melt.cc',srcs))
