1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 03:02:36 +01:00

Modify the cmake build system so that if it doesn't find bison, it will use the pregenerated file in from the svn (.cvs). Work only for windows for the moment. Tested on Vista64 with MSVC2008express.

llvm-svn: 58090
This commit is contained in:
Cedric Venet 2008-10-24 11:24:33 +00:00
parent c20185c7ef
commit c5bd480a57
2 changed files with 30 additions and 6 deletions

View File

@ -1,9 +1,9 @@
# tbi: Configurar ficheros. # tbi: Configurar ficheros.
configure_file(${llvm_include_path}/llvm/ADT/hash_map.h.in ${llvm_builded_incs_dir}/ADT/hash_map.h) configure_file(${llvm_include_path}/llvm/ADT/hash_map.h.in ${llvm_builded_incs_dir}/ADT/hash_map.h COPYONLY)
configure_file(${llvm_include_path}/llvm/ADT/hash_set.h.in ${llvm_builded_incs_dir}/ADT/hash_set.h) configure_file(${llvm_include_path}/llvm/ADT/hash_set.h.in ${llvm_builded_incs_dir}/ADT/hash_set.h COPYONLY)
configure_file(${llvm_include_path}/llvm/ADT/iterator.h.in ${llvm_builded_incs_dir}/ADT/iterator.h) configure_file(${llvm_include_path}/llvm/ADT/iterator.h.in ${llvm_builded_incs_dir}/ADT/iterator.h COPYONLY)
configure_file(${llvm_include_path}/llvm/Support/DataTypes.h.in ${llvm_builded_incs_dir}/Support/DataTypes.h) configure_file(${llvm_include_path}/llvm/Support/DataTypes.h.in ${llvm_builded_incs_dir}/Support/DataTypes.h COPYONLY)
configure_file(${llvm_include_path}/llvm/Config/config.h.in ${llvm_builded_incs_dir}/Config/config.h) configure_file(${llvm_include_path}/llvm/Config/config.h.in ${llvm_builded_incs_dir}/Config/config.h COPYONLY)
file(READ ${llvm_include_path}/../win32/config.h vc_config_text) file(READ ${llvm_include_path}/../win32/config.h vc_config_text)
file(APPEND ${llvm_builded_incs_dir}/Config/config.h ${vc_config_text}) file(APPEND ${llvm_builded_incs_dir}/Config/config.h ${vc_config_text})

View File

@ -1,15 +1,39 @@
# AsmParser, with a Bison generated parser: # AsmParser, with a Bison generated parser:
include(FindBison) include(FindBison)
find_bison() find_bison()
IF(BISON_EXECUTABLE)
bison_generator( bison_generator(
"llvmAsm" "llvmAsm"
"${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.y" "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.y"
"${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.h" "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.h"
"${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.cpp" "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.cpp"
) )
ELSE(BISON_EXECUTABLE)
MESSAGE(STATUS "Bison not found, the pregenerated files will be used")
IF(WIN32)
FILE(TO_NATIVE_PATH ${CMAKE_CURRENT_SOURCE_DIR} WIN_SOURCE_DIR)
ADD_CUSTOM_COMMAND(
OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.cpp"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.cpp.cvs"
COMMAND copy \"${WIN_SOURCE_DIR}\\llvmAsmParser.cpp.cvs\" \"${WIN_SOURCE_DIR}\\llvmAsmParser.cpp\"
)
ADD_CUSTOM_COMMAND(
OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.h"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/llvmAsmParser.h.cvs"
COMMAND copy \"${WIN_SOURCE_DIR}\\llvmAsmParser.h.cvs\" \"${WIN_SOURCE_DIR}\\llvmAsmParser.h\"
)
ELSE(WIN32)
MESSAGE(SEND_ERROR "Not implemented")
# fixme do the same with cp instead of copy
ENDIF(WIN32)
ENDIF(BISON_EXECUTABLE)
add_llvm_library(LLVMAsmParser add_llvm_library(LLVMAsmParser
llvmAsmParser.cpp # Generated from llvmAsmParser.y llvmAsmParser.cpp # Generated from llvmAsmParser.y or copyied from corresponding .cvs
llvmAsmParser.h # needed for the associated custom command to work
LLLexer.cpp LLLexer.cpp
Parser.cpp Parser.cpp
) )