Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/build_llvm_config.sh')
-rwxr-xr-xllvm/build_llvm_config.sh47
1 files changed, 47 insertions, 0 deletions
diff --git a/llvm/build_llvm_config.sh b/llvm/build_llvm_config.sh
new file mode 100755
index 00000000000..d6d06f269bd
--- /dev/null
+++ b/llvm/build_llvm_config.sh
@@ -0,0 +1,47 @@
+#!/bin/bash
+
+llvm_config=$1
+extra_libs="${@:2}"
+
+llvm_api_version=`$llvm_config --mono-api-version` || "0"
+with_llvm=`$llvm_config --prefix`
+
+llvm_config_cflags=`$llvm_config --cflags`
+
+if [[ $llvm_config_cflags = *"stdlib=libc++"* ]]; then
+llvm_libc_c="-stdlib=libc++"
+llvm_libc_link="-lc++"
+else
+llvm_libc_c=""
+llvm_libc_link="-lstdc++"
+fi
+
+# llvm-config --clfags adds warning and optimization flags we don't want
+shared_llvm_cflags="-I$with_llvm/include -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -DLLVM_API_VERSION=$llvm_api_version $llvm_libc_c"
+cxxflag_additions="-std=c++11 -fno-rtti -fexceptions"
+
+ldflags="-L$with_llvm/lib"
+
+llvm_system=`$llvm_config --system-libs`
+
+
+
+llvm_core_components=`$llvm_config --libs analysis core bitwriter`
+llvm_old_jit=`$llvm_config --libs mcjit jit 2>>/dev/null`
+llvm_new_jit=`$llvm_config --libs orcjit 2>>/dev/null`
+llvm_extra=`$llvm_config --libs $extra_libs`
+llvm_lib_components="$llvm_core_components $llvm_old_jit $llvm_new_jit $llvm_extra"
+
+echo "LLVM_CFLAGS_INTERNAL=$shared_llvm_cflags"
+echo "LLVM_CXXFLAGS_INTERNAL=$shared_llvm_cflags $cxxflag_additions"
+echo "LLVM_LDFLAGS_INTERNAL=$ldflags"
+echo "LLVM_LIBS_INTERNAL=$llvm_lib_components $ldflags $llvm_system $llvm_libc_link"
+
+
+
+
+
+
+
+
+