Re: [Plplot-devel] D language support topic

2019-10-19 Thread Alan W. Irwin

I have just pushed plplot-5.15.0-46-gd6670a304

The principal change here is I have improved the test_d implementation
to make it conform more closely to what I have planned for -pthread
handling for the plplot project case.  In addition, I have updated
the test_d README file to reflect the fact that the -Xcc feature
for dmd that we need for -pthread handling for that D compiler has
evolved from an experimental dmd feature to mainstream (on the dmd git
master branch and scheduled to be part of the dmd 2.089.0 release on
November 1st).  In addition, I have substantially updated the instructions
concerning how to build that master branch version of dmd.

This version of test_d shows no regressions compared to the previous
version and like that version continues to force use of -pthread on
most platforms (e.g., Linux, Mac OS X, and MSYS2) to provide a strong
test with this project that truly reflects the -pthread handling needs
of the plplot project.

@Takeshi: I am sorry it took me so long to mature test_d, but now that
has occurred could you please test the (updated) test_d project on your
Mac OS platform following what the (updated) cmake/test_d/README file
says?  Note in order to do this test (and also to test the plplot
project later) you will need a CMake version built from a recent
master branch (I think you already have that) and similarly for dmd.

For your convenience I have attached my current bash script for
building dmd.  I suggest (after looking through it to confirm that
what it does is consistent with the build instructions in the above
README file) you run it in a dedicated directory (so the git clones
that occur and the creation of the install subdirectory that contains
the install tree don't mess up anything else) as follows:

./dmd_git_build.sh HEAD

to build dmd and associated libraries for the HEAD of the master
branch of the set of four repositories that are required.  Note, the
script takes a lot of care so that you can run the same command days
later (to get access to the latest HEAD master branch result on that
day) without stale file issues from the previous build within
the same dedicated directory.

Good luck, and let me know how it goes with the required dmd build
(unless you want to wait for (a) the dmd 2.089.0 release on November
1st and (b) the MacPorts packaging of that release that will
presumably be finished substantially later).  And once that build
is done, I am, of course, interested in your comprehensive test
results for the (substantially updated) test_d project.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.org); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__

dmd_git_build.sh.gz
Description: (compressed) bash script for building dmd on Posix platforms
___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel]   D language support topic (success for test_d on Darwin!)

2019-09-29 Thread Alan W. Irwin

On 2019-09-24 17:24-0700 Alan W. Irwin wrote:


But the other issue (where our various thread library needs are met by
the -pthread *compiler* option used for linking which neither dmd nor
ldc2 understands) has proved much more difficult to solve (even though it
is extremely easy to solve the issue by hand) *within the current
constraints imposed by CMake*.


See  for a CMake
feature request that would elegantly solve this issue.  But meanwhile,
I have implemented (commit ab8a90546 git-described as
plplot-5.15.0-44-gab8a90546) for the test_d project a workaround for
the current lack of am implementation for the 19757 feature
request. That workaround gives good results for dmd and ldc2 for an
updated test_d project and gdc (which does not require the workaround)
continues to work well for that updated test_d where (as in the plplot
project case) the test_d C library is linked with the -pthread option.
So this commit is a considerable step forward for test_d and
implements a workaround for the above issue that should also work
(once I implement it) for the plplot project case.

@Takeshi: would you please test the (updated) test_d project on your
Mac OS platform following what the (updated) cmake/test_d/README file
says?  Note, that file tells you how to build an extremely specific
version of dmd that has the -Xcc capability that my current D language
support for dmd needs.  This variant of dmd is being considered for
the next release of dmd, and likely the dmd developers will favor it
for inclusion the more platforms we use to test it (see the latter
part of the discussion at 
and also the on-going discussion at
).  So we are right at the
"cutting edge" of dmd development now with a lot of care required to
build the dmd versions that we need, but in a year from now I am
hoping that the -Xcc dmd capability is just part of mainstream dmd
versions that are being released with no special version of dmd being
required for our D language support.

