Commit Graph

273 Commits

Author SHA1 Message Date
nickysn
ec3013e040 + added z80 to cycletargets
git-svn-id: branches/z80@44824 -
2020-04-19 04:26:41 +00:00
nickysn
f08ec5ba43 + Z80 support to the compiler makefile
git-svn-id: branches/z80@44823 -
2020-04-19 04:14:38 +00:00
nickysn
d2c32efb7b * synchronized with trunk
git-svn-id: branches/z80@44809 -
2020-04-18 23:47:30 +00:00
florian
9211e6cf93 * FreeRTOS: try not to build native binaries
git-svn-id: trunk@44797 -
2020-04-18 20:39:37 +00:00
nickysn
20eab5582f + generate the Z80 instruction enum and string table from z80ins.dat via a newly created tool
git-svn-id: branches/z80@44556 -
2020-04-04 01:36:07 +00:00
nickysn
da40f04d45 * fixed duplicated regdat definition in makefile, that was caused as an artifact after merging with trunk
git-svn-id: branches/z80@44412 -
2020-03-29 22:51:08 +00:00
nickysn
755fe97c51 * synchronize with trunk
git-svn-id: branches/z80@44397 -
2020-03-29 16:24:32 +00:00
Jeppe Johansen
3189e4245d makefiles: Add support for xtensa-embedded target.
git-svn-id: trunk@44332 -
2020-03-21 20:59:33 +00:00
florian
70a836c4a2 * first part of merging parts of Jeppe's intrinsics patch, mainly r31135
is merged by this commit with a lot of adaptions

git-svn-id: trunk@43949 -
2020-01-14 21:52:39 +00:00
pierre
fff3b67b7e Remove ALLOW_WARNINGS=1 for m68k compiler
git-svn-id: trunk@43392 -
2019-11-05 10:37:19 +00:00
pierre
c74007b580 Revert wrong part in commit 42580: reinstate 'override FPC=' for cycle targets
git-svn-id: trunk@42585 -
2019-08-05 13:33:12 +00:00
pierre
7b0d2febd7 Do not use -Sew (turn warnings into errors) if CYCLELEVEL is equal to 1
git-svn-id: trunk@42582 -
2019-08-05 09:02:16 +00:00
pierre
754b1bd930 Add PPUDUMP variable to be able to specify explicit version of ppudump program, defaulting to ppudump executable in SEARCHPATH
git-svn-id: trunk@42580 -
2019-08-05 08:10:02 +00:00
Jonas Maebe
a7bd37d17a * synchronised with trunk till r40776
git-svn-id: branches/debug_eh@41867 -
2019-04-13 15:16:09 +00:00
pierre
478b918386 + Add variables to use gppc386 utils more easily:
Use DEBUG_CYCLE=1 to generate cycle using gppcXX at each stage,
    i.e. running ppcXX through gdbpas, using utils/gppc386.pp source,
    compiled and copied to gppcXX.
  + Add other DEBUG_XXX varialbes, allowing to use gppcXX binary
    at a specific level in cycle.
    if DEBUG_PPXX is set, PPXXPREFIX variable will be set to 'g'
    leading to the use of g$(PPXX) compiler, which will run $(ppXX)
    compiler through gdbpas.
 

git-svn-id: trunk@41822 -
2019-04-03 07:17:40 +00:00
Jonas Maebe
50c82b6468 * synchronised with trunk till r41537
git-svn-id: branches/debug_eh@41538 -
2019-03-01 16:20:22 +00:00
pierre
57ee0dd00a Fix fullcycle/fullinstall by adding missing armgen directory -Fu option if PPC_TARGET is armeb
git-svn-id: trunk@41455 -
2019-02-24 22:20:35 +00:00
Jonas Maebe
ac883969a9 * synchronised with trunk till r41423
git-svn-id: branches/debug_eh@41424 -
2019-02-23 17:08:03 +00:00
Jonas Maebe
1a559f5c60 * move the homogenous float aggregate determination function to a common
unit for ARM and AArch64

git-svn-id: trunk@41419 -
2019-02-23 15:42:39 +00:00
Jonas Maebe
9d07e4948f * fix compilation of ARM compiler for LLVM
git-svn-id: branches/debug_eh@41210 -
2019-02-03 21:09:54 +00:00
Jonas Maebe
f26ac9026e * enable LLVM support Linux/AArch64
o also put the regular function result before the partfpstruct parameter

