blob: 3ded34ae581845c7ca7306bcaedcb5888c3d05a0 [file] [log] [blame] [edit]
<!--
****************************************************************************
* Copyright 2019-2023,2024 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.35 2024/04/20 21:13:27 tom Exp @
-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
<TITLE>adacursesw6\-config 1 2024-04-20 ncurses 6.5 User commands</TITLE>
<link rel="author" href="mailto:bug-ncurses@gnu.org">
</HEAD>
<BODY>
<H1 class="no-header">adacursesw6\-config 1 2024-04-20 ncurses 6.5 User commands</H1>
<PRE>
<STRONG><A HREF="adacursesw6-config.1.html">adacursesw6-config(1)</A></STRONG> User commands <STRONG><A HREF="adacursesw6-config.1.html">adacursesw6-config(1)</A></STRONG>
</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
<STRONG>adacursesw6-config</STRONG> - configuration helper for <EM>AdaCurses</EM> libraries
</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
<STRONG>adacursesw6-config</STRONG> [<STRONG>--cflags</STRONG>] [<STRONG>--libs</STRONG>]
<STRONG>adacursesw6-config</STRONG> <STRONG>--version</STRONG>
<STRONG>adacursesw6-config</STRONG> <STRONG>--help</STRONG>
</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
This program development aid simplifies the process of configuring
applications to use the <EM>AdaCurses</EM> library binding to <EM>ncurses</EM>.
</PRE><H2><a name="h2-OPTIONS">OPTIONS</a></H2><PRE>
<STRONG>--cflags</STRONG> reports the GNAT (Ada compiler) flags needed to compile with
<EM>AdaCurses</EM>.
<STRONG>--libs</STRONG> reports the GNAT libraries needed to link with <EM>AdaCurses</EM>.
<STRONG>--version</STRONG> reports the release and patch date information of the
<EM>ncurses</EM> libraries used to configure and build <EM>AdaCurses</EM> and
exits successfully.
<STRONG>--help</STRONG> issues a usage message and exits successfully.
Omitting options implies "<STRONG>--cflags</STRONG> <STRONG>--libs</STRONG>".
</PRE><H2><a name="h2-EXAMPLES">EXAMPLES</a></H2><PRE>
Consider a program using <EM>AdaCurses</EM> to write the message "Hello, world!"
in the center of the screen and wait for the user to press the "q" key
before exiting. Populate a file <EM>hello.adb</EM> with the following.
with Terminal_Interface.Curses; use Terminal_Interface.Curses;
procedure Hello is
Visibility : Cursor_Visibility := Invisible;
Message : constant String := "Hello, World!";
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 =&gt; Lines / 2,
Column =&gt; (Columns - Message'Length) / 2);
Add (Str =&gt; Message);
while not done loop
c := Get_Keystroke (Standard_Window);
case c is
when Character'Pos ('q') =&gt; done := True;
when others =&gt; null;
end case;
Nap_Milli_Seconds (50);
end loop;
End_Windows;
end Hello;
Then, using
gnatmake `adacursesw6-config --cflags` hello \
-largs `adacursesw6-config --libs`
or, more simply,
gnatmake hello `adacursesw6-config`
you can compile and link the program.
</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
<STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>
ncurses 6.5 2024-04-20 <STRONG><A HREF="adacursesw6-config.1.html">adacursesw6-config(1)</A></STRONG>
</PRE>
<div class="nav">
<ul>
<li><a href="#h2-NAME">NAME</a></li>
<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
<li><a href="#h2-DESCRIPTION">DESCRIPTION</a></li>
<li><a href="#h2-OPTIONS">OPTIONS</a></li>
<li><a href="#h2-EXAMPLES">EXAMPLES</a></li>
<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
</ul>
</div>
</BODY>
</HTML>