Commit Graph

353 Commits

Author SHA1 Message Date
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
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
2153420ca4 morphos: also fix MorphOS header erros in RTL
git-svn-id: trunk@30917 -
2015-05-25 23:52:09 +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
cfc076832a MorphOS: deleted sysosh.inc, no longer needed (use the one in amicommon)
git-svn-id: trunk@30904 -
2015-05-24 22:56:02 +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
ee0cbece03 MorphOS: use stdout as stderr, so code which is wired to use stderr doesn't commit suicide
git-svn-id: trunk@30789 -
2015-05-03 17:42:05 +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
0bccf5f09f morphos: use MEMF_SEM_PROTECTED flag for semaphore protect our memory pool. this is required for the future threading (concurrent accesses to the same pool from separate threads).
git-svn-id: trunk@30355 -
2015-03-28 22:58:49 +00:00
Jonas Maebe
fa328436ab * regenerated for iphonesim/x86-64
git-svn-id: trunk@29974 -
2015-02-23 22:56:41 +00:00
Jonas Maebe
3d01d4ceb1 * regenerated with Darwin/AArch64 support
git-svn-id: trunk@29950 -
2015-02-23 22:54:53 +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
155ae9961e MorphOS: hooked the new debug stuff into the MorphOS RTL
git-svn-id: trunk@28696 -
2014-09-19 21:18:33 +00:00
Károly Balogh
034a209300 MorphOS: use LongBool instead of Boolean in syscalls, because we have C-style booleans as return values everywhere. this probably should be done for *all* Amiga-like syscalls everywhere...
git-svn-id: trunk@28674 -
2014-09-15 22:49:18 +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
85953d5e99 MorphOS: moved system dependent units outside the RTL into the new morphunits package. also renamed some units to match classic Amiga and/or AROS naming
git-svn-id: trunk@28519 -
2014-08-25 02:17:16 +00:00
Károly Balogh
2bbf991365 MorphOS: migrated the RTL to use the common Amiga code. still needs cleanup, but works as a first
git-svn-id: trunk@28511 -
2014-08-22 22:19:16 +00:00
pierre
3d34a8a3b0 Makefiles updated with fpcmake rev 27428
git-svn-id: trunk@27508 -
2014-04-10 09:58:17 +00:00
marco
959ea7f5bb * printer unit moved. Amiga unit also moved but it is not actively used.
git-svn-id: trunk@27351 -
2014-03-29 20:35:28 +00:00
marco
c465d3d64a * moving 4 cp9* units. These are 16-bit and big.
git-svn-id: trunk@27349 -
2014-03-29 19:43:13 +00:00
marco
ed3a49372d * strutils moved to packages/rtl-objpas
git-svn-id: trunk@27339 -
2014-03-29 17:51:44 +00:00
sergei
9801288cdc * Removed SysInitFPU/SysResetFPU from (remaining) system units initialization code. It is redundant there because it is called from fpc_cpuinit, or, in case of i386, from fpc_cpucodeinit.
* It fixes regression of tw16283b after r27169. 
* BeOS, Haiku: added fpc_cpucodeinit to compensate for removal of SysInitFPU, it also enables use of CPU features like SSE.

git-svn-id: trunk@27171 -
2014-03-17 10:53:52 +00:00
Károly Balogh
3c015555ae use unsigned RawDoFmt() formatting for size in heap debug mode
git-svn-id: trunk@27069 -
2014-03-10 00:53:09 +00:00
Károly Balogh
9bdbad0c39 removed unnecessary MEMF_PUBLIC flag from several allocations
git-svn-id: trunk@27051 -
2014-03-09 16:46:37 +00:00
Károly Balogh
1c930b5d24 sysutils/GetEnvironmentVariable() now handles PATH lengths above 255 chars
git-svn-id: trunk@26832 -
2014-02-22 10:37:20 +00:00
Károly Balogh
e286a7462c a slightly less broken getpathstring() for dos unit. yes, sadly this code is still in use on MorphOS, sysutils wraps to it
git-svn-id: trunk@26831 -
2014-02-22 09:40:41 +00:00
yury
73c26bd6be * mipsel-android: Regenerated makefiles. From now the mipsel-android target can be built and used.
git-svn-id: trunk@26705 -
2014-02-07 12:37:17 +00:00
Tomas Hajny
be6fdf21ce + character sets for central Europe added also to Makefiles as implicit units
git-svn-id: trunk@26527 -
2014-01-20 00:23:36 +00:00
marco
f09374a197 * winsock(and -2), sockets and gpm to rtl-extra.
git-svn-id: trunk@26426 -
2014-01-11 19:45:37 +00:00
marco
dea2c743d5 * Initial active version of
rtl-extra : objects matrix ucomplex
   rtl-objpas: convutil(s) dateutil(s) stdconvs variants varutils
   

git-svn-id: trunk@26398 -
2014-01-05 19:20:15 +00:00
paul
14a34239cc rtl: add cp856 to makefiles
git-svn-id: trunk@26387 -
2014-01-05 06:03:28 +00:00
marco
90fbb6360d * test rtl-console for powerpc targets.
- morphos regeneration Makefile.fpc
 - aix unrelated fix: addition of pthread_attr_destroy (r26220 dec 11th)