More later as I transfer from the test_d project to the plplot project
what I have learned about a solution to the above -pthread issue.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.org); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel]   D language support topic (success for test_d on Darwin!)

2019-09-24 Thread Alan W. Irwin

On 2019-09-15 15:35-0700 Alan W. Irwin wrote:


Hi Takeshi:

[...]

I would appreciate you
testing that result [plplot-5.15.0-34-g6b47c717e] for the test_d project (to 
make sure my further
one-line change I committed beyond what you have tested already did
not screw anything up) and also (if that test is a success) the plplot
project itself.


For the others here I subsequently contacted Takeshi (and Arjen for
the MSYS2 case) off list to put those tests on hold because I wanted
to fix some additional issues I discovered when I attempted to
comprehensively test ldc2 and dmd on Linux for a PLplot with all
possible Linux components configured (as opposed to the good
comprehensive tests results on my Linux platform that I get
for a PLplot where only the C and D components were
configured).

The rest of this post is a status report on the remaining D build-system
issues for a fully configured PLplot on Linux.

I solved one of the issues (where Qt5 was polluting the D builds in
the static case with the -fPIC compile option which ldc2 did not
understand) by using the target_link_libraries PRIVATE option for the
static library build.

But the other issue (where our various thread library needs are met by
the -pthread *compiler* option used for linking which neither dmd nor
ldc2 understands) has proved much more difficult to solve (even though it
is extremely easy to solve the issue by hand) *within the current
constraints imposed by CMake*.  For those interested, I have just
posted a detailed report about this CMake-based build-system limitation
and a possible feature request to solve it at
.

As part of writing up that post today, I thought up a workaround for
the issue that is a bit messy (since part of the workaround requires
an extra library called PLPLOT::plplot_nothread to be built that is
exactly the same as PLPLOT::plplot except for its modified
INTERFACE_LINK_LIBRARIES property), but I think it will work until the
day (if it ever comes) when the CMake developers decide to implement
the above possible feature request.

In sum, at least I finally have a plan to work around this issue,
and (because a fair amount of build-system changes will be required) I
hope to implement that plan (unless the CMake developers advise me of
a simpler way to do the same thing) by (very roughly) the end of this
week.  Furthermore, the hold on non-Linux platform testing of D language
support should continue for both Takeshi and Arjen until I demonstrate
that the three D compilers all pass comprehensive testing of a fully
configured PLplot on my platform.

So until then...

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.org); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel]   D language support topic (success for test_d on Darwin!)

2019-09-15 Thread Alan W. Irwin

On 2019-09-15 09:48- 榎本 剛 wrote:


Alan,

The test was a success.


Hi Takeshi:

I am now taking this discussion back to the plplot-devel mailing list.

Thanks for all your work in obtaining this good D language support
test result for the test_d project for your Darwin dmd (MacPorts)
platform.  I made one additional (untested) change to Darwin-dmd.cmake
for the reasons discussed in the commit message for
plplot-5.15.0-34-g6b47c717e.  Please update your local git repository
to the latest master branch version (so you have access to that commit
and there will be no need to patch PLplot).  I would appreciate you
testing that result for the test_d project (to make sure my further
one-line change I committed beyond what you have tested already did
not screw anything up) and also (if that test is a success) the plplot
project itself.

The rest of this post concerns that further comprehensing testing of the plplot 
project.

That is done by changing directory to the top-level directory of the PLplot 
source
tree (so NOT cmake/test_d) and running

scripts/comprehensive_test.sh --help

to get a sense of what is available for that much more sophisticated 
comprehensive
testing script than you ran for the test_d case.

Now the thing to remember about this script is it really is
comprehensive by default.  So usually you constrain it to avoid doing
tests that are currently not relevant to some topic such as D language
support for the plplot project.

