@@ -5,28 +5,28 @@ include(LLVM-Config)
5
5
function (add_llvm_symbol_exports target_name export_file)
6
6
if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" )
7
7
set (native_export_file "symbol.exports" )
8
- add_custom_command (OUTPUT symbol.exports
9
- COMMAND sed -e "s/^/_/" < ${export_file} > symbol.exports
8
+ add_custom_command (OUTPUT ${native_export_file}
9
+ COMMAND sed -e "s/^/_/" < ${export_file} > ${native_export_file}
10
10
DEPENDS ${export_file}
11
11
VERBATIM
12
12
COMMENT "Creating export file for ${target_name} " )
13
13
set_property (TARGET ${target_name} APPEND_STRING PROPERTY
14
- LINK_FLAGS " -Wl,-exported_symbols_list,${CMAKE_CURRENT_BINARY_DIR} /symbol.exports " )
14
+ LINK_FLAGS " -Wl,-exported_symbols_list,${CMAKE_CURRENT_BINARY_DIR} /${native_export_file} " )
15
15
elseif (LLVM_HAVE_LINK_VERSION_SCRIPT)
16
16
# Gold and BFD ld require a version script rather than a plain list.
17
17
set (native_export_file "symbol.exports" )
18
18
# FIXME: Don't write the "local:" line on OpenBSD.
19
- add_custom_command (OUTPUT symbol.exports
20
- COMMAND echo "{" > symbol.exports
21
- COMMAND grep -q "[[:alnum:]]" ${export_file} && echo " global:" >> symbol.exports || :
22
- COMMAND sed -e "s/$/;/" -e "s/^/ /" < ${export_file} >> symbol.exports
23
- COMMAND echo " local: *;" >> symbol.exports
24
- COMMAND echo "};" >> symbol.exports
19
+ add_custom_command (OUTPUT ${native_export_file}
20
+ COMMAND echo "{" > ${native_export_file}
21
+ COMMAND grep -q "[[:alnum:]]" ${export_file} && echo " global:" >> ${native_export_file} || :
22
+ COMMAND sed -e "s/$/;/" -e "s/^/ /" < ${export_file} >> ${native_export_file}
23
+ COMMAND echo " local: *;" >> ${native_export_file}
24
+ COMMAND echo "};" >> ${native_export_file}
25
25
DEPENDS ${export_file}
26
26
VERBATIM
27
27
COMMENT "Creating export file for ${target_name} " )
28
28
set_property (TARGET ${target_name} APPEND_STRING PROPERTY
29
- LINK_FLAGS " -Wl,--version-script,${CMAKE_CURRENT_BINARY_DIR} /symbol.exports " )
29
+ LINK_FLAGS " -Wl,--version-script,${CMAKE_CURRENT_BINARY_DIR} /${native_export_file} " )
30
30
else ()
31
31
set (native_export_file "symbol.def" )
32
32
@@ -38,19 +38,18 @@ function(add_llvm_symbol_exports target_name export_file)
38
38
# Using ${export_file} in add_custom_command directly confuses cmd.exe.
39
39
file (TO_NATIVE_PATH ${export_file} export_file_backslashes)
40
40
41
- add_custom_command (OUTPUT symbol.def
42
- COMMAND ${CMAKE_COMMAND} -E echo "EXPORTS" > symbol.def
43
- COMMAND ${CAT} ${export_file_backslashes} >> symbol.def
41
+ add_custom_command (OUTPUT ${native_export_file}
42
+ COMMAND ${CMAKE_COMMAND} -E echo "EXPORTS" > ${native_export_file}
43
+ COMMAND ${CAT} ${export_file_backslashes} >> ${native_export_file}
44
44
DEPENDS ${export_file}
45
45
VERBATIM
46
46
COMMENT "Creating export file for ${target_name} " )
47
47
if (CYGWIN OR MINGW)
48
48
set_property (TARGET ${target_name} APPEND_STRING PROPERTY
49
- LINK_FLAGS "${CMAKE_CURRENT_BINARY_DIR} /symbol.def " )
49
+ LINK_FLAGS "${CMAKE_CURRENT_BINARY_DIR} /${native_export_file} " )
50
50
else ()
51
51
set_property (TARGET ${target_name} APPEND_STRING PROPERTY
52
- LINK_FLAGS "/DEF:${CMAKE_CURRENT_BINARY_DIR} /symbol.def" )
53
- endif ()
52
+ LINK_FLAGS " ${CMAKE_CURRENT_BINARY_DIR} /${native_export_file} " )
54
53
endif ()
55
54
56
55
add_custom_target (${target_name} _exports DEPENDS ${native_export_file} )
0 commit comments