Commit Graph

247 Commits

Author SHA1 Message Date
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
Jonas Maebe
b6c43bad7d * regenerated for i386-Haiku and darwin cross compilation changes
git-svn-id: trunk@11073 -
2008-05-24 09:29:08 +00:00
Jonas Maebe
90fd155648 + enabled clocale for Darwin
git-svn-id: trunk@10911 -
2008-05-08 19:55:23 +00:00
Jonas Maebe
9d2e95f2fc * sysutils depends on convutils
git-svn-id: trunk@10910 -
2008-05-08 19:49:56 +00:00
micha
0b2f80a38b * regenerate Makefiles to get armeb-linux support globally (also arm-darwin, so it seems)
git-svn-id: trunk@10888 -
2008-05-05 18:46:55 +00:00
micha
b0838b13d7 * add armeb target to compiler/Makefiles
git-svn-id: trunk@10552 -
2008-03-24 17:48:11 +00:00
Jonas Maebe
c97d448248 + added baseunix dependency for fpextres to darwin Makefile.fpc
* regenerated Makefiles committed in r10481 using up-to-date fpcmake

git-svn-id: trunk@10482 -
2008-03-12 22:50:59 +00:00
michael
174de3eab1 Merged revisions 9693-10480 via svnmerge from
svn+ssh://svn.freepascal.org/FPC/svn/fpc/branches/resources

........
  r9694 | michael | 2008-01-09 21:31:18 +0100 (Wed, 09 Jan 2008) | 1 line
  
  * Initial check-in
........
  r9695 | michael | 2008-01-09 21:35:58 +0100 (Wed, 09 Jan 2008) | 1 line
  
  * New version from Giulio Bernardi
........
  r9697 | michael | 2008-01-09 21:41:54 +0100 (Wed, 09 Jan 2008) | 1 line
  
  * Patch from Giulio Bernardi with resource support
........
  r9698 | michael | 2008-01-09 21:46:33 +0100 (Wed, 09 Jan 2008) | 1 line
  
  * Patch from Giulio Bernardi to add more resource testing
........
  r9699 | michael | 2008-01-09 21:57:26 +0100 (Wed, 09 Jan 2008) | 1 line
  
  * New tool from Giulio Bernardi
........
  r9700 | michael | 2008-01-09 21:58:23 +0100 (Wed, 09 Jan 2008) | 1 line
  
  * New tool from Giulio Bernardi
........
  r9701 | michael | 2008-01-09 22:01:54 +0100 (Wed, 09 Jan 2008) | 1 line
  
  * Added fcl-res
........
  r9702 | michael | 2008-01-09 22:01:58 +0100 (Wed, 09 Jan 2008) | 1 line
  
  * Added fcl-res
........
  r9703 | michael | 2008-01-10 08:54:26 +0100 (Thu, 10 Jan 2008) | 1 line
  
  * Fixed double code
........
  r9704 | jonas | 2008-01-10 10:59:20 +0100 (Thu, 10 Jan 2008) | 2 lines
  
    - removed duplicate code
........
  r9705 | jonas | 2008-01-10 11:25:21 +0100 (Thu, 10 Jan 2008) | 2 lines
  
    + added missing fcl-res dependencies
........
  r9706 | jonas | 2008-01-10 11:58:30 +0100 (Thu, 10 Jan 2008) | 2 lines
  
    + dependencies for fpintres and fpextres
........
  r9707 | yury | 2008-01-10 12:47:51 +0100 (Thu, 10 Jan 2008) | 3 lines
  
  * Fixed compilation of resource, which is included in a unit located in different folder than main source.
  * .res files must be copied to units output folder, otherwise .res files will not be found when only compiled units path is available and compiler does not know anything about sources folder.
  * Improved resource related error messages.
........
  r9708 | michael | 2008-01-10 12:52:13 +0100 (Thu, 10 Jan 2008) | 1 line
  
  * Removed double source after end.
........
  r9709 | michael | 2008-01-10 12:52:48 +0100 (Thu, 10 Jan 2008) | 1 line
  
  * No longer needed
........
  r9710 | tom_at_work | 2008-01-10 22:09:08 +0100 (Thu, 10 Jan 2008) | 1 line
  
  * properly align FPC_RESLOCATION so that linking does not fail on some architectures (e.g. ppc64)