git-svn-id: branches/debug_eh@40577 -
2018-12-16 20:46:44 +00:00
pierre
b4315f0f4f + Introduce PPC_SUFFIXES, new make variable that lists all ppc suffixes
for all different CPUs supported.
  * Use PPC_SUFFIXES in execlean and CPU_clean targets.
  * Also delete CPU/bin subbirectory.

git-svn-id: trunk@40307 -
2018-11-13 15:10:21 +00:00
pierre
bf3bedb2d4 Add explicit rtlclean/rtl targets in fullcycle rule if DOWPOCYCLE is set
git-svn-id: trunk@40114 -
2018-10-31 15:50:26 +00:00
florian
88589fb99d * make install shall not make assumptions about FPC, if one was provided
git-svn-id: trunk@40007 -
2018-10-21 14:52:21 +00:00
florian
02e03cbd86 * use the built compiler to install files, so the version is set correctly
git-svn-id: trunk@40006 -
2018-10-21 13:35:44 +00:00
florian
6521918269 * fullinstall builds (and installs) utils now only once
git-svn-id: trunk@40005 -
2018-10-21 13:16:57 +00:00
florian
af7dfbc970 * typo
git-svn-id: trunk@40004 -
2018-10-21 12:14:26 +00:00
florian
9febce6ffb * remove .NOTPARALLEL: from compiler Makefile, accelerates make fullcycle with -j a lot
* few cleanups

git-svn-id: trunk@40003 -
2018-10-21 11:40:57 +00:00
florian
a34d4e715c Merged riscv_new branch
git-svn-id: trunk@39813 -
2018-09-26 19:49:08 +00:00
marco
98f00acb06 * trunk to 3.3.1
git-svn-id: trunk@39635 -
2018-08-18 15:47:44 +00:00
Jeppe Johansen
6352328f3a Update packages with information about RiscV.
Fix g_external_wrapper, since it uses a register.
Fixed calling of gas.
Ported cprt0.

git-svn-id: branches/laksen/riscv_new@39475 -
2018-07-20 10:40:28 +00:00
florian
f03a396757 * target classic MacOS builds again
git-svn-id: trunk@39156 -
2018-05-31 19:31:36 +00:00
pierre
e13b04a5c0 Add missing executables in distclean, ppcavr, ppcsparc64 and cross-compilers ppcrossXXX
git-svn-id: trunk@38744 -
2018-04-12 15:03:36 +00:00
pierre
89b3f6c86a Fix the RTL directory for old OSes that use OS_TARGET only for rtlppulogs rule
git-svn-id: trunk@37210 -
2017-09-15 11:24:06 +00:00
pierre
8b0df68a81 Use installed ppudump instead of trying to recompile it, to be able to test cross-compiled RTL units
git-svn-id: trunk@37208 -
2017-09-14 15:57:25 +00:00
pierre
b74c805c49 Fix singlezipinstall for systems that set NoNativeBinaries to 1
git-svn-id: trunk@36857 -
2017-08-07 16:14:09 +00:00
pierre
527d2dea4f Set EXEEXT to SRCEXEEXT if NoNativeBinaries is set (allow snapshot of jvm-java on linux)
git-svn-id: trunk@36856 -
2017-08-07 10:35:07 +00:00
pierre
a6d1019514 sparc and sparc64 also need -Fisparcgen, because this directory contains include files
git-svn-id: trunk@36393 -
2017-06-01 13:42:35 +00:00
florian
b59e4f5652 + register .inc files for SPARC64
git-svn-id: trunk@36380 -
2017-05-31 20:58:30 +00:00
florian
188ec0f0c7 + basics for sparc64 support, we continue to use the name "sparc" for sparc32, both sparc are identified by sparcgen (dirs, defines etc.)
git-svn-id: trunk@36374 -
2017-05-30 21:17:17 +00:00
florian
ea52a23179 + skeleton for Z80 support
git-svn-id: branches/z80@35665 -
2017-03-26 19:10:50 +00:00
pierre
dda85c3c49 Revert Makefile changes unrelated to last commit about powerpc-aix cycle fix
git-svn-id: trunk@35276 -
2017-01-10 23:36:32 +00:00
pierre
1342d0792f Fix powerpc cycle for AIX target
git-svn-id: trunk@35275 -
2017-01-10 23:21:49 +00:00
Jonas Maebe
e35f83ba94 * support building the LLVM compiler for Darwin/x86_64 and Linux/x86_64 by
specifyng LLVM=1 to make (does not yet work for the top-level makefile
    on Linux because of the fpmake-based building of the IDE)

