From: Erik de C. L. <mi...@me...> - 2004-04-27 23:43:08
|
Hi all, I a unix guy who has two GPL/LGPL library that use autoconf/ autmake/libtool on unix-like systems to guide the build process. I have recently managed to get one of these libraries building under WinGW, but with the standard tools, only a static library is generated. I've read the FAQ about the DLL issue: http://www.mingw.org/mingwfaq.shtml#faq-msvcdll and was wondering is someone was working on making the generation of DLLs (using autoconf/automake/libtool) as easy as making shared libraries on Unix? Cheers, Erik -- +-----------------------------------------------------------+ Erik de Castro Lopo no...@me... (Yes it's valid) +-----------------------------------------------------------+ "Every time microshaft's stock price drops again, I rejoice. I want to see that bunch of criminals brought to their knees. Preferably at the chopping block." -- rixt in http://linuxtoday.com/stories/20659_flat.html |
From: Michael G. <mg...@te...> - 2004-04-28 06:21:18
|
> I've read the FAQ about the DLL issue: > > http://www.mingw.org/mingwfaq.shtml#faq-msvcdll > > and was wondering is someone was working on making the generation > of DLLs (using autoconf/automake/libtool) as easy as making shared > libraries on Unix? That info is incomplete. These days you no longer need a def-file to create a DLL with MinGW iff you declare the externals that should be exported with the attribute '__declspec(dllexport)', e.g. #define EXPORTAPI __declspec(dllexport) EXPORTAPI int foo(int); EXPORTAPI char bar(double); EXPORTAPI float fum(char, int, short, long); Best, Michael -- Vote against SPAM - see http://www.politik-digital.de/spam/ Michael Gerdau email: mg...@te... GPG-keys available on request or at public keyserver |
From: Erik de C. L. <mi...@me...> - 2004-04-28 07:09:13
|
On Wed, 28 Apr 2004 08:21:11 +0200 Michael Gerdau <mg...@te...> wrote: > These days you no longer need a def-file to create a DLL with MinGW > iff you declare the externals that should be exported with the > attribute '__declspec(dllexport)', e.g. Well I already generated a def-file for building with MSVC++. The problem is that the Makefile/libtool generated with autoconf/ automake/libtool doesn't seem to know how to make a DLL. > EXPORTAPI int foo(int); > EXPORTAPI char bar(double); > EXPORTAPI float fum(char, int, short, long); Personally, I prefer not to polute cross platform code with stuff like those EXPORTAPI things :-). Cheers, Erik -- +-----------------------------------------------------------+ Erik de Castro Lopo no...@me... (Yes it's valid) +-----------------------------------------------------------+ "TLC declared bankruptcy after they received less than 2 percent of the $175 million earned by their CD sales. That was about 40 times less than the profit that was divided among their management, production and record companies." -- Courtney Love on the REAL piracy -- +-----------------------------------------------------------+ Erik de Castro Lopo no...@me... (Yes it's valid) +-----------------------------------------------------------+ "There is no satisfactory substitute for excellence." -- Dr. Arnold O. Beckman |
From: Earnie B. <ea...@us...> - 2004-04-28 10:42:21
Attachments:
libtool.bz2
|
Replace the generated libtool with the one attached. Earnie Erik de Castro Lopo wrote: >On Wed, 28 Apr 2004 08:21:11 +0200 >Michael Gerdau <mg...@te...> wrote: > > > >>These days you no longer need a def-file to create a DLL with MinGW >>iff you declare the externals that should be exported with the >>attribute '__declspec(dllexport)', e.g. >> >> > >Well I already generated a def-file for building with MSVC++. > >The problem is that the Makefile/libtool generated with autoconf/ >automake/libtool doesn't seem to know how to make a DLL. > > > >>EXPORTAPI int foo(int); >>EXPORTAPI char bar(double); >>EXPORTAPI float fum(char, int, short, long); >> >> > >Personally, I prefer not to polute cross platform code with >stuff like those EXPORTAPI things :-). > >Cheers, >Erik > > -- http://www.mingw.org http://sourceforge.net/projects/mingw https://sourceforge.net/donate/index.php?user_id=15438 |
From: John G. <jo...@jo...> - 2004-04-28 12:56:31
|
Erik de Castro Lopo said: > Personally, I prefer not to polute cross platform code with > stuff like those EXPORTAPI things :-). #if defined WINDOWS // define dll imports/exports #else #define EXPORTAPI #endif No harm done :-) -- John Gaughan jo...@jo... http://www.johngaughan.net/ |
From: Carlos P. <cp...@ya...> - 2004-04-28 12:37:00
|
Hi, this is how I built libsndfile 1.0.9 dll using mingw+msys: 1) change python executable path in first line (banged one) of: check_libsndfile.py libsndfile_version_convert.py src/create_symbols_file.py (not sure if these scripts are really needed during the build process) 2) in the configure script replace every mingw32msvc by mingw32 (two ocurrences). This will match your host description (at least it did it in my case, generating a valid config.h). 3) configure 4) (to get DLLs) replace libtool with the one patched by Earnie Boyd 5) make 6) install ----- Original Message ----- From: "Erik de Castro Lopo" <mi...@me...> To: <min...@li...> Sent: Tuesday, April 27, 2004 8:42 PM Subject: [Mingw-users] DLLs and libtool > Hi all, > > I a unix guy who has two GPL/LGPL library that use autoconf/ > autmake/libtool on unix-like systems to guide the build > process. > > I have recently managed to get one of these libraries building > under WinGW, but with the standard tools, only a static library > is generated. > > I've read the FAQ about the DLL issue: > > http://www.mingw.org/mingwfaq.shtml#faq-msvcdll > > and was wondering is someone was working on making the generation > of DLLs (using autoconf/automake/libtool) as easy as making shared > libraries on Unix? > > Cheers, > Erik > -- > +-----------------------------------------------------------+ > Erik de Castro Lopo no...@me... (Yes it's valid) > +-----------------------------------------------------------+ > "Every time microshaft's stock price drops again, I rejoice. I > want to see that bunch of criminals brought to their knees. > Preferably at the chopping block." > -- rixt in http://linuxtoday.com/stories/20659_flat.html > > > ------------------------------------------------------- > This SF.Net email is sponsored by: Oracle 10g > Get certified on the hottest thing ever to hit the market... Oracle 10g. > Take an Oracle 10g class now, and we'll give you the exam FREE. > http://ads.osdn.com/?ad_id=3149&alloc_id=8166&op=click > _______________________________________________ > MinGW-users mailing list > Min...@li... > > You may change your MinGW Account Options or unsubscribe at: > https://lists.sourceforge.net/lists/listinfo/mingw-users > |
From: Erik de C. L. <mi...@me...> - 2004-04-28 20:55:30
|
On Wed, 28 Apr 2004 09:34:28 -0300 "Carlos Pita" <cp...@ya...> wrote: > Hi, this is how I built libsndfile 1.0.9 dll using mingw+msys: > > 1) > change python executable path in first line (banged one) of: > check_libsndfile.py > libsndfile_version_convert.py > src/create_symbols_file.py > (not sure if these scripts are really needed during the build process) Nope, those are only needed if you hack the source code. > 2) > in the configure script replace every mingw32msvc by mingw32 (two > ocurrences). This will match your host description (at least it did it in my > case, generating a valid config.h). Yep, I've already fixed that. > 3) > configure > > 4) > (to get DLLs) > replace libtool with the one patched by Earnie Boyd OK, I'll work on trying to make that happen autogamically on MinGW. Cheers, Erik -- +-----------------------------------------------------------+ Erik de Castro Lopo no...@me... (Yes it's valid) +-----------------------------------------------------------+ "Python addresses true pseudocode's two major failings: that it isn't standardized, and it isn't executable." - Grant R. Griffin in comp.dsp |