[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Libtool 2.1a ported to SkyOS, how to test?
From: |
Ralf Wildenhues |
Subject: |
Re: Libtool 2.1a ported to SkyOS, how to test? |
Date: |
Sun, 23 Apr 2006 18:06:23 +0200 |
User-agent: |
Mutt/1.5.11+cvs20060403 |
* Robert Szeleney wrote on Sun, Apr 23, 2006 at 05:22:05PM CEST:
> >
> >>/bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.
> >>-g -O2 -c -o ltdl.lo ltdl.c
> >>mkdir .libs
> >>rm: cannot remove directory `': Is a directory
> Fixed. This was a kernel bug when trying to delete '' (rm -f ltdl.o ''
> ). It returned EISDIR rather then ENOENT
LOL. :-)
> >As far as I can see, we need to discuss several questions before we can
> >fix this:
> >
> >- does skyos have drive letters like w32? If not, the logic can be
> > simplified considerably.
> >
> No. You can think of SkyOS as a unix system when it comes to the
> filesystem layout and available tools.
Do executables have an extension, like .exe?
> A *nix emulation layer inside the
> kernel emulates a *nix environment by providing the well known *nix
> filesystem layout (/bin, /usr/, /etc, .....) as well as linking all
> available GNU tools into this locations. Same for the environment
> variables. The only real difference is the executable file format which
> is PE in SkyOS.
OK. Does the file system have symlinks and hard links? Any
requirements on file names (like 8.3 or so)?
> Note: If there is anything missing, like an environment variable,
> essential directory, gcc configuration, ... then I can easily fix this
> and make it available in the next distribution.
:-)
For fixing the issue you previously reported (versioned libs): take a
good look at the versioning systems that ltmain uses. If your system
uses the same one as one we already have, pick that; otherwise, it needs
a new one. You picked linux in your previous patch, was that a
conscious decision? When you're through with that, set
library_names_spec right, so that the symlinks will be created, and
`make install' will work right then.
> >- how does the runtime linker find DLLs? Is there a special variable
> > for it (shlibpath_var, for example LD_LIBRARY_PATH) or does it abuse
> > $PATH for this? If not the latter, you don't need the hacks done for
> > cygwin to install a DLL in some bindir.
> >
> The runtime linker looks in following folders is this order:
> - /boot/sytem/dll (primary location for DLLs)
> - /lib
> - /usr/lib
> - /usr/local/lib
> - LD_LIBRARY_PATH
OK. How about dlopen? Do you have that? How does it find
- the modules to be opened, and
- any libraries those modules may depend on, in case your dlopen also
loads these automatically (set this correctly in ltdl.m4)?
> >What you can do is post `./libtool --config' output.
> >Better even, go through every such variable, try to understand its
> >purpose, and then try to think whether it needs to be adjusted for
> >skyos. There is some documentation about them in doc/libtool.texi,
> >and some inline in libtool.m4. Then post your results, and we shall
> >see how we can munge that into a proper patch to support skyos.
> Attached.
>
> I'm going through every variable currently. I already found
> sys_lib_search_path_spec and sys_lib_dlsearch_path_spec which are not
> set correctly.
soname_spec doesn't look right. But the basic questions first:
Does your link editor load indirect dependencies? Based on soname?
Does your runtime linker load dependencies? Based on soname?
Then, search ltmain.in for occurrences of cygwin; you may have to add
skyos at some instances to forbid creating shared libraries if
-no-undefined has not been passed.
More later.
Cheers,
Ralf