www.delorie.com/archives/browse.cgi | search |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
List-Subscribe: | <mailto:cygwin-subscribe AT cygwin DOT com> |
List-Archive: | <http://sourceware.org/ml/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs> |
Sender: | cygwin-owner AT cygwin DOT com |
Mail-Followup-To: | cygwin AT cygwin DOT com |
Delivered-To: | mailing list cygwin AT cygwin DOT com |
Message-ID: | <41FFB92A.8050307@inbox.ru> |
Date: | Tue, 01 Feb 2005 20:15:22 +0300 |
From: | Vladius <boxforsr AT inbox DOT ru> |
User-Agent: | Mozilla Thunderbird 0.9 (Windows/20041103) |
MIME-Version: | 1.0 |
To: | cygwin AT cygwin DOT com |
CC: | Dave Korn <dk AT artimi DOT com>, maxb AT ukf DOT net |
Subject: | Problems creating "-mno-cygwin" DLLs with libtool HACK. |
References: | <41FF9EEC DOT 8050806 AT inbox DOT ru> |
In-Reply-To: | <41FF9EEC.8050806@inbox.ru> |
X-Antivirus: | avast! (VPS 0505-0, 31.01.2005), Outbound message |
X-Antivirus-Status: | Clean |
X-Spam: | Not detected |
Vladius wrote: > I have problems compiling DLLs with -mno-cygwin flag, using libtool. > > Command is: libtool --mode=link --tag=CXX g++ -rpath > /Projects/Tests/libtool -mno-cygwin -no-undefined -o libcommon.la > common.lo > Output: > rm -fr .libs/libcommon.a .libs/libcommon.la .libs/libcommon.lai > g++ -shared -nostdlib > /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/crtbegin.o .libs/common.o > -L/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3 > -L/usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/../../.. -lstdc++ -lgcc > -lcygwin -luser32 -lkernel32 -ladvapi32 -lshell32 -lgcc > /usr/lib/gcc-lib/i686-pc-cygwin/3.3.3/crtend.o -mno-cygwin -o > .libs/cygcommon-0.dll -Wl,--image-base=0x10000000 > -Wl,--out-implib,.libs/libcommon.dll.a > ar cru .libs/libcommon.a common.o > ranlib .libs/libcommon.a > creating libcommon.la > (cd .libs && rm -f libcommon.la && ln -s ../libcommon.la libcommon.la) > > As U can see... it automatically passes -lcygwin flag to the > linker(g++). When cygcheck'ing resulting DLL it lists cygwin DLL as > one of its dependencies. > I heard somewhere that cygwin is requierd for DLL initialisation, is > it true? > The interesting thing is that linking against resulting DLL with > so-called "-mno-cygwin -lcygwin" mix results in program startup > failure(no errors, it just hangs). > Any ideas on how to create cygwin independent DLL with libtool? I have found a solution to hack this issue. 1.Goto usr/autotool/devel/bin/ 2.Open "libtool" file with a text editor(vim). 3.Search for "postdeps" initialisation. ("postdeps=" string) 4.Remove "-lcygwin" initialisation literal string to the right. 5.Check out next variable assignment - "compiler_lib_search_path=". 6.change "i*86-pc-cygwin" to "i*86-pc-mingw" in all of its occurences to the right of varable assignment. The resulting library created with libtool no longer depends on cygwin DLL. Does anyone have a better solution? Maybe I just missed smth allready known or implemented. Please, let me know. -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |