Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

.\"***************************************************************************
.\" Copyright 2019,2020 Thomas E. Dickey                                     *
.\" Copyright 2010-2014,2016 Free Software Foundation, Inc.                  *
.\"                                                                          *
.\" Permission is hereby granted, free of charge, to any person obtaining a  *
.\" copy of this software and associated documentation files (the            *
.\" "Software"), to deal in the Software without restriction, including      *
.\" without limitation the rights to use, copy, modify, merge, publish,      *
.\" distribute, distribute with modifications, sublicense, and/or sell       *
.\" copies of the Software, and to permit persons to whom the Software is    *
.\" furnished to do so, subject to the following conditions:                 *
.\"                                                                          *
.\" The above copyright notice and this permission notice shall be included  *
.\" in all copies or substantial portions of the Software.                   *
.\"                                                                          *
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
.\"                                                                          *
.\" Except as contained in this notice, the name(s) of the above copyright   *
.\" holders shall not be used in advertising or otherwise to promote the     *
.\" sale, use or other dealings in this Software without prior written       *
.\" authorization.                                                           *
.\"***************************************************************************
.\"
.\" $Id: MKada_config.in,v 1.12 2020/02/02 23:34:34 tom Exp $
.ds C adacurses@USE_CFG_SUFFIX@\-config
.TH ADACURSES "1" "" "" "User Commands"
.SH NAME
adacurses@USE_CFG_SUFFIX@\-config \- helper script for @ADA_LIBNAME@ libraries
.SH SYNOPSIS
.B \*C
[\fIoptions\fR]
.SH DESCRIPTION
This is a shell script which simplifies configuring an application to use
the @ADA_LIBNAME@ library binding to ncurses.
.SH OPTIONS
.TP
\fB\-\-cflags\fR
echos the gnat (Ada compiler) flags needed to compile with @ADA_LIBNAME@.
.TP
\fB\-\-libs\fR
echos the gnat libraries needed to link with @ADA_LIBNAME@.
.TP
\fB\-\-version\fR
echos the release+patchdate version of the ncurses libraries used
to configure and build @ADA_LIBNAME@.
.TP
\fB\-\-help\fR
prints a list of the \fB\*C\fP script's options.
.PP
If no options are given, \fB\*C\fP prints the combination
of 
\fB\-\-cflags\fR and
\fB\-\-libs\fR
that \fBgnatmake\fP expects (see example).
.SH EXAMPLE
.PP
For example, supposing that you want to compile the "Hello World!"
program for @ADA_LIBNAME@.
Make a file named "hello.adb":
.RS
.nf
.ft CW
with Terminal_Interface.Curses; use Terminal_Interface.Curses;

procedure Hello is

   Visibility : Cursor_Visibility := Invisible;
   done : Boolean := False;
   c : Key_Code;

begin

   Init_Screen;
   Set_Echo_Mode (False);

   Set_Cursor_Visibility (Visibility);
   Set_Timeout_Mode (Standard_Window, Non_Blocking, 0);

   Move_Cursor (Line => Lines / 2, Column => (Columns - 12) / 2);
   Add (Str => "Hello World!");

   while not done loop

      c := Get_Keystroke (Standard_Window);
      case c is
      when Character'Pos ('q') => done := True;
      when others => null;
      end case;

      Nap_Milli_Seconds (50);
   end loop;

   End_Windows;

end Hello;
.fi
.RE
.PP
Then, using
.RS
.ft CW
gnatmake `adacurses-config --cflags` hello -largs `adacurses-config --libs`
.ft
.RE
.PP
or (simpler):
.RS
.ft CW
gnatmake hello `adacurses-config`
.ft
.RE
.PP
you will compile and link the program.
.SH "SEE ALSO"
\fBcurses\fR(3X)
.PP
This describes \fBncurses\fR
version @NCURSES_MAJOR@.@NCURSES_MINOR@ (patch @NCURSES_PATCH@).