diff options
author | Theodore Dubois <tblodt@icloud.com> | 2019-04-28 06:24:58 -0700 |
---|---|---|
committer | Christian Duerr <chrisduerr@users.noreply.github.com> | 2019-04-28 13:24:58 +0000 |
commit | dbd8538762ef8968a493e1bf996e8693479ca783 (patch) | |
tree | 32ac2a6a5e01238a272d4ba534551d2e42903c7a /build.rs | |
parent | 9c6d12ea2c863ba76015bdedc00db13b7307725a (diff) | |
download | alacritty-dbd8538762ef8968a493e1bf996e8693479ca783.tar.gz alacritty-dbd8538762ef8968a493e1bf996e8693479ca783.zip |
Split alacritty into a separate crates
The crate containing the entry point is called alacritty, and the crate
containing everything else is called alacritty_terminal.
Diffstat (limited to 'build.rs')
-rw-r--r-- | build.rs | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/build.rs b/build.rs deleted file mode 100644 index 9eb61afc..00000000 --- a/build.rs +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright 2016 Joe Wilm, The Alacritty Project Contributors -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -#[cfg(windows)] -use embed_resource; -#[cfg(windows)] -use reqwest; -#[cfg(windows)] -use tempfile; -#[cfg(windows)] -use zip; - -use gl_generator::{Api, Fallbacks, GlobalGenerator, Profile, Registry}; - -use std::env; -use std::fs::File; -use std::path::Path; - -#[cfg(windows)] -use std::fs::OpenOptions; -#[cfg(windows)] -use std::io; - -#[cfg(windows)] -const WINPTY_PACKAGE_URL: &str = - "https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip"; - -fn main() { - let dest = env::var("OUT_DIR").unwrap(); - let mut file = File::create(&Path::new(&dest).join("gl_bindings.rs")).unwrap(); - - Registry::new(Api::Gl, (4, 5), Profile::Core, Fallbacks::All, ["GL_ARB_blend_func_extended"]) - .write_bindings(GlobalGenerator, &mut file) - .unwrap(); - - #[cfg(windows)] - { - embed_resource::compile("extra/windows/windows.rc"); - - // Path is relative to target/{profile}/build/alacritty-HASH/out - let file = Path::new(&env::var("OUT_DIR").unwrap()).join("../../../winpty-agent.exe"); - if !file.exists() { - aquire_winpty_agent(&file); - } - } -} - -#[cfg(windows)] -fn aquire_winpty_agent(out_path: &Path) { - let tmp_dir = tempfile::Builder::new().prefix("alacritty_build").tempdir().unwrap(); - - let mut response = reqwest::get(WINPTY_PACKAGE_URL).unwrap(); - let mut file = OpenOptions::new() - .read(true) - .write(true) - .create(true) - .open(tmp_dir.path().join("winpty_package.zip")) - .unwrap(); - - io::copy(&mut response, &mut file).unwrap(); - - let mut archive = zip::ZipArchive::new(file).unwrap(); - - let target = match env::var("TARGET").unwrap().split("-").next().unwrap() { - "x86_64" => "x64", - "i386" => "ia32", - _ => panic!("architecture has no winpty binary"), - }; - - let mut winpty_agent = archive.by_name(&format!("{}/bin/winpty-agent.exe", target)).unwrap(); - - io::copy(&mut winpty_agent, &mut File::create(out_path).unwrap()).unwrap(); -} |