Commit Graph

1090 Commits

Author SHA1 Message Date
Jonas Maebe
6dd7d9db41 * generate a declaration with an dynamic array and one with an open array
parameter in case of array parameters (and in case of constructors,
    make the open array as "const"; heuristic, not guaranteed 100% safe!)
  + support for generating include files rather than full units (e.g., for
    the system unit types), -i option
  * don't generate imports for anonymous inner types ($1 etc)
  * mark routines with 'package' visibility as 'public', because some packages
    are split over multiple units (system unit and jdk import unit) -> allows
    using these routines in illegal ways, which will result in run time errors
  + support to also select individual classes with the -x/-a parameters
  + add "virtual" modifier to methods where appropriate (so the compiler won't
    force it automatically anymore)

git-svn-id: branches/jvmbackend@18439 -
2011-08-20 07:59:40 +00:00
Jonas Maebe
2a64e411ce + generate external names for methods imported under a different name
* switched to mode delphi to avoid problems with nested types in child
    classes having the same name as nested types in the parent
  * generate skeleton classes for all internal classes that have "package"
    visibility so you can inherit from them (full definitions are not
    possible because that causes circular dependencies)
  -> the entire official JDK 1.5 interface, except for java.awt.Dialog
     (circular dependency with java.awt.Window) can now be generated using
    -a java.awt.Dialog -a sun. -a com.sun. -a apple. -protected java. javax. org.
    (on Mac OS X; the "-a apple." probably has to be changed into something
     else on other platforms)

git-svn-id: branches/jvmbackend@18409 -
2011-08-20 07:57:17 +00:00
Jonas Maebe
8199b2c6a9 * first version of javapp that can create a compilable Pascal import
unit for at least java.lang.*, java.util.* java.io.* and java.security.*,
    using the following command line paramters:
    -a sun. -a com.sun. -a javax. -protected java.lang. java.util. java.io. java.security. -o java_base

git-svn-id: branches/jvmbackend@18405 -
2011-08-20 07:56:58 +00:00
Jonas Maebe
367daf06ea + javap source code from JDK6, we be used to create javapp that
dumps Java classes in Pascal import unit format

git-svn-id: branches/jvmbackend@18404 -
2011-08-20 07:56:50 +00:00
Jonas Maebe
2e9e005647 * don't add a utils prefix when the target cpu is the JVM, because the
Jasmin assembler we use is a Java program, so the "assembler binary" is
    java itself (which is a native program for the current host in any case)

git-svn-id: branches/jvmbackend@18350 -
2011-08-20 07:50:08 +00:00
Jonas Maebe
94ed2ac649 + jvm/java target support
git-svn-id: branches/jvmbackend@18311 -
2011-08-20 07:37:42 +00:00
Jonas Maebe
cbb3e5700d * now also includes univint directory for Darwin if necessary, not sure
why it wasn't in the version committed int r18251

git-svn-id: trunk@18264 -
2011-08-18 18:09:33 +00:00
Jonas Maebe
f6fbc17463 * fpdoc depends on fcl-base
* fcl-base depends on univint for Darwin

git-svn-id: trunk@18251 -
2011-08-17 15:31:28 +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
pierre
68d61c69e7 * Only use OS_TARGET for TARGET_SUFFIX if target is in LIMIT83fs list
* Update fpcmake.inc

git-svn-id: trunk@18227 -
2011-08-16 20:06:52 +00:00
sekelsenmat
83b2948ec1 makeskel: Adds more output info in case of error and fixes compilation through Lazarus (by adding +)
git-svn-id: trunk@18219 -
2011-08-16 13:27:35 +00:00
michael
6b2a566fb1 * Override correct seek/setsize version (Patch by Chad B)
git-svn-id: trunk@18198 -
2011-08-13 19:15:20 +00:00
marco
043e9b2ec2 * Trunk version to 2.7.1
git-svn-id: trunk@18075 -
2011-08-03 13:59:33 +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
Jonas Maebe
b4328c71a6 * also mention ARM as supported architecture for mach-o
git-svn-id: trunk@18072 -
2011-08-02 22:14:52 +00:00
Jonas Maebe
b4a6e803d2 * fixed cosmetic error in help after r18070
git-svn-id: trunk@18071 -
2011-08-02 22:13:54 +00:00
Jonas Maebe
ec8c7b4888 + when compiling for Darwin/ARM, pass the subarchitecture to the linker.
The old linker option to accept object files from all subarchitecture
    types no longer works.
  + support for subarchitectures in fcl-res/fpcres

git-svn-id: trunk@18070 -
2011-08-02 20:41:39 +00:00
Mattias Gaertner
391f268bbb instantfpc: fixed compilation for 2.4.4
git-svn-id: trunk@18029 -
2011-07-28 06:56:40 +00:00
joost
08ee418513 * Reverted r17969, now fpmake distclean is implemented
git-svn-id: trunk@17986 -
2011-07-13 20:25:02 +00:00
joost
595eadccb6 * Do not cleanup fpmake executable on distclean anymore. To make it possible
to cleanup more than one target using distclean.
 * Added new fpmakeclean target to makefiles which does a cleanall and clears
the fpmake executables

