Commit Graph

263 Commits

Author SHA1 Message Date
Jonas Maebe
9ba5267b61 * use libc functions instead of (wrong) translations of C code for most
functions (except for TCGetPGrp, which behaves differently in Pascal
   compared to the C version -- although that may be a bug in itself)
   (mantis #21665)

git-svn-id: trunk@21295 -
2012-05-14 18:12:30 +00:00
Jonas Maebe
834026bfb5 * synchronised with trunk up to r21067
git-svn-id: branches/jvmbackend@21068 -
2012-04-26 21:24:20 +00:00
pierre
1b3fd997fc + Regenerate all Makefiles's after adding x86_64 netbsd target
git-svn-id: trunk@21031 -
2012-04-24 23:15:18 +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
a1e14210c2 * compile the lnfogdb unit for darwin
git-svn-id: trunk@20849 -
2012-04-11 18:07:11 +00:00
Jonas Maebe
44bd889b9b * regenerated Makefiles with AIX support
git-svn-id: trunk@20812 -
2012-04-11 18:03:57 +00:00
Jonas Maebe
9ba5f25588 + dependency changes because of AIX rtl support
git-svn-id: trunk@20808 -
2012-04-11 18:02:33 +00:00
pierre
2c4d8cc9d9 Add x86_64-openbsd target in Makefiles
git-svn-id: trunk@20723 -
2012-04-06 16:49:08 +00:00
Jonas Maebe
87f7d65650 * made several OS interfacing records non-packed, since they are not packed
in the system headers either

git-svn-id: trunk@20652 -
2012-03-29 17:10:13 +00:00
pierre
e6cf348904 Update Makefile for mips-linux support
git-svn-id: trunk@20448 -
2012-02-29 11:22:05 +00:00
florian
9426cac1b0 * rebuilt Makefiles
git-svn-id: trunk@19748 -
2011-12-04 15:34:01 +00:00
paul
3e29f0b179 rtl: make cwstring.pp dependent of dynlibs, load iconvctl dynamically
git-svn-id: trunk@19538 -
2011-10-25 01:25:23 +00:00
paul
b47b4c3cba rtl: enable character unit for darwin
git-svn-id: trunk@19187 -
2011-09-23 01:01:20 +00:00
Jonas Maebe
6920c7a0c1 * fixed stat/fstat-related types for iphonesim platform
(mantis #20249)

git-svn-id: trunk@19078 -
2011-09-17 09:31:32 +00:00
Jonas Maebe
28c20cfc5e * the default string type for the JVM target is no longer automatically
unicodestring = java.lang.String. The reason this was the default in
    the past is that this was the first string type that was implemented,
    and without it being the default most code involving string operations
    would fail. Now the default strings types are the same as for other
    targets
  + new {$modeswitch unicodestrings} directive, that when activated
    *together* with {$h+},
   1) changes char into an alias for widechar
   2) changes string into an alias for unicodestring
   3) changes the preferred string evaluation type (in case of uncertainty)
      to unicodestring
    {$modeswitch unicodestrings} with {$h-} does not change anything at all
    regarding the string type (it still changes the char type)
  + new uuchar unit that redefines char as widechar, and which is automatically
    included by the compiler if {$modeswitch unicodestrings} is enabled

git-svn-id: branches/jvmbackend@18781 -
2011-08-20 08:35:47 +00:00
pierre
1c2a5f9819 + Update all Makefile's modified by
change in utils/fpcm/fpcmake.ini in prevous commit.

  Adapt also other files to that change:

  * compiler/globals.pas: Replace $FPCTARGET by os_string if
  tf_use_8_3 flag is set for target_info also.

  * tests/Makefile.fpc: Modify TEST_TARGETSUFFIX in the same way
  as TARGETSUFFIX was modified in previous commit.

  * tests/utils/dotest.pp:
    + New variable UseOSOnly, set to true if only target OS name
    should be used for subdirectories.

git-svn-id: trunk@18228 -
2011-08-16 20:10:19 +00:00
marco
39d7bb511d * Regenned all makefiles before 2.6.x branching.
git-svn-id: trunk@18073 -
2011-08-03 13:41:52 +00:00
florian
747b93b7ec + cpu unit for x86-64 containing a CAS128 implementation
git-svn-id: trunk@16284 -
2010-11-01 08:20:31 +00:00
Jonas Maebe
8b0301409a + i386/iphonesim target for the new iPhoneSimulator in Xcode 3.2.4 and
later: the same as i386/darwin, except
      a) uses the non-fragile Objective-C ABI/runtime
      b) does not require stubs for direct calls/jumps (not required for
         i386/darwin under 10.6 and later either, but still generated
         there for backwards compatibility)
      c) only the same packages are enabled as for ARM/Darwin
      d) MacOSAll is compiled specifically for the iPhoneSimulator SDK
    This target also defines the symbol "darwin" apart from the target
    name "iphonesim" for source code compatibility reasons.

