Commit Graph

226 Commits

Author SHA1 Message Date
pierre
fa5d11a3b8 Only add -Xr option if RLINKPATH variable is not empty
git-svn-id: trunk@47483 -
(cherry picked from commit ec11284222)
2024-10-02 10:07:29 +02:00
florian
896f33681f * patch from Debian packages by Paul Gevers, fixes spelling
(cherry picked from commit 19ff0fe9e5)
2022-03-04 22:52:30 +01:00
florian
cc53864fc8 * pass suitable sysroot to aarch64-darwin compiler, if none is supplied by SYSROOTPATH
(cherry picked from commit fe06cddbbf)

# Conflicts:
#	utils/fpcm/fpcmake.inc
2021-08-24 00:05:15 +02:00
Jonas Maebe
76045bfc04 * merged macOS/AArch64 support + revisions these changes depended on
git-svn-id: branches/fixes_3_2@46866 -
2020-09-15 19:40:36 +00:00
marco
9d4703335b --- Merging r44789 into '.':
U    utils/fpcm/fpcmake.ini
--- Recording mergeinfo for merge of r44789 into '.':
 U   .

# revisions: 44789
r44789 | jonas | 2020-04-18 17:44:49 +0200 (Sat, 18 Apr 2020) | 1 line
Changed paths:
   M /trunk/utils/fpcm/fpcmake.ini

  - removed FPC pre-2.1 optimization options

git-svn-id: branches/fixes_3_2@45870 -
2020-07-28 15:32:35 +00:00
marco
a2c770effc * fpcm and revision.inc merges.
git-svn-id: branches/fixes_3_2@41936 -
2019-04-25 13:22:25 +00:00
yury
0654857ce1 Merged aarch64-android, x86_64-android targets and fixes for the Android target.
Revision(s) 39739, 39749, 39860, 39862, 39865, 39869, 39871, 39903, 39905, 39917, 39956, 39959-39960, 39969, 39971, 39980, 39987, 40198-40201, 40472, 40532, 40535-40536 from trunk:
* Android: The list of supported syscalls has been auto-generated directly from android sources for each CPU.
* Minor adjustments to make all compilable with the proper list of Android syscalls.
........
* Re-generated lists of android syscalls by a new script. The lists are more correct now. The script's location: https://svn.freepascal.org/svn/fpcbuild/scripts/android
........
* Fixed UnhookSignal when RTL_SIGDEFAULT is passed. The bug have caused crash on aarch64-android due to out of bounds read of the rtlsig2ossig[] array.
........
+ Added support for the aarch64-android target.
........
* Set ICU data dir if it is not set by the system. It fixes issues on newer Android versions.
* Added more predefined ICU versions.
........
* android: Use the current dir as temp.
........
* Corrected TUContext record for aarch64-linux and aarch64-android. It fixes obtaining of an address of the instruction where a signal has thrown.
........
* Enabled safecall support for aarch64 to be on par with other cpus.
........
* Android: Reworked the startup code to use no assembly instructions. Generic assembler startup files contains only section data and are compiled for each CPU.
* Android: argc and argv are correct for shared libraries.
........
* Use syscall_nr_renameat for android.
........
+ added support for x86_64-android target.
........
+ Added the auto-generated list syscalls for mips64-android. It will be needed when mips64 is supported.
........
* x86_64-android requires sigreturn for proper signal handling.
........
* Register external gas assembler for aarch64-android and x86_64-android.
........
* Enabled compilation of the cpu unit for arm-android and x86_64-android.
........
* ucnv_open() must be called with some SSE exception masked on x86_64-android.
* Call u_init() during initialization.
........
* Create the ".note.gnu.build-id" section for android. It fixes debugging of shared libs in Android Studio.
........
* android: Removed cwstring from the uses clause of the unix unit. Use cwstring indirectly. It allows to avoid using cwstring if needed.
........
* ICU v3.8 on Android 1.5-2.1 is buggy and can't be unloaded properly.
........
* Fixed locale detection on new Android versions.
........
* Fixed obtaining a time zone information for 64-bit android.
........
* Since Android 8 the net.dnsX properties can't be read. Use Google Public DNS servers.

........
* android: Use libc for sockets since the "accept" syscall is blocked by SECCOMP, but the "accept4" alternative is not available on old Android versions (2.3 and older). 
........
* android: Regenerated syscalls.
........
* android: Disabled usage of the "pselect6" and "ppoll" syscalls for arm-android. These syscalls are not available on old Android versions (2.3 or older).
........

git-svn-id: branches/fixes_3_2@40540 -
2018-12-13 18:08:42 +00:00
pierre
9334eeaa7e --- Merging r39756 and r39757 into 'fixes_3_2' branch:
U    packages/fpmkunit/src/fpmkunit.pp
--- Recording mergeinfo for merge of r39756 into '.':
 U   .
