'aarch64');
abiinfo : array[tabi] of tabiinfo = (
- (name: 'DEFAULT'; supported: true),
+ (name: 'BASE'; supported: true),
(name: 'SYSV' ; supported:{$if defined(powerpc) or defined(powerpc64)}true{$else}false{$endif}),
(name: 'AIX' ; supported:{$if defined(powerpc) or defined(powerpc64)}true{$else}false{$endif}),
(name: 'EABI' ; supported:{$ifdef FPC_ARMEL}true{$else}false{$endif}),
****************************************************************************}
procedure TFPCDefaults.CompilerDefaults;
+const
+{$ifdef FPC_ARMHF}
+ gnu = 'gnueabihf';
+{$endif FPC_ARMHF}
+{$ifdef FPC_ARMEL}
+ gnu = 'gnueabi';
+{$endif FPC_ARMEL}
+{$ifndef FPC_ARM}
+ gnu = 'gnu';
+{$endif FPC_ARM}
+ FullTarget = {$I %FPCTARGETCPU%} + '-' + {$I %FPCTARGETOS%} + '-' + gnu;
var
BD : String;
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;
// Where to find the units by default
if (FGlobalUnitDir='') then
- GlobalUnitDir:=IncludeTrailingPathDelimiter(BD)+'units'+PathDelim+Target;
+ GlobalUnitDir:=IncludeTrailingPathDelimiter(BD);
end;
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
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))))))
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
# 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
endif
ifndef INSTALL_SHAREDDIR
-INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib
+INSTALL_SHAREDDIR=$(INSTALL_PREFIX)/lib/${DEB_HOST_MULTIARCH}
endif
#####################################################################