Files
alire-index-community/index/alire-index-simple_components.ads
T
2018-03-26 00:50:30 +02:00

279 lines
15 KiB
Ada

with Alire.Index.LibGNUTLS;
with Alire.Index.UnixODBC;
package Alire.Index.Simple_Components is
-- Simple Components by Dmitry A. Kazakov
Repo : constant URL := "https://github.com/alire-project/dak_simple_components.git";
DAK_Author : constant String := "Dmitry A. Kazakov";
DAK_Website : constant String := "http://www.dmitry-kazakov.de/ada/components.htm";
function Project is new Catalogued_Project ("simple_components",
"Simple Components (root project)");
-- This is a special project because it contains no code.
-- The first usable extension is Strings_Edit
-- Having this one though is better for canonical name and listing
-- NOTE: since all extensions reside in the same commit/folder, there's no need for interdependencies
function Strings_Edit is new Extension (Project,
"strings_edit",
"Simple Components (strings)");
function Tables is new Extension (Project,
"tables",
"Simple Components (tables)");
function Core is new Extension (Project,
"core",
"Simple Components (core components)");
function Connections is new Extension (Project,
"connections",
"Simple Components (clients/servers)");
function Secure is new Extension (Connections,
"secure",
"Simple Components (clients/servers over TLS)");
function NTP is new Extension (Connections,
"ntp",
"Simple Components (Network Time Protocol)");
function ODBC is new Extension (Project,
"odbc",
"Simple Components (ODBC bindings)");
function SQLite is new Extension (Project,
"sqlite",
"Simple Components (SQLite)");
Base_V_4_27 : constant Release :=
Project.Bypass
(V ("4.27"),
Git (Repo, "7cafd2da4a92cfe2b1a45374de6d35fc904b2788"),
Properties =>
GPR_Scenario ("Legacy", "Ada95" or "Ada2005" or "Ada2012") and
GPR_Scenario ("Development", "Debug" or "Release") and
License (GMGPL_2_0) and
Author (DAK_Author) and
Website (DAK_Website));
Strings_Edit_V_4_27 : constant Release :=
Strings_Edit.Register
(Base_V_4_27
-- .Replacing (Origin => Git (Repo, "8ac67a28d666dde3a0f96b5a08a7016e4f29d491"))
.Extending
(Properties =>
Project_File ("strings_edit.gpr"),
Private_Properties =>
Executable ("test_base64") and
Executable ("test_strings_edit") and
Executable ("test_string_streams") and
Project_File ("test_strings_edit/strings_edit-test.gpr")));
Tables_V_4_27 : constant Release :=
Tables.Register
(Base_V_4_27
-- .Replacing (Origin => Git (Repo, "19205e4981d72242daf72da7d59c5faf2b4c91fd"))
.Extending
(Properties =>
Project_File ("tables.gpr"),
Private_Properties =>
Executable ("test_tables") and
Project_File ("test_tables/tables-test.gpr")));
Components_V_4_27 : constant Release :=
Core.Register
(Base_V_4_27
-- .Replacing (Origin => Git (Repo, "542f02c9be86693f759fcb784a8462bc4b25f1f2"))
.Extending
(
-- Dependencies =>
-- Strings_Edit_V_4_27.Within_Major and
-- Tables_V_4_27.Within_Major,
Properties =>
Project_File ("components.gpr") and
GPR_Scenario ("Atomic_Access", "Pragma-atomic" or "GCC-built-ins" or "GCC-long-offsets") and
GPR_Scenario ("Tasking", "Multiple" or "Single") and
GPR_Scenario ("Traced_objects", "Off" or "On") and
Comment ("Tasking=Single seems to be broken at persistent-single_file-text_io.adb"),
Private_Properties =>
Executable ("test_approximations") and
Executable ("test_association") and
Executable ("test_blackboard") and
Executable ("test_blackboard_performance") and
Executable ("test_blocking_files") and
Executable ("test_block_streams") and
Executable ("test_b_trees") and
Executable ("test_cubic_spline") and
Executable ("test_dining_philosophers") and
Executable ("test_fifo") and
Executable ("test_generic_indefinite_sets") and
Executable ("test_generic_maps") and
Executable ("test_generic_sets") and
Executable ("test_graphs") and
Executable ("test_handles") and
Executable ("test_ieee_754") and
Executable ("test_linked_lists") and
Executable ("test_linked_lists_scheduler_test") and
Executable ("test_parser_stream_io") and
Executable ("test_persistent_memory_pool") and
Executable ("test_persistent_storage") and
Executable ("test_sequencer") and
Executable ("test_single_file_persistence") and
Executable ("test_stack") and
Executable ("test_storage_streams") and
Executable ("test_string_streams") and
Executable ("test_synchronization_events") and
Executable ("test_transactional_blocking_files") and
Executable ("test_utf8_tables") and
Project_File ("test_components/components-tests.gpr")));
NTP_V_4_27 : constant Release :=
NTP.Register
(Base_V_4_27
-- .Replacing (Origin => Git (Repo, "34fb305d6ef360cde5e272b51409097a5de72017"))
.Extending
(
-- Dependencies =>
-- Components_V_4_27.Within_Major,
Properties =>
Project_File ("components-ntp.gpr"),
Private_Properties =>
Executable ("test_ntp") and
Project_File ("test_components/components-ntp-test_ntp.gpr")));
Sqlite_V_4_27 : constant Release :=
SQLite.Register
(Base_V_4_27
-- .Replacing (Origin => Git (Repo, "6fda0f3f7494815c87b329f7411b9a49ff97b9ba"))
.Extending
(
-- Dependencies =>
-- Components_V_4_27.Within_Major,
Properties =>
Project_File ("components-sqlite.gpr"),
Private_Properties =>
Executable ("test_sqlite_benchmark") and
Executable ("test_sqlite_persistence") and
Project_File ("test_components/components-sqlite-benchmark_tests.gpr") and
Project_File ("test_components/components-sqlite-sqlite_persistence_tests.gpr")));
Connections_V_4_27 : constant Release :=
Connections.Register
(Base_V_4_27
-- .Replacing (Git (Repo, "008935d5a89396cc0c39afb39f04bf6a89a92058"))
.Extending
(
-- Dependencies =>
-- Components_V_4_27.Within_Major and
-- Sqlite_V_4_27.Within_Major,
Properties =>
-- Main projects
Project_File ("components-connections_server.gpr") and
Project_File ("components-connections_server-elv_max_cube.gpr") and
Project_File ("components-connections_server-http_server.gpr") and
Project_File ("components-connections_server-http_server-sqlite_browser.gpr") and
Project_File ("components-connections_server-modbus.gpr") and
Project_File ("components-connections_server-mqtt.gpr") and
Project_File ("components-connections_server-smtp.gpr"),
Private_Properties =>
Executable ("test_data_server") and
Executable ("test_echo_client") and
Executable ("test_echo_client_async") and
Executable ("test_echo_server") and
Executable ("test_elv_max_cube_client") and
Executable ("test_http_client") and
Executable ("test_http_continuous_server") and
Executable ("test_http_server") and
Executable ("test_http_sqlite_browser") and
Executable ("test_infinity_server") and
Executable ("test_modbus_client") and
Executable ("test_mqtt_client") and
Executable ("test_mqtt_server") and
Executable ("test_mqtt_webserver") and
Executable ("test_websocket_duplex_server") and
Executable ("test_websocket_server") and
Project_File ("test_components/components-connections_server-elv_max_cube-test_elv_max_cube_client.gpr") and
Project_File ("test_components/components-connections_server-http_server-test_http_server.gpr") and
Project_File ("test_components/components-connections_server-modbus-test_modbus_client.gpr") and
Project_File ("test_components/components-connections_server-mqtt-test_mqtt.gpr") and
Project_File ("test_components/components-connections_server-test_data_server.gpr") and
Project_File ("test_components/components-connections_server-test_echo_client_async.gpr") and
Project_File ("test_components/components-connections_server-test_echo_client.gpr") and
Project_File ("test_components/components-connections_server-test_echo_server.gpr") and
Project_File ("test_components/components-connections_server-test_websockets_mqtt.gpr") and
Project_File ("test_components/components-test_sqlite_browser.gpr")));
Secure_V_4_27 : constant Release :=
Secure.Register
(Base_V_4_27
-- .Replacing (Origin => Git (Repo, "ca72cf4150ae14ba6d40c3d2dd92c7846cb4cb5d"))
.Extending
(Dependencies =>
-- Connections_V_4_27.Within_Major and
LibGNUTLS.V_3_5_8.Within_Major,
Properties =>
Project_File ("components-connections_server-secure.gpr") and
Project_File ("components-gnutls.gpr"),
Private_Properties =>
Executable ("test_https_client") and
Executable ("test_https_server") and
Executable ("test_smtp_client") and
Project_File ("test_components/components-connections_server-http_server-test_https_server.gpr") and
Project_File ("test_components/components-connections_server-smtp-test_smtp.gpr")));
ODBC_V_4_27 : constant Release :=
ODBC.Register
(Base_V_4_27
-- .Replacing (Origin => Git (Repo, "47337f8a5dd69404087129d5cca79885d6e8cd3f"))
.Extending
(Dependencies =>
-- Components_V_4_27.Within_Major and
UnixODBC.V_2_3.Within_Major,
Properties =>
Project_File ("components-odbc.gpr"),
Private_Properties =>
Executable ("test_odbc_bindings") and
Project_File ("test_components/components-odbc-odbc_bindings_tests.gpr") and
On_Condition
(Operating_System = GNU_Linux,
GPR_External ("odbc", "unixODBC")) and
On_Condition
(Operating_System = Windows,
GPR_External ("odbc", "ODBC32")) and
On_Condition
(Word_Size = Bits_32,
GPR_External ("arch", "i686")) and
On_Condition
(Word_Size = Bits_64,
GPR_External ("arch", "x86_64"))));
end Alire.Index.Simple_Components;