So please look in the PLplot git log for commit f7d9bec368f3 where I
demonstrate how to limit that comprehensive test to just the D
binding and examples, the svg device, and (by default since these
components are always part of testing) the core C library and the
C examples.  Of course, for that test I did a lot of special things
relevant to my own platform such as testing blanks in source-, build-,
and install-tree pathnames.  So you don't want to repeat exactly
what I did.  So instead, here is my best (informed by what you
did for test_d) guess concerning how you would modify that plplot
comprehensive test invocation for your own needs:

# Important
cd 

# Important, set DC environment variable to select D compiler and
# options for that compiler and set PATH environment variable to
# access a CMake version >= 3.15.20190829-g3ec986c that has (on your
# platform) the essential CMake master branch fix needed so that D
# language support works for dmd.  Also drop the interactive
# component of comprehensive testing since that is not relevant
# to D.
env DC="/opt/local/bin/dmd -v" PATH=/usr/local/cmake/bin:$PATH scripts/comprehensive_test.sh 
--cmake_added_options "-DDEFAULT_NO_BINDINGS=ON -DENABLE_d=ON -DDEFAULT_NO_DEVICES=ON -DPLD_svg=ON" 
--build_command "make -j18" --ctest_command "ctest -j18" --do_test_interactive no)

Note that script run will be noticeably longer (but likely not too bad
because of all the above constraints limiting the test) compared to
the test_d script run because this script does much more than happens
for test_d (for example running all the PLplot C and D examples and
comparing those results for 15 different combinations of 2
test_noninteractive tests + 2 ctests + 1 traditional test (for 5 tests
in all) for our 3 different major configurations.

As with test_d, regardless of whether that script run is a success or
not, please collect the report tarball (which by default will be
stored in a different prefix area than in the test_d case) and send it
to me for further analysis.

Good luck with this (PLplot) constrained comprehensive test which when
it is a success will demonstrate improved D language support for both
the upstream version of PLplot that I have been helping to maintain
and ultimately the MacPorts port of PLplot that you have been
maintaining.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.org); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] D language support topic

2019-09-03 Thread Arjen Markus
Hi Alan,

I have the first results from this exercise. I will send the details in an 
off-list message, but the short story is that CMake seems to choke on 
generating the makefiles when support for D is included. From my inspection of 
the output files the reason for the failure is not at all clear. The D bindings 
are turned on but then CMake tells me something went wrong during the last 
stage, writing the actual makefiles.

Regards,

Arjen

-Original Message-
From: Alan W. Irwin 
Sent: 02 September 2019 12:27
To: Arjen Markus 
Cc: Takeshi Enomoto ; PLplot development list 

Subject: RE: [Plplot-devel] D language support topic

On 2019-09-02 07:47- Arjen Markus wrote:

> Hi Alan,
>
> I will have a look at this - I have built CMake before, that should not be a 
> problem . I have no experience, however, with the D compiler you mention.

Hi Arjen:

Thanks for your willingness to do the requested test_d tests on MSYS2 with dmd. 
 The results of those tests should help me to get our CMake D language support 
working correctly for the Windows-dmd case for both test_d and PLplot.

Alan

>
> -Original Message-
> From: Alan W. Irwin 
> Sent: 01 September 2019 01:40
> To: Takeshi Enomoto ; Arjen Markus
> ; PLplot development list
> 
> Subject: Re: [Plplot-devel] D language support topic
>
> To Takeshi and Arjen:
>
> I have now (git described as plplot-5.15.0-21-gf7d9bec36) pushed this
> topic to the PLplot master branch at SourceForge.  This new D language
> support (see README.release for details) works perfectly on Linux (all
> comprehensive tests have passed perfectly on my Debian Buster
> platform), and I hope Takeshi (who contributed part of the changes
> that have gone into this push) would be willing to test this new D
> language support for PLplot on the MacPorts platform and Arjen on the
> MSYS2 platform.
>
> @Takeshi: as MacPorts maintainer of the plplot package for that distribution, 
> this push cannot help you immediately with dmd because the push only works 
> for that compiler if you have first built an extremely recent version of 
> CMake, and it will take quite a while until that recent version of CMake 
> propagates officially to MacPorts.
> But if you are still interested in testing for your future dmd MacPorts 
> benefit (or want to test gdc instead which should work with the current 
> official MacPorts version of CMake), then please follow the directions in 
> cmake/test_d/README (which include building an extremely recent version of 
> CMake to use for all testing) to generate a report tarball in the two ways 
> requested so I can analyze those results and adjust the "Darwin" Platform 
> files accordingly.
>
> @Arjen: the only D compiler you have access to on Windows is one you download 
> for yourself [from Digital 
> Mars](https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdlang.org%2Fdownload.htmldata=02%7C01%7C%7C109db2fc5d8c42715d0308d72f90094d%7C15f3fe0ed7124981bc7cfe949af215bb%7C0%7C0%7C637030167988327359sdata=ZWqaEu0F4OLFU0m6yjhdjTn%2FuyI3KvPd1WUdGKGGdaI%3Dreserved=0).
> I would appreciate you testing our new D language support on MSYS2 with that 
> compiler.
> As in Takeshi's case I suggest you start with the test_d project for an 
> extremely recent version of CMake from its git master branch that you have 
> built yourself.
>
> Alan
> __
> Alan W. Irwin
>
> Programming affiliations with the FreeEOS equation-of-state implementation 
> for stellar interiors (freeeos.sf.net); the Time Ephemerides project 
> (timeephem.sf.net); PLplot scientific plotting software package (plplot.org); 
> the libLASi project (unifont.org/lasi); the Loads of Linux Links project 
> (loll.sf.net); and the Linux Brochure Project (lbproject.sf.net).
> __
>
> Linux-powered Science
> __
> DISCLAIMER: This message is intended exclusively for the addressee(s) and may 
> contain confidential and privileged information. If you are not the intended 
> recipient please notify the sender immediately and destroy this message. 
> Unauthorized use, disclosure or copying of this message is strictly 
> prohibited. The foundation 'Stichting Deltares', which has its seat at Delft, 
> The Netherlands, Commercial Registration Number 41146461, is not liable in 
> any way whatsoever for consequences and/or damages resulting from the 
> improper, incomplete and untimely dispatch, receipt and/or content of this 
> e-mail.
>

__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state implementation for 
stellar interiors (freeeos.sf.net); the Time Ephemerides project 
(timeephem.sf.net); PLplot scientific plotting software package (plplot.org); 
the libLAS

Re: [Plplot-devel] D language support topic

2019-09-02 Thread Arjen Markus
Hi Alan,

I will have a look at this - I have built CMake before, that should not be a 
problem . I have no experience, however, with the D compiler you mention.

Regards,

Arjen


-Original Message-
From: Alan W. Irwin 
Sent: 01 September 2019 01:40
To: Takeshi Enomoto ; Arjen Markus 
; PLplot development list 

Subject: Re: [Plplot-devel] D language support topic

To Takeshi and Arjen:

I have now (git described as plplot-5.15.0-21-gf7d9bec36) pushed this topic to 
the PLplot master branch at SourceForge.  This new D language support (see 
README.release for details) works perfectly on Linux (all comprehensive tests 
have passed perfectly on my Debian Buster platform), and I hope Takeshi (who 
contributed part of the changes that have gone into this push) would be willing 
to test this new D language support for PLplot on the MacPorts platform and 
Arjen on the
MSYS2 platform.

@Takeshi: as MacPorts maintainer of the plplot package for that distribution, 
this push cannot help you immediately with dmd because the push only works for 
that compiler if you have first built an extremely recent version of CMake, and 
it will take quite a while until that recent version of CMake propagates 
officially to MacPorts.
But if you are still interested in testing for your future dmd MacPorts benefit 
(or want to test gdc instead which should work with the current official 
MacPorts version of CMake), then please follow the directions in 
cmake/test_d/README (which include building an extremely recent version of 
CMake to use for all testing) to generate a report tarball in the two ways 
requested so I can analyze those results and adjust the "Darwin" Platform files 
accordingly.

@Arjen: the only D compiler you have access to on Windows is one you download 
for yourself [from Digital 
Mars](https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdlang.org%2Fdownload.htmldata=02%7C01%7C%7Ca962fd3984664e88519308d72e6c7d4b%7C15f3fe0ed7124981bc7cfe949af215bb%7C0%7C0%7C637028915813958706sdata=Q5GbOISrDsA%2Fyxn16s2s4FeEor02in2aGUIFKRSkRLA%3Dreserved=0).
I would appreciate you testing our new D language support on MSYS2 with that 
compiler.
As in Takeshi's case I suggest you start with the test_d project for an 
extremely recent version of CMake from its git master branch that you have 
built yourself.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state implementation for 
stellar interiors (freeeos.sf.net); the Time Ephemerides project 
(timeephem.sf.net); PLplot scientific plotting software package (plplot.org); 
the libLASi project (unifont.org/lasi); the Loads of Linux Links project 
(loll.sf.net); and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__
DISCLAIMER: This message is intended exclusively for the addressee(s) and may 
contain confidential and privileged information. If you are not the intended 
recipient please notify the sender immediately and destroy this message. 
Unauthorized use, disclosure or copying of this message is strictly prohibited. 
The foundation 'Stichting Deltares', which has its seat at Delft, The 
Netherlands, Commercial Registration Number 41146461, is not liable in any way 
whatsoever for consequences and/or damages resulting from the improper, 
incomplete and untimely dispatch, receipt and/or content of this e-mail.

___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] D language support topic

2019-09-02 Thread Alan W. Irwin

On 2019-09-02 07:47- Arjen Markus wrote:


Hi Alan,

I will have a look at this - I have built CMake before, that should not be a 
problem . I have no experience, however, with the D compiler you mention.


Hi Arjen:

Thanks for your willingness to do the requested test_d tests on MSYS2
with dmd.  The results of those tests should help me to get our CMake
D language support working correctly for the Windows-dmd case for both
test_d and PLplot.

Alan



-Original Message-
From: Alan W. Irwin 
Sent: 01 September 2019 01:40
To: Takeshi Enomoto ; Arjen Markus 
; PLplot development list 

Subject: Re: [Plplot-devel] D language support topic

To Takeshi and Arjen:

I have now (git described as plplot-5.15.0-21-gf7d9bec36) pushed this topic to 
the PLplot master branch at SourceForge.  This new D language support (see 
README.release for details) works perfectly on Linux (all comprehensive tests 
have passed perfectly on my Debian Buster platform), and I hope Takeshi (who 
contributed part of the changes that have gone into this push) would be willing 
to test this new D language support for PLplot on the MacPorts platform and 
Arjen on the
MSYS2 platform.

@Takeshi: as MacPorts maintainer of the plplot package for that distribution, 
this push cannot help you immediately with dmd because the push only works for 
that compiler if you have first built an extremely recent version of CMake, and 
it will take quite a while until that recent version of CMake propagates 
officially to MacPorts.
But if you are still interested in testing for your future dmd MacPorts benefit (or want 
to test gdc instead which should work with the current official MacPorts version of 
CMake), then please follow the directions in cmake/test_d/README (which include building 
an extremely recent version of CMake to use for all testing) to generate a report tarball 
in the two ways requested so I can analyze those results and adjust the 
"Darwin" Platform files accordingly.

