From 34f6babcc39b21fbc361ec5484c01d43602b0e85 Mon Sep 17 00:00:00 2001 From: Alexander Tankeev Date: Fri, 12 Oct 2012 20:23:52 +0400 Subject: [PATCH] Build LLVM bytecode libraries correctly - BUILD_BC_LIBS option of CMake respects BUILD_SINGLE_LIB option. - Build Phobos as LLVM bytecode as part of BUILD_BC_LIBS option. --- runtime/CMakeLists.txt | 41 +++++++++++++++++++++++++++++------------ 1 file changed, 29 insertions(+), 12 deletions(-) diff --git a/runtime/CMakeLists.txt b/runtime/CMakeLists.txt index 3332142c..93395cf9 100644 --- a/runtime/CMakeLists.txt +++ b/runtime/CMakeLists.txt @@ -347,18 +347,35 @@ macro(build_runtime d_flags c_flags ld_flags lib_suffix path_suffix) message(SEND_ERROR "llvm-ar not found") endif(NOT LLVM_AR_EXE) - add_custom_command( - OUTPUT bclibs - COMMAND ${LLVM_AR_EXE} rs lib${RUNTIME_CC}-bc.a ${CORE_BC} - COMMAND ${LLVM_AR_EXE} rs lib${RUNTIME_GC}-bc.a ${GC_BC} - COMMAND ${LLVM_AR_EXE} rs lib${RUNTIME_DC}-bc.a ${DCRT_BC} - WORKING_DIRECTORY ${output_path} - DEPENDS - ${CORE_BC} - ${GC_BC} - ${DCRT_BC} - ${LDC_IMPORTS} - ) + if(BUILD_SINGLE_LIB) + add_custom_command( + OUTPUT bclibs + COMMAND ${LLVM_AR_EXE} rs libdruntime-ldc-bc.a ${CORE_BC} ${GC_BC} ${DCRT_BC} + COMMAND ${LLVM_AR_EXE} rs libphobos-ldc-bc.a ${PHOBOS2_BC} + WORKING_DIRECTORY ${output_path} + DEPENDS + ${CORE_BC} + ${GC_BC} + ${DCRT_BC} + ${LDC_IMPORTS} + ${PHOBOS2_BC} + ) + else(BUILD_SINGLE_LIB) + add_custom_command( + OUTPUT bclibs + COMMAND ${LLVM_AR_EXE} rs lib${RUNTIME_CC}-bc.a ${CORE_BC} + COMMAND ${LLVM_AR_EXE} rs lib${RUNTIME_GC}-bc.a ${GC_BC} + COMMAND ${LLVM_AR_EXE} rs lib${RUNTIME_DC}-bc.a ${DCRT_BC} + COMMAND ${LLVM_AR_EXE} rs libphobos-ldc-bc.a ${PHOBOS2_BC} + WORKING_DIRECTORY ${output_path} + DEPENDS + ${CORE_BC} + ${GC_BC} + ${DCRT_BC} + ${LDC_IMPORTS} + ${PHOBOS2_BC} + ) + endif(BUILD_SINGLE_LIB) set(BCLIBS bclibs) endif(BUILD_BC_LIBS)