[LLVMdev] Clang 3.5 Release Pre-Pre-Pre-Announcement

Jack Howarth howarth.mailing.lists at gmail.com
Sun May 18 10:36:38 PDT 2014


Bill,
     Are there any plans to integrate the new openmp support into the
llvm/clang 3.5 build process? I have been able to build the current
llvm/clang/compiler-rt/openmp svn on Mac OS X 10.9 out of tree with…

        pushd projects/openmp/runtime
        make compiler=clang
        popd

and then

        OPENMP_DIR=`ls projects/openmp/runtime/tmp | grep dyn`
        pushd projects/openmp/runtime/tmp/$OPENMP_DIR
        install -m 755 libiomp5.dylib %i/opt/llvm-%v/lib/libgomp.dylib
        install -m 644 *.h %i/opt/llvm-%v/lib/clang/%v/include
        popd

in our fink llvm packaging.
    It would be nice to see the cmake build machinery updated to
automatically build and install openmp if its sources are placed in the
projects subdirectory of the llvm-3.5.0 source directory. Even if there
isn't cmake build integration, but assuming an openmp 3.5.0 tar ball will
be released for llvm/clang 3.5.0, the flag for openmp support needs to be
synced to the library name generated in openmp. Currently, the clang flag
-fopenmp flag emits -lgomp whereas the openmp svn currently produces a
libiomp5.dylib instead. Also, the clang compiler currently has to be passed
an explicitly library path to the location of the libgomp.dylib with -L.
While the openmp headers can be found by clang when placed in clang's
include directory, the libgomp.dylib shared lib isn't found when placed in
any of the llvm/clang internal lib directories. If the file is going to be
renamed as libgomp.dylib, it should be buried in the llvm/clang directories
so that it doesn't collide with the FSF one. I can see the rational of
using libgomp.dylib, so that configure and cmake detection of openmp is
triggered, but in the long run it probably should be using a different
shared library name.
            Jack
ps I found on 10.9, that current llvm/clang/openmp can compile and run all
of the example code at
https://computing.llnl.gov/tutorials/openMP/exercise.html to build except
for omp_workshare2.c<https://computing.llnl.gov/tutorials/openMP/samples/C/omp_workshare2.c>.
FYI, there appears to be an issue with building current openmp on 10.8
using the same approach. The openmp code appears to compile but the build
fails with…

make[1]: Leaving directory
'/sw/src/fink.build/llvm35-3.5.0-0/llvm-3.5.0/projects/openmp/runtime/tmp/mac_32e-rtl_5_nor_dyn.12.rel.40.c0.t0-prrg4'
-------------------------------------------------------------------------------
Finished  : 2014-05-17 01:49:01 UTC
Elapsed   : 00:00:02
Result    : --- Failure ---
-------------------------------------------------------------------------------
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140518/0d0f2c7e/attachment.html>


More information about the llvm-dev mailing list