Home | History | Annotate | Download | only in mac
      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 filenames passed to various linker flags are converted into
      9 build-directory relative paths correctly.
     10 """
     11 
     12 import TestGyp
     13 
     14 import sys
     15 
     16 if sys.platform == 'darwin':
     17   test = TestGyp.TestGyp(formats=['ninja', 'make', 'xcode'])
     18 
     19   CHDIR = 'ldflags'
     20   test.run_gyp('subdirectory/test.gyp', chdir=CHDIR)
     21 
     22   test.build('subdirectory/test.gyp', test.ALL, chdir=CHDIR)
     23 
     24   test.pass_test()
     25 
     26 
     27 # These flags from `man ld` couldl show up in OTHER_LDFLAGS and need path
     28 # translation.
     29 #
     30 # Done:
     31 #      -exported_symbols_list filename
     32 #      -unexported_symbols_list file
     33 #      -reexported_symbols_list file
     34 #      -sectcreate segname sectname file
     35 #
     36 # Will be done on demand:
     37 #      -weak_library path_to_library
     38 #      -reexport_library path_to_library
     39 #      -lazy_library path_to_library
     40 #      -upward_library path_to_library
     41 #      -syslibroot rootdir
     42 #      -framework name[,suffix]
     43 #      -weak_framework name[,suffix]
     44 #      -reexport_framework name[,suffix]
     45 #      -lazy_framework name[,suffix]
     46 #      -upward_framework name[,suffix]
     47 #      -force_load path_to_archive
     48 #      -filelist file[,dirname]
     49 #      -dtrace file
     50 #      -order_file file                     # should use ORDER_FILE
     51 #      -exported_symbols_order file
     52 #      -bundle_loader executable            # should use BUNDLE_LOADER
     53 #      -alias_list filename
     54 #      -seg_addr_table filename
     55 #      -dylib_file install_name:file_name
     56 #      -interposable_list filename
     57 #      -object_path_lto filename
     58 #
     59 #
     60 # obsolete:
     61 #      -sectorder segname sectname orderfile
     62 #      -seg_addr_table_filename path
     63 #
     64 #
     65 # ??:
     66 #      -map map_file_path
     67 #      -sub_library library_name
     68 #      -sub_umbrella framework_name
     69