git-svn-id: trunk@16065 -
2010-09-29 21:56:47 +00:00
Jonas Maebe
a91e57a9a3 * the iso7185 unit depends on the system unit (fixes make -j 2)
git-svn-id: trunk@15735 -
2010-08-07 21:35:19 +00:00
florian
786c4e206f * enables compilation of iso7185 unit on all targets
git-svn-id: trunk@15730 -
2010-08-06 17:45:42 +00:00
marco
594d98ddce * disabled building console unit (syscons interface) on Darwin for now.
git-svn-id: trunk@15252 -
2010-05-10 20:02:50 +00:00
Jonas Maebe
fa1d72a2cc + definition of pthread_mutex_trylock(), fixes compilation after r15026
git-svn-id: trunk@15027 -
2010-03-21 11:47:27 +00:00
marco
5d87461507 * moves the alias "TTime = time_t" from ptypes.inc to unixtype.pp.
This means it is not aliased in the body of the system unit (which causes
  trouble with the delphi type of the same name), but baseunix/unix/unixtype
  will containue to export the type.

git-svn-id: trunk@14584 -
2010-01-09 16:05:42 +00:00
Jonas Maebe
e7d7867082 + added new tstatfs structure available on Mac OS X 10.6, which appears to
be the only one that's supported on iPhonsOS (fixes webtbs/tw1041 on
    iPhoneOS)

git-svn-id: trunk@14333 -
2009-12-05 10:51:48 +00:00
Jonas Maebe
36ebb6a980 * fixed clearing fpscr "exception happened" flags
git-svn-id: trunk@14313 -
2009-12-03 20:21:27 +00:00
Jonas Maebe
559e284bd0 * merged r13762-14047 from trunk
git-svn-id: branches/objc@14048 -
2009-11-04 15:50:26 +00:00
Jonas Maebe
e017015c00 * fixed Darwin compilation after r13975 (dynlibs now depends on sysconst,
rtlconsts and sysutils)

git-svn-id: trunk@13986 -
2009-10-31 10:11:00 +00:00
Jonas Maebe
0c675a4039 * the objc1 unit has been renamed to objc
* the objc unit links against the Foundation instead of against the Cocoa
    framework, and inludes an interface to either the fragile or non-fragile
    obj-c run time depending on the target platform
  + support for the non-fragile Objective-C runtime/ABI, as used on Mac OS X
    for ARM (iPhone) 64 bit (PowerPC/64, x86_64) -- all these targets now
    are now also supported for the objectivec1 modeswitch
  + support for private_extern symbol bindings, required for the above
  * mark objcclasses that are declared in the implementation section of a
    unit as "hidden" (not sure what the effect is, since the Objective-C
    runtime does not seem to do anything with this flag)
  * enabled all obj-c tests for the newly supported platforms

git-svn-id: branches/objc@13763 -
2009-09-27 15:24:50 +00:00
Jonas Maebe
9d038943f5 * incorporated most Objective-C 1 run time functions in objc1 from
packages/objcrtl/src/objcrtl10.pas (so that if {$modeswitch objectivec1}
    is used, you don't have to include objcrtl anymore, because that unit
    declares some identifiers with the same name as in objc1, such as id,
    causing type clashes)

git-svn-id: branches/objc@13705 -
2009-09-13 15:13:14 +00:00
Jonas Maebe
a149674a75 Merged revisions 13458-13596 via svnmerge from
svn+ssh://jonas@svn.freepascal.org/FPC/svn/fpc/trunk

git-svn-id: branches/objc@13598 -
2009-08-25 19:47:36 +00:00
Jonas Maebe
e246cac3ac * regenerated using latest fpcmake
git-svn-id: trunk@13487 -
2009-08-02 18:40:14 +00:00
Jonas Maebe
b1b9894ae3 * initial Objective-C 1.0 support:
o support for declaring external Objective-C classes (see
      rtl/inc/objcbase.pas), including derived classes
    o support for converting methods of objcclasses into selectors
      (see tests/test/tobjc1.pp)
    o support for loading from/storing to fields of objcclasses
    o support for calling Objective-C methods using regular
      Object Pascal syntax (see tests/test/tobjc1.pp)
    o some things that are known to be not yet working:
      o automatic conversion from ID to objcclasses and back
      o declaring and implementing new objcclasses/methods in Pascal code
      o debug information (objcclasses are currently plain pointers
        as far as the debugger knows)

