libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] [mingw|cygwin] Modify cwrapper to invoke target directly.


From: Roumen Petrov
Subject: Re: [PATCH] [mingw|cygwin] Modify cwrapper to invoke target directly.
Date: Sat, 10 May 2008 15:27:49 +0300
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.13) Gecko/20080329 SeaMonkey/1.1.9

Charles Wilson wrote:
Charles Wilson wrote:
2008-05-05  Charles Wilson  <...>

    * libltdl/config/ltmain.m4sh (func_to_native_path):
    new function. If $host is mingw, and $build is mingw
    or cygwin, convert path to mingw native format.
    (func_to_native_pathlist): new function. Ditto, for
    :-separated pathlists.
    (func_emit_cwrapperexe_src) [__CYGWIN__ && __STRICT_ANSI__]:
    ensure putenv and setenv are declared. Define HAVE_SETENV.
    (func_emit_cwrapperexe_src) [main]: add new constants to
    hold desired PATH settings; initialize and convert to native
    mingw format using functions above. Add new command-line
    options --lt-env-set, --lt-env-prepend, and --lt-env-append.
    No longer emit wrapper script as integral part of launching
    child. Remove support for (now) unnecessary $TARGETSHELL.
    Exec actual target executable directly.
    (func_emit_cwrapperexe_src) [lt_setenv]: new function.
    (func_emit_cwrapperexe_src) [lt_extend_str]: new function.
    (func_emit_cwrapperexe_src) [lt_split_name_value]: new function.
    (func_emit_cwrapperexe_src) [lt_opt_process_env_set]: new function.
(func_emit_cwrapperexe_src) [lt_opt_process_env_prepend]: new function. (func_emit_cwrapperexe_src) [lt_opt_process_env_append]: new function.
    (func_emit_cwrapperexe_src) [lt_update_exe_path]: new function.
    (func_emit_cwrapperexe_src) [lt_update_lib_path]: new function.


The attached patch (to be applied over the previous one) addresses the comments received so far. I can post the merged patch if desired -- and of course, I'll squash into a single patch before I push.

Cygwin: passes 115 (9 skip) on old test suite
only two "unexpected" failures on new test suite -- but 25 and 72 are actually expected on cygwin.

Mingw (msys): no regressions over previous results:
old test suite: fails demo-exec after demo-shared (helldl)
fails the fortran tests, but that's a peculiarity of my system

new test suite: fails 25 and 72 (expected), and 58-60 (a problem with the autotool wrappers on my system)

OK for push?

--
Chuck



libtool 2.2.4 patched with both patches still fail:
...........
(lt_setenv) setting 'PATH' to ':/usr/local/src/..../lt-2.2.4-mingw-mlib/lib2/.libs:/usr/local/src/..../lt-2.2.4-mingw-mlib/lib1/.libs:/tmp/test/pkg/lt-2.2.4-mingw-mlib/lib:/tmp/test/pkg/lt-2.2.4-mingw-mlib/bin:/usr/local/src/..../lt-2.2.4-mingw-mlib/lib2/.libs:/usr/local/src/..../lt-2.2.4-mingw-mlib/lib1/.libs:c:\windows\system32;c:\windows;z:\opt\mingw\bin'
(main) lt_argv_zero : Z:/..../lt-2.2.4-mingw-mlib/appl/.libs/foo.exe
(main) newargz[0]   : Z:/..../lt-2.2.4-mingw-mlib/appl/.libs/foo.exe
err:module:import_dll Library libfoo2.dll (which is needed by L"Z:\\....\\lt-2.2.4-mingw-mlib\\appl\\.libs\\foo.exe") not found
...........

The PATH contain unix instead dos path-separator.

Roumen





reply via email to

[Prev in Thread] Current Thread [Next in Thread]