Home | History | Annotate | Download | only in library
      1 #!/usr/bin/env python
      2 
      3 # Copyright (c) 2012 Google Inc. All rights reserved.
      4 # Use of this source code is governed by a BSD-style license that can be
      5 # found in the LICENSE file.
      6 
      7 """
      8 Verifies that .so files that are order only dependencies are specified by
      9 their install location rather than by their alias.
     10 """
     11 
     12 # Python 2.5 needs this for the with statement.
     13 from __future__ import with_statement
     14 
     15 import os
     16 import TestGyp
     17 
     18 test = TestGyp.TestGyp(formats=['make'])
     19 
     20 test.run_gyp('shared_dependency.gyp',
     21              chdir='src')
     22 test.relocate('src', 'relocate/src')
     23 
     24 test.build('shared_dependency.gyp', test.ALL, chdir='relocate/src')
     25 
     26 if test.format=='android':
     27   makefile_path = 'relocate/src/GypAndroid.mk'
     28 else:
     29   makefile_path = 'relocate/src/Makefile'
     30 
     31 with open(makefile_path) as makefile:
     32   make_contents = makefile.read()
     33 
     34 # If we remove the code to generate lib1, Make should still be able
     35 # to build lib2 since lib1.so already exists.
     36 make_contents = make_contents.replace('include lib1.target.mk', '')
     37 with open(makefile_path, 'w') as makefile:
     38   makefile.write(make_contents)
     39 
     40 test.build('shared_dependency.gyp', test.ALL, chdir='relocate/src')
     41 
     42 test.pass_test()
     43