git-svn-id: trunk@35140 -
2016-12-16 22:41:17 +00:00
pierre
a82a134be8 * Set REVSTR to empty if 'svnversion -c .' outputs 'exported'
git-svn-id: trunk@34899 -
2016-11-14 10:57:49 +00:00
pierre
6557ccbc84 * Separate x86 register inc files into regdatx86 target
+ Add regdatmips target to regenerate mips register inc files.
  + Add regdat target, analog of insdat, to generate register inc files
  for all CPUs.

git-svn-id: trunk@34825 -
2016-11-06 18:12:49 +00:00
pierre
717153cfb0 Fix fullcycle by setting EXCLUDE_80BIT_TARGETS to 1 if 80bit-real is not supported by current source CPU
git-svn-id: trunk@34276 -
2016-08-11 13:25:24 +00:00
pierre
dbf1100b33 Add fullinstallsymlink phony target, to be able to create all symlinks needed to all crosscompilers
git-svn-id: trunk@34272 -
2016-08-11 09:08:14 +00:00
Károly Balogh
e0b0ec3d43 m68k: disabled the force-enabled stack checking for m68k-amiga when compiling the compiler, which was enabled since forever. the current Amiga RTL startup code supports setting stack size programmatically, therefore very low default stack on Amiga is no longer a problem
git-svn-id: trunk@32847 -
2016-01-05 02:14:40 +00:00
nickysn
2e3cb70489 * regenerated makefiles after adding the win16 target
git-svn-id: trunk@31525 -
2015-09-05 11:02:54 +00:00
Jonas Maebe
8c8657e2d5 * base optimiser support for the JVM target
o jump threading only works for unconditional branches until now,
     as conditional ones have limited offsets

git-svn-id: trunk@31448 -
2015-08-29 10:08:19 +00:00
Jonas Maebe
3f9f498e0d - removed leftover alpha, ia64 and vis code
git-svn-id: trunk@31446 -
2015-08-28 22:31:29 +00:00
pierre
dc06f85b58 Set ALLOW_WARNINGSS to 1 for m68k and avr compiler to allow successful fullinstall completion
git-svn-id: trunk@31214 -
2015-07-15 15:27:27 +00:00
Jonas Maebe
a04cae2c4b - removed partial Alpha, IA64 and vis backends since they were never nor
will likely ever be finished

git-svn-id: trunk@30836 -
2015-05-09 17:25:11 +00:00
pierre
999436c5e6 Fix fullinstall for win64 and disable 8086 and i386 compiler for win64 os source only for fullcycle and fullinstall
git-svn-id: trunk@30166 -
2015-03-11 21:57:47 +00:00
Károly Balogh
7940806fc2 fixed ifneq vs. ifndef
git-svn-id: trunk@30023 -
2015-02-27 11:33:38 +00:00
florian
b7422716b2 * turn off compiler and utils building for nds
* use NoNativeBinaries to detect if a native compiler shall be build

