1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98
|
From: Abou Al Montacir <abou.almontacir@sfr.fr>
Date: Sun, 12 Nov 2017 22:24:15 +0100
Description: Change path of unit files to make it support MA co-installation.
(Closes: Bug#73368)
Bug-Debian: http://bugs.debian.org/73368
diff --git a/fpcsrc/utils/fpcm/fpcmake.ini b/fpcsrc/utils/fpcm/fpcmake.ini
index 313b2807..2f27ade3 100644
--- a/fpcsrc/utils/fpcm/fpcmake.ini
+++ b/fpcsrc/utils/fpcm/fpcmake.ini
@@ -330,6 +330,11 @@ endif
export OS_TARGET OS_SOURCE ARCH CPU_TARGET CPU_SOURCE FULL_TARGET FULL_SOURCE TARGETSUFFIX SOURCESUFFIX CROSSCOMPILE
+ifndef DEB_HOST_MULTIARCH
+DEB_HOST_MULTIARCH=$(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
+endif
+export DEB_HOST_MULTIARCH
+
[fpmakefpcdetect]
#####################################################################
# FPC Binary and Version Detection
@@ -407,7 +412,7 @@ ifeq ($(FPCDIR),wrong)
ifdef inUnix
override FPCDIR=/usr/local/lib/fpc/$(FPC_VERSION)
ifeq ($(wildcard $(FPCDIR)/units),)
-override FPCDIR=/usr/lib/fpc/$(FPC_VERSION)
+override FPCDIR=/usr/lib/${DEB_HOST_MULTIARCH}/fpc/$(FPC_VERSION)
endif
else
override FPCDIR:=$(subst /$(FPC),,$(firstword $(strip $(wildcard $(addsuffix /$(FPC),$(SEARCHPATH))))))
@@ -635,7 +640,7 @@ endif
ifndef INSTALL_BASEDIR
ifdef UNIXHier
ifdef INSTALL_FPCPACKAGE
-INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/fpc/$(FPC_VERSION)
+INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/${DEB_HOST_MULTIARCH}/fpc/$(FPC_VERSION)
else
INSTALL_BASEDIR:=$(INSTALL_PREFIX)/lib/$(PACKAGE_NAME)
endif
@@ -678,7 +683,7 @@ endif
# Where to install shared libraries
ifndef INSTALL_LIBDIR
ifdef UNIXHier
-INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib
+INSTALL_LIBDIR:=$(INSTALL_PREFIX)/lib/${DEB_HOST_MULTIARCH}
else
INSTALL_LIBDIR:=$(INSTALL_UNITDIR)
endif
@@ -788,7 +793,7 @@ INSTALL_DATADIR=$(INSTALL_BASEDIR)
endif
ifndef INSTALL_SHAREDDIR
-INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
+INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib/${DEB_HOST_MULTIARCH}
endif
#####################################################################
diff --git a/fpcsrc/packages/fpmkunit/src/fpmkunit.pp b/fpcsrc/packages/fpmkunit/src/fpmkunit.pp
index 1938f2aa..d4125163 100644
--- a/fpcsrc/packages/fpmkunit/src/fpmkunit.pp
+++ b/fpcsrc/packages/fpmkunit/src/fpmkunit.pp
@@ -4410,6 +4410,17 @@ end;
****************************************************************************}
procedure TFPCDefaults.CompilerDefaults;
+const
+{$ifdef CPUARMHF}
+ gnu = 'gnueabihf';
+{$endif CPUARMHF}
+{$ifdef CPUARMEL}
+ gnu = 'gnueabi';
+{$endif CPUARMEL}
+{$ifndef CPUARM}
+ gnu = 'gnu';
+{$endif CPUARM}
+ FullTarget = {$I %FPCTARGETCPU%} + '-' + {$I %FPCTARGETOS%} + '-' + gnu;
var
BD : String;
begin
@@ -4420,7 +4431,7 @@ begin
BD:=FixPath(GetEnvironmentVariable('FPCDIR'), False);
if BD='' then
begin
- BD:='/usr/local/lib/fpc/'+FCompilerVersion;
+ BD:='/usr/lib/' + LowerCase(FullTarget) + '/fpc/'+FCompilerVersion;
if not DirectoryExists(BD) and
DirectoryExists('/usr/lib/fpc/'+FCompilerVersion) then
BD:='/usr/lib/fpc/'+FCompilerVersion;
@@ -4442,7 +4453,7 @@ begin
// Where to find the units by default
if (FGlobalUnitDir='') then
- GlobalUnitDir:=IncludeTrailingPathDelimiter(BD)+'units'+PathDelim+Target;
+ GlobalUnitDir:=IncludeTrailingPathDelimiter(BD);
end;
|