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 # The xcode-ninja generator handles gypfiles which are not at the 20 # project root incorrectly. 21 # cf. https://code.google.com/p/gyp/issues/detail?id=460 22 if test.format == 'xcode-ninja': 23 test.skip_test() 24 25 CHDIR = 'ldflags' 26 test.run_gyp('subdirectory/test.gyp', chdir=CHDIR) 27 28 test.build('subdirectory/test.gyp', test.ALL, chdir=CHDIR) 29 30 test.pass_test() 31 32 33# These flags from `man ld` couldl show up in OTHER_LDFLAGS and need path 34# translation. 35# 36# Done: 37# -exported_symbols_list filename 38# -unexported_symbols_list file 39# -reexported_symbols_list file 40# -sectcreate segname sectname file 41# 42# Will be done on demand: 43# -weak_library path_to_library 44# -reexport_library path_to_library 45# -lazy_library path_to_library 46# -upward_library path_to_library 47# -syslibroot rootdir 48# -framework name[,suffix] 49# -weak_framework name[,suffix] 50# -reexport_framework name[,suffix] 51# -lazy_framework name[,suffix] 52# -upward_framework name[,suffix] 53# -force_load path_to_archive 54# -filelist file[,dirname] 55# -dtrace file 56# -order_file file # should use ORDER_FILE 57# -exported_symbols_order file 58# -bundle_loader executable # should use BUNDLE_LOADER 59# -alias_list filename 60# -seg_addr_table filename 61# -dylib_file install_name:file_name 62# -interposable_list filename 63# -object_path_lto filename 64# 65# 66# obsolete: 67# -sectorder segname sectname orderfile 68# -seg_addr_table_filename path 69# 70# 71# ??: 72# -map map_file_path 73# -sub_library library_name 74# -sub_umbrella framework_name 75