U    utils/fpcm/fpcmake.inc
U    utils/fpcm/fpcmake.ini
--- Recording mergeinfo for merge of r39757 into '.':
 G   .
-------------------------------------------------------------------------
r39756 | pierre | 2018-09-14 16:06:27 +0200 (Fri, 14 Sep 2018) | 1 line

 Add AIXSharedLibExt to avoid failure on pas2js shared library installation for AIX OS
------------------------------------------------------------------------
------------------------------------------------------------------------
r39757 | pierre | 2018-09-14 16:07:38 +0200 (Fri, 14 Sep 2018) | 1 line

 Add SHAREDLIBEXT=.a for AIX OS to fpcmake.ini
------------------------------------------------------------------------

git-svn-id: branches/fixes_3_2@39766 -
2018-09-18 21:38:04 +00:00
pierre
e8c753dbd3 Add ppas and ppaslink scripts removal to fpc_clean and fpc_cleanall
git-svn-id: trunk@38745 -
2018-04-12 15:10:30 +00:00
florian
9f450419e9 * atari port uses 8.3 file names when storing units (atari/ instead of m68k-atari/
git-svn-id: trunk@37833 -
2017-12-27 15:06:58 +00:00
pierre
22df94492e Fix OS/2 rtl installation failure, due to double listing of static libraries in install rule
git-svn-id: trunk@37286 -
2017-09-21 06:38:28 +00:00
pierre
94ed85fa64 Follow-up to commit 35817: Extend do not accept $(FPCDIR)/units sub-directory existence to validate FPCDIR variable value
git-svn-id: trunk@35825 -
2017-04-18 06:30:42 +00:00
pierre
19148275db * Do not accept $(FPCDIR)/units sub-directory existence to validate FPCDIR variable value
git-svn-id: trunk@35817 -
2017-04-17 10:06:11 +00:00
pierre
bd45a4ecfa Remove obsolete packages/base and packages/extra in PACKAGESDIR variable
git-svn-id: trunk@35529 -
2017-03-06 10:29:58 +00:00
nickysn
11006c2b72 * set the proper file extensions for the i8086-embedded target
git-svn-id: trunk@34006 -
2016-06-18 00:45:34 +00:00
nickysn
b8b90f96a1 + added the win16 target to fpcmake
git-svn-id: trunk@31523 -
2015-09-05 10:15:10 +00:00
joost
a67a35c498 * Added the ability to add fpmake as a target in a Makefile.fpc file. This way
there is no special need anymore for complete scripts in the Makefile.fpc
   to call fpmake. And it is now possible to combine other targets with a
   fpmake-target.

git-svn-id: trunk@31240 -
2015-07-28 09:52:19 +00:00
Jeppe Johansen
353682db67 Enable SUBARCH directive for avr-embedded target.
git-svn-id: trunk@31032 -
2015-06-13 12:40:31 +00:00
florian
e4492a2926 + set suffixes and extensions for embedded targets
git-svn-id: trunk@30747 -
2015-05-01 14:44:53 +00:00
pierre
491fb0dcce Add -Cg option for mips and mipsel cpu's on unix-like systems
git-svn-id: trunk@29384 -
2015-01-04 15:29:48 +00:00
marco
2578514853 * first dragonfly patch (existing most). Mantis #27091
git-svn-id: trunk@29213 -
2014-12-07 20:27:02 +00:00
Károly Balogh
4431ba2c08 merged/updated AROS/i386 target to trunk from AROS branch, to support Marcus Sackrow's work on AROS support which will hopefully benefit all Amiga-like targets (classic, MorphOS) on the long run. Compiler only, RTL comes in the next run.
git-svn-id: trunk@28432 -
2014-08-17 18:18:07 +00:00
pierre
fcc7dc82fc Fix typo error in previous fpcmake.ini change
git-svn-id: trunk@27428 -
2014-04-01 15:38:27 +00:00
pierre
2161b5e2e4 Fix syntax error in previous fpcmake.ini change
git-svn-id: trunk@27426 -
2014-04-01 15:31:12 +00:00
pierre
b213d2624a Handle -sh option (generate script to link on host)
git-svn-id: trunk@27421 -
2014-04-01 15:09:26 +00:00
florian
b2b26f84cf * partially merged the mips-embedded branch of Michael Ring:
- startup code/controller units are not merged yet
  - assembler call does not pass the needed CPU type yet

git-svn-id: trunk@27188 -
2014-03-19 21:25:38 +00:00
yury
3eaecd07a6 * mipsel-android: Support in fpcmake.
git-svn-id: trunk@26692 -
2014-02-06 19:46:28 +00:00
florian
694ba6a702 * call strip on the COMPILER macro to make the output look more nicely
git-svn-id: trunk@26502 -
2014-01-18 10:19:54 +00:00
nickysn
07e3792801 + added NASM to the default tools in fpcmake.ini
git-svn-id: trunk@26097 -
2013-11-16 12:37:46 +00:00
nickysn
d89c286dc1 * changed the staticlibext for i8086-msdos to .a in fpcmake.ini as well
git-svn-id: trunk@25642 -
2013-10-05 10:05:03 +00:00
florian
0e41df598e * merge i8086 branch by Nikolay Nikolov
git-svn-id: trunk@24324 -
2013-04-25 20:23:51 +00:00
nickysn
0fe3bee97e * set STATICLIBPREFIX to empty for the msdos target in fpcmake.ini
git-svn-id: branches/i8086@24113 -
2013-04-01 17:27:28 +00:00
nickysn
f3690daf95 * set the msdos staticlibext (.lib) and short suffix (d16) in fpcmake.ini
git-svn-id: branches/i8086@24100 -
2013-03-31 23:20:06 +00:00
pierre
ab54fee4d8 Use ./ prefix for ppas on Unix systems
git-svn-id: trunk@23959 -
2013-03-22 22:17:11 +00:00
florian
b508be843a * BINUTILSPREFIX for i8086-msdos is msdos only
git-svn-id: branches/i8086@23935 -
2013-03-19 20:12:11 +00:00
florian
451c634532 * treat msdos as 8.3 target in the makefiles as the compiler does
git-svn-id: branches/i8086@23780 -
2013-03-10 18:19:52 +00:00
yury
b3862eb4b1 * Use standard Android NDK prefixes for binutils by default.
git-svn-id: trunk@23608 -
2013-02-13 17:35:55 +00:00
yury
3cd3b50104 * Fixed conflict of native android and java android targets.
git-svn-id: branches/targetandroid@23409 -
2013-01-16 14:46:02 +00:00
yury
d26f0552a0 * Sync with trunk r23404.
* Regenerated makefiles.

git-svn-id: branches/targetandroid@23405 -
2013-01-16 13:21:51 +00:00
florian
a365ae3631 + define BUILDFULLNATIVE and BUILDNATIVE for native builds
git-svn-id: trunk@22236 -
2012-08-24 21:15:28 +00:00
tom_at_work
4150f0a2fb Rebase with r21814
git-svn-id: branches/targetandroid@21815 -
2012-07-07 23:09:20 +00:00
florian
5966fcce74 * PIC does not require using the external assembler anymore
- removed 2.0.x-ism

git-svn-id: trunk@21116 -
2012-04-29 14:19:32 +00:00
tom_at_work
acbc94e0fd - initial support for the android/arm target in the compiler; resulting .so's can be used for Android/ARM app development.
- basic rtl support using system calls
- fp(c)make/fppkg/makefile support

todo:
- revisit systems/t_android.pas: mostly duplicate with t_linux.pas, containing
lots of unnecessary code
- revisit rtl changes
- android ndk header translation import
- better app build/packaging support
- android/x86 support

git-svn-id: branches/targetandroid@21061 -
2012-04-26 09:36:42 +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
b0e4263fee + aix support in fpcmake and fpmake
git-svn-id: trunk@20787 -
2012-04-11 17:59:59 +00:00
joost
994769cbe7 * Do not use the BINUTILSPREFIX when compiling fpmake files during a cross-
compile. It seems that CROSSBOOTSTRAP is never set(?)

git-svn-id: trunk@19951 -
2012-01-02 15:16:52 +00:00
marco
2087ab1508 * Remove upx support from makefiles.
git-svn-id: trunk@19917 -
2011-12-29 21:50:00 +00:00
Jonas Maebe
0d5b2b84a8 + Android/JVM target, including a translation of the Android r14 SDK
(= Android 4.0) java headers: java.*, javax.*, org.*, junit.*, android.*).
    The RTL can also be used to target earlier versions of the Android
    platform, but you manually have to take care of not using APIs that
    weren't available yet. Adding separate units for separate platform
    versions would only partly solve the problem, because some of the
    classes used inside the system unit have also changed across
    versions.

    Use -Tandroid while compiling to select the Android OS as target
    platform.

git-svn-id: branches/jvmbackend@19830 -
2011-12-12 02:34:34 +00:00
Jonas Maebe
271c028813 * set OEXT (.class) and ASMEXT (.j) for JVM target
git-svn-id: branches/jvmbackend@19746 -
2011-12-04 15:33:49 +00:00
florian
3abd84d8d2 * disable upx for win32, resolves #20772
git-svn-id: trunk@19745 -
2011-12-04 15:29:14 +00:00