comp.lang.ada
 help / color / mirror / Atom feed
From: "Luke A. Guest" <laguest@archeia.com>
Subject: Re: SDL Ada package fails to compile on Mac, gnat 13.1, missing "SDL2_ttf/SDL_ttf.h"
Date: Tue, 4 Jul 2023 09:57:42 +0100	[thread overview]
Message-ID: <u80mu6$20i8$1@dont-email.me> (raw)
In-Reply-To: <0d46efb3-210d-46d8-9e3c-4d3d938c1924n@googlegroups.com>

On 04/07/2023 00:01, Kenneth Wolcott wrote:
> ./gen/release/tools/gen_keyboard > gen/src/sdl-events-keyboards.ads
> gprbuild -p -gnat2012 -XSDL_MODE=release -XSDL_PLATFORM=macos_ports \
> 		-Psdlada.gpr
> sdlada.gpr:16:07: undefined attribute "default_swiches"
> sdlada.gpr:17:03: ";" after declarative items expected
> sdlada.gpr:26:09: a variable cannot be declared for the first time here
> sdlada.gpr:26:23: unknown variable "C_Switches"
> sdlada.gpr:34:08: undefined attribute "languages"
> sdlada.gpr:35:08: undefined attribute "source_dirs"
> sdlada.gpr:42:08: undefined attribute "library_name"
> sdlada.gpr:43:08: undefined attribute "object_dir"
> sdlada.gpr:44:08: undefined attribute "library_dir"
> sdlada.gpr:45:08: undefined attribute "library_kind"
> sdlada.gpr:47:04: a package cannot be declared here
> sdlada.gpr:79:04: a package cannot be declared here
> sdlada.gpr:108:05: expected "builder"
> gprbuild: "sdlada.gpr" processing failed
> make: *** [lib/libadasdl.a] Error 5
> 
> Ken

I don't know what's going on about, here's the gpr I have:

library project SDLAda is
    type Platform_Type is ("linux",
                           "bsd",
                           "windows",
                           "macosx",
                           "macos_homebrew",
                           "macos_ports",
                           "ios",
                           "android");
    type Mode_Type is ("debug", "release");

    Platform : Platform_Type := external ("SDL_PLATFORM", "linux");
    Mode     : Mode_Type     := external ("SDL_MODE", "debug");

    package Builder is
       for Default_Switches ("Ada") use ("-gnat2012", "-gnata");
    end Builder;

    Source_Platform := "";

    case Platform is
       when "macos_homebrew" =>
          Source_Platform := "../../src/macosx";

       when others =>
          Source_Platform := "../../src/" & Platform;
    end case;

    for Languages    use ("Ada", "C");
    for Source_Dirs  use ("../../src", Source_Platform, "gen/src/",

                          --  For SDL.Image.
                          "../../src/image",

                          --  For SDL.TTF.
                          "../../src/ttf");
    for Library_Name use "sdlada";
    for Object_Dir   use "gen/" & Mode & "/lib/.obj";
    for Library_Dir  use "gen/" & Mode &  "/lib";
    for Library_Kind use "static";

    package Compiler is
       Common_Switches := ("-ffunction-sections", "-fdata-sections");
       C_Switches      := ();
       Ada_Switches    := ("-gnat2012", "-gnata", "-gnato", "-gnatE", 
"-gnatwa",
                           "-gnaty", "-gnaty-s", "-gnatyO", 
"-gnatyM120", "-gnatyx");

       case Mode is
          when "debug" =>
             Common_Switches := Common_Switches  & ("-O0", "-g", "-ggdb");

          when "release" =>
             Common_Switches := Common_Switches & ("-O2");
       end case;

       --  These flags require checking on all platforms as they're 
