Add initial prototype.

This commit is contained in:
Rod Kay
2022-07-31 17:34:54 +10:00
commit 54a53b2ac0
1421 changed files with 358874 additions and 0 deletions

View File

@@ -0,0 +1,16 @@
name = "libbullet"
description = "Bullet physics library."
website = "https://pybullet.org"
tags = ["physics", "game", "simulation", "robotics"]
licenses = "Zlib"
authors = ["Erwin Coumans"]
maintainers = ["Rod Kay <rodakay5@gmail.com>"]
maintainers-logins = ["charlie5"]
[[external]]
kind = "system"
[external.origin.'case(distribution)']
'debian|ubuntu' = ["libbullet-dev"]
arch = ["bullet"]

View File

@@ -0,0 +1,88 @@
with "config/libbullet_config.gpr";
project Libbullet is
for Library_Name use "Libbullet";
for Library_Version use Project'Library_Name & ".so." & Libbullet_Config.Crate_Version;
for Source_Dirs use ("src");
for Object_Dir use "obj";
for Create_Missing_Dirs use "True";
for Library_Dir use "lib";
type Library_Type_Type is ("relocatable", "static", "static-pic");
Library_Type : Library_Type_Type :=
external ("LIBBULLET_LIBRARY_TYPE", external ("LIBRARY_TYPE", "static"));
for Library_Kind use Library_Type;
type Enabled_Kind is ("enabled", "disabled");
Compile_Checks : Enabled_Kind := External ("LIBBULLET_COMPILE_CHECKS", "disabled");
Runtime_Checks : Enabled_Kind := External ("LIBBULLET_RUNTIME_CHECKS", "disabled");
Style_Checks : Enabled_Kind := External ("LIBBULLET_STYLE_CHECKS", "disabled");
Contracts_Checks : Enabled_Kind := External ("LIBBULLET_CONTRACTS", "disabled");
type Build_Kind is ("debug", "optimize");
Build_Mode : Build_Kind := External ("LIBBULLET_BUILD_MODE", "optimize");
Compile_Checks_Switches := ();
case Compile_Checks is
when "enabled" =>
Compile_Checks_Switches :=
("-gnatwa", -- All warnings
"-gnatVa", -- All validity checks
"-gnatwe"); -- Warnings as errors
when others => null;
end case;
Runtime_Checks_Switches := ();
case Runtime_Checks is
when "enabled" => null;
when others =>
Runtime_Checks_Switches :=
("-gnatp"); -- Suppress checks
end case;
Style_Checks_Switches := ();
case Style_Checks is
when "enabled" =>
Style_Checks_Switches :=
("-gnatyg", -- GNAT Style checks
"-gnaty-d", -- Disable no DOS line terminators
"-gnatyM80", -- Maximum line length
"-gnatyO"); -- Overriding subprograms explicitly marked as such
when others => null;
end case;
Contracts_Switches := ();
case Contracts_Checks is
when "enabled" =>
Contracts_Switches :=
("-gnata"); -- Enable assertions and contracts
when others => null;
end case;
Build_Switches := ();
case Build_Mode is
when "optimize" =>
Build_Switches := ("-O3", -- Optimization
"-gnatn"); -- Enable inlining
when "debug" =>
Build_Switches := ("-g", -- Debug info
"-Og"); -- No optimization
end case;
package Compiler is
for Default_Switches ("Ada") use
Compile_Checks_Switches &
Build_Switches &
Runtime_Checks_Switches &
Style_Checks_Switches &
Contracts_Switches &
("-gnatw.X", -- Disable warnings for No_Exception_Propagation
"-gnatQ"); -- Don't quit. Generate ALI and tree files even if illegalities
end Compiler;
package Binder is
for Switches ("Ada") use ("-Es"); -- Symbolic traceback
end Binder;
end Libbullet;

View File

@@ -0,0 +1,3 @@
package Libbullet is
end Libbullet;