Skip to content
Snippets Groups Projects
Commit 251f0dcb authored by Dominik Wild's avatar Dominik Wild
Browse files

simplified build settings

parent b83b1b5a
Branches
Tags
No related merge requests found
import StanfordUtils
progEnv = StanfordUtils.CloneBaseEnv()
libEnv = StanfordUtils.CloneBaseEnv()
packagename = 'openssl'
StanfordUtils.DependsOn(libEnv, packagename, depsOnly=1)
#cryptoLib = libEnv.SharedLibrary(packagename, StanfordUtils.listFiles(['*.cpp']))
#sslLib = libEnv.SharedLibrary(packagename, StanfordUtils.listFiles(['*.cpp']))
#progEnv.Tool('registerObjects', package=packagename, libraries=[cryptoLib, sslLib])
import opensslLib
import os, platform, pdb, traceback, string
import SCons
import os, pdb
import StanfordUtils
from SCons.Script import Dir
_added = None
_packagename = None
_moduledir = None
_includeSubdir = 'include'
#_includeSubdir = os.path.join('include', 'openssl')
_version = '.0.9.7'
_reentr = ''
_theLibs = ['ssl', 'crypto']
def generate(env, **kw):
global _added, _packagename, _moduledir, _includeSubdir, _version, _reentr, _theLibs
if not _added:
_added = 1
_packagename = StanfordUtils.getPackageName(__name__)
_moduledir = Dir(os.path.dirname(__file__))
# this libraries dependencies
# flags / settings used by this library and users of it
#
variantdir = '' # env['VARIANTDIR']
if env['PLATFORM'] == "cygwin":
_version = ''
variantdir = 'Win_i386'
elif env['PLATFORM'] == 'sunos':
variantdir = 'SunOS_5.8'
else:
variantdir = 'Linux_glibc_2.2.5'
lLibs = [l + _reentr for l in _theLibs]
# export library dependency when we are not building ourselves
if not kw.get('depsOnly', 0):
env.Tool('addLibrary', library=lLibs)
#FIXME: unfortunately this is copy wasted from registerObjects.py because I was not able to
# installPath = env['BASEOUTDIR'].Dir(os.path.join(env['INCDIR'], _packagename))
# if not _includeSubdir == '':
# installPath = installPath.Dir(_includeSubdir)
# env.AppendUnique(CPPPATH=[installPath])
env.AppendUnique(CPPPATH=[_moduledir.Dir(_includeSubdir)])
else:
# pdb.set_trace()
libdir = env['BASEOUTDIR'].Dir(env['LIBDIR'])
_targs = []
for lName in lLibs:
lPath = os.path.join('lib' + lName, variantdir)
if _version == '':
_targs.extend([Dir(lPath).File('lib' + lName + '.so')])
else:
_targs.extend(env.Install(libdir, Dir(lPath).File('lib' + lName + '.so' + _version)))
_targs.extend(env.InstallAs(libdir.File('lib' + lName + '.so'), libdir.File('lib' + lName + '.so' + _version)))
if not _targs == []:
if _version == '':
env.Tool('registerObjects', package=_packagename, libraries=[_targs])
else:
env.Alias(_packagename, _targs)
env.Default(_targs)
env.Alias('libraries', _targs)
env.Alias('all', _targs)
# win32 specific define to export all symbols when creating a DLL
# env.AppendUnique(CPPDEFINES=[_packagename.upper()+'_IMPL'])
# specify public headers here
# env.Tool('registerObjects', package=_packagename, includes=StanfordUtils.listFiles([os.path.join(_includeSubdir, '*.h')]))
# maybe we need to add this libraries local include path when building it (if different from .)
# we are not building the lib itself yet, so this can be left out for the moment
# if not _includeSubdir == '':
# env.AppendUnique(CPPPATH=[Dir(_includeSubdir)])
def exists(env):
return true
packagename = StanfordUtils.getPackageName(__name__)
buildSettings = {
'openssl' : {
'linkDependencies' : ['openssl.ssl', 'openssl.crypto'],
'targetType' : 'IncludeOnly',
'public' : {
'includes' : StanfordUtils.findFiles(['include'], ['.h']),
'includeSubdir': 'include',
'copyIncludes' : False,
}
},
'ssl' : {
'sourceFiles' : ['ssl'],
'targetType' : 'PrecompiledLibraryInstallBuilder',
},
'crypto' : {
'sourceFiles' : ['crypto'],
'targetType' : 'PrecompiledLibraryInstallBuilder',
}
}
StanfordUtils.createTargets(packagename, buildSettings)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment