1a765ffcef39dc37bd6d7e597286fd76fbeb1b9faChandler Carruth# Build for the runtime interception helper library. 2a765ffcef39dc37bd6d7e597286fd76fbeb1b9faChandler Carruth 3a765ffcef39dc37bd6d7e597286fd76fbeb1b9faChandler Carruthset(INTERCEPTION_SOURCES 4a765ffcef39dc37bd6d7e597286fd76fbeb1b9faChandler Carruth interception_linux.cc 5a765ffcef39dc37bd6d7e597286fd76fbeb1b9faChandler Carruth interception_mac.cc 6a765ffcef39dc37bd6d7e597286fd76fbeb1b9faChandler Carruth interception_win.cc 765e5090c3ca13ebf1061a7043449d1b3561daa6aEvgeniy Stepanov interception_type_test.cc 8a765ffcef39dc37bd6d7e597286fd76fbeb1b9faChandler Carruth ) 9a765ffcef39dc37bd6d7e597286fd76fbeb1b9faChandler Carruth 10216719b23134b9719bbf3e1de4a7d5d351c21fa8Alexey Samsonovinclude_directories(..) 11216719b23134b9719bbf3e1de4a7d5d351c21fa8Alexey Samsonov 120f7d4a4ad69ad20053d8b78c611853e778bd465aAlexey Samsonovset(INTERCEPTION_CFLAGS ${SANITIZER_COMMON_CFLAGS}) 132d1fdb26e458c4ddc04155c1d421bced3ba90cd0Stephen Hinesappend_no_rtti_flag(INTERCEPTION_CFLAGS) 14a765ffcef39dc37bd6d7e597286fd76fbeb1b9faChandler Carruth 15fe51abb4949ad9976168bf53edb52c20016b9a0dAlexey Samsonovif(APPLE) 16fe51abb4949ad9976168bf53edb52c20016b9a0dAlexey Samsonov # Build universal binary on APPLE. 1749496747758bf44163768ce3e07e40c8f95ccba9Alexander Potapenko foreach(os ${SANITIZER_COMMON_SUPPORTED_DARWIN_OS}) 1849496747758bf44163768ce3e07e40c8f95ccba9Alexander Potapenko add_compiler_rt_darwin_object_library(RTInterception ${os} 1949496747758bf44163768ce3e07e40c8f95ccba9Alexander Potapenko ARCH ${SANITIZER_COMMON_SUPPORTED_ARCH} 2049496747758bf44163768ce3e07e40c8f95ccba9Alexander Potapenko SOURCES ${INTERCEPTION_SOURCES} 2149496747758bf44163768ce3e07e40c8f95ccba9Alexander Potapenko CFLAGS ${INTERCEPTION_CFLAGS}) 2249496747758bf44163768ce3e07e40c8f95ccba9Alexander Potapenko endforeach() 23392c50d4a56557a51a353509c665188aef115f74Alexey Samsonovelseif(ANDROID) 24392c50d4a56557a51a353509c665188aef115f74Alexey Samsonov add_library(RTInterception.arm.android OBJECT ${INTERCEPTION_SOURCES}) 25392c50d4a56557a51a353509c665188aef115f74Alexey Samsonov set_target_compile_flags(RTInterception.arm.android 26392c50d4a56557a51a353509c665188aef115f74Alexey Samsonov ${INTERCEPTION_CFLAGS}) 27fe51abb4949ad9976168bf53edb52c20016b9a0dAlexey Samsonovelse() 28fe51abb4949ad9976168bf53edb52c20016b9a0dAlexey Samsonov # Otherwise, build separate libraries for each target. 2943b4b9c18a7a588a60b9d976391ad8e2f5f9a309Alexey Samsonov foreach(arch ${SANITIZER_COMMON_SUPPORTED_ARCH}) 3043b4b9c18a7a588a60b9d976391ad8e2f5f9a309Alexey Samsonov add_compiler_rt_object_library(RTInterception ${arch} 31392c50d4a56557a51a353509c665188aef115f74Alexey Samsonov SOURCES ${INTERCEPTION_SOURCES} CFLAGS ${INTERCEPTION_CFLAGS}) 3243b4b9c18a7a588a60b9d976391ad8e2f5f9a309Alexey Samsonov endforeach() 33a765ffcef39dc37bd6d7e597286fd76fbeb1b9faChandler Carruthendif() 34