You've already forked gnatcoll-db
mirror of
https://github.com/AdaCore/gnatcoll-db.git
synced 2026-02-12 12:59:31 -08:00
In the Alire index we have one crate for each of the GNATColl DB libraries (xref, sql, sqlite, postgres). They all come from the same repository but use different checkouts. The result is that the "gnatcoll_db_shared.gpr" is found multiple times in the closure of a project, e.g. for gnatcoll_xref that depends on gnatcoll_sqlite and gnatcoll_sql. This result in an error from gprbuild. To circumvent the issue, this patch duplicates gnatcoll_db_shared.gpr in each of the sql, sqlite, xref and postgres folders with a different name for each. Part of V826-023. Change-Id: I9058e5f88fa307806c483c02d3c0de7298018821
94 lines
3.9 KiB
Plaintext
94 lines
3.9 KiB
Plaintext
------------------------------------------------------------------------------
|
|
-- G N A T C O L L --
|
|
-- --
|
|
-- Copyright (C) 2015-2022, AdaCore --
|
|
-- --
|
|
-- This library is free software; you can redistribute it and/or modify it --
|
|
-- under terms of the GNU General Public License as published by the Free --
|
|
-- Software Foundation; either version 3, or (at your option) any later --
|
|
-- version. This library is distributed in the hope that it will be useful, --
|
|
-- but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHAN- --
|
|
-- TABILITY or FITNESS FOR A PARTICULAR PURPOSE. --
|
|
-- --
|
|
-- As a special exception under Section 7 of GPL version 3, you are granted --
|
|
-- additional permissions described in the GCC Runtime Library Exception, --
|
|
-- version 3.1, as published by the Free Software Foundation. --
|
|
-- --
|
|
-- You should have received a copy of the GNU General Public License and --
|
|
-- a copy of the GCC Runtime Library Exception along with this program; --
|
|
-- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
|
|
-- <http://www.gnu.org/licenses/>. --
|
|
-- --
|
|
------------------------------------------------------------------------------
|
|
|
|
with "gnatcoll_sqlite_conf.gpr";
|
|
with "gnatcoll";
|
|
with "gnatcoll_sql";
|
|
|
|
library project GnatColl_Sqlite is
|
|
|
|
Version := External ("GNATCOLL_SQLITE_VERSION",
|
|
GnatColl_Sqlite_Conf.Gnatcoll_Version);
|
|
OS := External ("OS", "unix");
|
|
|
|
for Library_Kind use GnatColl_Sqlite_Conf.Library_Type;
|
|
for Object_Dir use "obj/" & Project'Library_Kind;
|
|
for Library_Dir use "lib/" & Project'Library_Kind;
|
|
for Library_Name use project'Name;
|
|
|
|
Thread_Lib := ();
|
|
case OS is
|
|
when "Windows_NT" =>
|
|
null;
|
|
when others =>
|
|
Thread_Lib := ("-lpthread");
|
|
end case;
|
|
|
|
type Sqlite_Dep_Kind is ("embedded", "external");
|
|
Sqlite_Dep : Sqlite_Dep_Kind := External ("GNATCOLL_SQLITE", "embedded");
|
|
|
|
Sqlite_Lib := ();
|
|
case Sqlite_Dep is
|
|
when "embedded" =>
|
|
for Source_Dirs use (".", "amalgamation");
|
|
for Languages use ("Ada", "C");
|
|
when "external" =>
|
|
for Source_Dirs use (".");
|
|
for Languages use ("Ada");
|
|
Sqlite_Lib := ("-lsqlite3");
|
|
end case;
|
|
|
|
case GnatColl_Sqlite_Conf.Library_Type is
|
|
when "relocatable" =>
|
|
for Library_Interface use ("gnatcoll.sql.sqlite");
|
|
for Leading_Library_Options use GnatColl_Sqlite_Conf.Ldflags;
|
|
for Library_Options use Sqlite_Lib & Thread_Lib;
|
|
for Library_Version use
|
|
"lib" & project'Library_Name & Gnatcoll.So_Ext & "." & Version;
|
|
when "static" | "static-pic" =>
|
|
null;
|
|
end case;
|
|
|
|
package Compiler extends GnatColl_Sqlite_Conf.Compiler is
|
|
-- C switches are only used when Sqlite_Dep is "embedded".
|
|
for Switches ("C")
|
|
use GnatColl_Sqlite_Conf.Cflags_Mode
|
|
& ("-DSQLITE_OMIT_LOAD_EXTENSION",
|
|
"-D__EXTENSIONS__",
|
|
"-O3")
|
|
& GnatColl_Sqlite_Conf.Cflags
|
|
& GnatColl_Sqlite_Conf.Cppflags;
|
|
end Compiler;
|
|
|
|
package Binder renames GnatColl_Sqlite_Conf.Binder;
|
|
|
|
package Builder renames GnatColl_Sqlite_Conf.Builder;
|
|
|
|
package Ide renames GnatColl_Sqlite_Conf.Ide;
|
|
|
|
package Linker is
|
|
for Linker_Options use Sqlite_Lib & Thread_Lib;
|
|
end Linker;
|
|
|
|
end GnatColl_Sqlite;
|