taken directly from sdl2-config.
       case Platform is
          when "linux" | "bsd" | "android" | "windows" =>
             C_Switches   := C_Switches & ("-I/usr/include/SDL2", 
"-D_REENTRANT");

          when "macos_homebrew" =>
             C_Switches   := C_Switches & ("-DSDL_HOMEBREW",
                                           "-I/usr/local/include",
                                           "-D_REENTRANT");

          when "macos_ports" =>
             C_Switches   := C_Switches & ("-DSDL_MACPORTS",
                                           "-I/opt/local/include",
                                           "-D_THREAD_SAFE");

          when others =>
             null;
       end case;

       for Default_Switches ("C") use Common_Switches & C_Switches;
       for Default_Switches ("Ada") use Common_Switches & Ada_Switches;
    end Compiler;

    package Linker is
       Linker_Switches := ();

       case Platform is
          when "linux" | "bsd" | "android" | "windows" =>
             Linker_Switches := Linker_Switches & ("-lSDL2",
                                                   "-lSDL2_ttf",
                                                   "-lSDL2_image",
                                                   "-L/usr/lib64");

          when "macos_homebrew" =>
             Linker_Switches := Linker_Switches & ("-lSDL2",
                                                   "-lSDL2_ttf",
                                                   "-lSDL2_image",
                                                   "-L/usr/local/lib");

          when "macos_ports" =>
             Linker_Switches := Linker_Switches & ("-lSDL2",
                                                   "-lSDL2_ttf",
                                                   "-lSDL2_image",
                                                   "-L/opt/local/lib");

          when others =>
             null;
       end case;

       for Switches ("Ada") use Linker_Switches;
    end Linker;
end SDLAda;

  parent reply	other threads:[~2023-07-04  8:57 UTC|newest]

Thread overview: 54+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-28 18:38 SDL Ada package fails to compile on Mac, gnat 13.1, missing "SDL2_ttf/SDL_ttf.h" Kenneth Wolcott
2023-06-28 21:13 ` Luke A. Guest
2023-06-28 21:18   ` Kenneth Wolcott
2023-06-28 21:53     ` Kenneth Wolcott
2023-06-28 22:45       ` Luke A. Guest
2023-06-29  0:17         ` Kenneth Wolcott
2023-06-29  9:50           ` Luke A. Guest
2023-06-29 13:12       ` Simon Wright
2023-06-29 13:39         ` Luke A. Guest
2023-06-29 16:06           ` Simon Wright
2023-06-29 17:34             ` Kenneth Wolcott
2023-06-29 19:35               ` Luke A. Guest
2023-06-29 22:04                 ` Kenneth Wolcott
2023-06-30  8:04                   ` Luke A. Guest
2023-06-30 15:41                     ` Kenneth Wolcott
2023-06-30 15:43                       ` Luke A. Guest
2023-06-30 11:30                   ` Luke A. Guest
2023-06-30 13:26                     ` Luke A. Guest
2023-07-02  7:01                       ` Luke A. Guest
2023-07-02 17:05                         ` Kenneth Wolcott
2023-07-02 19:23                           ` Simon Wright
2023-07-02 19:26                             ` Kenneth Wolcott
2023-07-02 19:52                               ` Luke A. Guest
2023-07-02 20:20                                 ` Kenneth Wolcott
2023-07-02 21:34                                   ` Kenneth Wolcott
2023-07-02 21:40                                   ` Luke A. Guest
2023-07-02 21:59                                     ` Kenneth Wolcott
2023-07-03 12:23                                       ` Luke A. Guest
2023-07-03 19:58                                         ` Kenneth Wolcott
2023-07-03 20:10                                           ` Luke A. Guest
2023-07-03 20:11                                           ` Luke A. Guest
2023-07-03 22:56                                             ` Kenneth Wolcott
2023-07-03 23:01                                               ` Kenneth Wolcott
2023-07-03 23:10                                                 ` Kenneth Wolcott
2023-07-03 23:24                                                   ` Keith Thompson
2023-07-03 23:58                                                     ` Kenneth Wolcott
2023-07-04  9:00                                                       ` Luke A. Guest
2023-07-06 19:37                                                         ` Kenneth Wolcott
2023-07-07  1:23                                                           ` Kenneth Wolcott
2023-07-07  1:25                                                             ` Kenneth Wolcott
2023-07-12  5:43                                                               ` Kenneth Wolcott
2023-07-12  6:01                                                                 ` Kenneth Wolcott
2023-07-12 15:44                                                                   ` Luke A. Guest
2023-07-12 23:09                                                                     ` Kenneth Wolcott
2023-07-12 23:11                                                                       ` Kenneth Wolcott
2023-07-13 10:59                                                                         ` Luke A. Guest
2023-07-13 14:14                                                                           ` Rod Kay
2023-07-13 15:15                                                                             ` Kenneth Wolcott
2023-07-04  8:59                                                     ` Luke A. Guest
2023-07-04  8:57                                                 ` Luke A. Guest [this message]
2023-06-29 21:22               ` Simon Wright
2023-06-29 22:12                 ` Kenneth Wolcott
2023-06-29 19:29             ` Luke A. Guest
2023-06-29 11:33     ` Simon Wright
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox