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"""
8Verifies that filenames passed to various linker flags are converted into
9build-directory relative paths correctly.
10"""
11
12import TestGyp
13
14import sys
15
16if 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