@@ -55,42 +55,25 @@ foreach(sdk ${SWIFT_SDKS})
55
55
endif ()
56
56
endif ()
57
57
58
+ set (glibc_modulemap_source "glibc.modulemap.gyb" )
59
+ set (glibc_modulemap_out "${module_dir} /glibc.modulemap" )
60
+
58
61
# Configure the module map based on the target. Each platform needs to
59
62
# reference different headers, based on what's available in their glibc.
60
- set (glibc_modulemap_gyb_source "glibc.modulemap.in.gyb" )
61
- set (glibc_modulemap_gyb_configured
62
- "${CMAKE_CURRENT_BINARY_DIR} /${arch_subdir} /glibc.modulemap.gyb" )
63
- configure_file (
64
- ${glibc_modulemap_gyb_source}
65
- ${glibc_modulemap_gyb_configured}
66
- @ONLY )
67
-
68
- set (gyb_tool "${SWIFT_SOURCE_DIR} /utils/gyb" )
69
- set (glibc_modulemap_configured
70
- "${CMAKE_CURRENT_BINARY_DIR} /${arch_subdir} /glibc.modulemap" )
71
- add_custom_command_target (glibc_modulemap_target
72
- # We can't use handle_gyb_sources() here because we need to ensure
73
- # gyb is invoked before we copy glibc.modulemap into the module dir.
74
- # FIXME: Instead of using a combination of configure_file() and gyb,
75
- # we should use just gyb--it'd be simpler.
76
- COMMAND
77
- ${gyb_tool} "-DCMAKE_SDK=${sdk} " -o ${glibc_modulemap_configured} ${glibc_modulemap_gyb_configured}
78
- COMMAND
79
- ${CMAKE_COMMAND} -E make_directory ${module_dir}
80
- COMMAND
81
- ${CMAKE_COMMAND} -E copy_if_different
82
- ${glibc_modulemap_configured}
83
- "${module_dir} /glibc.modulemap"
84
- OUTPUT "${module_dir} /glibc.modulemap"
85
- DEPENDS ${glibc_modulemap_configured}
86
- COMMENT "Copying Glibc module to ${module_dir} " )
63
+ handle_gyb_source_single (glibc_modulemap_target
64
+ SOURCE "${glibc_modulemap_source} "
65
+ OUTPUT "${glibc_modulemap_out} "
66
+ FLAGS
67
+ "-DCMAKE_SDK=${sdk} "
68
+ "-DGLIBC_INCLUDE_PATH=${GLIBC_INCLUDE_PATH} "
69
+ "-DGLIBC_ARCH_INCLUDE_PATH=${GLIBC_ARCH_INCLUDE_PATH} " )
87
70
88
- swift_install_in_component (stdlib
89
- FILES "${module_dir} /glibc.modulemap "
71
+ swift_install_in_component (sdk-overlay
72
+ FILES "${glibc_modulemap_out} "
90
73
DESTINATION "lib/swift/${arch_subdir} " )
91
74
92
75
list (APPEND glibc_modulemap_target_list ${glibc_modulemap_target} )
93
76
endforeach ()
94
77
endif ()
95
78
endforeach ()
96
- add_custom_target (glibc_modulemap ALL DEPENDS ${glibc_modulemap_target_list} )
79
+ add_custom_target (glibc_modulemap DEPENDS ${glibc_modulemap_target_list} )
0 commit comments