mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-21 02:32:51 +02:00
Try to fix mips gcc troubles
This commit is contained in:
parent
6f0f339fc4
commit
982071d4a9
@ -844,9 +844,8 @@ endif
|
|||||||
[dirlibc]
|
[dirlibc]
|
||||||
# On linux, try to find where libgcc.a is.
|
# On linux, try to find where libgcc.a is.
|
||||||
ifeq ($(OS_SOURCE),linux)
|
ifeq ($(OS_SOURCE),linux)
|
||||||
|
|
||||||
# Amd64 to i386?
|
|
||||||
ifndef GCCLIBDIR
|
ifndef GCCLIBDIR
|
||||||
|
# Amd64 to i386?
|
||||||
ifeq ($(CPU_TARGET),i386)
|
ifeq ($(CPU_TARGET),i386)
|
||||||
ifneq ($(filter x86_64,$(shell uname -a)),)
|
ifneq ($(filter x86_64,$(shell uname -a)),)
|
||||||
ifeq ($(BINUTILSPREFIX),)
|
ifeq ($(BINUTILSPREFIX),)
|
||||||
@ -854,27 +853,41 @@ GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`)
|
|||||||
else
|
else
|
||||||
CROSSGCCOPT=-m32
|
CROSSGCCOPT=-m32
|
||||||
endif
|
endif
|
||||||
|
#BINUTILSPREFIX
|
||||||
endif
|
endif
|
||||||
|
#filter x86_64
|
||||||
endif
|
endif
|
||||||
|
#CPU_TARGET=i386
|
||||||
ifeq ($(CPU_TARGET),powerpc)
|
ifeq ($(CPU_TARGET),powerpc)
|
||||||
ifeq ($(BINUTILSPREFIX),)
|
ifeq ($(BINUTILSPREFIX),)
|
||||||
GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`)
|
GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`)
|
||||||
else
|
else
|
||||||
CROSSGCCOPT=-m32
|
CROSSGCCOPT=-m32
|
||||||
endif
|
endif
|
||||||
|
#BINUTILSPREFIX
|
||||||
endif
|
endif
|
||||||
|
#CPU_TARGET=powerpc
|
||||||
ifeq ($(CPU_TARGET),powerpc64)
|
ifeq ($(CPU_TARGET),powerpc64)
|
||||||
ifeq ($(BINUTILSPREFIX),)
|
ifeq ($(BINUTILSPREFIX),)
|
||||||
GCCLIBDIR:=$(shell dirname `gcc -m64 -print-libgcc-file-name`)
|
GCCLIBDIR:=$(shell dirname `gcc -m64 -print-libgcc-file-name`)
|
||||||
else
|
else
|
||||||
CROSSGCCOPT=-m64
|
CROSSGCCOPT=-m64
|
||||||
endif
|
endif
|
||||||
|
#BINUTILSPREFIX
|
||||||
endif
|
endif
|
||||||
|
#CPU_TARGET=powerpc64
|
||||||
ifeq ($(CPU_TARGET),sparc)
|
ifeq ($(CPU_TARGET),sparc)
|
||||||
ifneq ($(filter sparc64,$(shell uname -a)),)
|
ifneq ($(filter sparc64,$(shell uname -a)),)
|
||||||
ifeq ($(BINUTILSPREFIX),)
|
ifeq ($(BINUTILSPREFIX),)
|
||||||
GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`)
|
GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`)
|
||||||
else
|
else
|
||||||
|
CROSSGCCOPT=-m32
|
||||||
|
endif
|
||||||
|
#BINUTILSPREFIX
|
||||||
|
endif
|
||||||
|
#filter sparc64
|
||||||
|
endif
|
||||||
|
#CPU_TARGET=sparc
|
||||||
# gcc mips seems not to recognize -m32/-m64
|
# gcc mips seems not to recognize -m32/-m64
|
||||||
ifneq ($(filter $(CPU_TARGET),mips64 mipsel64),)
|
ifneq ($(filter $(CPU_TARGET),mips64 mipsel64),)
|
||||||
ifeq ($(BINUTILSPREFIX),)
|
ifeq ($(BINUTILSPREFIX),)
|
||||||
@ -882,7 +895,9 @@ GCCLIBDIR:=$(shell dirname `gcc -mabi=64 -print-libgcc-file-name`)
|
|||||||
else
|
else
|
||||||
CROSSGCCOPT=-mabi=64
|
CROSSGCCOPT=-mabi=64
|
||||||
endif
|
endif
|
||||||
else
|
#BINUTILSPREFIX
|
||||||
|
endif
|
||||||
|
#CPU_TARGET=mips64,mips64el
|
||||||
# gcc mips seems not to recognize -m32/-m64
|
# gcc mips seems not to recognize -m32/-m64
|
||||||
ifneq ($(filter $(CPU_TARGET),mips mipsel),)
|
ifneq ($(filter $(CPU_TARGET),mips mipsel),)
|
||||||
ifeq ($(BINUTILSPREFIX),)
|
ifeq ($(BINUTILSPREFIX),)
|
||||||
@ -890,18 +905,23 @@ GCCLIBDIR:=$(shell dirname `gcc -mabi=32 -print-libgcc-file-name`)
|
|||||||
else
|
else
|
||||||
CROSSGCCOPT=-mabi=32
|
CROSSGCCOPT=-mabi=32
|
||||||
endif
|
endif
|
||||||
else
|
#BINUTILSPREFIX
|
||||||
|
endif
|
||||||
|
#CPU_TARGET=mips,mipsel
|
||||||
ifeq ($(BINUTILSPREFIX),)
|
ifeq ($(BINUTILSPREFIX),)
|
||||||
|
ifeq ($(GCCLIBDIR),)
|
||||||
GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`)
|
GCCLIBDIR:=$(shell dirname `gcc -m32 -print-libgcc-file-name`)
|
||||||
|
endif
|
||||||
|
#GCCLIBDIR=
|
||||||
else
|
else
|
||||||
|
ifeq ($(CROSSGCCOPT),)
|
||||||
CROSSGCCOPT=-m32
|
CROSSGCCOPT=-m32
|
||||||
endif
|
endif
|
||||||
|
#CROSSGCCOPT=
|
||||||
endif
|
endif
|
||||||
|
#BINUTILSPREFIX
|
||||||
endif
|
endif
|
||||||
endif
|
#GCCLIBDIR=
|
||||||
endif
|
|
||||||
endif
|
|
||||||
endif
|
|
||||||
|
|
||||||
# Check if FPCFPMAKE compiler is same target as FPC
|
# Check if FPCFPMAKE compiler is same target as FPC
|
||||||
ifdef FPCFPMAKE
|
ifdef FPCFPMAKE
|
||||||
@ -913,27 +933,34 @@ else
|
|||||||
ifneq ($(filter $(FPCFPMAKE_CPU_TARGET),aarch64 powerpc64 riscv64 sparc64 x86_64),)
|
ifneq ($(filter $(FPCFPMAKE_CPU_TARGET),aarch64 powerpc64 riscv64 sparc64 x86_64),)
|
||||||
FPCMAKE_CROSSGCCOPT=-m64
|
FPCMAKE_CROSSGCCOPT=-m64
|
||||||
else
|
else
|
||||||
ifneq ($(filter $(FPCFPMAKE_CPU_OPT),mips64 mips64el),)
|
ifneq ($(filter $(FPCFPMAKE_CPU_TARGET),mips64 mips64el),)
|
||||||
FPCMAKE_CROSSGCCOPT=-mabi=64
|
FPCMAKE_CROSSGCCOPT=-mabi=64
|
||||||
else
|
else
|
||||||
ifneq ($(filter $(FPCFPMAKE_CPU_OPT),mips mipsel),)
|
ifneq ($(filter $(FPCFPMAKE_CPU_TARGET),mips mipsel),)
|
||||||
FPCMAKE_CROSSGCCOPT=-mabi=32
|
FPCMAKE_CROSSGCCOPT=-mabi=32
|
||||||
else
|
else
|
||||||
ifeq ($(FPCFPMAKE_CPU_OPT),riscv64)
|
ifeq ($(FPCFPMAKE_CPU_TARGET),riscv64)
|
||||||
FPCMAKE_CROSSGCCOPT=-mabi=lp64
|
FPCMAKE_CROSSGCCOPT=-mabi=lp64
|
||||||
else
|
else
|
||||||
ifeq ($(FPCFPMAKE_CPU_OPT),riscv32)
|
ifeq ($(FPCFPMAKE_CPU_TARGET),riscv32)
|
||||||
FPCMAKE_CROSSGCCOPT=-mabi=ilp32
|
FPCMAKE_CROSSGCCOPT=-mabi=ilp32
|
||||||
else
|
else
|
||||||
FPCMAKE_CROSSGCCOPT=-m32
|
FPCMAKE_CROSSGCCOPT=-m32
|
||||||
endif
|
endif
|
||||||
|
#riscv32
|
||||||
endif
|
endif
|
||||||
|
#riscv64
|
||||||
endif
|
endif
|
||||||
|
#mips/mipsel
|
||||||
endif
|
endif
|
||||||
|
#mips64/mips64el
|
||||||
endif
|
endif
|
||||||
|
#64-bit targets
|
||||||
FPCMAKEGCCLIBDIR:=$(shell dirname `gcc $(FPCMAKE_CROSSGCCOPT) -print-libgcc-file-name`)
|
FPCMAKEGCCLIBDIR:=$(shell dirname `gcc $(FPCMAKE_CROSSGCCOPT) -print-libgcc-file-name`)
|
||||||
endif
|
endif
|
||||||
|
#not CPU_TARGET=FPCFPMAKE_CPU_TARGET
|
||||||
endif
|
endif
|
||||||
|
#def FPCFPMAKE
|
||||||
|
|
||||||
ifndef FPCMAKEGCCLIBDIR
|
ifndef FPCMAKEGCCLIBDIR
|
||||||
FPCMAKEGCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
|
FPCMAKEGCCLIBDIR:=$(shell dirname `gcc -print-libgcc-file-name`)
|
||||||
@ -945,7 +972,9 @@ CROSSGCC=$(strip $(wildcard $(addsuffix /$(BINUTILSPREFIX)gcc$(SRCEXEEXT),$(SEAR
|
|||||||
ifneq ($(CROSSGCC),)
|
ifneq ($(CROSSGCC),)
|
||||||
GCCLIBDIR:=$(shell dirname `$(CROSSGCC) $(CROSSGCCOPT) -print-libgcc-file-name`)
|
GCCLIBDIR:=$(shell dirname `$(CROSSGCC) $(CROSSGCCOPT) -print-libgcc-file-name`)
|
||||||
endif
|
endif
|
||||||
|
#CROSSGCC=
|
||||||
endif
|
endif
|
||||||
|
#ndef GCCLIBDIR
|
||||||
endif
|
endif
|
||||||
#ifeq($(OS_SOURCE),linux)
|
#ifeq($(OS_SOURCE),linux)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user