dosutils: add slist

This commit is contained in:
Mario Fetka
2026-05-22 16:30:57 +02:00
parent 36d566939c
commit ff344fcf4c

View File

@@ -1,14 +1,16 @@
################################# # DOS utilities for mars-nwe.
# mars-dosutils #
############## # Default mode: install a prebuilt net.exe from this source tree. This keeps the
# normal mars-nwe build independent from Open Watcom.
#
# Maintainer mode: configure with -DMARS_NWE_BUILD_DOSUTILS=ON to rebuild
# net.exe with Open Watcom v2 on Linux.
set(MARS_DOSUTILS_NET_EXE set(MARS_DOSUTILS_NET_EXE
"${CMAKE_CURRENT_SOURCE_DIR}/net.exe" "${CMAKE_CURRENT_SOURCE_DIR}/net.exe"
CACHE FILEPATH "Prebuilt DOS net.exe used for installation" CACHE FILEPATH "Prebuilt DOS net.exe used for installation when MARS_NWE_BUILD_DOSUTILS is OFF"
) )
set(MARS_DOSUTILS_STACK_SIZE "32768" CACHE STRING "DOS stack size for mars-dosutils net.exe")
set(MARS_DOSUTILS_PUBLIC_TOOLS set(MARS_DOSUTILS_PUBLIC_TOOLS
net net
login login
@@ -26,6 +28,9 @@ set(MARS_DOSUTILS_PUBLIC_TOOLS
endcap endcap
) )
# Do not install slist.exe yet: func_slist() is empty and SLIST is disabled in net.c.
# Do not install tests/debug by default either; they are developer-only helpers.
if(MARS_NWE_BUILD_DOSUTILS) if(MARS_NWE_BUILD_DOSUTILS)
find_package(OpenWatcom REQUIRED) find_package(OpenWatcom REQUIRED)
@@ -45,11 +50,7 @@ if(MARS_NWE_BUILD_DOSUTILS)
add_custom_command( add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/kern.obj" OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/kern.obj"
COMMAND "${CMAKE_COMMAND}" -E env COMMAND "${CMAKE_COMMAND}" -E env ${OPENWATCOM_ENV}
"WATCOM=${OPENWATCOM_ROOT}"
"PATH=${OPENWATCOM_BINDIR}:$ENV{PATH}"
"INCLUDE=${OPENWATCOM_INCLUDE}"
"EDPATH=${OPENWATCOM_ROOT}/eddat"
"${OPENWATCOM_WASM}" "${OPENWATCOM_WASM}"
-q -q
-zq -zq
@@ -62,18 +63,14 @@ if(MARS_NWE_BUILD_DOSUTILS)
add_custom_command( add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/net.exe" OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/net.exe"
COMMAND "${CMAKE_COMMAND}" -E env COMMAND "${CMAKE_COMMAND}" -E env ${OPENWATCOM_ENV}
"WATCOM=${OPENWATCOM_ROOT}"
"PATH=${OPENWATCOM_BINDIR}:$ENV{PATH}"
"INCLUDE=${OPENWATCOM_INCLUDE}"
"EDPATH=${OPENWATCOM_ROOT}/eddat"
"${OPENWATCOM_WCL}" "${OPENWATCOM_WCL}"
-q -q
-zq -zq
-bt=dos -bt=dos
-ml -ml
-0 -0
-k${MARS_DOSUTILS_STACK_SIZE} -k32768
-fe="${CMAKE_CURRENT_BINARY_DIR}/net.exe" -fe="${CMAKE_CURRENT_BINARY_DIR}/net.exe"
${DOSUTILS_C_SOURCES} ${DOSUTILS_C_SOURCES}
"${CMAKE_CURRENT_BINARY_DIR}/kern.obj" "${CMAKE_CURRENT_BINARY_DIR}/kern.obj"
@@ -97,7 +94,7 @@ else()
message(FATAL_ERROR message(FATAL_ERROR
"Prebuilt DOS utility missing: ${MARS_DOSUTILS_NET_EXE}. " "Prebuilt DOS utility missing: ${MARS_DOSUTILS_NET_EXE}. "
"Either commit net.exe into dosutils or configure with " "Either commit net.exe into dosutils or configure with "
"-DMARS_NWE_BUILD_DOSUTILS=ON and OpenWatcom installed." "-DMARS_NWE_BUILD_DOSUTILS=ON and Open Watcom installed."
) )
endif() endif()
endif() endif()