--- SConstruct.orig 2008-04-21 00:05:35 UTC +++ SConstruct @@ -7,21 +7,22 @@ if os.name == 'nt': env = Environment(tools = tools) -options_file = None +variables_file = None if sys.platform == 'linux2': - options_file = "linux" + variables_file = "linux" elif 'msvc' in env['TOOLS']: - options_file = "msvc" + variables_file = "msvc" else: - options_file = "posix" + variables_file = "posix" -opts = Options(["config_"+options_file+".py", "custom.py", "custom_"+options_file+".py"], ARGUMENTS) +opts = Variables(["config_"+variables_file+".py", "custom.py", "custom_"+variables_file+".py"], ARGUMENTS) opts.Add('CC', 'The C compiler.') opts.Add('CXX', 'The C++ compiler (for the tests)') opts.Add('CCFLAGS', 'Flags for the compiler.', ['-O2', '-Wall']) opts.Add('LINK', 'The linker.') opts.Add('LINKFLAGS', 'Linker flags.', []) +opts.Add('SONAME', 'Shared library name.') opts.Add('no_cygwin', 'Use -mno-cygwin to build using the mingw compiler on cygwin', 0) opts.Add('LIBS', 'libraries', []) opts.Add('LIBPATH', 'library path', []) @@ -65,7 +66,7 @@ def pkg_scan_dep(self, target, source): ## TODO: detectar si el archivo existe antes de abrirlo asi nomas pkg = open(source, "rt") - for linea in pkg.xreadlines(): + for linea in pkg: dep = re.search("^[\t\w]*\$[cphl]file\s*\"([^\"]+)\"", linea) if dep: self.Depends(target, '#' + dep.groups()[0]); @@ -145,7 +146,9 @@ Files will be installed on /bin, /lib ########### end of helper builders env['CPPPATH'] = '#/include' -env['LIBPATH'] = ['#/lib'] + env['LIBPATH'] +env['LIBPATH'] = ['#/lib'] + env['LIBPATH'].split(" ") + +env.Append(SHLINKFLAGS=' -Wl,-soname='+env['SONAME']) if env['no_cygwin']: