summaryrefslogtreecommitdiffstats
path: root/test/LIBPATH.py
diff options
context:
space:
mode:
authorSteven Knight <knight@baldmt.com>2002-06-15 04:53:49 (GMT)
committerSteven Knight <knight@baldmt.com>2002-06-15 04:53:49 (GMT)
commit77d43537975b406379979d599894971bf4a225f2 (patch)
tree93c8e6987a60b53f5ca0e3bc986bdcb4208893f3 /test/LIBPATH.py
parentcef5b7fa735eb4e405fab5f852df8e7d53c76954 (diff)
downloadSCons-77d43537975b406379979d599894971bf4a225f2.zip
SCons-77d43537975b406379979d599894971bf4a225f2.tar.gz
SCons-77d43537975b406379979d599894971bf4a225f2.tar.bz2
Add LIBS and LIBPATH dependencies for shared libraries. (Charles Crain)
Diffstat (limited to 'test/LIBPATH.py')
-rw-r--r--test/LIBPATH.py32
1 files changed, 19 insertions, 13 deletions
diff --git a/test/LIBPATH.py b/test/LIBPATH.py
index d0bb065..0176c07 100644
--- a/test/LIBPATH.py
+++ b/test/LIBPATH.py
@@ -31,29 +31,32 @@ import time
if sys.platform == 'win32':
_exe = '.exe'
+ _dll = '.dll'
+ lib_ = ''
else:
_exe = ''
+ _dll = '.so'
+ lib_ = 'lib'
test = TestSCons.TestSCons()
test.subdir('lib1', 'lib2')
prog1 = test.workpath('prog') + _exe
-prog2 = test.workpath('prog2') + _exe
+prog2 = test.workpath(lib_ + 'shlib') + _dll
test.write('SConstruct', """
env1 = Environment(LIBS = [ 'foo1' ],
LIBPATH = [ './lib1' ])
-prog = env1.Object('prog', 'prog.c')
f1 = env1.Object('f1', 'f1.c')
-env1.Program(target = 'prog', source = prog)
+env1.Program(target = 'prog', source = 'prog.c')
env1.Library(target = './lib1/foo1', source = f1)
env2 = Environment(LIBS = 'foo2',
LIBPATH = '.')
-env2.Program(target = 'prog2', source = prog)
+env2.SharedLibrary(target = 'shlib', source = 'shlib.c')
env2.Library(target = 'foo2', source = f1)
""")
@@ -65,6 +68,15 @@ f1(void)
}
""")
+test.write('shlib.c', r"""
+void f1(void);
+int
+test()
+{
+ f1();
+}
+""")
+
test.write('prog.c', r"""
void f1(void);
int
@@ -81,8 +93,6 @@ test.run(arguments = '.')
test.run(program = prog1,
stdout = "f1.c\nprog.c\n")
-test.run(program = prog2,
- stdout = "f1.c\nprog.c\n")
oldtime1 = os.path.getmtime(prog1)
oldtime2 = os.path.getmtime(prog2)
@@ -103,23 +113,21 @@ f1(void)
test.run(arguments = '.')
test.run(program = prog1,
stdout = "f1.c 1\nprog.c\n")
-test.run(program = prog2,
- stdout = "f1.c 1\nprog.c\n")
+test.fail_test(oldtime2 == os.path.getmtime(prog2))
#test.up_to_date(arguments = '.')
# Change LIBPATH and make sure we don't rebuild because of it.
test.write('SConstruct', """
env1 = Environment(LIBS = [ 'foo1' ],
LIBPATH = [ './lib1', './lib2' ])
-prog = env1.Object('prog', 'prog.c')
f1 = env1.Object('f1', 'f1.c')
-env1.Program(target = 'prog', source = prog)
+env1.Program(target = 'prog', source = 'prog.c')
env1.Library(target = './lib1/foo1', source = f1)
env2 = Environment(LIBS = 'foo2',
LIBPATH = Split('. ./lib2'))
-env2.Program(target = 'prog2', source = prog)
+env2.SharedLibrary(target = 'shlib', source = 'shlib.c')
env2.Library(target = 'foo2', source = f1)
""")
@@ -136,8 +144,6 @@ f1(void)
test.run(arguments = '.')
test.run(program = prog1,
stdout = "f1.c 2\nprog.c\n")
-test.run(program = prog2,
- stdout = "f1.c 2\nprog.c\n")
test.up_to_date(arguments = '.')