Commit Graph

435 Commits

Author SHA1 Message Date
Károly Balogh
09b6bed27c m68k-amiga: implemented CreateNewProc for legacy support, means AThreads now works on OS v1.2+
git-svn-id: trunk@44748 -
2020-04-17 17:12:23 +00:00
Károly Balogh
4f14f0f4e5 m68k-amiga: startup code to print a console message and quit, when the OS is known to be too old for the RTL
git-svn-id: trunk@44736 -
2020-04-16 20:59:08 +00:00
Károly Balogh
c577e290d1 m68k-amiga: enable certain legacy exec support functions only when compiling for OS v2.0
git-svn-id: trunk@44735 -
2020-04-16 20:51:57 +00:00
Károly Balogh
2f8fe76bed m68k-amiga: have an AMIGA prefix in OS_MINVERSION public constant, add OS 2.0 support, make sure we open v39 by default as it is needed by memory pool functions
git-svn-id: trunk@44734 -
2020-04-16 20:50:14 +00:00
Károly Balogh
36e4db15bc m68k-amiga: make it possible to disable functions newer than OS 2.0 (v37+)
git-svn-id: trunk@44733 -
2020-04-16 20:42:31 +00:00
marcus
280d5057e8 Amiga: simple SystemTagList() implementation for old Amigas including basic tag list handling (GetEnv works now)
git-svn-id: trunk@44708 -
2020-04-12 18:21:35 +00:00
marcus
dcf08c1d4d Amiga: very basic first implementation of MatchFirst/Next/End for old Amiga Versions
git-svn-id: trunk@44705 -
2020-04-12 17:16:27 +00:00
marcus
acf58acf41 Amiga: Implementation of Amiga2Date and Date2Amiga for older Amiga Versions
git-svn-id: trunk@44704 -
2020-04-12 15:17:00 +00:00
florian
5bab6201d5 * rebuild Makefiles
git-svn-id: trunk@44679 -
2020-04-10 19:42:14 +00:00
Károly Balogh
b599574a16 m68k-amiga: create the heap memory pool with MEMF_ANY, rather than MEMF_FAST. this will finally allow FPC compiled executables to start on chipmem-only machines.
git-svn-id: trunk@44624 -
2020-04-06 22:34:46 +00:00
Károly Balogh
8816a0b601 m68k-amiga: startup code now uses legacyexech, instead of explicitly declaring legacy support functions it needs
git-svn-id: trunk@44565 -
2020-04-04 13:22:46 +00:00
Károly Balogh
8d690546f3 m68k-amiga: make all legacy support functions have a public name, and supply headers for them (will be utilized by athreads, dos, and sysutils units)
git-svn-id: trunk@44564 -
2020-04-04 13:21:54 +00:00
Károly Balogh
632353a808 m68k-amiga: prepare the startup code and system unit for legacy support
git-svn-id: trunk@44563 -
2020-04-04 12:53:00 +00:00
Károly Balogh
e0fe8bd175 m68k-amiga: implemented functions required for basic parameter handling in legacydos
git-svn-id: trunk@44561 -
2020-04-04 12:40:55 +00:00
Károly Balogh
f5becf9ac6 m68k-amiga: implemented StackSwap and DeletePool in legacyexec support, also declare public name for a few functions, so the startup code can hook into them
git-svn-id: trunk@44560 -
2020-04-04 12:39:55 +00:00
Károly Balogh
b96109727c m68k-amiga: initial work on some support functions to allow the RTL to be compiled for AmigaOS 1.x
git-svn-id: trunk@44427 -
2020-03-30 03:06:23 +00:00
Károly Balogh
f69c099cfe amiga/morphos: fix freepooled(), it has no return value
git-svn-id: trunk@44426 -
2020-03-30 02:41:32 +00:00
Károly Balogh
c7136b59c7 amiga: no packed records in doslibd.inc and timerd.inc, use packrecords 2 insead, this improves code generated for plain 68000
git-svn-id: trunk@44420 -
2020-03-30 01:47:57 +00:00
Károly Balogh
1aad73217c m68k-amiga: add some defines, to disable part of OS headersin the RTL when compiling for OS1.x. this is to aid the implementation of future AmigaOS 1.x support
git-svn-id: trunk@44372 -
2020-03-27 04:31:10 +00:00
Károly Balogh
cd76003b4d amiga: remove packed from RTL OS record/structure definitions, use PACKRECORDS 2 instead. this allows much better code to be generated for a plain 68000 RTL
git-svn-id: trunk@44343 -
2020-03-23 00:05:52 +00:00
florian
43dc4c7ea0 * regenerated Makefiles
git-svn-id: trunk@44333 -
2020-03-21 20:59:59 +00:00
Károly Balogh
fb76f529ee amiga-likes: add fpwidestring unit to the RTL build
git-svn-id: trunk@44309 -
2020-03-18 00:32:48 +00:00
pierre
a09e40945c Regenerate all Makefile's after commit #43472
git-svn-id: trunk@43478 -
2019-11-15 14:47:02 +00:00
pierre
5ed7bd35df Update all trunk/fpcsrc Makefile's after commit 42749
git-svn-id: trunk@42750 -
2019-08-20 15:58:10 +00:00
Jonas Maebe
128bf046b4 * regenerated Makefiles with LLVM bitcode installation support
git-svn-id: branches/debug_eh@41914 -
2019-04-20 18:56:45 +00:00
pierre
74fed2a4cd Regenerate Makefile's after fpcmake change in commit #41721
git-svn-id: trunk@41723 -
2019-03-17 14:45:03 +00:00
Károly Balogh
cb5a1ed727 build/install fixes for the new sortbase unit for amiga, atari, aros and morphos
git-svn-id: trunk@41183 -
2019-02-03 02:06:32 +00:00
Károly Balogh
9906211f3b amiga: enable building of heaptrc unit, enable building lineinfo and exeinfo for OS4/PowerPC
git-svn-id: trunk@41096 -
2019-01-28 13:19:26 +00:00
Károly Balogh
5182dc37af haiku-x86_64: regenerated all Makefiles, take 2
git-svn-id: trunk@40758 -
2019-01-04 03:18:42 +00:00
yury
a29290202f * Regenerated makefiles to support x86_64-android.
git-svn-id: trunk@39958 -
2018-10-17 17:12:20 +00:00
yury
8c59eb1ce5 * Regenerated makefiles to support aarch64-android.
git-svn-id: trunk@39863 -
2018-10-06 09:36:03 +00:00
pierre
fe61157cae Update all rtl Makefile's
git-svn-id: trunk@39824 -
2018-09-27 06:55:12 +00:00
Jeppe Johansen
2aaf481d89 Regenerated makefiles.
git-svn-id: branches/laksen/riscv_new@39476 -
2018-07-20 10:40:57 +00:00
nickysn
65d8836952 * updated dependencies of unit ports (objpas and x86 is no longer required on
certain platforms) and regenerated makefiles

git-svn-id: trunk@39373 -
2018-07-04 00:33:12 +00:00
pierre
d6be56e225 Regenerated Makefile's after addition of ppas and ppaslink script removal in rev 38745
git-svn-id: trunk@38750 -
2018-04-12 15:23:03 +00:00
Károly Balogh
a0975a70dd amiga: do not specify dos as an explicity dependency for extpas. depend on buildrtl instead.
git-svn-id: trunk@38311 -
2018-02-22 12:15:41 +00:00
pierre
595938637e Add explicit FPC_SYSTEM_OPT variable that is only used for compilation of system units, thus allowing to explicitly pass -Sf option
git-svn-id: trunk@37890 -
2018-01-02 16:50:58 +00:00
Károly Balogh
888e59d34d amiga: added some code to compile the Amiga RTL with tinyheap. will be useful for Kickstart 1.3 and better very-low-end systems support. disabled by default. also added ifdefs around DynLibs support
git-svn-id: trunk@37879 -
2017-12-30 06:57:15 +00:00
florian
5bedaf11f4 * fpcmake.inc and Makefiles renerated after last commit
git-svn-id: trunk@37834 -
2017-12-27 15:08:18 +00:00
pierre
d18627f0af * Update all fpcsrc Makefile's using latest fpcmake version 2017-09-21 rev 37286
git-svn-id: trunk@37462 -
2017-10-16 00:27:27 +00:00
Károly Balogh
04dee0fc04 regenerated Makefiles for m68k-macos target
git-svn-id: trunk@37034 -
2017-08-22 11:16:42 +00:00
Károly Balogh
6e3936c534 amicommon: implement StackTop for other Amiga-like systems
git-svn-id: trunk@36697 -
2017-07-08 23:48:29 +00:00
Károly Balogh
2d8313165d m68k: support FFU exception settings, also reworked FPU initalization
git-svn-id: trunk@36618 -
2017-06-30 02:38:14 +00:00
Károly Balogh
5ffc833842 amiga/m68k: enable inlining and compiler mul32to64 in the softfpu
git-svn-id: trunk@36489 -
2017-06-12 12:47:07 +00:00
nickysn
748428b637 + support the KOI8-R and KOI8-U Cyrillic encodings
git-svn-id: trunk@36445 -
2017-06-07 13:51:53 +00:00
nickysn
fce5fbd726 + added cp3021 (Bulgarian MIK) code page support
git-svn-id: trunk@36444 -
2017-06-07 13:19:20 +00:00
nickysn
396eebbfb5 + added support for iso8859-[3,4,6,7,8,9,10,11,13,14,15,16]
* charmap .txt files in rtl/ucmaps for iso8859-[1,2,5] also updated