........
  r9711 | tom_at_work | 2008-01-10 23:53:12 +0100 (Thu, 10 Jan 2008) | 1 line
  
  * fix splitting of 64 bit load/stores from/to unaligned memory locations into multiple load/stores, which in some cases generated wrong code
........
  r9712 | michael | 2008-01-11 11:00:08 +0100 (Fri, 11 Jan 2008) | 1 line
  
  * Fixed bug in BSS section on 64-bit platforms
........
  r9720 | giulio | 2008-01-12 10:02:04 +0100 (Sat, 12 Jan 2008) | 1 line
  
  Updated fcl-res documentation: occurrences of reslib changed to fcl-res.
........
  r9740 | giulio | 2008-01-13 19:36:44 +0100 (Sun, 13 Jan 2008) | 3 lines
  
   - Don't try to compile resources on systems with a non windows-like resource support.
   - Don't add the .or file to the list of object files if resource compiling failed.
........
  r10201 | giulio | 2008-02-04 11:35:44 +0100 (Mon, 04 Feb 2008) | 5 lines
  
  * resource compiling supported on OS/2 via wrc
  * CompileResourceFiles and CollectResourceFiles don't do target-specific checks anymore
  * refactored a bit
........
  r10389 | giulio | 2008-02-25 21:32:52 +0100 (Mon, 25 Feb 2008) | 2 lines
  
  Deleted test file which was committed by mistake
........
  r10472 | giulio | 2008-03-10 12:22:18 +0100 (Mon, 10 Mar 2008) | 2 lines
  
  changed define FPC_HAS_RESOURCES to FPC_HAS_WINLIKERESOURCES
........

git-svn-id: trunk@10481 -
2008-03-12 21:33:48 +00:00
Jonas Maebe
ef4b238989 * lineinfo and lnfodwrf depend on inc/exeinfo.pp
+ add fake dependency of lnfodwrf on lineinfo to avoid those two
    units being compiled together, because then inc/exeinfo.pp can
    also be compiled twice at the same time which leads to trouble
    if -ap isn't used
 (part of r10329, forgot to commit)

git-svn-id: trunk@10386 -
2008-02-25 15:40:13 +00:00
Jonas Maebe
c6921cc3df * lineinfo and lnfodwrf depend on inc/exeinfo.pp
+ add fake dependency of lnfodwrf on lineinfo to avoid those two
    units being compiled together, because then inc/exeinfo.pp can
    also be compiled twice at the same time which leads to trouble
    if -ap isn't used

git-svn-id: trunk@10329 -
2008-02-15 14:47:57 +00:00
Jonas Maebe
95c991872b + added exeinfo to implicit units so make install works again
git-svn-id: trunk@9784 -
2008-01-18 23:03:38 +00:00
Jonas Maebe
68595c8b72 * fixed wchar_t type (was: widechar, now is cint/cint32/long depending on
platform)
  + mbstate_t type for all unixes except BeOS (doesn't exist for BeOS)
  + implemented UpperAnsiStringProc/LowerAnsiStringProc for unix
  * fixed Ansi2UCS4Move in cwstring (although it isn't used anywhere
    currently)
  + test for Upper/LowerAnsiString

git-svn-id: trunk@9393 -
2007-12-05 17:42:35 +00:00
Jonas Maebe
b076df0214 * variants depends on math
git-svn-id: trunk@9358 -
2007-11-30 17:57:39 +00:00
Jonas Maebe
728465eb27 * fixes from previous darwin/i386 commit for darwin/x86_64
* unified darwin/i386 and darwin/x86_64 signal handling like
    for ppc32 and ppc64
  * moved some common record definitions for all architectures to
    signal.inc

git-svn-id: trunk@9197 -
2007-11-11 17:09:52 +00:00
Jonas Maebe
52a8c3a40c o fixed darwin/i386 signal handling:
* fixed sigcontextrec definition
    * work around missing Mac OS X support for reporting integer
      division-by-zero as such (reported as generic SIGFPE)
    * return from signal handler to HandleErrorFrame (just like
      on ppc) instead of calling it (and fix up fpu and sse
      status words when doing so)

git-svn-id: trunk@9196 -
2007-11-11 16:27:24 +00:00
Jonas Maebe
c9ce918485 * regenerated for darwin/x86_64
git-svn-id: trunk@9181 -
2007-11-10 18:37:19 +00:00
Jonas Maebe
032352d98b + darwin/x86_64 support
git-svn-id: trunk@9180 -
2007-11-10 18:33:09 +00:00