Giter Site home page Giter Site logo

misc-builder's Introduction

Miscellaneous tool build scripts

The repository is part of the Compiler Explorer project. It builds the docker images used to build some of the more...esoteric...tools used on the site.

For example, it builds the 6502 compiler.

It's in the process of being broken into smaller docker files, and/or separate repos as appropriate. What "as appropriate" means is stlil being workde on. Each dockerfile is for one group of related things, building a XXX-builder for the Dockerfile.XXX file. The misc Dockerfile itself is for the super misc-y things that really only are one-off, though that's still being split up.

If you add a new Dockerfile, you'll need to edit the matrix in the .github/workflows/build.yml file.

Testing locally

Note: make sure you chmod +x build/build-yourcompiler.sh first

docker build -t builder -f Dockerfile.misc .
docker run --rm -v/tmp/out:/build builder ./build-yourcompiler.sh trunk /build

Alternative to run (for better debugging)

  • docker run -t -i miscbuilder bash
  • ./build-yourcompiler.sh trunk

misc-builder's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

misc-builder's Issues

SPIRV-tools doesn't build

Latest spirv-tools:

$ find /opt/compiler-explorer/SPIRV-Tools-master/ -name spirv-dis 
$

there's no spirv-dis and nothing executable other than python and other stuff.

@jzzheng22 any ideas on this? I'm not quite sure what's going on. Let me know if there's any information I need to supply to make this easier - I just untarred the latest built tarball and there's not an obvious exeutable inside.

DXC preview fails to build

          Preview failed to build: https://github.com/compiler-explorer/infra/actions/runs/6963684112/job/18949687274
  [417/1557] Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/Core.cpp.o
  /root/dxc/lib/IR/Core.cpp: In function 'void LLVMContextSetDiagnosticHandler(LLVMContextRef, LLVMDiagnosticHandler, void*)':
  /root/dxc/lib/IR/Core.cpp:93:80: warning: cast between incompatible function types from 'LLVMDiagnosticHandler' {aka 'void (*)(LLVMOpaqueDiagnosticInfo*, void*)'} to 'llvm::LLVMContext::DiagnosticHandlerTy' {aka 'void (*)(const llvm::DiagnosticInfo&, void*)'} [-Wcast-function-type]```

_Originally posted by @mattgodbolt in https://github.com/compiler-explorer/infra/issues/1148#issuecomment-1823621724_
            

TenDRA build doesn't work when un-tarred into CE

I built tendra (huge thanks to @partouf and @katef); but the resulting "obj" directory doesn't seem "portable".

We currently assume we can build compilers in one spot and then untar them elsewhere. To test whether we had a viable binary I built in docker, tar'd and uploaded to s3, then pulled down on one of the CE nodes and tried to run:

$ cd tendra-trunk-20200813/
$ ./bin/tcc
tcc: Warning: Can't open environment, 'base': Permission denied
tcc: Warning: Can't open environment, 'base': Permission denied
tcc: Warning: Can't find environment, 'base'
tcc: Fatal: No input files specified
$ cat > ../hellow.c
#include <stdio.h>
int main(int argc, const char *argv[]) { puts("hello\n"); }
$ ./bin/tcc -E /tmp/hellow.c 
tcc: Warning: Can't open environment, 'base': Permission denied
tcc: Warning: Can't open environment, 'base': Permission denied
tcc: Warning: Can't find environment, 'base'
tcc: Fatal: Undefined variable <MKDIR>

Any ideas?

Separate out the .net and hip/rocm build

The intention for this repo was to be fairly simple and minimal, and the addition of .net (and maybe others) has broken that. We should separate it out a little

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.