Skip to content

Commit 8ae3946

Browse files
committed
CMake: Install ldc2.conf when installing the runtime, not the compiler
1 parent 9c34ddd commit 8ae3946

File tree

3 files changed

+17
-11
lines changed

3 files changed

+17
-11
lines changed

.github/actions/5-install/action.yml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,20 @@ runs:
1818
if [[ '${{ inputs.cross_compiling }}' != true ]]; then
1919
ninja -C build install >/dev/null
2020
else
21+
# populate first subdirs by installing the cross-compiled compiler:
22+
# * bin/: executables
23+
# * lib/: LTO plugin and compiler-rt libs only
24+
# * etc/bash_completion.d/
2125
ninja -C build-cross install
2226
23-
mkdir -p install/lib
24-
cp -a build-cross-libs/lib/* install/lib/
27+
# install the cross-compiled libs to populate:
28+
# * lib/: runtime library artifacts
29+
# * etc/ldc2.conf
30+
# * import/: missing ldc/gccbuiltins_*.di
31+
ninja -C build-cross-libs install
2532
26-
mkdir -p install/etc
27-
cp build-cross-libs/etc/ldc2_install.conf install/etc/ldc2.conf
28-
cat install/etc/ldc2.conf
29-
30-
# use imports from installed bootstrap compiler
33+
# use imports from installed bootstrap compiler (incl. ldc/gccbuiltins_*.di)
34+
rm -rf install/import
3135
ninja -C bootstrap-ldc install >/dev/null
3236
mv bootstrap-install/import install/
3337
fi

CMakeLists.txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ endif()
137137
set(D_VERSION ${DMDFE_MAJOR_VERSION} CACHE STRING "D language version")
138138
set(PROGRAM_PREFIX "" CACHE STRING "Prepended to ldc/ldmd binary names")
139139
set(PROGRAM_SUFFIX "" CACHE STRING "Appended to ldc/ldmd binary names")
140-
set(CONF_INST_DIR ${SYSCONF_INSTALL_DIR} CACHE PATH "Directory ldc.conf is installed to")
140+
set(CONF_INST_DIR ${SYSCONF_INSTALL_DIR} CACHE PATH "Directory ldc2.conf is installed to")
141141

142142
# Note: LIB_SUFFIX should perhaps be renamed to LDC_LIBDIR_SUFFIX.
143143
set(LIB_SUFFIX "" CACHE STRING "Appended to the library installation directory. Set to '64' to install libraries into ${PREFIX}/lib64.")
@@ -978,9 +978,6 @@ if(${BUILD_SHARED})
978978
# as well, for the time being this just bloats the normal packages.
979979
install(TARGETS ${LDC_LIB} DESTINATION ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX})
980980
endif()
981-
if(NOT CMAKE_CROSSCOMPILING) # ldc2.conf generated by runtime CMake script, excluded when cross-compiling
982-
install(FILES ${PROJECT_BINARY_DIR}/etc/${LDC_EXE}_install.conf DESTINATION ${CONF_INST_DIR} RENAME ${LDC_EXE}.conf)
983-
endif()
984981

985982
if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
986983
if(NOT DEFINED BASH_COMPLETION_COMPLETIONSDIR)

runtime/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -360,6 +360,11 @@ if(MULTILIB AND NOT "${TARGET_SYSTEM}" MATCHES "APPLE")
360360
)
361361
endif()
362362

363+
if(NOT DEFINED CONF_INST_DIR) # set by parent LDC build
364+
set(CONF_INST_DIR "${CMAKE_INSTALL_PREFIX}/etc")
365+
endif()
366+
install(FILES ${install_conf_path} DESTINATION ${CONF_INST_DIR} RENAME ${CONFIG_BASE}.conf)
367+
363368
#
364369
# druntime/Phobos compilation helpers.
365370
#

0 commit comments

Comments
 (0)