I'm building a libtool-based package (pcre) using Microsoft command line tools in a cygwin shell. I use a wrapper script for the compiler and linker (cccl), but the librarian (lib) gets invoked directly.
I'd like to specify the /LTCG (link time code generation flag) to the librarian. Beats me why I need it, or what it actually does, but when I compile source with the equivalent option (/GL), I get this warning from the librarian if I don't have it: /bin/sh ./libtool --tag=CC --mode=link cccl /W3 /Zc:wchar_t- /O2 /Ob1 /Os /GL /GF /FD /Gy /MD -version-info 0:0:0 /LTCG -o libpcreposix.la -rpath /home/dbyron/src/tuneup/tuneup_juce/trunk/install/lib/Release pcreposix.lo libpcre.la /LTCG cygpath: can't convert empty path libtool: link: warning: undefined symbols not allowed in i686-pc-cygwin shared libraries lib -OUT:.libs/libpcreposix.lib pcreposix.obj Microsoft (R) Library Manager Version 8.00.50727.762 Copyright (C) Microsoft Corporation. All rights reserved. pcreposix.obj : MSIL .netmodule or module compiled with /GL found; restarting link with /LTCG; add /LTCG to the link command line to improve linker performance Microsoft (R) Library Manager Version 8.00.50727.762 Copyright (C) Microsoft Corporation. All rights reserved. creating libpcreposix.la (cd .libs && rm -f libpcreposix.la && ln -s ../libpcreposix.la libpcreposix.la) I tried as hard as I know how to get /LTCG on the lib command line, by invoking configure with LIB=/LTCG and LDFLAGS=/LTCG. Here's the complete configure invocation: $ ../configure CC=cccl CXX=cccl CPPFLAGS=-DPCRE_STATIC -DNDEBUG CFLAGS=/W3 /Zc:wchar_t- /O2 /Ob1 /Os /GL /GF /FD /Gy /MD CXXFLAGS=/W3 /EHsc /Zc:wchar_t- /O2 /Ob1 /Os /GL /GF /FD /Gy /MD LDFLAGS=/LTCG LIBS=/LTCG --enable-shared=no --enable-newline-is-anycrlf --enable-bsr-anycrlf --enable-unicode-properties --prefix=/home/dbyron/src/tuneup/tuneup_juce/trunk/install --libdir=/home/dbyron/src/tuneup/tuneup_juce/trunk/install/lib/Release The configure script was generated with autoconf 2.61. Makefile.in was generated with automake 1.10. Looking into ltmain.sh, I see: PROGRAM=ltmain.sh PACKAGE=libtool VERSION=1.5.23b TIMESTAMP=" (1.1220.2.437 2007/02/17 09:08:45)" Is this enough version info to see what tools I'm using? Any suggestions about how to get an option to the librarian? Thanks much. -DB PS I'm also curious about the: cygpath: can't convert empty path warning that comes from this line in the generated libtool script: fix_srcfile_path="`cygpath -w "$srcfile"`" I guess this gets called with an empty $srcfile but I'm not sure why. _______________________________________________ http://lists.gnu.org/mailman/listinfo/libtool
