From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Stephen Leake Newsgroups: gmane.emacs.devel Subject: Re: Dynamic loading progress Date: Sat, 14 Feb 2015 19:04:58 -0600 Message-ID: <85a90ggf2d.fsf@stephe-leake.org> References: <85k31coixa.fsf@stephe-leake.org> <85oapy5kt6.fsf@stephe-leake.org> <83y4oiiw81.fsf@gnu.org> <838ugdf251.fsf@gnu.org> <87bnl1vmqf.fsf@lifelogs.com> <87vbj8tow4.fsf@lifelogs.com> <87r3twtagf.fsf@lifelogs.com> <85siebl7ws.fsf@stephe-leake.org> <85a90ilwmm.fsf@stephe-leake.org> <83386a6f7z.fsf@gnu.org> <85h9upjz7v.fsf@stephe-leake.org> <83wq3k3kl4.fsf@gnu.org> <85bnkwil1c.fsf@stephe-leake.org> <83pp9cwky8.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: ger.gmane.org 1423962337 16164 80.91.229.3 (15 Feb 2015 01:05:37 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 15 Feb 2015 01:05:37 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sun Feb 15 02:05:26 2015 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YMneF-0002kX-Ji for ged-emacs-devel@m.gmane.org; Sun, 15 Feb 2015 02:05:23 +0100 Original-Received: from localhost ([::1]:33221 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMneE-0002lC-Od for ged-emacs-devel@m.gmane.org; Sat, 14 Feb 2015 20:05:22 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:41324) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YMneB-0002kv-EG for emacs-devel@gnu.org; Sat, 14 Feb 2015 20:05:20 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YMne8-0002b7-9D for emacs-devel@gnu.org; Sat, 14 Feb 2015 20:05:19 -0500 Original-Received: from gproxy10-pub.mail.unifiedlayer.com ([69.89.20.226]:56429) by eggs.gnu.org with smtp (Exim 4.71) (envelope-from ) id 1YMne8-0002ac-1a for emacs-devel@gnu.org; Sat, 14 Feb 2015 20:05:16 -0500 Original-Received: (qmail 11991 invoked by uid 0); 15 Feb 2015 01:05:10 -0000 Original-Received: from unknown (HELO cmgw2) (10.0.90.83) by gproxy10.mail.unifiedlayer.com with SMTP; 15 Feb 2015 01:05:10 -0000 Original-Received: from host114.hostmonster.com ([74.220.207.114]) by cmgw2 with id sR561p00A2UdiVW01R59BA; Sat, 14 Feb 2015 18:05:10 -0700 X-Authority-Analysis: v=2.1 cv=NPZGpSKg c=1 sm=1 tr=0 a=CQdxDb2CKd3SRg4I0/XZPQ==:117 a=CQdxDb2CKd3SRg4I0/XZPQ==:17 a=DsvgjBjRAAAA:8 a=f5113yIGAAAA:8 a=TeMFXEv2S7AA:10 a=9i_RQKNPAAAA:8 a=hEr_IkYJT6EA:10 a=jrwKn-8xaegA:10 a=0HtSIViG9nkA:10 a=mDV3o1hIAAAA:8 a=8Ac1J0p3SgYkBtOjNPcA:9 Original-Received: from [70.94.38.149] (port=51337 helo=takver) by host114.hostmonster.com with esmtpsa (TLSv1.2:AES128-GCM-SHA256:128) (Exim 4.82) (envelope-from ) id 1YMndy-0003aU-24 for emacs-devel@gnu.org; Sat, 14 Feb 2015 18:05:06 -0700 In-Reply-To: <83pp9cwky8.fsf@gnu.org> (Eli Zaretskii's message of "Sat, 14 Feb 2015 17:51:11 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.0.50 (windows-nt) X-Identified-User: {2442:host114.hostmonster.com:stephele:stephe-leake.org} {sentby:smtp auth 70.94.38.149 authed with stephen_leake@stephe-leake.org} X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 69.89.20.226 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:183078 Archived-At: Eli Zaretskii 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