Hey together
;o)
I just somehow
finished (for now) my work on libtool, and integrating wgcc into it. Here are
some test results (verbose ones attached...):
PASS:
cdemo-static.test
PASS: cdemo-make.test
PASS: cdemo-exec.test
PASS:
demo-static.test
PASS: demo-make.test
PASS: demo-exec.test
PASS:
demo-inst.test
PASS: demo-unst.test
PASS: depdemo-static.test
PASS:
depdemo-make.test
PASS: depdemo-exec.test
PASS: depdemo-inst.test
PASS:
depdemo-unst.test
PASS: mdemo-static.test
PASS: mdemo-make.test
FAIL:
mdemo-exec.test
FAIL: mdemo-inst.test
PASS: mdemo-unst.test
PASS:
cdemo-conf.test
PASS: cdemo-make.test
PASS: cdemo-exec.test
PASS:
demo-conf.test
PASS: demo-make.test
PASS: demo-exec.test
PASS:
demo-inst.test
PASS: demo-unst.test
FAIL: deplibs.test
PASS:
depdemo-conf.test
PASS: depdemo-make.test
PASS: depdemo-exec.test
PASS:
depdemo-inst.test
PASS: depdemo-unst.test
PASS: mdemo-conf.test
PASS:
mdemo-make.test
FAIL: mdemo-exec.test
FAIL: mdemo-inst.test
PASS:
mdemo-unst.test
PASS: dryrun.test
PASS: demo-nofast.test
PASS:
demo-make.test
PASS: demo-exec.test
PASS: demo-inst.test
PASS:
demo-unst.test
PASS: demo-pic.test
PASS: demo-make.test
PASS:
demo-exec.test
PASS: demo-nopic.test
PASS: demo-make.test
PASS:
demo-exec.test
PASS: depdemo-nofast.test
PASS: depdemo-make.test
PASS:
depdemo-exec.test
PASS: depdemo-inst.test
PASS: depdemo-unst.test
PASS:
cdemo-shared.test
PASS: cdemo-make.test
PASS: cdemo-exec.test
PASS:
demo-shared.test
PASS: demo-make.test
PASS: demo-exec.test
PASS:
demo-inst.test
FAIL: hardcode.test
FAIL: build-relink.test
PASS:
noinst-link.test
PASS: demo-unst.test
PASS: depdemo-shared.test
PASS:
depdemo-make.test
PASS: depdemo-exec.test
PASS: depdemo-inst.test
FAIL:
build-relink2.test
PASS: depdemo-unst.test
PASS:
mdemo-shared.test
PASS: mdemo-make.test
PASS: mdemo-exec.test
PASS:
mdemo-inst.test
PASS: mdemo-unst.test
PASS: assign.test
PASS:
link.test
PASS: link-2.test
PASS: nomode.test
PASS: quote.test
PASS:
sh.test
PASS: suffix.test
PASS: pdemo-conf.test
FAIL:
pdemo-make.test
SKIP: pdemo-exec.test
SKIP: pdemo-inst.test
PASS:
mdemo-conf.test
PASS: mdemo-make.test
PASS: mdemo2-conf.test
PASS:
mdemo2-make.test
FAIL: mdemo2-exec.test
PASS:
duplicate_members.test
FAIL: link-order.test
PASS:
tagdemo-static.test
PASS: tagdemo-make.test
PASS:
tagdemo-exec.test
PASS: tagdemo-conf.test
PASS: tagdemo-make.test
PASS:
tagdemo-exec.test
PASS: tagdemo-shared.test
PASS:
tagdemo-make.test
PASS:
tagdemo-exec.test
====================================
11 of 101 tests
failed
(2 tests were not run)
Please report to address@hidden
====================================
Whats funny: the
pdemo tests fail when running all tests, but succeed when running them alone. i
attached some output... (so really there are zero skipped and only 10 failed or
so...)
PASS:
pdemo-conf.test
PASS: pdemo-make.test
PASS: pdemo-exec.test
PASS:
pdemo-inst.test
==================
All 4 tests
passed
==================
this doesn't look
too bad, here some comments:
Known
Issues:
=============
* cannot dlopen
static libraries, only shared (see mdemo, mdemo2)
* cannot link shared lib
and static lib if shared lib linked against this static lib (see deplibs)
*
it seems that always the last lib on the command line is taken, when more that
one with the same name is specified (see link-order)
* some unknown errors
prevent build-relink and build-relink2 from working.
* even though f77 is
found, this is the gnu one installed on Interix, so all those tests fail (i'm
now running without them)
* diagnostic using the check output is a little
difficult since dll's and symbols which can't be found pop up a messagebox
(windows)
* cygwin support is not really working now (what i patch in), but
maybe somedays.... let's see.
* there are some quoting problems with cl.exe
which causes some warnings if a define value on the command line contains a
space.
* all variables which should be available from a shared library _must_
be manually exported, functions work automatically.
* initializing global
variables with (address) values from a shared library works only with c++ (c
forbids initializing with non-constant). (you really should keep this in mind, try c++
if c doesn't work!).
* hardcoding whatever is _not possible_ on windows, so
the hardcode test fails (wonder, wonder) ;o)
* there are several things which
seem to be ok, but at closer looks do something wrong. (mostly resolving symbols
at runtime, see some of the tests where e.g. "nothing" is not
found...).
Thats it for now.
the patch for libtool can be found @ sourceforge
(interix-cygwin-27.07.2006-16.45.patch). This patch also includes some stuff for
cygwin to work (somehow) with wgcc too. This doesn't really work yet (wgcc
does), so don't expect wonders ;o) (the cygwin changes are in
wgcc-0.6.4-p1)
Cheers,
Markus