Lines Matching full:link
7 # Tests the link-directory rule used to create the
13 """These files are created by the configuration logic in link.jam
21 """Test creation of a single link"""
24 import link ;
25 link-directory dir1-link : src/dir1/include : <location>. ;
42 import link ;
43 link-directory dir1-link : src/dir1/include : <location>. ;
44 link-directory dir2-link : src/dir2/include : <location>. ;
61 """Test adding a link when a different symlink already exists"""
64 import link ;
65 link-directory dir1-link : src/dir1/include : <location>. ;
66 link-directory dir2-link : src/dir2/include : <location>. ;
74 if "dir1-link" in group1:
77 if "dir2-link" in group1:
85 if "dir1-link" in group2:
86 if "dir1-link" not in group1:
89 # When a directory is split the link needs to be recreated.
91 # link rather than the link target, so this may be seen as
98 if "dir2-link" in group2:
99 if "dir2-link" not in group1:
112 test_merge_existing(["dir1-link"], ["dir2-link"])
113 test_merge_existing(["dir2-link"], ["dir1-link"])
114 test_merge_existing(["dir1-link"], ["dir1-link", "dir2-link"])
115 test_merge_existing(["dir2-link"], ["dir1-link", "dir2-link"])
121 import link ;
122 link-directory dir1-link : src/dir1/include : <location>. ;
123 link-directory dir2-link : src/dir2/include : <location>. ;
124 link-directory dir3-link : src/dir3/include : <location>. ;
151 import link ;
152 link-directory dir1-link : src/dir1/include : <location>. ;
153 link-directory dir2-link : src/dir2/include : <location>. ;
154 link-directory dir3-link : src/dir3/include : <location>. ;
155 link-directory dir4-link : src/dir4/include : <location>. ;
156 link-directory dir5-link : src/dir5/include : <location>. ;
175 check_file("dir1-link", "include/file1.h")
176 check_file("dir2-link", "include/nested/file2.h")
177 check_file("dir3-link", "include/nested/file3.h")
178 check_file("dir4-link", "include/nested/xxx/yyy/file4.h")
179 check_file("dir5-link", "include/nested/xxx/yyy/file5.h")
186 # These should create a link
187 test_merge_recursive_existing(["dir2-link"], ["dir2-link", "dir1-link"])
188 test_merge_recursive_existing(["dir2-link"], ["dir1-link", "dir2-link"])
190 test_merge_recursive_existing(["dir2-link"], ["dir2-link", "dir3-link"])
191 test_merge_recursive_existing(["dir2-link"], ["dir3-link", "dir2-link"])
193 test_merge_recursive_existing(["dir4-link"], ["dir4-link", "dir5-link"])
194 test_merge_recursive_existing(["dir4-link"], ["dir5-link", "dir4-link"])
200 import link ;
201 link-directory dir1-link : src/dir1/include : <location>. ;
202 link-directory dir2-link : src/dir2/include : <location>. ;
205 <implicit-dependency>dir1-link
206 <implicit-dependency>dir2-link ;
231 import link ;
232 link-directory dir1-link : src/dir1/include : <location>. ;
233 link-directory dir2-link : src/dir2/include : <location>. ;
236 <implicit-dependency>dir1-link
237 <implicit-dependency>dir2-link ;
247 t.run_build_system(["dir2-link"])
258 """Tests the behavior of updates when changing the link mode.
259 The link needs to be updated iff the original was a copy."""
263 import link ;
270 modules.poke link : .can-symlink : false ;
275 modules.poke link : .can-hardlink : false ;
281 rule can-link ( properties * ) {
282 if ( ! [ link.can-symlink $(.project) ] ) &&
283 ( ! [ link.can-hardlink $(.project) ] )
289 # Use two directories so that we link to individual files.
290 link-directory dir1-link : src/dir1/include : <location>. ;
291 link-directory dir2-link : src/dir2/include : <location>. ;
292 alias check-linking : : <conditional>@can-link ;
327 import link ;
328 link-directory dir1-link : src/dir1/include : <location>. ;
329 link-directory dir2-link : src/dir2/include : <location>. ;
337 ["error: Cannot create link include/file1.h to src/dir2/include/file1.h.",
338 "error: Link previously defined to another file, src/dir1/include/file1.h."])