jdenny added a comment.

In D59168#1479939 <https://reviews.llvm.org/D59168#1479939>, @phosek wrote:

> In D59168#1474715 <https://reviews.llvm.org/D59168#1474715>, @jdenny wrote:
>
> > Does the following match what you have in mind?
> >
> >   $prefix/
> >     include/
> >       c++/
> >         v1/
> >           limits.h
> >           ...
> >       openmp/
> >         v1/ <------ I don't think openmp has anything like this now
>
>
> Iibc++ uses this scheme to allow the possibility of evolving the API but I'm 
> not sure if it's necessary for openmp.


It seems we have roughly the same situation for their ABIs.  That is, for .so 
files, someone noted that libc++ and libunwind have always used the same 
version, .1, and openmp doesn't use a version (except in Debian packages).  In 
other words, for each of these three, a change in ABI compatibility has never 
been indicated.  For openmp only, it's apparently assumed a change never will 
need to be indicated (except in Debian packages).

There may be some very good rationale for why openmp is different in this way, 
but I haven't yet learned what it is.

> 
> 
>>         omp.h
>>         ompt.h
>>         ...
>>   lib/
>>     c++/
>>       $target/
>>         libc++abi.so
>>         ...
>>     openmp/
>>       $target/
>>         libomp.so
>>         ...
>>     clang/
>>       9.0.0/ <----- resource directory
>>         include/
>>         lib/
>>           $target/
>>             libclang_rt.asan_cxx.a
>>             ...
>> 
>>   
> 
> Almost with a small variation:
> 
>   $prefix/
>     include/
>       c++/
>         v1/
>           limits.h
>           ...
>       openmp/
>         omp.h
>         ompt.h
>         ...
>     lib/
>       $target/ <--- This way we don't have to duplicate $target in each 
> subdirectory

We duplicate c++, openmp, etc. in each $target instead.  If you have only one 
target, I guess that's better.  Otherwise, does it matter?

> and it matches the layout of the resource directory

Does the resource directory have any subproject directories, like c++, openmp, 
etc?  If not, then it matches just as well either way.  You just remove the 
level of subproject directories, right?

>     c++/
>       libc++abi.so
>       ...
>     openmp/
>       libomp.so
>       ...
>   clang/
>     9.0.0/
>       include/
>       lib/
>         $target/
>           libclang_rt.asan_cxx.a
>           ...
> 
>   WDYT?

To be clear, I'm not opposed to your proposals.  I'm just trying to understand 
the relative advantages.  Thanks.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D59168/new/

https://reviews.llvm.org/D59168



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to