Hello Charles, * Charles Wilson wrote on Sun, Apr 23, 2006 at 11:31:35PM CEST: > I ran across an issue when working with CVS gettext on cygwin. When > building objects destined for inclusion in a DLL (so-called PIC objects, > even tho all .o's are "position independent" on MSWin), cygwin ought to > define DLL_EXPORT just like mingw. Even though we don't really need to > for auto-import, there are projects that try to do things the Microsoft > Way with declspec, instead -- and use --disable-auto-import. As it > happens, gettext post-0.14.5 will be one of those.
Apologies for the huge delay. I've applied your changes as below, changing the comments, to HEAD and branch-1-5 (no comments for the non-GCC necessary, it needs DLL_EXPORT anyway; what about the C++ !GCC case by the way?). I've still not fully understood this very interesting thread http://lists.gnu.org/archive/html/bug-gnu-utils/2006-05/msg00026.html fully, nor possible implications for Libtool. On my TODO list (help obviously very welcome for any changes necessary). Cheers, Ralf HEAD: 2006-06-01 Charles Wilson <[EMAIL PROTECTED]> * libltdl/m4/libtool.m4 (_LT_COMPILER_PIC) [ cygwin ]: define DLL_EXPORT for PIC objects on cygwin. Index: libltdl/m4/libtool.m4 =================================================================== RCS file: /cvsroot/libtool/libtool/libltdl/m4/libtool.m4,v retrieving revision 1.73 diff -u -r1.73 libtool.m4 --- libltdl/m4/libtool.m4 24 May 2006 11:54:59 -0000 1.73 +++ libltdl/m4/libtool.m4 1 Jun 2006 16:31:46 -0000 @@ -3364,12 +3364,14 @@ _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' fi ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; - mingw* | os2* | pw32*) + mingw* | cygwin* | os2* | pw32*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries _LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' ;; darwin* | rhapsody*) @@ -3657,13 +3659,15 @@ fi ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; - mingw* | pw32* | os2*) + mingw* | cygwin* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries _LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' ;; @@ -3737,7 +3741,7 @@ esac ;; - mingw* | pw32* | os2*) + mingw* | cygwin* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). _LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' branch-1-5: 2006-06-01 Charles Wilson <[EMAIL PROTECTED]> * libtool.m4 (AC_LIBTOOL_PROG_COMPILER_PIC) [ cygwin ]: define DLL_EXPORT for PIC objects on cygwin. Index: libtool.m4 =================================================================== RCS file: /cvsroot/libtool/libtool/Attic/libtool.m4,v retrieving revision 1.314.2.155 diff -u -r1.314.2.155 libtool.m4 --- libtool.m4 19 May 2006 13:17:35 -0000 1.314.2.155 +++ libtool.m4 1 Jun 2006 16:29:11 -0000 @@ -4886,12 +4886,14 @@ # like `-m68040'. _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; - mingw* | os2* | pw32*) + mingw* | cygwin* | os2* | pw32*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' ;; darwin* | rhapsody*) @@ -5167,13 +5169,15 @@ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' ;; - beos* | cygwin* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) # PIC is the default for these OSes. ;; - mingw* | pw32* | os2*) + mingw* | cygwin* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). + # Although the cygwin gcc ignores -fPIC, still need this for old-style + # (--disable-auto-import) libraries _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT' ;; @@ -5241,7 +5245,7 @@ esac ;; - mingw* | pw32* | os2*) + mingw* | cygwin* | pw32* | os2*) # This hack is so that the source file can tell whether it is being # built for inclusion in a dll (and should export symbols for example). _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'
