Skip to content

Eliminate "workspace layout" requirement to build the compiler: use dependencies #31

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
dvrogozh opened this issue Nov 29, 2018 · 4 comments

Comments

@dvrogozh
Copy link
Contributor

Please, eliminate workspace layout requirements to build the IGC. As of now you require the following folder structure:

workspace
      |- clang_source           https://github.com/llvm-mirror/clang
      |- common_clang           https://github.com/intel/opencl-clang
      |- llvm_patches           https://github.com/intel/llvm-patches
      |- llvm_source            https://github.com/llvm-mirror/llvm
      |- igc                    https://github.com/intel/intel-graphics-compiler
      |- opencl_headers         https://github.com/KhronosGroup/OpenCL-Headers

Please, remove this completely. It is expected that project will require steps similar to the following to build:

git clone https://github.com/intel/intel-graphics-compiler.git && cd intel-graphics-compiler
mkdir build && cd build
cmake ..
make -j8
make install

There are the following options to consider dealing with dependencies:

  1. Detect dependencies installed on the system via pkg-config and other standard tools. Error out if dependency is not satisfied: that's an end-user responsibility to satisfy the dependency.
  2. Pull in sources of the dependency inside your project via: 1) just copy - that's the usual case for gtest, your opencl headers is the obvious candidate, 2) use git submodule.
@dvrogozh
Copy link
Contributor Author

@chivakker : FYI

@dvrogozh dvrogozh changed the title Eliminate "workspace layoyt" requirement to build the compiler: use dependencies Eliminate "workspace layout" requirement to build the compiler: use dependencies Nov 29, 2018
@chivakker
Copy link

@paigeale @iwwu this is a good template to start working towards. It implies that igc can complle fine with system libraries, and also it should set a boilerplate so that someone can try to compile in the current way where sources are cloned for different projects. When fixing this it is important that you don't break other users that might be okay using that build instructions.

@dvrogozh
Copy link
Contributor Author

dvrogozh commented Mar 4, 2019

This is effectively achieved after commit ae4aa3b. RFC #65 suggests README update to describe improved build procedure.

@dvrogozh
Copy link
Contributor Author

@paigeale : this issue is technically fixed, but README was not updated. Do you plan to make README update to switch to the build procedure without layout requirement?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants