On 2013-06-27 15:05-0700 phil rosenberg wrote:

> One question though. If a binary version is built with gcc, can it be used by 
> Visual Studio or vica-versa?

In general, I think the answer is no.  It is best to build everything needed 
with a
consistent tool chain.

> If PLPlot wants to increase its windows use then it shouldn't
alienate VS users (and I'm one of them) because their compiler is free
(like free beer), but not freeĀ (like freedom).

Point taken, but note binary distributors would also not want to
alienate the huge numbers of MinGW users as well.  MinGW-4.7.2 has
been averaging 20,000 downloads of its core package per month for the
7 months since its release.  And MinGW-4.6.2 has had 800 thousand (!)
downloads of its core package since its release. (You can find these
numbers yourself by exploring
http://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/.
You will actually find much larger numbers there at first blush, but
if you dig for the download numbers of just the core package in each
case you will find what I have stated above.)

You do make a good point that the choice of tool chain is an
additional concern for binary releases. In principle we could supply
both forms.  But then somebody would complain about the MinGW version
or cl version being used that was too old or too new for their needs,
and suddenly satisfying everybody's tool chain needs turns into
a big headache.

Linux distributions handle this issue by stating up-front what tool
chain version they are using, and forcing everybody who uses that
binary release to use the same tool chain.  I notice also for Windows
binary releases (e.g., Qt4) that they are typically for only one tool
chain (in the Qt4 case an old version of MinGW that is not suitable
for my needs).  So whoever is willing to take responsibility for a
binary release will probably have to make a decision about which tool
chain to use for that release rather than trying to cater to
everybody's needs with multiple binary distributions.

Note, thinking about the inherent and well known issues of binary
distributions at this stage is getting rather far ahead of ourselves.
Instead, for the immediate future we should be concentrating on the
build-script idea (where ideally every user builds what he likes with
the tool chain that he desires).  That is, along with everything else
I have planned for build_packages, we should make build_packages as
general as possible with regard to the tool chain that the user wants
to build with.

In fact, as far as I know there are only a few parts of build_projects
that currently depend on gcc.  For example, a special gcc option is 
supplied to wxwidgets to get it to build with gcc on Windows. But that
CMake logic can easily be protected by

if(CMAKE_COMPILER_IS_GNUCC)
...
endif(CMAKE_COMPILER_IS_GNUCC)

The fundamental point is that the CMake EXTERNAL_PROJECT_Add command
(which is what is used in */bp.cmake to configure and build each
project) is inherently quite general.  All that is needed is a command
to download the source code and check it, a command to configure the
project (e.g., cmake or autotools or anything else), a command to
build the project (make, mingw32-make, jom, ninja, etc.), a command to
install the project (typically a special form of one of the build
commands), and a command to test the project (typically a special form
of one of the build commands or ctest).  That's it (which is the
reason the */bp.cmake files are so small).

Therefore, Phil, when I am in a better position to call for testing of
build_projects, I would certainly welcome your testing of it with any
tool chain you desire and would welcome your patches for any problems
you discover for your tool chain of choice.

Alan
__________________________
Alan W. Irwin

Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).

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.sf.net); 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
__________________________

------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Plplot-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/plplot-devel

Reply via email to