Re: HP-UX "module" linking problem

2006-09-19 Thread Kent Boortz

Albert Chin <[EMAIL PROTECTED]> writes:

> So, in both cases, libz is not on the command-line used to create the
> shared library.

Yes, what I meant was that I took the "cc" line libtool expand to,
inserted "-lmysqlclient" and tried link it manually. and it worked.
Making me beleive it is a libtool problem.

Looking inside the "libtool" command and Googling a bit more, I found
an ugly way around this. After generating the "configure" script, I
change it to say

  hpux10.20* | hpux11*)
lt_cv_deplibs_check_method=pass_all

This makes it let "-lmysqlclient" pass on, I found no way to force
this using any command line flag.

> On HP-UX, lib*.a libraries are always static archives, regardless of
> how the members were compiled. If you want to link in
> libmysqlclient_r, I think your only solution is to build it as part of
> whatever program you're building but create it as a convenience
> library.

Thanks, I will look into that option,

kent

-- 
Kent Boortz, Senior Software Developer
MySQL AB, www.mysql.com
Office: +46 18 174400 ext. 4450 (VoIP)
Office: +46 19 182931
Mobile: +46 70 2791171


___
http://lists.gnu.org/mailman/listinfo/libtool


wgcc 2.0 RC1 released

2006-09-19 Thread Duft Markus



Hi 
again!
 
For all interested 
in native Windows binaries built with Autotools and mnay other interesting 
things:
 
wgcc is a cross-compiler tool primarily written for 
Microsoft's Interix. Its primary purpose is to produce native Windows binaries 
(internally using the Microsoft Tool chain), and to mimic the behaviour of the 
GNU compiler collection. This means that wgcc understands many of GCC's command 
line arguments, and in most cases delivers the same results as expected, 
sometimes manipulating the underlying tool's input and output.
 
Even though wgcc was written for Interix only, it 
can be used on native Windows (without Interix), and other Systems, like Cygwin. 
The only restriction is that on Platforms other than Interix, only Windows style 
paths are understood. This will change in the future for Cygwin, and/or others. 
On Interix wgcc automatically converts UNIX style paths to Windows style ones 
(i.e. /wgcc to C:\SFU\wgcc).
 
wgcc abstracts away lots of inconveniences that are 
introduced by building static libraries, shared libraries (DLL's) and 
executables with any possible combination of those three. When using wgcc both 
static and shared libraries behave exactly the same on Windows, and this makes 
tons of defines unnecessary. The only thing that still has to be done is to give 
all Data symbols (i.e. Variables) an import attribute (__declspec(dllimport)) 
when using them (i.e. in the library header files) in an executable. For a 
simple example take a look at the file tests/shared.test inside the wgcc 
distribution.
 
The Release Candidate 1 of wgcc has a completely 
rewritten Configuration File parser, which allows for faster and safer parsing; 
now adding the ability to include empty directives in configuration files. This 
could be something like "paths.c++ =" to unset all C++ search 
directories.
 
Also the ability to automatically generate export 
definitions and import trampolines for mixing static and shared libraries with 
executables has been reviewed and improved. This did not change the behaviour of 
wgcc regarding the 2.0-pre.x versions, but only speeded it up a 
little.
 
pxwc, the accompanying library for wgcc allows 
further abstraction for C code, allowing use of the ANSI function names (i.e. 
without the leading "_"). pxwc currently includes only a small set of functions, 
so your help is needed to find out which others to include. Just open a Feature 
Request at http://sourceforge.net/tracker/?group_id=158081&atid=806407 
and we will try to add functionality as soon as possible.
 
Using the patch provided for GNU Libtool, wgcc can 
be used with many Open Source packages. After patching and installing Libtool, 
simply bootstrap the package in question, configure (set CC, CXX and LD to 
"wgcc") and build. The configure Script should tell that the linker in use is 
the "Interix to Win32 cross linker (wgcc)".
 
Since the version jump to 2.x wgcc now resides in 
the Sourceforge Subversion Repository. The CVS Repository still continues to 
contain previous wgcc versions (0.x).
 
To continue improving wgcc and pxwc packages, we 
now need your help in testing them. Please download wgcc and try to compile you 
software using it. If something goes wrong please contact mduft or open an issue 
using the Sourceforge Tracker at http://sourceforge.net/tracker/?group_id=158081&atid=806404, 
or ask your questions at the forums at http://sourceforge.net/forum/?group_id=158081.
 
You can browse the Subversion Repository here: http://svn.sourceforge.net/viewvc/interix-wgcc/trunks/
 
Documentation can be found here: http://sourceforge.net/project/showfiles.php?group_id=158081&package_id=203917&release_id=446943Source 
Packages can be found here: http://sourceforge.net/project/showfiles.php?group_id=158081&package_id=177049&release_id=445894The 
Patch for Libtool can be found here: http://sourceforge.net/project/showfiles.php?group_id=158081&package_id=196163&release_id=446510
___
http://lists.gnu.org/mailman/listinfo/libtool


AW: [boost] wgcc 2.0 RC1 released

2006-09-19 Thread Duft Markus
When building with wgcc there are a few benefits:

Wgcc uses the native windows compiler to build (so the code may or may not be 
faster ;o)) and whats a lot more important: the debug information produced is 
readable by visual studio, so you can debug the output. Gdb on windows (at 
least on interix) is so terribly broken, i could not debug 10 lines of code 
without gdb failing at some point. The visual studio debugger (the 2005 version 
especially) is very very much better. (gdb on cygwin doesn't behave too good 
either. This was the initial reason for wgcc to be written (we are a 300 
programmer company ;o), we need to debug...))

