|
Björn Persson |
cd2885e |
-- This file helps GNAT project files to work in a multilib system.
|
|
Björn Persson |
1c6dc5d |
-- Copyright 2009 - 2015 B. Persson, Bjorn@Rombobeorn.se
|
|
Björn Persson |
cd2885e |
-- You may do whatever you want with this code as long as you acknowledge the
|
|
Björn Persson |
cd2885e |
-- author's copyright.
|
|
Björn Persson |
cd2885e |
|
|
Björn Persson |
cd2885e |
-- GNAT project files for packaged libraries need to point to architecture-
|
|
Björn Persson |
cd2885e |
-- specific files in /usr/lib or /usr/lib64 (or other architecture-specific
|
|
Björn Persson |
cd2885e |
-- directories). To work correctly in a multilib system they should import
|
|
Björn Persson |
61301f8 |
-- this file and use the variables it defines, for example like this:
|
|
Björn Persson |
cd2885e |
--
|
|
Björn Persson |
cd2885e |
-- for Library_Dir use Directories.Libdir;
|
|
Björn Persson |
61301f8 |
-- for Library_ALI_Dir use Directories.Alidir & "/example_library";
|
|
Björn Persson |
cd2885e |
--
|
|
Björn Persson |
1b5f8f0 |
-- Information on what the hardware platform is comes from the environment
|
|
Björn Persson |
cd2885e |
-- variable HARDWARE_PLATFORM, which is defined in /etc/profile.d/ and can be
|
|
Björn Persson |
cd2885e |
-- changed with the command "setarch" or overridden by a command line parameter.
|
|
Björn Persson |
cd2885e |
-- It may be undefined in a non-interactive shell, so automated build scripts
|
|
Björn Persson |
cd2885e |
-- should probably define it themselves or use the command line parameter. RPM
|
|
Björn Persson |
1b5f8f0 |
-- spec files should simply use the macros that are defined in macros.gnat.
|
|
Björn Persson |
cd2885e |
|
|
Björn Persson |
c90fb97 |
abstract project Directories is
|
|
Björn Persson |
cd2885e |
|
|
Björn Persson |
1c6dc5d |
type Platform_Type is ("i386", "x86_64", "ppc", "ppc64", "ppc64le",
|
|
Björn Persson |
1c6dc5d |
"s390", "s390x",
|
|
Björn Persson |
2b6ef82 |
"sparc", "sparc64", "arm", "armv7l", "aarch64",
|
|
Björn Persson |
2b6ef82 |
"alpha", "ia64", "sh");
|
|
Björn Persson |
cd2885e |
Hardware_Platform : Platform_Type := external ("HARDWARE_PLATFORM");
|
|
Björn Persson |
cd2885e |
|
|
Björn Persson |
cd2885e |
Lib := "";
|
|
Björn Persson |
cd2885e |
case Hardware_Platform is
|
|
Björn Persson |
2b6ef82 |
when "i386" | "ppc" | "s390" | "sparc" | "arm" | "armv7l" | "alpha" |
|
|
Björn Persson |
2b6ef82 |
"ia64" | "sh" =>
|
|
Björn Persson |
cd2885e |
Lib := "lib";
|
|
Björn Persson |
1c6dc5d |
when "x86_64" | "ppc64" | "ppc64le" | "s390x" | "sparc64" | "aarch64" =>
|
|
Björn Persson |
cd2885e |
Lib := "lib64";
|
|
Björn Persson |
cd2885e |
end case;
|
|
Björn Persson |
c1662ca |
Libdir := "@exec_prefix@/" & Lib;
|
|
Björn Persson |
cd2885e |
|
|
Björn Persson |
7aebe97 |
Bindir := "@bindir@";
|
|
Björn Persson |
7aebe97 |
Libexecdir := "@libexecdir@";
|
|
Björn Persson |
7aebe97 |
Includedir := "@includedir@";
|
|
Björn Persson |
7aebe97 |
Archincludedir := Libdir;
|
|
Björn Persson |
7aebe97 |
Alidir := Libdir;
|
|
Björn Persson |
cd2885e |
|
|
Björn Persson |
cd2885e |
end Directories;
|