| 
					
				 | 
			
			
				@@ -60,30 +60,28 @@ or specifying a local directory. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 **Using a local dependency cache** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-**NOTE**: local dependency caches which were not *originally* created via 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  `--enable-cargo-online-mode` are broken. See https://bugs.torproject.org/22907 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+You'll need the following Rust dependencies (as of this writing): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-To specify a local directory: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    libc==0.2.22 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    RUST_DEPENDENCIES='path_to_dependencies_directory' ./configure --enable-rust 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+We vendor our Rust dependencies in a separate repo using 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+[cargo-vendor](https://github.com/alexcrichton/cargo-vendor).  To use them, do: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-(Note that RUST_DEPENDENCIES must be the full path to the directory; it cannot 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-be relative.) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    git submodule init 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    git submodule update 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-You'll need the following Rust dependencies (as of this writing): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+To specify the local directory containing the dependencies, (assuming you are in 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+the top level of the repository) configure tor with: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    libc==0.2.22 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TOR_RUST_DEPENDENCIES='path_to_dependencies_directory' ./configure --enable-rust 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+(Note that RUST_DEPENDENCIES must be the full path to the directory; it cannot 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+be relative.) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-To get them, do: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+Assuming you used the above `git submodule` commands and you're in the topmost 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+directory of the repository, this would be: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    mkdir path_to_dependencies_directory 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    cd path_to_dependencies_directory 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    git clone https://github.com/rust-lang/libc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    cd libc 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    git checkout 0.2.22 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    cargo package 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    cd .. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ln -s libc/target/package/libc-0.2.22 libc-0.2.22 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    TOR_RUST_DEPENDENCIES=`pwd`/src/ext/rust/crates ./configure --enable-rust 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  Identifying which modules to rewrite 
			 |