Solves issues with systems that e.g. require special options for compilation of programs (e.g. libc programs to find libc startup code) or the actual build has been compiled with options that are incompatible with default ones.
Tested changes by building an i386-linux local build and i386-linux->arm-linux cross-builds
git-svn-id: trunk@22397 -
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 -
- disabled some headers for 64 bit platforms that are not available there
* updated cocoa patch to adjust missed unions by the parser
-> when compiled with current compiler, all field offsets
and instance sizes should now match gcc's exactly
git-svn-id: trunk@18122 -
than only record containing nothing but bitpacked fields (although in
theory this can also cause errors, it results in correct data layouts
for all Cocoa structs while the previous code didn't)
* changed the translation of bitpacked structs so that the compiler will
properly align them. This requires that all bitpacked fields are
wrapped into a separate record though, so all fields are now accessible
via recname.data.field instead of via recname.field. Since all fields
in the Cocoa classes are private, this should not cause problems
(except if exported record types are also used elsewhere)
git-svn-id: trunk@18113 -
symbolic constants rather than numerically
* replace an empty C array (such as int[0]) with an empty record declaration
rather than with an array of one element, since it doesn't take up any
space in C either
git-svn-id: trunk@18111 -
* re-enabled support for ignoring certain methods, but removed all ignored
methods because all of them are handled correctly with the current version
- disabled adding the script version and time stamp to the generated headers,
so not all headers change every time they are re-parsed
+ support for optional/required sections in protocols
+ documentation from Ryan
git-svn-id: trunk@16923 -
them
* handle inline protocol definitions in parameter lists (replace id<protocol>
with protocol, and class<protocol[,protocol,..]> with class), and made
some fixes to this support for fields (many "id" fields/parameters are
now protocols)
* fix from Phil Hess for parsing some read-only properties
* also translate ..._BUT_DEPRECATED macros (without any "_IN_VERSION..."
coming after it) into "deprecated" modifiers
* several fixes for handling deprecation macros (in several cases, half the
macro was mangled into the name of the symbol itself)
* default now to parsing the iOS 4.2 SDK headers, and fixed passing an
alternate SDK on the command line to make-ios-headers.sh
* updated Cocoa headers as parsed by the new parser, and with the headers
from Mac OS X 10.6.5/Safari 5.0.2 (contains some WebKit updates)
git-svn-id: trunk@16908 -
change is that it is now also allowed to specify an external name for
formal external class definitions, but if they are later mixed with
regular class definitions the external names have to match.
o because the "external" status of methods is now set while parsing the
class rather than afterwards, some procdir compatibility checks had to
be inlined because they only have to be performed for
* also adapted the syntax for external cppclasses in the same way
* fixed return type of NSObject.retainCount and NSObject.hash
(NSUInteger instead of cint)
* moved "patches" directory from cocoaint/src to cocoaint/utils/cocoa-skel
so they are used by the conversion script when re-parsing the headers
* updated Objective-C header parser script to
o use the new external class syntax
o not write inheritance information for root classes (NSObject, NSProxy)
o use internal translation tables for some conflicting method names that
are named specially in objcbase.pp
and updated parsed headers
* fixed rtl/inc/objcbase.pp and tests to conform to the new external class
syntax
git-svn-id: trunk@16684 -
committed cocoa unit conversions, and which can also be used to translate
the iOS SDK 3.2 headers
+ scripts (make-cocoa-headers.sh, make-ios-headers.sh) to (re)build the
Cocoa/iOS headers, along with skeleton directories that contain the
necessary helper files and a few required patches
+ frameworks.xml used by the conversion script
* updated build instructions
git-svn-id: trunk@16522 -
* generated with version 2.1.2 of the conversion script, with many
improvements (script and instructions to regenerate headers will
be committed separately)
o QuartzCore framework translation
o categories are no longer merged into classes, but separate
o corrected several C->Pascal type definitions
o handle pointer types for parameters, return types and property types
o handle struct/class fields that are arrays or pointers
o handle pointers to id
o handle external functions that return "void *" (they were parsed as
procedures)
o handle anonymous classes (@class NSAnonType, such as CIImage) using
the "NSAnonType = objcclass; external;" syntax
o corrected handling of opaque structs
o fixed parsing of function pointer types
o instance-bitfields that do not appear in a struct are now recognised
o bitpacked structs are now translated into bitpacked records (but only
if they only contain bitpacked fields)
o C macros indicating deprecation are now translated into "deprecated"
modifiers for methods/variables/functions/properties
o no longer ignore deprecated categories, because some categories are
deprecated in Mac OS X 10.5/10.6, and we want to support writing code
for older systems too
o several fixes to property and enum parsing
git-svn-id: trunk@16521 -
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 -
information provided by Scott Knapp)
- removed CFErrorRef declaration from UndefinedTypes since the CFError
headers are available in the current univint translations
git-svn-id: trunk@15468 -
* Changed the PHP variable which was causing the parser to not produce iphone headers
* Added /utils/iphone directory which is the last safe version of the parser. This is because future versions of the parser will likely break the iphone parsing ability before it can be fully restored.
git-svn-id: trunk@14454 -