git-svn-id: trunk@26373 -
2014-01-03 22:48:14 +00:00
marco
a001e12d04 * rtl-console initial version.
git-svn-id: trunk@26372 -
2014-01-03 22:19:02 +00:00
marco
ebe262762a * Clean out of $i textrec and filerec includes that are redundant now that cpstrrtl exposes
those records via system. 

git-svn-id: trunk@26356 -
2014-01-02 13:26:09 +00:00
Jonas Maebe
8fe7d82db7 * changed type of TAbstractSearchRec.name_do_not_touch from untyped pointer
into rawbytestring because otherwise -gt can overwrite it
  - removed hack from r25944 in morphos/sysutils.pp that worked around this
    problem

git-svn-id: trunk@25952 -
2013-11-06 13:17:06 +00:00
Károly Balogh
3b87e2c386 fixed InternalFindFirst to initialize out Rslt properly, also reverted some earlier changes leading to potential issues as Jonas pointed out
git-svn-id: trunk@25944 -
2013-11-06 03:34:25 +00:00
Károly Balogh
83544d3f30 fix typo in comment
git-svn-id: trunk@25943 -
2013-11-06 03:17:35 +00:00
Károly Balogh
a691971b9d fixed RawByteString PathConv() return value, removed the no longer needed dosLock() function, and related cleanups
git-svn-id: trunk@25939 -
2013-11-05 18:52:27 +00:00
nickysn
1bea98995b * regenerated fpcmake makefiles after r25642
git-svn-id: trunk@25644 -
2013-10-05 10:11:27 +00:00
Jonas Maebe
af3f12f60c * rawbytestring/unicodestring versions of findfirst/findnext/findclose
o these routines are now generic wrappers in filutil.inc, and call
     the platform-dependent internalfindfirst/next/close routines
   o on unix, the fnmatch routine got proper support for UTF-8 matching
     (e.g., it won't match a partial UTF-8 code point to a "?" wildcard)
   o for NativeNT, a similar (untested) UTF-16 version has been added
  + test for the above
  * rawbytestring/unicodestring versions of fileage

git-svn-id: branches/cpstrrtl@25302 -
2013-08-19 22:04:25 +00:00
Jonas Maebe
df6a2dce00 + unicodestring support for assign/erase/rename
+ codepage support for textrec/filerec and the above routines
  * textrec/filerec now store the filename by default using widechar. It is
    possible to switch back to ansichars using the FPC_ANSI_TEXTFILEREC define.
    In that case, from now on the filename will always be stored in
    DefaultFileSystemEncoding
  * fixed potential buffer overflows and non-null-terminated file names in
    textrec/filerec
  + dodirseparators(pwidechar), changed the dodirseparators(pchar/pwidechar)
    parameters into var-parameters and gave those routines an extra parameter
    that indicates whether the p(wide)char can be changed in place if
    necessary or whether a copy must be made first (avoids us having to make
    all strings always unique everywhere, because they might be changed on
    some platforms via a pchar)
  * do_open/do_erase/do_rename got extra boolean parameters indicating whether
    the passed pchars point to data that can be freely changed (to pass on to
    dodirseparators() if applicable)
  * objects.pp: force assign(pchar) to be called, because
    assign(array[0..255]) cannot choose between pchar and rawbytestring
    versions (and removing the pchar version means that assign(pchar) will
    be mapped to assign(shortstring) in {$h-})
  * fixed up some routines in other units that depend on the format of
    the textrec/filerec.name field

git-svn-id: branches/cpstrrtl@25137 -
2013-07-19 16:30:51 +00:00
Jonas Maebe
155aafc255 * moved SYSUTILS_HAS_ANSISTR/UNICODESTR_FILEUTIL_IMPL define to interface
so declarations can also depend on it and similar defines (not yet the
    case)
  + added SYSUTILS_HAS_ANSISTR_ENVVAR_IMPL/SYSUTILS_HAS_UNICODESTR_ENVVAR_IMPL
    to indicate whether the platform-dependent part of the unit provides
    an ansistring/unicodestring interface to get environment variables
  + Windows version of getenvironmentvariable(unicodestring)
  + generic ansistring/unicodestring versions of GetEnvironmentVariable()
    in case the platform doesn't provide them
  * result of GetEnvironmentString() is ansistring/unicodestring depending
    on the state of the FPC_RTL_UNICODE define

git-svn-id: branches/cpstrrtl@25116 -
2013-07-16 14:16:34 +00:00
Jonas Maebe
eeb98a0c0f - removed platform-specific implementations of GetCurrentDir, SetCurrentDir,
CreateDir and RemoveDir, and implemented a generic one (based on the OS/2
    version) in the shared sysutils code (so that the filesystem code page
    support for the system unit routines can be reused)
  * include both ansistring and unicodestring versions of the above routines,
    and of ForceDirectories. Exception: GetCurrentDir, which cannot be
    overloaded based on function result and whose return type currently
    dependends on the FPC_UNICODE_RTL define

git-svn-id: branches/cpstrrtl@25113 -
2013-07-16 14:15:55 +00:00