git-svn-id: trunk@36425 -
2017-06-05 16:36:24 +00:00
nickysn
35be7348fb + added code pages 737, 775, 857, 860, 861, 862, 863, 864, 865 and 869
git-svn-id: trunk@36423 -
2017-06-05 14:25:15 +00:00
nickysn
ef25c33d69 + added cp855 to the implicit unit list in the rtl makefiles
git-svn-id: trunk@36421 -
2017-06-05 12:19:01 +00:00
pierre
17b2671213 Regenerate all Makefile's after changes related to FPCDIR checks
git-svn-id: trunk@35833 -
2017-04-18 14:15:47 +00:00
Károly Balogh
2591840264 amigaos4: fixed some alignment SNAFU in exec structures. this allows to fix the startup code properly
git-svn-id: trunk@35294 -
2017-01-14 01:57:46 +00:00
Károly Balogh
4d22233827 amigaos4: hopefully fixed the new pascal sysinit
git-svn-id: trunk@35293 -
2017-01-14 00:50:09 +00:00
Károly Balogh
c4ba3ef09d amigaos4: fix linker script and signature symbol preservation with current vlink
git-svn-id: trunk@35272 -
2017-01-08 20:33:28 +00:00
Károly Balogh
a931403803 amigaos4: de-uglified libinterface and libbase fetching upon startup, and enabled the pascal startup code as default
git-svn-id: trunk@35271 -
2017-01-08 16:40:01 +00:00
Károly Balogh
2f38377126 amigaos4: update execd header based on the os4units version
git-svn-id: trunk@35270 -
2017-01-08 16:38:45 +00:00
Károly Balogh
7d2360eb0c m68k: Test68000/Test68881 support boilerplate and special support for Amiga
git-svn-id: trunk@35194 -
2016-12-24 21:11:06 +00:00
Károly Balogh
88a91330a3 amiga/powerpc: further tweaks in the upcoming pascal startup code
git-svn-id: trunk@35110 -
2016-12-11 16:38:37 +00:00
Károly Balogh
db976a3a3e amiga: added __amigaos4__ signature symbol to the pascal startup code
git-svn-id: trunk@35077 -
2016-12-06 01:26:20 +00:00
Károly Balogh
eb6fe91208 amiga: proof-of-concept untested implementation for OS4/PowerPC Pascal startup code
git-svn-id: trunk@35076 -
2016-12-05 21:12:23 +00:00
Károly Balogh
dbd7e74e9c amiga: yet another attempt to fix powerpc-amiga build
git-svn-id: trunk@35071 -
2016-12-04 19:10:53 +00:00
Károly Balogh
8057b42830 amiga: only try to build the pascal startup code on 68k for now
git-svn-id: trunk@35070 -
2016-12-04 18:51:48 +00:00
Károly Balogh
b356b18675 amiga: forgot to commit the actual buildrtl.pp in the previous commit
git-svn-id: trunk@35069 -
2016-12-04 18:37:47 +00:00
Károly Balogh
788c622307 amiga: pascal startup code for 68k and buildrtl refactor
git-svn-id: trunk@35068 -
2016-12-04 18:21:24 +00:00
nickysn
5306ee552b * regenerated makefiles with latest fpcmake
git-svn-id: trunk@34008 -
2016-06-18 01:00:45 +00:00
nickysn
a58dd988a4 * regenerate makefiles after the fpcmake update
git-svn-id: trunk@34002 -
2016-06-17 22:05:59 +00:00
Károly Balogh
23cf551bf3 m68k-amiga: fixed wrong define to test against softfpu (oops...)
git-svn-id: trunk@33672 -
2016-05-11 07:09:53 +00:00
Károly Balogh
7fff76d936 m68k-amiga: only compile softfpu code into system unit, when FPU_SOFT is defined
git-svn-id: trunk@33670 -
2016-05-10 16:08:17 +00:00
Károly Balogh
6d3b580f2f * enabled internal ELF resources for AmigaOS4
git-svn-id: trunk@33596 -
2016-05-01 12:59:54 +00:00
marcus
77e47d21bb os4units: added iffparse, keymap, clipboard, graphics, intuition, activated some packages
git-svn-id: trunk@33581 -
2016-04-30 13:39:08 +00:00
marcus
e38e051425 Amicommon: Unified parameterhandling for Amiga, AROS, MorphOS
git-svn-id: trunk@33528 -
2016-04-17 15:31:18 +00:00
marcus
9cb4091c42 Amiga: Enable character unit
git-svn-id: trunk@33505 -
2016-04-14 21:02:25 +00:00
Károly Balogh
c5907d5f71 it's now possible to compile the RTL again for AmigaOS/PowerPC. entirely untested, but it builds at least
git-svn-id: trunk@33252 -
2016-03-14 02:14:43 +00:00
florian
70b8789262 o basic extended pascal support:
+ automatically loaded helper unit
  * Makefiles adapted
  * mode switch
  * mode switches reorganized