With cygwin the thing is, that cygwin isn't really quite stable on win xp and 
above when using more than one CPU. I don't know how MinGW behaves there.

The second thing is, that resulting executables depend on msvcrt.lib and are 
therefore binary compatible with nearly everything ;o) on windows. When using 
gcc it has it's own libc (on interix gcc is a interix build, and has really not 
much to do with windows ;o//) and one can't link those things together, so 
in gcc built binaries one can _not_ use the win32 API which, on windows, is not 
really desireable.

The last thing is, that tools such as Rational Purify may be used to examine 
the resulting binaries. It's all just really native ;o)

At the moment as i wrote in my release note only Interix is supported, since 
this is also stable on win xp and above with multiple processors. But using 
cygwin as a build environment only, using wgcc as compiler is possible too, i'd 
just need to implement one method, about 5 lines of code, to convert paths from 
unix <-> windows style.

I hope this is an answer to your questions!

I'm really overwhelmed that someone outside my company finally shows at least 
_some_ interest. It's really cool, give it a try!

Cheers, Markus

-Ursprüngliche Nachricht-
Von: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Im Auftrag von David Abrahams
Gesendet: Dienstag, 19. September 2006 16:07
An: boost@lists.boost.org
Cc: libtool@gnu.org
Betreff: Re: [boost] wgcc 2.0 RC1 released

"Duft Markus" <[EMAIL PROTECTED]> writes:

> Hi again!
>  
> For all interested in native Windows binaries built with Autotools and 
> mnay other interesting things:

I'm not sure whether this is on-topic for Boost; it seems of somewhat 
borderline relevance.  However, now that you've started the thread, one obvious 
question leaps to mind: why would anyone want to use wgcc in lieu of Cygwin or 
MinGW gcc?

--
Dave Abrahams
Boost Consulting
www.boost-consulting.com

___
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


___
http://lists.gnu.org/mailman/listinfo/libtool


[Bug-kawa] 少し遊びましょう

