]> Savannah Git Hosting - gnulib.git/commit
execute, spawn-pipe: Support DLL dependencies of Windows executables.
authorBruno Haible <bruno@clisp.org>
Tue, 22 Oct 2024 20:08:24 +0000 (22:08 +0200)
committerBruno Haible <bruno@clisp.org>
Tue, 22 Oct 2024 20:08:24 +0000 (22:08 +0200)
commit427249c61666dcf649e6ba18fb327cdf71c45780
tree374c595a1a990f105821db2cbbf3221551973a4a
parentb3791b2bb9bdf03b2f99be5629d017a40382e1ee
execute, spawn-pipe: Support DLL dependencies of Windows executables.

Reported by Michele Locati <michele@locati.it>.

* lib/windows-path.h: New file.
* lib/windows-path.c: New file.
* lib/windows-spawn.h (compose_envblock): Add new_PATH parameter.
(spawnpvech): Add dll_dirs parameter. Call extended_PATH.
* lib/windows-spawn.c: Include windows-path.h.
(compose_envblock): Add new_PATH parameter.
* modules/windows-spawn (Description): Now applies to Cygwin as well.
(Files): Add lib/windows-path.h, lib/windows-path.c.
(configure.ac): Define GL_COND_OBJ_WINDOWS_PATH.
(Makefile.am): Conditionally compile windows-path.c.
(Include): Add windows-path.h.
* lib/spawni.c (__spawni): Update compose_envblock call.
* lib/execute.h (execute): Add dll_dirs parameter.
* lib/execute.c: Include windows-path.h.
(execute): Add dll_dirs parameter. Pass it down to spawnpvech. Call
extended_environ.
* lib/spawn-pipe.h (create_pipe_out, create_pipe_in, create_pipe_bidi):
Add dll_dirs parameter.
* lib/spawn-pipe.c: Include windows-path.h.
(create_pipe): Add dll_dirs parameter. Pass it down to spawnpvech. Call
extended_environ.
(create_pipe_bidi, create_pipe_in, create_pipe_out): Add dll_dirs
parameter.
* lib/javaexec.c (execute_java_class): Update execute invocations.
* lib/cygpath.c (execute_and_read_line): Update create_pipe_in
invocation.
* lib/javaversion.c (execute_and_read_line): Likewise.
* lib/csharpcomp.c (compile_csharp_using_mono,
compile_csharp_using_dotnet, compile_csharp_using_sscli): Update
execute, create_pipe_in invocations.
* lib/csharpexec.c (execute_csharp_using_mono,
execute_csharp_using_dotnet, execute_csharp_using_sscli): Likewise.
* lib/javacomp.c (compile_using_envjavac, compile_using_javac,
execute_and_read_line, is_javac_present): Likewise.
* lib/pipe-filter-gi.c (pipe_filter_gi_create): Update create_pipe_bidi
invocation.
* lib/pipe-filter-ii.c (pipe_filter_ii_execute): Likewise.
* tests/test-execute-main.c (main): Update execute invocations.
* tests/test-execute-script.c (main): Likewise.
* tests/test-spawn-pipe-main.c (main): Update create_pipe_bidi
invocation.
* tests/test-spawn-pipe-script.c (main): Update create_pipe_in
invocations.
* NEWS: Mention the changes.
24 files changed:
ChangeLog
NEWS
lib/csharpcomp.c
lib/csharpexec.c
lib/cygpath.c
lib/execute.c
lib/execute.h
lib/javacomp.c
lib/javaexec.c
lib/javaversion.c
lib/pipe-filter-gi.c
lib/pipe-filter-ii.c
lib/spawn-pipe.c
lib/spawn-pipe.h
lib/spawni.c
lib/windows-path.c [new file with mode: 0644]
lib/windows-path.h [new file with mode: 0644]
lib/windows-spawn.c
lib/windows-spawn.h
modules/windows-spawn
tests/test-execute-main.c
tests/test-execute-script.c
tests/test-spawn-pipe-main.c
tests/test-spawn-pipe-script.c