git-svn-id: trunk@17969 -
2011-07-10 14:27:49 +00:00
joost
28fb5b21a3 * Always add -n when compiling fpmake when not cross-compiling
git-svn-id: trunk@17965 -
2011-07-09 16:08:06 +00:00
Mattias Gaertner
5ca0871033 instantfpc: example for mode directive
git-svn-id: trunk@17964 -
2011-07-09 08:40:27 +00:00
michael
6ad0a9cc26 * Improved interpretation of shebang line under linux. Added --set-cache argument
git-svn-id: trunk@17951 -
2011-07-07 19:03:08 +00:00
michael
718fc1ccd1 * Force .pas extension if extension not in .pas .pp .lpr
git-svn-id: trunk@17947 -
2011-07-06 20:16:45 +00:00
michael
31df8d516b * Allow .cgi as extension
git-svn-id: trunk@17946 -
2011-07-06 20:14:30 +00:00
michael
1726c0b14d * Force an extension on cache filename, so extension can be skipped in script name.
git-svn-id: trunk@17945 -
2011-07-06 19:47:47 +00:00
pierre
11b154b5d9 * Also for -Cg use for x86_64 solaris
git-svn-id: trunk@17818 -
2011-06-24 13:52:37 +00:00
florian
95b63aa583 * fix buildin on wince, resolves #19525
git-svn-id: trunk@17697 -
2011-06-08 17:43:28 +00:00
pierre
068b373015 * Fix to allow go32v2 compliation
git-svn-id: trunk@17670 -
2011-06-06 13:48:27 +00:00
joost
6f0e8bffcf * Do not pass -n when there is no cross-compilation.
git-svn-id: trunk@17654 -
2011-06-04 14:53:03 +00:00
joost
0e1f20773a * Move LoadCompilerDefaults and LoadGlobalDefaults to the fppkg package, so it can be used by other fppkg clients
git-svn-id: trunk@17652 -
2011-06-04 12:19:19 +00:00
joost
0cf1eeb45b * No need for the FPC_NATIVE define anymore. This define held the wrong
compiler for compiling fpmake and fpmkunit-bootstrap during cross-cpu
   compiles. (bug #19263) Now the proper compiler is determined by executing
   fpc -PB.

git-svn-id: trunk@17649 -
2011-06-03 11:35:38 +00:00
joost
b057c320da * Do not fail configfile generation when gcc is not found
* Give a nice warning when gcc is not executed properly

git-svn-id: trunk@17606 -
2011-05-29 20:37:25 +00:00
joost
898a4debca * When using a installed compiler to compile fpmake, do not pass -n to
the compiler. Bug #19412.

git-svn-id: trunk@17605 -
2011-05-29 19:58:21 +00:00
marco
3d86949990 * use new expression store for rvalue of constant declarations. Patch by Anton, Mantis 19403
git-svn-id: trunk@17543 -
2011-05-23 20:01:59 +00:00
joost
44a43c63da * Only export FPCFPMAKE when a suitable compiler is found, or else
it won't be detected when that compiler becomes available later in 
   the compile process. Bug #19263

git-svn-id: trunk@17500 -
2011-05-19 13:26:16 +00:00
michael
e99826618f * Moved fppkg units to package
git-svn-id: trunk@17446 -
2011-05-13 20:24:49 +00:00
michael
94cc1eef04 * Patch from Darius to fix 19348
git-svn-id: trunk@17440 -
2011-05-13 11:16:09 +00:00
joost
8847efb758 * To build fpmake while cross-compiling, use the compiler that is used
while cycling the compiler to build the native rtl. (bug 19263)

git-svn-id: trunk@17389 -
2011-05-01 16:48:56 +00:00
joost
b926c6984e * Added COMPILER_FPMAKE_UNITDIR to makefiles, with the path to the native
ppu's
 * When no native ppu's are found, search for them in the units_bs dir. So
   that it is possible to bootstrap fpmkunit

git-svn-id: trunk@17367 -
2011-04-25 14:34:12 +00:00
michael
d7f5842c2e * Wrong file extensions
git-svn-id: trunk@17365 -
2011-04-24 09:21:50 +00:00
michael
1f6695b28b * Added instantfpc
git-svn-id: trunk@17364 -
2011-04-24 09:20:35 +00:00
joost
a0f2ed6a13 * Added the FPCFPMAKE define which by default contains a compiler which
is build to compile for the target the system is running on. So that the
   fpmake files can be compiled for the native system while cross-compiling
 * Re-generated root and packages Makefile

git-svn-id: trunk@17356 -
2011-04-21 11:13:08 +00:00
florian
7f0d245ac2 * reintegrate avr branch into trunk, work on avr is less invasive than I thought so it can be continued in trunk
git-svn-id: trunk@17348 -
2011-04-19 20:17:52 +00:00
michael
cb3043b3a2 * Fixed 19068
git-svn-id: trunk@17235 -
2011-04-03 09:27:06 +00:00
joost
b67c3ad4c1 * Default fpcbin macro added
git-svn-id: trunk@17189 -
2011-03-27 12:28:06 +00:00
joost
538dd64283 * Use prefix instead of installation-dir
git-svn-id: trunk@17188 -
2011-03-27 12:27:44 +00:00
joost
739ea3720c * Do not show full path in backup-message
* Skip path-creation when output is set to stdout

git-svn-id: trunk@17186 -
2011-03-27 11:07:21 +00:00
joost
7b07c2906a * %CompilerConfigDir% macro added
* Use %CompilerConfigDir% macro in fppkg.cfg
 * Added -s and -p options to help-output
 * Mention the creation of a backup file
 * Initialize SkipBackup variable
 * Added -p option to force directory creation

git-svn-id: trunk@17182 -
2011-03-26 17:27:33 +00:00
joost
b99d819ad3 * Add dependency on fppkg.inc and default.inc
git-svn-id: trunk@17181 -
2011-03-26 17:23:05 +00:00