Skip to content

Commit cc7ced4

Browse files
committed
Detect when symlink not enabled
1 parent 3257446 commit cc7ced4

File tree

4 files changed

+116
-0
lines changed

4 files changed

+116
-0
lines changed

gen/build/build.rs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
use std::io::{self, Write};
2+
use std::path::Path;
3+
use std::process;
4+
5+
const NOSYMLINK: &str = "
6+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7+
When building `cxx` from a git clone, git's symlink support needs
8+
to be enabled on platforms that have it off by default (Windows).
9+
Either use:
10+
11+
$ git config --global core.symlinks true
12+
13+
prior to cloning, or else use:
14+
15+
$ git clone -c core.symlinks=true ...
16+
17+
for the clone.
18+
19+
Symlinks are only required for local development, not for building
20+
`cxx` as a (possibly transitive) dependency from crates.io.
21+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22+
";
23+
24+
fn main() {
25+
if !Path::new("src/syntax/mod.rs").exists() {
26+
let _ = io::stderr().lock().write_all(NOSYMLINK.as_bytes());
27+
process::exit(1);
28+
}
29+
}

gen/cmd/build.rs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
use std::io::{self, Write};
2+
use std::path::Path;
3+
use std::process;
4+
5+
const NOSYMLINK: &str = "
6+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7+
When building `cxx` from a git clone, git's symlink support needs
8+
to be enabled on platforms that have it off by default (Windows).
9+
Either use:
10+
11+
$ git config --global core.symlinks true
12+
13+
prior to cloning, or else use:
14+
15+
$ git clone -c core.symlinks=true ...
16+
17+
for the clone.
18+
19+
Symlinks are only required for local development, not for building
20+
`cxx` as a (possibly transitive) dependency from crates.io.
21+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22+
";
23+
24+
fn main() {
25+
if !Path::new("src/syntax/mod.rs").exists() {
26+
let _ = io::stderr().lock().write_all(NOSYMLINK.as_bytes());
27+
process::exit(1);
28+
}
29+
}

gen/lib/build.rs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
use std::io::{self, Write};
2+
use std::path::Path;
3+
use std::process;
4+
5+
const NOSYMLINK: &str = "
6+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7+
When building `cxx` from a git clone, git's symlink support needs
8+
to be enabled on platforms that have it off by default (Windows).
9+
Either use:
10+
11+
$ git config --global core.symlinks true
12+
13+
prior to cloning, or else use:
14+
15+
$ git clone -c core.symlinks=true ...
16+
17+
for the clone.
18+
19+
Symlinks are only required for local development, not for building
20+
`cxx` as a (possibly transitive) dependency from crates.io.
21+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22+
";
23+
24+
fn main() {
25+
if !Path::new("src/syntax/mod.rs").exists() {
26+
let _ = io::stderr().lock().write_all(NOSYMLINK.as_bytes());
27+
process::exit(1);
28+
}
29+
}

macro/build.rs

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
use std::io::{self, Write};
2+
use std::path::Path;
3+
use std::process;
4+
5+
const NOSYMLINK: &str = "
6+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
7+
When building `cxx` from a git clone, git's symlink support needs
8+
to be enabled on platforms that have it off by default (Windows).
9+
Either use:
10+
11+
$ git config --global core.symlinks true
12+
13+
prior to cloning, or else use:
14+
15+
$ git clone -c core.symlinks=true ...
16+
17+
for the clone.
18+
19+
Symlinks are only required for local development, not for building
20+
`cxx` as a (possibly transitive) dependency from crates.io.
21+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22+
";
23+
24+
fn main() {
25+
if !Path::new("src/syntax/mod.rs").exists() {
26+
let _ = io::stderr().lock().write_all(NOSYMLINK.as_bytes());
27+
process::exit(1);
28+
}
29+
}

0 commit comments

Comments
 (0)