@Arjen: the only D compiler you have access to on Windows is one you download for yourself 
[from Digital 
Mars](https://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fdlang.org%2Fdownload.htmldata=02%7C01%7C%7Ca962fd3984664e88519308d72e6c7d4b%7C15f3fe0ed7124981bc7cfe949af215bb%7C0%7C0%7C637028915813958706sdata=Q5GbOISrDsA%2Fyxn16s2s4FeEor02in2aGUIFKRSkRLA%3Dreserved=0).
I would appreciate you testing our new D language support on MSYS2 with that 
compiler.
As in Takeshi's case I suggest you start with the test_d project for an 
extremely recent version of CMake from its git master branch that you have 
built yourself.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state implementation for 
stellar interiors (freeeos.sf.net); the Time Ephemerides project 
(timeephem.sf.net); PLplot scientific plotting software package (plplot.org); 
the libLASi project (unifont.org/lasi); the Loads of Linux Links project 
(loll.sf.net); and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__
DISCLAIMER: This message is intended exclusively for the addressee(s) and may 
contain confidential and privileged information. If you are not the intended 
recipient please notify the sender immediately and destroy this message. 
Unauthorized use, disclosure or copying of this message is strictly prohibited. 
The foundation 'Stichting Deltares', which has its seat at Delft, The 
Netherlands, Commercial Registration Number 41146461, is not liable in any way 
whatsoever for consequences and/or damages resulting from the improper, 
incomplete and untimely dispatch, receipt and/or content of this e-mail.



__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.org); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] D language support topic

2019-09-01 Thread Takeshi Enomoto
Dear Alan,

Thank you for you message.

I confirmed that all the updated D examples are built successfully
including x16d
with current plplot-5.15.0 +dmd variant.

I will wait for the update (increment of the version number)
to test with the MacPorts build system.

Note that among D compilers, dmd has the better support in MacPorts.
gdc is outdated and doesn't work well with plplot.
gcc9 does not yet provide gdc.
Nobody is interested in maintaining ldc port yet.

Regards,

Takeshi


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] D language support topic

2019-08-31 Thread Alan W. Irwin

To Takeshi and Arjen:

I have now (git described as plplot-5.15.0-21-gf7d9bec36) pushed this
topic to the PLplot master branch at SourceForge.  This new D language
support (see README.release for details) works perfectly on Linux (all
comprehensive tests have passed perfectly on my Debian Buster
platform), and I hope Takeshi (who contributed part of the changes
that have gone into this push) would be willing to test this new D
language support for PLplot on the MacPorts platform and Arjen on the
MSYS2 platform.

@Takeshi: as MacPorts maintainer of the plplot package for that
distribution, this push cannot help you immediately with dmd because
the push only works for that compiler if you have first built an
extremely recent version of CMake, and it will take quite a while
until that recent version of CMake propagates officially to MacPorts.
But if you are still interested in testing for your future dmd
MacPorts benefit (or want to test gdc instead which should work with
the current official MacPorts version of CMake), then please follow
the directions in cmake/test_d/README (which include building an
extremely recent version of CMake to use for all testing) to generate a report 
tarball in
the two ways requested so I can analyze those results and adjust the
"Darwin" Platform files accordingly.

@Arjen: the only D compiler you have access to on Windows is
one you download for yourself [from Digital 
Mars](https://dlang.org/download.html).
I would appreciate you testing our new D language support on MSYS2 with that 
compiler.
As in Takeshi's case I suggest you start with the test_d project for
an extremely recent version of CMake from its git master branch
that you have built yourself.

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.org); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] D language support topic

2019-08-28 Thread Alan W. Irwin

This topic is being rapidly matured.  The current status for
the remaining work to be done is as follows:

* Implement a simple standalone "test_d" project (in cmake/test_d)
  which is designed to allow rapid testing of D language support (that
  has been updated from the cmake-d project) for all available D
  compilers on all platforms with a simplified (compared to the PLplot
  project) comprehensive test script.  This work is almost completed.
  For example, the simplified test script for test_d gives perfect
  results on my Debian Buster=Stable platform for gdc, ldc, and dmd.
  However, there is a bit more to do to finish the work on this
  test_d project.

* Replace our ancient fork of CMakeD with a modern fork of cmake-d.
  This work is almost completed.