git-svn-id: trunk@30017 -
2015-02-26 20:03:29 +00:00
marco
422df4bc77 * fixed typo removing ppca64, mantis 27533
git-svn-id: trunk@29988 -
2015-02-24 09:35:27 +00:00
Jonas Maebe
65c2c68b5f * call the AArch64 compiler ppca64 instead of ppcaarch64 (less typing)
git-svn-id: trunk@29957 -
2015-02-23 22:55:20 +00:00
Jonas Maebe
f2c0b88e4f * AArch64 compiler building support to top level and compiler Makefile
git-svn-id: trunk@29901 -
2015-02-23 22:51:58 +00:00
Tomas Hajny
01441be35c * avoid mixed revision information 1:realrevision in revision.inc for fpcbuild checkout
git-svn-id: trunk@29673 -
2015-02-12 00:05:45 +00:00
marco
d407b668d1 * version updated to 3.1.1
git-svn-id: trunk@29399 -
2015-01-04 21:09:04 +00:00
marco
2578514853 * first dragonfly patch (existing most). Mantis #27091
git-svn-id: trunk@29213 -
2014-12-07 20:27:02 +00:00
sergei
1e9f57467d - m68k: removed "-dNOOPT" at build time, enabling the branch optimizer. Not tested thoroughly, but it does not change compiler behavior unless "-O1" or higher is supplied at command line.
git-svn-id: trunk@28054 -
2014-06-25 09:03:48 +00:00
florian
fd5fa95416 + OPTNEW Makefile parameter: when running a native cycle, this allows to pass a parameter only to the new generated compiler
git-svn-id: trunk@26501 -
2014-01-18 10:19:16 +00:00
pierre
7a03a7485f Fix typing error in cross-cycle at level 2
git-svn-id: trunk@26417 -
2014-01-10 17:43:30 +00:00
nickysn
781fa416e2 * make insdatx86 now also refereshes the i8086 ins files
git-svn-id: trunk@25602 -
2013-09-28 21:08:21 +00:00
nickysn
a013019462 * make insdatx86 now also updates the i8086 reg files
git-svn-id: trunk@25600 -
2013-09-28 20:59:46 +00:00
florian
19c8abac0b + enable jump optimizer for i8086
git-svn-id: trunk@24400 -
2013-05-01 13:54:13 +00:00
florian
981570fe32 + added i8086 related stuff to compiler Makefile.fpc
git-svn-id: branches/i8086@23932 -
2013-03-19 20:09:45 +00:00
florian
0197b84b7f + instruction table generator for arm64
+ Makefile target to build arm64 instruction tables
+ instruction table with integer instructions

git-svn-id: trunk@22900 -
2012-11-01 16:11:19 +00:00
florian
5af1d48158 + register definitions for AArch64 aka ARM64
+ Lazarus project for AArch64

Since AArch64 is very different from 32 Bit ARM, both won't share code in the compiler

git-svn-id: trunk@22894 -
2012-10-31 21:46:01 +00:00
Jonas Maebe
8097697362 * added jvm to fullcycle now that all warnings are fixed
git-svn-id: trunk@22811 -
2012-10-21 17:56:59 +00:00
pierre
bf80b55a1b Also set CYCLELEVEL for cross-compilation rtl parts
git-svn-id: trunk@22685 -
2012-10-17 10:14:45 +00:00
pierre
0dc69d5b3e Avoid troubles if svnversion is found twice in SEARCHPATH
git-svn-id: trunk@22430 -
2012-09-21 14:32:33 +00:00
pierre
5140bc2021 extcycle produces lots of warnings, thus add ALLOW_WARNINGS=1
git-svn-id: trunk@22374 -
2012-09-12 13:43:41 +00:00
florian
fa2da8c299 + rule to generate avr register include files
git-svn-id: trunk@22180 -
2012-08-22 19:37:58 +00:00
pierre
f369069965 + Add CYCLELEVEL variable, whose value can be from 1 to 3
to be able to modify used options at a specific level,
  using OPTLEVELX, LOCALOPTLEVELX and RTLOPTLEVELX
  with X being the current value of CYCLELEVEL.
  extcycle: Append to value of OPT variable instead of overwriting it.
  fullcycle: Remove i386 target for x86_64 source cpu
  as this does not work for windows-64bit.

git-svn-id: trunk@21589 -
2012-06-13 08:04:44 +00:00
Jonas Maebe
aee5380ae0 * merged trunk up to r20882
o support for the new codepage-aware ansistrings in the jvm branch
   o empty ansistrings are now always represented by a nil pointer rather than
     by an empty string, because an empty string also has a code page which
     can confuse code (although this will make ansistrings harder to use
     in Java code)
   o more string helpers code shared between the general and jvm rtl
   o support for indexbyte/word in the jvm rtl (warning: first parameter
     is an open array rather than an untyped parameter there, so
     indexchar(pcharvar^,10,0) will be equivalent to
     indexchar[pcharvar^],10,0) there, which is different from what is
     intended; changing it to an untyped parameter wouldn't help though)
   o default() support is not yet complete
   o calling fpcres is currently broken due to limitations in
     sysutils.executeprocess() regarding handling unix quoting and
     the compiler using the same command lines for scripts and directly
     calling external programs
   o compiling the Java compiler currently requires adding ALLOW_WARNINGS=1
     to the make command line