+ TimeStamp support

git-svn-id: trunk@32330 -
2015-11-15 15:13:36 +00:00
nickysn
2e3cb70489 * regenerated makefiles after adding the win16 target
git-svn-id: trunk@31525 -
2015-09-05 11:02:54 +00:00
Károly Balogh
cdfe930c31 Amiga-likes: fix the same header issues in Amiga and AROS, which was fixed for MorphOS in r30917
git-svn-id: trunk@31151 -
2015-06-23 23:22:22 +00:00
Károly Balogh
d9b5830aa0 amiga: enable external resources instead of internal ones for now
git-svn-id: trunk@31006 -
2015-06-07 18:05:19 +00:00
Károly Balogh
5eea4b2846 amicommon: support for init/exit procedures for threads. will be used by Sockets unit for example, because bsdsocket.library needs to be reopened for each thread
git-svn-id: trunk@30991 -
2015-06-06 19:51:12 +00:00
Károly Balogh
b24db8a9c4 Amiga/MorphOS: enabled AThreads to build default for MorphOS and Amiga/68k. AROS might follow later.
git-svn-id: trunk@30966 -
2015-06-01 00:34:05 +00:00
Károly Balogh
6afcca7cd3 Amiga-likes: preparations for inclusion of AThreads into the RTL buildprocess
git-svn-id: trunk@30923 -
2015-05-28 00:47:35 +00:00
Károly Balogh
632c46bcb6 amicommon: have a generic tthread.inc which even works, given there is a reasonably advanced ThreadManager
git-svn-id: trunk@30914 -
2015-05-25 21:06:53 +00:00
Károly Balogh
846dd6b57b m68k: use the Amiga-specific atomic ops on Amiga
git-svn-id: trunk@30903 -
2015-05-24 21:44:51 +00:00
Károly Balogh
f52b039311 Amiga/m68k: made m68kamiga.inc to even compile, and maybe look like if it was Pascal code
git-svn-id: trunk@30902 -
2015-05-24 21:43:13 +00:00
Károly Balogh
89aadb22c2 Amiga/m68k: software atomic operations implementation for multithreading
git-svn-id: trunk@30901 -
2015-05-24 21:31:13 +00:00
Károly Balogh
f5bcb011ea amicommon: properly arbitrate access to the open file list in a multithreaded environment
git-svn-id: trunk@30899 -
2015-05-24 12:15:02 +00:00
Jonas Maebe
89418d23e5 * regenerated Makefiles with Linux/AArch64 support
git-svn-id: trunk@30891 -
2015-05-20 20:15:10 +00:00
Károly Balogh
3edad2774a Amiga: use stdout as stderr, so code which is wired to use stderr doesn't commit suicide
git-svn-id: trunk@30788 -
2015-05-03 17:41:20 +00:00
Károly Balogh
68a25e154a Amiga/MorphOS: enabled resource support, to match AROS in features
git-svn-id: trunk@30565 -
2015-04-13 00:49:00 +00:00
Károly Balogh
bbecfeed9e Amiga: manually semaphore-protect the heap Pool, because classic Amiga has no MEMF_SEM_PROTECTED
git-svn-id: trunk@30356 -
2015-03-29 00:18:19 +00:00
Jonas Maebe
3d01d4ceb1 * regenerated with Darwin/AArch64 support
git-svn-id: trunk@29950 -
2015-02-23 22:54:53 +00:00
Károly Balogh
82fd859a19 fixed DOS unit path in the Makefiles, which is included from amicommon
git-svn-id: trunk@29643 -
2015-02-07 21:42:00 +00:00
florian
97a6c92ea8 * fixes for makes 3.82
git-svn-id: trunk@29614 -
2015-02-03 20:05:15 +00:00
svenbarth
2d454dc8fa Move DynLibs support to System unit using a manager approach like for Threads, WideStrings, etc.. This is needed so that we can support features like "delayed" and loading of dynamic packages.
Each port that allows the usage of dynamic libraries should call InitSystemDynLibs during initialization of the System unit.
The DynLibs unit has been adjusted to be a forwarder for the functions that now reside in the System unit (for backwards compatiblity just in case). Additionally the unit will register the DynLibsManager if it doesn't reside in the System unit anyway.
Currently only the Windows targets (Win32, Win64 and WinCE) implement the DynLibsManager inside the System unit. For other systems using the LoadLibrary, etc. functions will lead to a run error/exception.
If a port wants to implement its own DynLibsManager then it needs to define DISABLE_NO_DYNLIBS_MANAGER. TLibHandle, NilHandle and optionally TOrdinalEntry (it's set to SizeUInt otherwise) should be defined in sysdlh.inc which needs to be enabled using the define FPC_SYSTEM_HAS_SYSDLH (because there are targets which have FEATURE_DYNLIBS enabled, but don't support them... e.g. powerpc-wii -.-).
The DynLibsManager contains methods for loading a library based on a RawByteString and based on a UnicodeString. BOTH should be implemented, but internally one can forward to the other.
The loading by ordinal *can* be be implemented. If it is set to Nil then the implementation of GetProcAddress(lib,ordinal) will return Nil.

