@@ -63,18 +63,23 @@ impl Step for Gcc {
63
63
}
64
64
65
65
build_gcc ( & metadata, builder, target) ;
66
-
67
- let lib_alias = metadata. install_dir . join ( "lib/libgccjit.so.0" ) ;
68
- if !lib_alias. exists ( ) {
69
- t ! ( builder. symlink_file( & libgccjit_path, lib_alias) ) ;
70
- }
66
+ create_lib_alias ( builder, & libgccjit_path) ;
71
67
72
68
t ! ( metadata. stamp. write( ) ) ;
73
69
74
70
GccOutput { libgccjit : libgccjit_path }
75
71
}
76
72
}
77
73
74
+ /// Creates a libgccjit.so.0 alias next to libgccjit.so if it does not
75
+ /// already exist
76
+ fn create_lib_alias ( builder : & Builder < ' _ > , libgccjit : & PathBuf ) {
77
+ let lib_alias = libgccjit. parent ( ) . unwrap ( ) . join ( "libgccjit.so.0" ) ;
78
+ if !lib_alias. exists ( ) {
79
+ t ! ( builder. symlink_file( libgccjit, lib_alias) ) ;
80
+ }
81
+ }
82
+
78
83
pub struct Meta {
79
84
stamp : BuildStamp ,
80
85
out_dir : PathBuf ,
@@ -109,8 +114,11 @@ fn try_download_gcc(builder: &Builder<'_>, target: TargetSelection) -> Option<Pa
109
114
builder. config . download_ci_gcc ( & sha, & root) ;
110
115
t ! ( gcc_stamp. write( ) ) ;
111
116
}
117
+
112
118
// FIXME: put libgccjit.so into a lib directory in dist::Gcc
113
- Some ( root. join ( "libgccjit.so" ) )
119
+ let libgccjit = root. join ( "libgccjit.so" ) ;
120
+ create_lib_alias ( builder, & libgccjit) ;
121
+ Some ( libgccjit)
114
122
}
115
123
116
124
#[ cfg( test) ]
@@ -210,7 +218,7 @@ fn build_gcc(metadata: &Meta, builder: &Builder<'_>, target: TargetSelection) {
210
218
. env ( "CXXFLAGS" , "-Wno-everything -g -O2" )
211
219
. env ( "CFLAGS" , "-Wno-everything -g -O2" )
212
220
. arg ( "--enable-host-shared" )
213
- . arg ( "--enable-languages=jit" )
221
+ . arg ( "--enable-languages=c, jit,lto " )
214
222
. arg ( "--enable-checking=release" )
215
223
. arg ( "--disable-bootstrap" )
216
224
. arg ( "--disable-multilib" )
0 commit comments