@ -66,31 +66,38 @@ endif()
# c o m p i l e r - r t b u i l d l o g i c
# = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
ExternalProject_Add ( compiler-rt-build
S O U R C E _ D I R " $ { l l v m _ p r o j _ d i r } / c o m p i l e r - r t "
C M A K E _ A R G S
$ { d e f a u l t _ c m a k e _ a r g s }
- D C O M P I L E R _ R T _ B A R E M E T A L _ B U I L D = O N
- D C O M P I L E R _ R T _ B U I L D _ X R A Y = O F F
- D C O M P I L E R _ R T _ I N C L U D E _ T E S T S = O F F
- D C O M P I L E R _ R T _ H A S _ F P I C _ F L A G = O F F
- D C O M P I L E R _ R T _ D E F A U L T _ T A R G E T _ O N L Y = O N
- D C O M P I L E R _ R T _ B U I L D _ S A N I T I Z E R S = O F F
- D C O M P I L E R _ R T _ B U I L D _ X R A Y = O F F
- D C O M P I L E R _ R T _ B U I L D _ L I B F U Z Z E R = O F F
- D C O M P I L E R _ R T _ B U I L D _ P R O F I L E = O F F
- D C O M P I L E R _ R T _ B U I L D _ C T X _ P R O F I L E = O F F
- D C O M P I L E R _ R T _ B U I L D _ M E M P R O F = O F F
- D C O M P I L E R _ R T _ B U I L D _ O R C = O F F
- D C O M P I L E R _ R T _ B U I L D _ G W P _ A S A N = O F F
- D C M A K E _ C _ C O M P I L E R _ T A R G E T = w a s m 3 2 - w a s i
- D C O M P I L E R _ R T _ O S _ D I R = w a s i
- D C M A K E _ I N S T A L L _ P R E F I X = $ { w a s i _ r e s o u r c e _ d i r }
E X C L U D E _ F R O M _ A L L O N
U S E S _ T E R M I N A L _ C O N F I G U R E O N
U S E S _ T E R M I N A L _ B U I L D O N
U S E S _ T E R M I N A L _ I N S T A L L O N
)
add_custom_target ( compiler-rt-build )
function ( define_compiler_rt target )
ExternalProject_Add ( compiler-rt-build- ${ target }
S O U R C E _ D I R " $ { l l v m _ p r o j _ d i r } / c o m p i l e r - r t "
C M A K E _ A R G S
$ { d e f a u l t _ c m a k e _ a r g s }
- D L L V M _ E N A B L E _ P E R _ T A R G E T _ R U N T I M E _ D I R = O N
- D C O M P I L E R _ R T _ B A R E M E T A L _ B U I L D = O N
- D C O M P I L E R _ R T _ B U I L D _ X R A Y = O F F
- D C O M P I L E R _ R T _ I N C L U D E _ T E S T S = O F F
- D C O M P I L E R _ R T _ H A S _ F P I C _ F L A G = O F F
- D C O M P I L E R _ R T _ D E F A U L T _ T A R G E T _ O N L Y = O N
- D C O M P I L E R _ R T _ B U I L D _ S A N I T I Z E R S = O F F
- D C O M P I L E R _ R T _ B U I L D _ X R A Y = O F F
- D C O M P I L E R _ R T _ B U I L D _ L I B F U Z Z E R = O F F
- D C O M P I L E R _ R T _ B U I L D _ P R O F I L E = O F F
- D C O M P I L E R _ R T _ B U I L D _ C T X _ P R O F I L E = O F F
- D C O M P I L E R _ R T _ B U I L D _ M E M P R O F = O F F
- D C O M P I L E R _ R T _ B U I L D _ O R C = O F F
- D C O M P I L E R _ R T _ B U I L D _ G W P _ A S A N = O F F
- D C M A K E _ C _ C O M P I L E R _ T A R G E T = $ { t a r g e t }
- D C M A K E _ I N S T A L L _ P R E F I X = $ { w a s i _ r e s o u r c e _ d i r }
E X C L U D E _ F R O M _ A L L O N
U S E S _ T E R M I N A L _ C O N F I G U R E O N
U S E S _ T E R M I N A L _ B U I L D O N
U S E S _ T E R M I N A L _ I N S T A L L O N
)
add_dependencies ( compiler-rt-build compiler-rt-build- ${ target } )
endfunction ( )
define_compiler_rt ( wasm32-wasi )
define_compiler_rt ( wasm32-wasip1-threads )
# I n a d d i t i o n t o t h e d e f a u l t i n s t a l l a t i o n o f ` c o m p i l e r - r t ` i t s e l f a l s o c o p y
# a r o u n d s o m e h e a d e r s a n d m a k e c o p i e s o f t h e ` w a s i ` d i r e c t o r y a s ` w a s i p 1 ` a n d
@ -106,12 +113,15 @@ add_custom_target(compiler-rt-post-build
C O M M A N D $ { C M A K E _ C O M M A N D } - E c o p y _ d i r e c t o r y
$ { c l a n g _ r e s o u r c e _ d i r } / i n c l u d e $ { w a s i _ r e s o u r c e _ d i r } / i n c l u d e
# C o p y t h e ` l i b / w a s i` f o l d e r t o ` l i b c/ w a s i { p 1 , p 2 } ` t o e n s u r e t h a t t h o s e
# C o p y t h e ` l i b / w a s m3 2 - u n k n o w n - w a s i` f o l d e r t o ` l i b /w a s m 3 2 - u n k n o w n - w a s i { p 1 , p 2 } ` t o e n s u r e t h a t t h o s e
# O S - s t r i n g s a l s o w o r k f o r l o o k i n g u p t h e c o m p i l e r - r t . a f i l e .
C O M M A N D $ { C M A K E _ C O M M A N D } - E c o p y _ d i r e c t o r y
$ { w a s i _ r e s o u r c e _ d i r } / l i b / w a s i $ { w a s i _ r e s o u r c e _ d i r } / l i b / w a s i p 1
$ { w a s i _ r e s o u r c e _ d i r } / l i b / w a s m 3 2 - u n k n o w n - w a s i $ { w a s i _ r e s o u r c e _ d i r } / l i b / w a s m 3 2 - u n k n o w n - w a s i p 1
C O M M A N D $ { C M A K E _ C O M M A N D } - E c o p y _ d i r e c t o r y
$ { w a s i _ r e s o u r c e _ d i r } / l i b / w a s m 3 2 - u n k n o w n - w a s i $ { w a s i _ r e s o u r c e _ d i r } / l i b / w a s m 3 2 - u n k n o w n - w a s i p 2
# C o p y t h e ` l i b / w a s m 3 2 - u n k n o w n - w a s i p 1 - t h r e a d s ` f o l d e r t o ` l i b / w a s m 3 2 - u n k n o w n - w a s i - t h r e a d s `
C O M M A N D $ { C M A K E _ C O M M A N D } - E c o p y _ d i r e c t o r y
$ { w a s i _ r e s o u r c e _ d i r } / l i b / w a s i $ { w a s i _ r e s o u r c e _ d i r } / l i b / w a s i p 2
$ { w a s i _ r e s o u r c e _ d i r } / l i b / w a s m3 2 - u n k n o w n - w a s ip 1 - t h r e a d s $ { w a s i _ r e s o u r c e _ d i r } / l i b / w a s m3 2 - u n k n o w n - w a s i - t h r e a d s
C O M M E N T " f i n a l i z i n g c o m p i l e r - r t i n s t a l l a t i o n "
)
@ -357,10 +367,10 @@ include(wasi-sdk-dist)
set ( dist_dir ${ CMAKE_CURRENT_BINARY_DIR } /dist )
# T a r b a l l w i t h j u s t ` c o m p i l e r - r t ` bu i l t i n s w i t h i n i t
# T a r b a l l w i t h j u s t ` c o m p i l e r - r t ` li b r a r i e s w i t h i n i t
wasi_sdk_add_tarball ( dist-compiler-rt
$ { d i s t _ d i r } / l i b c l a n g _ r t .b u i l t i n s - w a s m 3 2 - w a s i -$ { w a s i _ s d k _ v e r s i o n } . t a r . g z
$ { w a s i _ r e s o u r c e _ d i r } / l i b /w a s i )
$ { d i s t _ d i r } / l i b c l a n g _ r t -$ { w a s i _ s d k _ v e r s i o n } . t a r . g z
$ { w a s i _ r e s o u r c e _ d i r } / l i b )
add_dependencies ( dist-compiler-rt compiler-rt )
# T a r b a l l w i t h t h e w h o l e s y s r o o t