SNSystems / llvm-project-prepo

Fork of LLVM with modifications to support a program repository
26 stars 0 forks source link

Modify repo.cmake to support musl libc.a and LLVM libc++.a. #145

Closed MaggieYingYi closed 3 years ago

MaggieYingYi commented 3 years ago

After porting the musl-libc to the program repository, we want to use the musl-libc to build the project. The repo.cmake file is modified to support of building the project using musl libc library and the LLVM libc++ library.

MaggieYingYi commented 3 years ago

I added a new Makefile to build LLVM libraries using the musl-prepo libc library in commit https://github.com/SNSystems/llvm-project-prepo/commit/6c4f10ca7cb881e1330eb14bea461620683715d0 and install it in the docker in commit https://github.com/SNSystems/llvm-project-prepo/pull/145/commits/2a5b14bcf80f6bba91381b6b09507c09f571645f.

paulhuggett commented 3 years ago

I added a new Makefile to build LLVM libraries

When you say ”LLVM libraries”, which libraries do you mean? I’m guessing that this makefile doesn’t build the compiler.

using the musl-prepo libc library in commit 6c4f10c and install it in the docker in commit 2a5b14b.

Why is it being added to the docker image? (We don't have the code in there, or the equivalent for the other libraries.)

MaggieYingYi commented 3 years ago

I added a new Makefile to build LLVM libraries

When you say ”LLVM libraries”, which libraries do you mean?

LLVM libraries refer to the libunwind.a, libcompiler-rt.a, libc++abi.a and libc++.a.

Please update the comment to explain this a little more clearly.

Why is it being added to the docker image? (We don't have the code in there, or the equivalent for the other libraries.)

Yes, there is no code. I reverted it https://github.com/SNSystems/llvm-project-prepo/pull/145/commits/4b48f662f7b96ad27ab340c613168f3122a9c4b3.

Why is it being added to the docker image?

MaggieYingYi commented 3 years ago

I think that this is a good approach to the problem of supporting the new C/C++ stdlibs. Can I confirm that the instructions for building LLVM and pstore with the docker image are still good with this revised toolchain file?

Yes, I can confirm that the docker image are still built fine with this revised toolchain file.

paulhuggett commented 3 years ago

Yes, I can confirm that the docker image are still built fine with this revised toolchain file.

To be clear: I’m not asking about the docker image itself. I want to check that the instructions for building LLVM and pstore within the docker container are still good with this revised toolchain file.

MaggieYingYi commented 3 years ago

Please update the comment to explain this a little more clearly.

Added in the https://github.com/SNSystems/llvm-project-prepo/pull/145/commits/9400f67b65927921e3f5134453335a67197d8fc9.

MaggieYingYi commented 3 years ago

Yes, I can confirm that the docker image are still built fine with this revised toolchain file.

To be clear: I’m not asking about the docker image itself. I want to check that the instructions for building LLVM and pstore within the docker container are still good with this revised toolchain file.

Yes, I built the llvm and pstore in the docker image using the revised toolchain file. It works fine.

MaggieYingYi commented 3 years ago

Why is it being added to the docker image? (We don't have the code in there, or the equivalent for the other libraries.)

Yes, there is no code. I reverted it 4b48f66.

Why is it being added to the docker image?

Initially, I want to use the Makefile to build the LLVM runtime libraries in the docker image. Therefore, I installed it into the docker. And then I found I need the llvm-project-prepo source file to build LLVM runtime libraries. Once I checkout the source code, the Makefile is included. Therefore, there is no need to install the file in the docker. I have removed it.