+ new functions SetDynLibsManager and GetDynLibsManager to set and retrieve the current DynLibsManager
* provide interface of DynLibs unit in unit System

git-svn-id: trunk@29613 -
2015-02-03 20:00:00 +00:00
marco
d407b668d1 * version updated to 3.1.1
git-svn-id: trunk@29399 -
2015-01-04 21:09:04 +00:00
sergei
3a5e6485b5 - RTL: removed InitVariantManager, it was an empty procedure since day 1.
git-svn-id: trunk@29114 -
2014-11-22 20:35:46 +00:00
Károly Balogh
27befd2375 amiga: reintroduced some of the exec debug functions, which were removed, but actually *DO* exist on classic Amiga and hooked the new SysDebug stuff into the Amiga RTL
git-svn-id: trunk@28701 -
2014-09-21 00:15:49 +00:00
Károly Balogh
4f0d42131d Amiga: Boolean -> LongBool changes in syscalls
git-svn-id: trunk@28675 -
2014-09-15 22:52:50 +00:00
Károly Balogh
e126b787a3 Amiga: moved the remnants of the old CRT unit from Amiga RTL to rtl-console package and made it to build at least. It's probably still very broken, and needs fixing.
git-svn-id: trunk@28592 -
2014-09-03 22:43:22 +00:00
Károly Balogh
ef5f1b7ed2 amicommon: fixed sysdir.inc/do_chdir() to actually work on AROS
- fixed all Amiga-like system units to not leak the last directory
  lock while changing back to the original dir in System_exit;
  (a bug found by Marcus Sackrow, thanks!)
* renamed AOS_origDir to ASYS_origDir

git-svn-id: trunk@28537 -
2014-08-30 00:58:42 +00:00
Károly Balogh
785a1690a2 amicommon: AOS_heapPool renamed to ASYS_heapPool. common stuff should start with ASYS, to avoid confusion on AmigaOS, so more to come
git-svn-id: trunk@28533 -
2014-08-28 21:50:05 +00:00
Károly Balogh
feb255ec48 Amiga: improved the startup code, only allocate a new stack area if the area requested compile time is smaller than the one the system provides to us
git-svn-id: trunk@28525 -
2014-08-27 09:46:55 +00:00