Add FLAGDIR utility and clean DOS utility build files

Add a NetWare-style FLAGDIR implementation for directory attributes and
register it in the multi-call DOS utility dispatcher.  The new command
supports the 386-style directory flags Normal, System, Hidden,
DeleteInhibit, Purge and RenameInhibit, and formats output close to the
Novell FLAGDIR tool for simple mapped paths.

Update the DOS utilities install/build metadata so flagdir.exe is emitted
alongside the other public tools.  Adjust the Open Watcom CMake build to
compile C sources into the build directory instead of leaving object files
in the source tree.

Move the historical Borland/TASM build files into doc/ to keep the active
source directory focused on the modern Watcom/CMake build.
This commit is contained in:
Mario Fetka
2026-05-24 02:07:29 +02:00
parent 83f8947ece
commit ff92f72583
3 changed files with 33 additions and 7 deletions

View File

@@ -62,10 +62,39 @@ if(MARS_NWE_BUILD_DOSUTILS)
-fo="${CMAKE_CURRENT_BINARY_DIR}/kern.obj"
"${CMAKE_CURRENT_SOURCE_DIR}/kern_wasm.asm"
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/kern_wasm.asm"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
VERBATIM
)
set(DOSUTILS_OBJECTS)
foreach(src IN LISTS DOSUTILS_C_SOURCES)
get_filename_component(obj_name "${src}" NAME_WE)
set(obj "${CMAKE_CURRENT_BINARY_DIR}/${obj_name}.obj")
list(APPEND DOSUTILS_OBJECTS "${obj}")
add_custom_command(
OUTPUT "${obj}"
COMMAND "${CMAKE_COMMAND}" -E env ${OPENWATCOM_ENV}
"${OPENWATCOM_WCL}"
-q
-zq
-bt=dos
-ml
-0
-c
-fo="${obj}"
"${CMAKE_CURRENT_SOURCE_DIR}/${src}"
DEPENDS
"${CMAKE_CURRENT_SOURCE_DIR}/${src}"
"${CMAKE_CURRENT_SOURCE_DIR}/net.h"
"${CMAKE_CURRENT_SOURCE_DIR}/kern.h"
"${CMAKE_CURRENT_SOURCE_DIR}/c32ncp.h"
"${CMAKE_CURRENT_SOURCE_DIR}/nwcrypt.h"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
VERBATIM
)
endforeach()
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/net.exe"
COMMAND "${CMAKE_COMMAND}" -E env ${OPENWATCOM_ENV}
@@ -77,15 +106,12 @@ if(MARS_NWE_BUILD_DOSUTILS)
-0
-k32768
-fe="${CMAKE_CURRENT_BINARY_DIR}/net.exe"
${DOSUTILS_C_SOURCES}
${DOSUTILS_OBJECTS}
"${CMAKE_CURRENT_BINARY_DIR}/kern.obj"
DEPENDS
${DOSUTILS_C_SOURCES}
${DOSUTILS_OBJECTS}
"${CMAKE_CURRENT_BINARY_DIR}/kern.obj"
net.h
kern.h
nwcrypt.h
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
VERBATIM
)