[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: AdaCurses: take the opportunity of the last GPR tools for build and
From: |
Thomas Dickey |
Subject: |
Re: AdaCurses: take the opportunity of the last GPR tools for build and install. |
Date: |
Sat, 31 Aug 2019 18:24:53 -0400 |
User-agent: |
NeoMutt/20170113 (1.7.2) |
On Sun, Aug 25, 2019 at 06:28:21PM +0200, Pascal wrote:
>
> > Le 25 août 2019 à 01:36, Thomas Dickey <address@hidden> a écrit :
> >
> > On Sun, Aug 18, 2019 at 09:11:08PM -0400, Thomas Dickey wrote:
> >> On Sun, Aug 18, 2019 at 10:05:22AM +0200, Pascal wrote:
> >>> Hello Thomas,
> >>>
> >>>> Le 17 août 2019 à 22:27, Thomas Dickey <address@hidden> a écrit :
> >>>>
> >>>> On Sat, Aug 17, 2019 at 07:34:19PM +0200, Pascal wrote:
> >>>>> Hello,
> >>>>>
> >>>>> I took the opportunity of the last GPR tools for build and install
> >>>>> AdaCurses from Ada compiler suite GNAT Community 2019.
> >>>>> https://www.adacore.com/download
> >>>>>
> >>>>> I took ncurses source codes from Github repo:
> >>>>> https://github.com/mirror/ncurses
> >>>>
> >>>> https://invisible-island.net/personal/git-exports.html
> >>>> https://github.com/ThomasDickey/ncurses-snapshots
> >>>>
> >>>>> I push all changes to my Github:
> >>>>> https://github.com/Blady-Com/ncurses/tree/proposal_01
> >>>>>
> >>>>> Do I send a pull request to the ncurses Github repo?
> >>>>
> >>>> no.
> >>>
> >>> Ok I understand the way you proceed.
> >>>
> >>>>
> >>>>> Or else what is the correct way to submit chage proposals?
> >>>>
> >>>> diff's, like the attached
> >>>>
> >>>> I don't know about the change itself, since it has to be tested against
> >>>> the
> >>>> existing gnat configurations.
> >>>
> >>> What is your testing process?
> >>
> >> I have scripts which do configure/make/make-install/make-uninstall,
> >> as well as making packages (for the AdaCurses tree by itself).
> >> I keep the logs, compare and resolve differences. What platforms I build
> >> and test depends on what's changed recently.
> >>
> >> Most of the builds I do are with the whole ncurses tree, which
> >> makes some difference in the way the configure/make process works.
> >>
> >> But I test-build AdaCurses by itself occasionally (I have logs
> >> for Debian, Fedora, and OpenSUSE from last winter, for _that_).
> >>
> >> Besides those, my whole-tree builds include cygwin and CentOS.
> >>
> >>> On my side, I tested the changes with GNAT Community 2019 on macOS 10.13.
> >>
> >> I did some test-builds with the 2018 version on macOS 10.13,
> >> which worked (though I noticed a problem with one of the pathnames).
> >
> > I took a quick look at this, but it doesn't improve my ncurses6 build
> > for MacOS GNAT-2019 (that fails to find the libpanelw shared library
> > with/without the patch), and causes the Debian 9/testing builds to fail
> > to find _traces
> >
> > (it's on my to-do list to investigate further)
> >
> > The MacOS problem is one I knew about - simply haven't gotten to:
> >
> > 181229
> > ** The MacOSX gnat package insists on being installed under ~thomas/opt,
> > /Users/thomas/opt/GNAT/2018/bin
> > and does run when the $PATH is updated. A test-build using cfg-ncurses6
> > fails since gnat's looking for "-lpanelw", but I'm building "-lpanelw6".
> > Looks like that comes from a pragma in an m4 file "Linker_Options".
> > There's 4 files to fixup, probably best to generate a script which
> > can be used to replace the DEL_ADAMODE hack.
>
> Hello Thomas,
>
> You'll find in attached file, ncurses complete build logs from the proposed
> changes repo:
> https://github.com/Blady-Com/ncurses/tree/proposal_01
hmm - I can successfully build using the options (without changes),
with a few obvious differences (on MacOS of course):
+ I'm using MacPorts (perhaps you're using homebrew).
+ my C compiler's a little older (8 vs 8.3.1)
In your log there's an extra compiler warning, which may be related
+ there are minor/isolated differences in the steps taken to manage
libraries due to the makefile differences, but I don't see anything
amiss in my log.
+ I didn't try the "rm-docs" makefile rule yet (since my earlier
inspection showed just the scripting removal).
+ I see, looking at
https://docs.adacore.com/gnat_ugn-docs/html/gnat_ugn/gnat_ugn/building_executable_programs_with_gnat.html#validity-checking
that in your version you've suppressed some of the error/validity
checks. I agree that fixing style issues every few years is a
nuisance -- but it's been a few years since the last. Aside from
that (and speed of compilation), I don't see a reason to do that.
The optional checks show up here:
> Using GNAT Project:
> --- ./library.gpr 2019-08-17 19:05:10.000000000 +0200
> +++ adacurses.gpr 2019-08-17 19:11:47.000000000 +0200
> @@ -52,7 +52,7 @@
> "-gnatafUno",
> "-gnatVaep", -- All validity checks
> "-gnatw.eDH.Y"); -- Activate all optional warnings
> - -- for Default_Switches ("C") use
> + for Default_Switches ("C")
> use("-I.","-I../include","-I../../include","-I/usr/local/xnadalib-2019/include","-I.","-I../include","-D_DARWIN_C_SOURCE","-DNDEBUG","-DHAVE_CONFIG_H","-I.","-O2","-g","-O0");
> end Compiler;
> for Languages use ("C", "Ada");
> package Install is
rather than this:
--- ./library.gpr 2018-01-14 17:21:37.000000000 -0500
+++ AdaCurses.gpr 2019-08-31 17:56:16.000000000 -0400
@@ -51,7 +51,7 @@
"-gnatafno",
"-gnatVa", -- All validity checks
"-gnatwa"); -- Activate all optional errors
- -- for Default_Switches ("C") use
+ for Default_Switches ("C")
use("-I.","-I../include","-I../../include","-I/usr/local/xnadalib-2019/include","-I.","-I../include","-D_DARWIN_C_SOURCE","-DNDEBUG","-DHAVE_CONFIG_H","-I.","-O2","-g","-O0");
end Compiler;
for Languages use ("C", "Ada");
end AdaCurses;
(it would have been nice if the gnat tools used command-line options more
effectively - on-the-fly changes to configuration files is a nuisance).
> My configuration macOS 10.13 with GNAT Community 2019 (/usr/local/gnat).
similar: 10.13.6, with GNAT in a nonstandard directory on my $PATH
--
Thomas E. Dickey <address@hidden>
https://invisible-island.net
ftp://ftp.invisible-island.net
build-typescript.txt.xz
Description: application/xz
signature.asc
Description: PGP signature