git-svn-id: branches/objc@13162 -
2009-05-17 13:42:50 +00:00
Jonas Maebe
f6d452c2c0 * remove the RTL's installed signal handlers at the end of the system
unit's initialization code in case we're in a library
  + implemented InquireSignal(), AbandonSignalHandler(), HookSignal() and
    UnhookSignal() in the sysutils unit
  * for Kylix compatibility, these routines support operating on
    SIGINT and SIGQUIT as well, although they are not hooked by default
    by FPC. The run time errors/exception codes for these signals are
    resp. 217 and 233 (same as in Kylix; I changed ENoWideStringSupport
    to 234).
  * changed the BSD syscall version of fpsigaction to use pointer
    rather than "var" arguments (compatible with other targets, and
    required to be able to pass nil arguments inside the system unit)
  -> together fixes mantis #12704

git-svn-id: trunk@13077 -
2009-05-02 09:40:44 +00:00
Jonas Maebe
d6f3ecc9fc * fixed definition of ino_t (64 instead of 32 bit) and of stat record
(slightly different order of fields) for darwin/arm

git-svn-id: trunk@13069 -
2009-05-01 11:18:18 +00:00
Jonas Maebe
483b3b4a30 * more ESysEINTR handling
git-svn-id: trunk@12926 -
2009-03-19 22:01:09 +00:00
Jonas Maebe
6165536b5e + added {$modeswitch objectivec1}/-Mobjectivec1 mode switch to enable
the use of Objective-C 1.0 constructs. Because it is a mode switch, it
    can be used cumulatively with every syntax mode. Note that a {$mode xxx}
    statement resets all mode switches as well, so you cannot use the
    -Mobjectivec1 variant if you have such a statement in a unit. This
    modeswitch is currently only enabled for Darwin/PowerPC and Darwin/i386,
    as the backend support is not yet implemented for other platforms.
  + implemented selector() statement that can be used to create an Objective-C
    selector for the message with the specified *constant* name (in the future,
    it will also work for Objective-C method identifiers)
  + added SEL type to the system unit (the selector() statement returns it)
  + added all Objective-C segments to the assembler writers
  + (currently mostly dummy) objc1 unit that is automatically included if the
    {$modeswitch objectivec1} statement is used
  + some tests for the selector() statement

git-svn-id: trunk@12870 -
2009-03-08 18:40:32 +00:00
Jonas Maebe
be5709fcfd + pthread_cond_broadcast() definition
git-svn-id: trunk@12856 -
2009-03-04 20:10:05 +00:00
Jonas Maebe
1d43a5af55 * fixed O_NOCTTY constant value
git-svn-id: trunk@12627 -
2009-01-29 15:10:43 +00:00
Jonas Maebe
307d9745ed * adapted some field names so they correspond to the automatically
translated headers

git-svn-id: trunk@12530 -
2009-01-08 20:22:50 +00:00
Jonas Maebe
1a1fc1357d * honour the specified stack size when creating new threads on unix
platforms + test (mantis #12942)

git-svn-id: trunk@12527 -
2009-01-08 18:37:24 +00:00
Jonas Maebe
d9c5cd76cd * some more darwin/arm stuff I forgot to commit earlier:
o softfloat support for bsd/system.pp (enabled when compiling for ARM)
    o include darwin/arm sigaction structs in darwin/signal.inc when
      compiling for ARM (can't commit the file itself that contains
      those structs due to licensing issues though)

git-svn-id: trunk@12327 -
2008-12-10 21:10:59 +00:00
Jonas Maebe
bf7b6fd279 + darwin/arm signal handling support, except for the definition of the
signal context structure as the license of the original file isn't
    100% clear yet

git-svn-id: trunk@12196 -
2008-11-21 22:04:03 +00:00
marco
e5db5e4aa8 * regened makefiles to propagate makefile versions
git-svn-id: trunk@11947 -
2008-10-22 17:32:15 +00:00
Jonas Maebe
bbaacc593a + darwin implementation of ipc unit by Werner Bochtler (mantis #10612)
git-svn-id: trunk@11549 -
2008-08-11 21:29:49 +00:00
Jonas Maebe
1251ec996b - removed $(SYSTEMUNIT)$(PPUEXT) from the macpas unit dependencies
(that variable is not defined for all targets and is not necessary
     anymore either)
  * fixed building of win32/win64 (different because of the buildrtl unit)

git-svn-id: trunk@11419 -
2008-07-20 13:05:03 +00:00
Jonas Maebe
f22c6870d5 * use math.SetExceptionMask() to disable floating point exceptions
in the macpas initialisation code (mantis #11516)

git-svn-id: trunk@11415 -
2008-07-20 09:07:50 +00:00
Jonas Maebe
9d8bee1887 * regenerated with changes in r11233
git-svn-id: trunk@11234 -
2008-06-15 15:52:25 +00:00
giulio
14d4f02fa0 * fixed fpc_zipinstall for go32v2 and the like
* makefiles regenerated

git-svn-id: trunk@11180 -
2008-06-03 14:01:09 +00:00
Almindor
355c4c7c53 * add TCP and UDP setsockopt option constants to all unix-likes
git-svn-id: trunk@11148 -
2008-05-31 22:06:56 +00:00