X-Recipient: archive-cygwin AT delorie DOT com DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:references :in-reply-to:content-type:content-transfer-encoding :mime-version; q=dns; s=default; b=JhSpOk+Vaz01PWlGCYdusaQ/6EdGk knm3M0cBfCgRtFbPmxnu499ZacMiCG4S3f1gI5ZhSgUF/pfXE4lm8UdPv9INc+g3 lxD2aXf3JbrSqt2RuoGJpvwsFE30vooff4LydS4Ek98LdkNyWFZbHejE4Y139C+z 7lWSInhEtaCpm4= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:from:to:subject:date:message-id:references :in-reply-to:content-type:content-transfer-encoding :mime-version; s=default; bh=PtflfH+E2H4VYEjKt+rd5ddgzQs=; b=t6e g1F6zUyleUPTVFJijWYXyB9+KqX2Zg4ivqYp1nUivAQfTiuRzTB38t5yPQK6CNFn hyN8o3hnmk88lBc+1NFAi9S92KBGBVzw/8vOiNfQykgdeP720ZDPVni+XkUzmXMJ v7cAOIWM9ZVC/iO1NMpwkAueVRlqKMssN80eGyRY= Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_NONE,SPF_HELO_PASS autolearn=ham version=3.3.1 spammy= X-HELO: NAM02-CY1-obe.outbound.protection.outlook.com From: Tony Kelman To: Jose Isaias Cabrera , "cygwin AT cygwin DOT com" Subject: Re: How to build a DLL without cygwin DLL dependencies Date: Wed, 29 May 2019 20:18:52 +0000 Message-ID: References: ,, In-Reply-To: x-ms-exchange-purlcount: 1 Content-Type: text/plain; charset="iso-8859-1" MIME-Version: 1.0 X-IsSubscribed: yes Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id x4TKJ59M030280 > So, I downloaded "i686-w64-mingw32-gcc" from the setup packages and ran, > i686-w64-mingw32-gcc -shared sqlite3.c -o sqlite3.dll, > but it still wants me to add other DLLs.  I just want to drop the > sqlite3.dll just created in another spot and run a tool using that > without need of any other DLL. I know I can do it with MinGW, but I > don't want to install two systems on my computer.  I know I am missing > something because I know other folks have done it before. > I duckduckgo'ed some answers, but have not found anything but > "use MinGW".  Is this even possible with cygwin and its packages? You just did "use MinGW with cygwin and its packages." MinGW is the compiler triple you just used via a cross compiler. The end user system won't need cygwin, and it won't need a compiler. Would be good if you were more specific about what "it" you're referring to and which "other DLLs" you mean. I just tried what you described: curl -L https://www.sqlite.org/2019/sqlite-autoconf-3280000.tar.gz | tar -xz cd sqlite-autoconf-3280000 i686-w64-mingw32-gcc -shared sqlite3.c -o sqlite3.dll and dependency walker is telling me there are a few dependencies on libgcc_s_sjlj-1.dll for __divdi3 etc. That's a compiler runtime dll and you can avoid the issue by building a 64 bit dll, or in 32 bit via i686-w64-mingw32-gcc -shared -static-libgcc sqlite3.c -o sqlite3.dll -- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple