From: Abou Al Montacir Date: Sat, 8 Feb 2025 20:45:34 +0000 (+0100) Subject: Change path of unit files to make it support MA co-installation. X-Git-Tag: archive/raspbian/3.2.2+dfsg-46+rpi1^2~23 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=a3c62596b301cdc23cf15b7c809fe6a57ab1d2cf;p=fpc.git Change path of unit files to make it support MA co-installation. Bug-Debian: http://bugs.debian.org/73368 Last-Update: Wed, 15 Jan 2025 00:05:11 +0100 (Closes: Bug#73368) This patch was modified to fix default value of FPCDIR on ppc64el causing test suite of Castle Game Engine to break on that target. Gbp-Pq: Name fix-units-path-to-be-multi-arch-safe.patch --- diff --git a/fpcsrc/packages/fpmkunit/src/fpmkunit.pp b/fpcsrc/packages/fpmkunit/src/fpmkunit.pp index bfbeb222..6a71110d 100644 --- a/fpcsrc/packages/fpmkunit/src/fpmkunit.pp +++ b/fpcsrc/packages/fpmkunit/src/fpmkunit.pp @@ -4565,6 +4565,9 @@ begin BinInstallDir:=''; LibInstallDir:=''; ExamplesInstallDir:=''; + if GlobalUnitDir = '' then begin + GlobalUnitDir := FBaseInstallDir; + end; end; @@ -4911,6 +4914,21 @@ end; ****************************************************************************} procedure TFPCDefaults.CompilerDefaults; +const +{$ifdef CPUARMHF} + gnu = 'gnueabihf'; +{$endif CPUARMHF} +{$ifdef CPUARMEL} + gnu = 'gnueabi'; +{$endif CPUARMEL} +{$ifndef CPUARM} + gnu = 'gnu'; +{$endif CPUARM} +{$if defined(CPUPOWERPC) and defined(ENDIAN_LITTLE)} + FullTarget = {$I %FPCTARGETCPU%} + 'le-' + {$I %FPCTARGETOS%} + '-' + gnu; +{$ELSE} + FullTarget = {$I %FPCTARGETCPU%} + '-' + {$I %FPCTARGETOS%} + '-' + gnu; +{$endif defined(CPUPOWERPC) and defined(ENDIAN_LITTLE)} var BD : String; begin @@ -4921,7 +4939,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; diff --git a/fpcsrc/utils/fpcm/fpcmake.ini b/fpcsrc/utils/fpcm/fpcmake.ini index 94f61577..b20ec47f 100644 --- a/fpcsrc/utils/fpcm/fpcmake.ini +++ b/fpcsrc/utils/fpcm/fpcmake.ini @@ -338,6 +338,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 @@ -415,7 +420,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)))))) @@ -641,7 +646,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 @@ -684,7 +689,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 @@ -794,7 +799,7 @@ INSTALL_DATADIR=$(INSTALL_BASEDIR) endif ifndef INSTALL_SHAREDDIR -INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib +INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib/${DEB_HOST_MULTIARCH} endif #####################################################################