91 lines
2.5 KiB
Plaintext
91 lines
2.5 KiB
Plaintext
|
project Default is
|
||
|
|
||
|
type OS_Kind is ("Windows", "Linux_Or_Mac");
|
||
|
|
||
|
OS : OS_Kind := external ("OS", "Linux_Or_Mac");
|
||
|
|
||
|
for Languages use ("C", "Ada");
|
||
|
|
||
|
for Source_Dirs use (".",
|
||
|
"../../",
|
||
|
"../../src",
|
||
|
"../../wolfcrypt/src");
|
||
|
|
||
|
-- Don't build the tls client application because it makes use
|
||
|
-- of the Secondary Stack due to usage of the Ada.Command_Line
|
||
|
-- package. All other Ada source code does not use the secondary stack.
|
||
|
for Excluded_Source_Files use ("tls_client_main.adb",
|
||
|
"tls_client.ads",
|
||
|
"tls_client.adb");
|
||
|
|
||
|
for Object_Dir use "obj";
|
||
|
|
||
|
for Main use ("tls_server_main.adb");
|
||
|
|
||
|
package Naming is
|
||
|
for Spec_Suffix ("C") use ".h";
|
||
|
end Naming;
|
||
|
|
||
|
package Builder is
|
||
|
for Global_Configuration_Pragmas use "gnat.adc";
|
||
|
end Builder;
|
||
|
|
||
|
package Compiler is
|
||
|
for Switches ("C") use
|
||
|
("-DWOLFSSL_USER_SETTINGS", -- Use the user_settings.h file.
|
||
|
"-Wno-pragmas",
|
||
|
"-Wall",
|
||
|
"-Wextra",
|
||
|
"-Wunknown-pragmas",
|
||
|
"--param=ssp-buffer-size=1",
|
||
|
"-Waddress",
|
||
|
"-Warray-bounds",
|
||
|
"-Wbad-function-cast",
|
||
|
"-Wchar-subscripts",
|
||
|
"-Wcomment",
|
||
|
"-Wfloat-equal",
|
||
|
"-Wformat-security",
|
||
|
"-Wformat=2",
|
||
|
"-Wmaybe-uninitialized",
|
||
|
"-Wmissing-field-initializers",
|
||
|
"-Wmissing-noreturn",
|
||
|
"-Wmissing-prototypes",
|
||
|
"-Wnested-externs",
|
||
|
"-Wnormalized=id",
|
||
|
"-Woverride-init",
|
||
|
"-Wpointer-arith",
|
||
|
"-Wpointer-sign",
|
||
|
"-Wshadow",
|
||
|
"-Wsign-compare",
|
||
|
"-Wstrict-overflow=1",
|
||
|
"-Wstrict-prototypes",
|
||
|
"-Wswitch-enum",
|
||
|
"-Wundef",
|
||
|
"-Wunused",
|
||
|
"-Wunused-result",
|
||
|
"-Wunused-variable",
|
||
|
"-Wwrite-strings",
|
||
|
"-fwrapv");
|
||
|
|
||
|
for Switches ("Ada") use ("-g");
|
||
|
end Compiler;
|
||
|
|
||
|
package Linker is
|
||
|
case OS is
|
||
|
when "Windows" =>
|
||
|
for Switches ("Ada") use
|
||
|
("-lm", -- To include the math library (used by WolfSSL).
|
||
|
"-lcrypt32"); -- Needed on Windows.
|
||
|
|
||
|
when "Linux_Or_Mac" =>
|
||
|
for Switches ("Ada") use
|
||
|
("-lm"); -- To include the math library (used by WolfSSL).
|
||
|
end case;
|
||
|
end Linker;
|
||
|
|
||
|
package Binder is
|
||
|
for Switches ("Ada") use ("-Es"); -- To include stack traces.
|
||
|
end Binder;
|
||
|
|
||
|
end Default;
|