2006-09-19 Thread $BEDCf(B$B9!Be(B

’j«‚ÌŠF—l‚ׂ̈ɁA‹t‰‡•ê–åƒTƒCƒg‚Å‚·I

Š®‘S–³—¿“o˜^§‚ʼnïˆõ”‚Í‹ÆŠEƒgƒbƒvƒNƒ‰ƒXI
•K‚¸o‰ï‚¢‚ª‚ ‚è‚Ü‚·B
’j«‚ÌŠF—l‚É‚Í‚¨‹à‚Ì•‰’S‚Í‚²‚´‚¢‚Ü‚¹‚ñB
“–ƒTƒCƒg‚ł́AŠ„‚èØ‚è‹t‰‡•ŒðÛ‚ðŠó–]‚·‚鏗«‚Ì‚Ý‚ðÐ‰î‚µ‚Ä‚¨‚è‚Ü‚·B
http://www.free-premium.com/sereb/Ps007/

’j«‚ÌŠF—l‚͏—«‚ÌŠF—l‚©‚çƒTƒ|[ƒg‚ª‚ ‚è‚Ü‚·B
Å’áŒÀ‚̃}ƒi[‚ðŽç‚Á‚½ã‚Å‘f“G‚ÈŽžŠÔ‚ð‚Ç‚¤‚¼‚¨‰ß‚²‚µ‰º‚³‚¢B
http://www.free-premium.com/sereb/Ps007/

—â‚â‚©‚µAˆ«‹Y–Ú“I‚Ì‚¨‹q—l‚Í”rœ‚³‚¹‚Ä’¸‚¢‚Ä‚¨‚è‚Ü‚·B

632811977332349736


___
Bug-kawa mailing list
[EMAIL PROTECTED]
http://lists.gnu.org/mailman/listinfo/bug-kawa


Re: HP-UX "module" linking problem

2006-09-19 Thread Albert Chin
On Tue, Sep 19, 2006 at 10:11:36AM +0200, Kent Boortz wrote:
> 
> Albert Chin <[EMAIL PROTECTED]> writes:
> 
> > So, in both cases, libz is not on the command-line used to create the
> > shared library.
> 
> Yes, what I meant was that I took the "cc" line libtool expand to,
> inserted "-lmysqlclient" and tried link it manually. and it worked.
> Making me beleive it is a libtool problem.

Well, I suppose you could argue libtool should exit(1) rather than
stripping libraries from the command-line in this case.

> Looking inside the "libtool" command and Googling a bit more, I found
> an ugly way around this. After generating the "configure" script, I
> change it to say
> 
>   hpux10.20* | hpux11*)
> lt_cv_deplibs_check_method=pass_all
> 
> This makes it let "-lmysqlclient" pass on, I found no way to force
> this using any command line flag.

Correct. Some systems like AIX and Tru64 UNIX generate PIC for all
object files.

-- 
albert chin ([EMAIL PROTECTED])


___
http://lists.gnu.org/mailman/listinfo/libtool


Re: wgcc 2.0 RC1 released

2006-09-19 Thread Albert Chin
On Tue, Sep 19, 2006 at 11:05:25AM +0200, Duft Markus wrote:
>  
> For all interested in native Windows binaries built with Autotools
> and mnay other interesting things:
>  
> wgcc is a cross-compiler tool primarily written for Microsoft's
> Interix. Its primary purpose is to produce native Windows binaries
> (internally using the Microsoft Tool chain), and to mimic the
> behaviour of the GNU compiler collection. This means that wgcc
> understands many of GCC's command line arguments, and in most cases
> delivers the same results as expected, sometimes manipulating the
> underlying tool's input and output.

So, with this tool, someone doesn't need the cccl Visual C++ wrapper:
  http://cccl.sourceforge.net/

-- 
albert chin ([EMAIL PROTECTED])


___
http://lists.gnu.org/mailman/listinfo/libtool


AW: wgcc 2.0 RC1 released

2006-09-19 Thread Duft Markus
Hm, really i started out porting from unix to windows using cccl, but it took 
not too long to realize that cccl is far to less powerfull. Cccl is capable of 
translating some command line options, not really much more. This doesn't mean 
cccl is bad. If one doesn't need more than this, its perfect. Wgcc is just 
_more_ and more powerfull.

Cccl has, i don't know, say 200 lines of shell script code?
Wgcc has about 10.000 lines of c++ code (9305).

It does a little more than just wrapping around the command line. It has many 
benefits over comparable wrappers like cccl, c89 (interix) and wcc (interix, 
see interopsystems.com) which are all shell scripts just wrapping some 
arguments.

You may want to take a look at the docs for rc.1. there is a section about 
building libraries with wgcc which may be of interest regarding this question...

Cheers, Markus

-Ursprüngliche Nachricht-
Von: Albert Chin [mailto:[EMAIL PROTECTED] 
Gesendet: Dienstag, 19. September 2006 17:03
An: Duft Markus
Cc: libtool@gnu.org
Betreff: Re: wgcc 2.0 RC1 released

On Tue, Sep 19, 2006 at 11:05:25AM +0200, Duft Markus wrote:
>  
> For all interested in native Windows binaries built with Autotools and 
> mnay other interesting things:
>  
> wgcc is a cross-compiler tool primarily written for Microsoft's 
> Interix. Its primary purpose is to produce native Windows binaries 
> (internally using the Microsoft Tool chain), and to mimic the 
> behaviour of the GNU compiler collection. This means that wgcc 
> understands many of GCC's command line arguments, and in most cases 
> delivers the same results as expected, sometimes manipulating the 
> underlying tool's input and output.

So, with this tool, someone doesn't need the cccl Visual C++ wrapper:
  http://cccl.sourceforge.net/

--
albert chin ([EMAIL PROTECTED])


___
http://lists.gnu.org/mailman/listinfo/libtool


Re: wgcc 2.0 RC1 released

2006-09-19 Thread David Abrahams
"Duft Markus" <[EMAIL PROTECTED]> writes:

> Hi again!
>  
> For all interested in native Windows binaries built with Autotools and
> mnay other interesting things:

I'm not sure whether this is on-topic for Boost; it seems of somewhat
borderline relevance.  However, now that you've started the thread,
one obvious question leaps to mind: why would anyone want to use wgcc
in lieu of Cygwin or MinGW gcc?

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com



___
http://lists.gnu.org/mailman/listinfo/libtool


Re: [boost] wgcc 2.0 RC1 released

2006-09-19 Thread David Abrahams
"Duft Markus" <[EMAIL PROTECTED]> writes:

> When building with wgcc there are a few benefits:
>
> Wgcc uses the native windows compiler to build (so the code may or may
> not be faster ;o)) and whats a lot more important: the debug
> information produced is readable by visual studio, so you can debug
> the output. Gdb on windows (at least on interix) is so terribly
> broken, i could not debug 10 lines of code without gdb failing at some
> point. 

Works great for me under Cygwin, especially through emacs.

> The visual studio debugger (the 2005 version especially) is
> very very much better. (gdb on cygwin doesn't behave too good
> either. 

What's wrong with it?

> With cygwin the thing is, that cygwin isn't really quite stable on win
> xp and above when using more than one CPU. 

Never had a problem there, but haven't stressed Cygwin since I got 2
cores.  However, given your claims about Cygwin/gdb I am inclined to
wonder about this claim.

> The second thing is, that resulting executables depend on msvcrt.lib
> and are therefore binary compatible with nearly everything ;o) on
> windows. 

That's also true of MinGW, right?

> When using gcc it has it's own libc (on interix gcc is a
> interix build, and has really not much to do with windows ;o//)
> and one can't link those things together, so in gcc built binaries one
> can _not_ use the win32 API which, on windows, is not really desireable.

Huh?  Not so; I have used the win32 API even through cygwin GCC.
And then there's gcc -mno-cygwin.

> The last thing is, that tools such as Rational Purify may be used to
> examine the resulting binaries. It's all just really native ;o)
>
> I'm really overwhelmed that someone outside my company finally shows
> at least _some_ interest. It's really cool, give it a try!

Not sure what I'm missing here, but at this point I don't see why I
should bother.  The existing tools work for me and are
well-established, with good support.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com



___
http://lists.gnu.org/mailman/listinfo/libtool


deploying libraries and executables from a staging area

2006-09-19 Thread Noel Yap

What are the proper incantations to deploy libraries and executables
from a staging area (such that the rpath correctly points to the
deployment area)?

The following doesn't seem to work:

   ./libtool --mode=install install ${la} ${destination}/lib/${l}
   ./libtool --mode=finish ${destination}/lib/${l}

   ./libtool --mode=install install ${exe} ${destination}/bin/${x}
   ./libtool --mode=finish ${destination}/bin/${x}

Thanks,
Noel


___
http://lists.gnu.org/mailman/listinfo/libtool


Re: deploying libraries and executables from a staging area

2006-09-19 Thread Albert Chin
On Tue, Sep 19, 2006 at 03:32:58PM -0700, Noel Yap wrote:
> What are the proper incantations to deploy libraries and executables
> from a staging area (such that the rpath correctly points to the
> deployment area)?
> 
> The following doesn't seem to work:
> 
>./libtool --mode=install install ${la} ${destination}/lib/${l}
>./libtool --mode=finish ${destination}/lib/${l}
> 
>./libtool --mode=install install ${exe} ${destination}/bin/${x}
>./libtool --mode=finish ${destination}/bin/${x}

Look at the libtool documentation for -inst-prefix and DESTDIR.

-- 
albert chin ([EMAIL PROTECTED])


___
http://lists.gnu.org/mailman/listinfo/libtool


Re: deploying libraries and executables from a staging area

2006-09-19 Thread Noel Yap

On 9/19/06, Albert Chin <[EMAIL PROTECTED]> wrote:

On Tue, Sep 19, 2006 at 03:32:58PM -0700, Noel Yap wrote:
> What are the proper incantations to deploy libraries and executables
> from a staging area (such that the rpath correctly points to the
> deployment area)?
>
> The following doesn't seem to work:
>
>./libtool --mode=install install ${la} ${destination}/lib/${l}
>./libtool --mode=finish ${destination}/lib/${l}
>
>./libtool --mode=install install ${exe} ${destination}/bin/${x}
>./libtool --mode=finish ${destination}/bin/${x}

Look at the libtool documentation for -inst-prefix and DESTDIR.


I read that documentation.  It's not that clear to someone new to
libtool and automake especially since the canonical way to release the
product is via configure and make.

Noel


___
http://lists.gnu.org/mailman/listinfo/libtool


Re: deploying libraries and executables from a staging area

2006-09-19 Thread Albert Chin
On Tue, Sep 19, 2006 at 05:18:08PM -0700, Noel Yap wrote:
> On 9/19/06, Albert Chin <[EMAIL PROTECTED]> wrote:
> >On Tue, Sep 19, 2006 at 03:32:58PM -0700, Noel Yap wrote:
> >> What are the proper incantations to deploy libraries and executables
> >> from a staging area (such that the rpath correctly points to the
> >> deployment area)?
> >>
> >> The following doesn't seem to work:
> >>
> >>./libtool --mode=install install ${la} ${destination}/lib/${l}
> >>./libtool --mode=finish ${destination}/lib/${l}
> >>
> >>./libtool --mode=install install ${exe} 
> >${destination}/bin/${x}
> >>./libtool --mode=finish ${destination}/bin/${x}
> >
> >Look at the libtool documentation for -inst-prefix and DESTDIR.
> 
> I read that documentation.  It's not that clear to someone new to
> libtool and automake especially since the canonical way to release the
> product is via configure and make.

I think DESTDIR is to be thought of as a virtual root. I don't know if
this mimics what you want. So, if you:
  $ ./configure --prefix=/usr/local
and you want it installed to the "/nfs/stage1" staging directory,
you'd:
  $ make install DESTDIR=/nfs/stage1

>From my reading of DESTDIR in the libtool manual, this should install
the software in /nfs/stage1/usr/local, with the RPATH configured for
/usr/local.

-- 
albert chin ([EMAIL PROTECTED])


___
http://lists.gnu.org/mailman/listinfo/libtool


Re: deploying libraries and executables from a staging area

2006-09-19 Thread Ralf Wildenhues
Hello Noel, Albert,

* Albert Chin wrote on Wed, Sep 20, 2006 at 05:36:45AM CEST:
> On Tue, Sep 19, 2006 at 05:18:08PM -0700, Noel Yap wrote:
> > On 9/19/06, Albert Chin <[EMAIL PROTECTED]> wrote:
> > >On Tue, Sep 19, 2006 at 03:32:58PM -0700, Noel Yap wrote:
> > >>
> > >>./libtool --mode=install install ${la} ${destination}/lib/${l}
> > >>./libtool --mode=finish ${destination}/lib/${l}
> > >>
> > >>./libtool --mode=install install ${exe} 
> > >> ${destination}/bin/${x}
> > >>./libtool --mode=finish ${destination}/bin/${x}

There are several bugs in the above commands, and there are also
undocumented limitations in libtool about DESTDIR installations
(some of which I've been working on a bit lately).

First, the target you specify should be a file name (the same as the
source), i.e., ${l} should be the basename of ${la}, and ${x} should be
the basename of ${exe}.  (You may have this, but it's not clear.)

Then, --mode=finish operates on library directories only, so it doesn't
need to be done for ${x} at all, and for the library directory, you
should not specify the library name.  But here's another catch: finish
mode can only be done once the libraries appear at their final location
(i.e., when they appear below $libdir, not $DESTDIR$libdir).

The next limitation is the one Albert mentioned: it only works if
the destination (let's call it $DESTDIR) is a prefix to the configured
library directory ($libdir); and since $libdir must be an absolute path
anyway, it's common and good style to not separate the two by a slash:

  ./libtool --mode=install install ${la} ${DESTDIR}${libdir}/${l}
  ./libtool --mode=install install ${exe} ${DESTDIR}${bindir}/${x}

  [ move things to the right location... ]

  ./libtool --mode=finish ${libdir}


But wait, there's more: currently, things only work out well if the
programs and libraries you install do _not_ depend upon any previously
installed libraries that currently live below ${DESTDIR}.  In some
special cases this may work or may be made to work, but in general it
will cause interesting failures.

I'm currently working on lifting the last restriction; this may not be
possible portably (e.g., some settings definitely require the GNU
binutils linker for its -rpath-link support), but at least it should be
possible to get more cases working than we have now.  And we should
document exactly when it will work and when it won't.  More details
about this on the libtool-patches list as soon as I have them worked
out (but don't hold your breath).

The CVS Libtool file tests/destdir.at more or less demonstrates what is
working at the moment.

Cheers,
Ralf


___
http://lists.gnu.org/mailman/listinfo/libtool