well then, how do you build import libraries under cygwin?
----- Original Message -----
From: "Larry Hall (RFK Partners, Inc)" <lhall(a)rfk.com>
To: "Ben Wing" <ben(a)666.com>; "Jerry James"
Cc: <xemacs-beta(a)xemacs.org>; <cygwin(a)cygwin.com>
Sent: Tuesday, October 29, 2002 7:04 AM
Subject: Re: module problems on cygwin
Sounds to me like you're expecting too much, at least for
Windows, the closest thing to shared libraries are DLLs and these require
all references to be resolved at build-time. That's generally done by
providing "import libraries" with stubs to all the calls that will be
resolved to other DLLs (at run-time). So you can't have unresolved external
references using gcc during builds on Windows, even under Cygwin. Cygwin
can't replace the Windows linker/loader so we're all stuck with it's
Larry Hall lhall(a)rfk.com
RFK Partners, Inc. http://www.rfk.com
838 Washington Street (508) 893-9779 - RFK Office
Holliston, MA 01746 (508) 893-9889 - FAX
At 03:12 AM 10/29/2002, Ben Wing wrote:
>cygwin is not terribly windows-specific. it's basically unix, and runs all
>standard gcc suite of tools, so if you understand shared
>you understand them under gcc.
>the failures are unresolvable references to the various functions in the
>executable. clearly the XEmacs executable is not around, and so
>indeed unresolvable. the man pages claim that this is ok, and they will be
>resolved by the run-time linker, but for some reason it's still complaining.
>any help here?
>to the cygwin guys: we're trying to create separate modules that can be
>once the program has started. they are build as shared
libraries, and of
>contain references to the main executable. Under Cygwin, both
>when the .o files are linked into the library (called something
>postgres.ell), done using essentiall just `gcc -shared', we get tons of
>unresolved externals warnings for all the references to the main executable.
>this obviously shouldn't happen -- the unresolved references should be
>and the run-time linker should fix them up. what's going
>----- Original Message -----
>From: "Jerry James" <james(a)xemacs.org>
>Cc: <ben(a)666.com>; <xemacs-beta(a)xemacs.org>
>Sent: Monday, October 28, 2002 5:46 AM
>Subject: Re: module problems on cygwin
> > Robinows(a)aol.com wrote:
> > > ./configure --with-x=no --pdump --with-postgresql=no
> > > works fine for me with gcc or gcc-2.
> > > Removing the "with-postgresql=no" fails with either gcc or
> > I am away at a conference this week. I can get access to my email from
> > here, but I am working in console mode over a bandwidth-limited pipe
> > (and using an AZERTY keyboard, which is driving me bananas). I won't be
> > able to do much coding until I return, but I should be able to answer
> > questions.
> > I freely confess that I do not understand either native Windows or
> > cygwin, so I will need some help figuring out what to do. I already
> > pointed out that the new module setup is broken on native Windows, so
> > this means that it is broken on both Windows platforms. Ben posted his
> > ellcc.h, which has newlines in strange places. Do other cygwin users
> > have similar ellcc.h files? For comparison purposes, here is mine from
> > a RedHat Linux 7.3 machine.
> > /* DO NOT EDIT THIS FILE!!!! */
> > /* Most of this is required due to a bug in the GCC compiler driver
> > which prevents us from passing this on the command line. It also
> > reduces the compiler command line length, which can be a problem
> > on some systems. */
> > #ifndef ELLCC_HDR
> > #define ELLCC_HDR
> > #define ELLCC_CC "gcc"
> > #define ELLCC_CFLAGS "-march=i686 -O2 -g"
> > #define ELLCC_CPPFLAGS ""
> > #define ELLCC_LDFLAGS " "
> > #define ELLCC_CF_GENERAL "-DHAVE_CONFIG_H"
> > #define ELLCC_CF_ALL "-DHAVE_CONFIG_H -I/usr/X11R6/include"
> > #define ELLCC_LF_GENERAL ""
> > #define ELLCC_LF_ALL "-L/usr/X11R6/lib"
> > #define ELLCC_LIBS_GENERAL
> "-ldb -lgpm -lncurses -L/usr/lib -lesd -laudiofile -lm -lm -lutil"
> > #define ELLCC_DLL_CFLAGS "-fPIC"
> > #define ELLCC_DLL_LDFLAGS "-shared"
> > #define ELLCC_DLL_POST ""
> > #define ELLCC_DLL_LD "gcc"
> > #define ELLCC_DLL_LDO "-o"
> > #define ELLCC_CONFIG "i686-pc-linux"
> > #define ELLCC_EMACS_VER "21.5-b9"
> > #define ELLCC_PROGNAME "xemacs"
> > #define ELLCC_ARCHDIR
> > #define ELLCC_MODDIR
> > #define ELLCC_SITEMODS
> > #endif /* ELLCC_HDR */
> > --
> > Jerry James
> > http://www.ittc.ku.edu/~james/
>Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
>Bug reporting: http://cygwin.com/bugs.html