git-svn-id: branches/jvmbackend@20887 -
2012-04-15 15:54:10 +00:00
Jonas Maebe
9ca2ea7fd0 + AIX support to Makefiles
git-svn-id: trunk@20809 -
2012-04-11 18:02:38 +00:00
pierre
ce90cae9f4 + Add sparc register includes generation rule
git-svn-id: trunk@20671 -
2012-03-30 15:45:38 +00:00
pierre
c45914fc27 * Fix loss of OPT variable content on last part of cross-cpu cycles
git-svn-id: trunk@20362 -
2012-02-16 14:26:12 +00:00
pierre
3a3ab75e4a + regdatia64 phony target to generate all ia64 register include files
git-svn-id: trunk@20202 -
2012-01-31 15:49:30 +00:00
florian
bf290cadae + include avr in fullcycle
git-svn-id: trunk@20080 -
2012-01-14 20:48:33 +00:00
florian
957c819035 * don't try to build a native compiler for arm-gba
git-svn-id: trunk@19969 -
2012-01-04 23:31:08 +00:00
Jonas Maebe
c9e6bc8d49 + support for building jvm-java compiler/rtl via top-level
make CPU_TARGET=jvm OS_TARGET=java all
    ("make install" does not yet fully work: the classes under
     rtl/units/jvm-java/org/freepascal/rtl aren't installed yet)

git-svn-id: branches/jvmbackend@19747 -
2011-12-04 15:33:55 +00:00
pierre
12d611e255 * Fix compilation by disabling -Sew for 2.4.X compiler versions
git-svn-id: trunk@19590 -
2011-11-03 13:21:57 +00:00
pierre
362a3c8beb Enable -Sew by default, set ALLOW_WARNINGS to 1 to disable
git-svn-id: trunk@19585 -
2011-11-03 10:27:58 +00:00
pierre
daa27f636d + exeinstall: New phony target to install only current cpu taret compiler.
+ fullinstall: New phony target to install all posible compilers.

git-svn-id: trunk@19041 -
2011-09-10 08:54:50 +00:00
Jonas Maebe
d8191d48ab * also delete ppcjvm in the execlean target
git-svn-id: branches/jvmbackend@18385 -
2011-08-20 07:55:08 +00:00
Jonas Maebe
532f16336a * force -dNOOPT when compiling a JVM compiler
git-svn-id: branches/jvmbackend@18347 -
2011-08-20 07:49:37 +00:00
Jonas Maebe
4ff56b2471 + jvm compiler target
git-svn-id: branches/jvmbackend@18313 -
2011-08-20 07:37:52 +00:00
marco
043e9b2ec2 * Trunk version to 2.7.1
git-svn-id: trunk@18075 -
2011-08-03 13:59:33 +00:00
pierre
f23b265ce1 + Add global testppudump rule
git-svn-id: trunk@17960 -
2011-07-08 16:01:28 +00:00
pierre
efb0193cb2 Add ./utils/ppudump prerequisite to log-ppu files
git-svn-id: trunk@17959 -
2011-07-08 15:57:27 +00:00
pierre
d4372a7ac5 * Add ppudump testing rules
git-svn-id: trunk@17958 -
2011-07-08 15:47:27 +00:00
pierre
1a468eebc7 * Fix insdatx86 rule for Windows Makefiles
Also include regeneration of register include files.

git-svn-id: trunk@17928 -
2011-07-04 07:35:24 +00:00
pierre
a347381066 * Allow direct executable rule by adding $(COMPILER_UNITTARGETDIR) and $(COMPILER_TARGETDIR) dependencies
git-svn-id: trunk@17863 -
2011-06-29 07:05:27 +00:00
joost
499d6f78d1 * Fixed recipe commences before first target error when using GNU make version 3.82
git-svn-id: trunk@17757 -
2011-06-14 20:21:15 +00:00
florian
7803a302bf + added avr to full cycle
git-svn-id: trunk@17458 -
2011-05-14 17:44:49 +00:00