* Fix any issues for our traditional (Makefile + pkg-config) build of
  the installed examples for both dmd and ldc without compromising the
  good gdc results we currently have for that particular build system.
  Once this is done the comprehensive test of the PLplot project
  itself (which includes tests of this traditional build system)
  should work properly for all three D compilers for the first time
  ever.

An important caveat for the above good CMake language support results
for ldc and dmd is those depend on a small fix to CMake general
language support which I have applied to my own locally built version
of CMake.  Brad King is currently shepherding this fix through the
[mostly automatic
process](https://gitlab.kitware.com/cmake/cmake/merge_requests/3747)
to make this fix part of a future CMake release.  The current estimate
is this fix should get into the CMake-3.16.0 release (likely due out
in November), but [see this
discussion](https://gitlab.kitware.com/cmake/cmake/issues/19631), this
CMake fix is also available right now as a [simple patch that should
apply to any recent version of CMake source
code](https://gitlab.kitware.com/cmake/cmake/uploads/92e4545dc691a0760a52656acaea9607/0001-linking-Support-language-specific-variants-of-CMAKE_.patch.gz).

In sum, in comparison to my last status report for this topic, I am
much closer to reaching the goal that comprehensive testing for both
test_d and PLplot itself is working correctly on Debian Buster for all
three D compilers.

More later

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.org); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel


Re: [Plplot-devel] D language support topic

2019-08-17 Thread Alan W. Irwin

On 2019-08-14 18:29-0700 Alan W. Irwin wrote:


So replacing our ancient fork of CMakeD with a modern fork of cmake-d
currently looks like the proper way forward.  However, before implementing
that I need to do more comparisons between the two CMake D language
support projects for dmd, and assuming I can get dmd to work correctly
for our needs for cmake-d using modest changes to cmake-d, I also need
to try out ldc (not available for our ancient fork of CMakeD) using
cmake-d.


The current status is I am making good progress with bug fixes for the
cmake-d D language support so that it works for our needs.  So for
example, I have gotten dmd to work well enough for our CMake-based
core build of the D binding and examples on Debian Buster (for a dmd
compiler I built for myself since Debian does not package that
compiler) that I was able to build the D binding and compile (but not
yet link because of at least one remaining issue with cmake-d) all the
(updated) D examples with dmd.

The results of that dmd compilation of the examples confirmed all of
the example fixes (other than x16d.d) that Takeshi Enomoto donated via
our patch tracker, and I was also able to solve the remaining dmd
compilation errors (which occurred only for x16d.d).

My plan for maturing this topic before I push it to master
includes the following general steps:

* Fix the remaining cmake-d issues for the dmd compiler (as far as I
  know there is only one such issue left which is the current bad
  linking of the D examples).  And confirm this cmake-d change does
  not compromise the current good cmake-d results with the gdc
  compiler.

* Fix any cmake-d issues with the ldc compiler without compromising
  the good gdc results and the (now) good dmd results.

* Fix any issues for our traditional (Makefile + pkg-config) build of
  the installed examples for both dmd and ldc without compromising the
  good gdc results we currently have for that particular build system.

* Replace our ancient fork of CMakeD with a modern fork of cmake-d.
  In other words, all the above steps will be done with external (patched)
  cmake-d, and this step will integrate that patched version into
  PLplot source code for the convenience of our users.

The test of whether this topic has truly been matured will continue to
be our comprehensive test script (which tests our three build systems
for all our library and device variants) should produce perfect
results for D for each D compiler (gdc, dmd, and ldc).

More later

Alan
__
Alan W. Irwin

Programming affiliations with the FreeEOS equation-of-state
implementation for stellar interiors (freeeos.sf.net); the Time
Ephemerides project (timeephem.sf.net); PLplot scientific plotting
software package (plplot.org); the libLASi project
(unifont.org/lasi); the Loads of Linux Links project (loll.sf.net);
and the Linux Brochure Project (lbproject.sf.net).
__

Linux-powered Science
__


___
Plplot-devel mailing list
Plplot-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/plplot-devel