emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Dynamic loading progress


From: Stephen Leake
Subject: Re: Dynamic loading progress
Date: Sat, 14 Feb 2015 19:04:58 -0600
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (windows-nt)

Eli Zaretskii <address@hidden> writes:

>> but I don't see how we are going to restrict what symbols are
>> available to the module.
>
> The way to restrict the export is to declare the symbols you want to
> export with __declspec(dllexport).  Then only those symbols will be
> exported.
>
> Note that, since emacs.h will be included by modules as well, we will
> need something like
>
>   #ifdef WINDOWS
>   # ifdef emacs
>   #  define EMACS_EXPORT  __declspec(dllexport)
>   # else
>   #  define EMACS_EXPORT  __declspec(dllimport)
>   # endif
>   # else
>   #  define EMACS_EXPORT
>   #endif
>
> That's because they should be exported by Emacs, but imported by
> modules.

Right, that makes sense.

>> Is there an acceptable (ie portable and reliable) way to determine the
>> OS in a Makefile? I'm not aware of one (short of Gnu config.guess).
>
> Windows can be detected by looking at environment variables.  Since
> Make converts them to Make variables, they are easily accessed.
>
> Another possibility is to invoke "gcc -dumpmachine" via the $shell
> function.  We could also invoke uname in a similar manner, but that
> requires MSYS or Coreutils to be installed.  We could even invoke Make
> itself with the --version option, and see what follows the "Built for"
> header.
>
> So ways to do that exist, we just need to decide whether we want to go
> that way.

I've attempted to take that approach for other projects, and it isn't
very portable

-- 
-- Stephe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]