Commit Graph

50 Commits

Author SHA1 Message Date
Thomas Pöchtrager
f4b0948abd Fix building GCC with 10.15 SDK 2019-09-14 11:38:18 +02:00
Thomas Pöchtrager
68bdbd9452 New:
* Added support for TAPIv3 stubs (including "zippering" target)
* Added support for MacOSX SDKs up to 10.14
* Added new SDK packaging script for SDKs that end with ".xip" (tools/gen_sdk_package_pbzx.sh <xcode.xip>) (tested up to Xcode 10.2.1)
* Updated cctools to 921 and ld64 to 409.12

Fixed:
* Implemented fix for https://github.com/tpoechtrager/osxcross/issues/171
* Implemented fix for https://github.com/tpoechtrager/osxcross/issues/178
* Implemented fix for https://github.com/tpoechtrager/osxcross/issues/182

Changed:
* cctools, ld64, apple-libtapi and xar are now "git clone"'d and no longer come with OSXCross.

Removed:
* Support for Cygwin and *BSD (besides FreeBSD)
* Support for building OSXCross with GCC
2019-06-01 19:57:44 +02:00
Thomas Pöchtrager
4640f61540 Various build_gcc.sh fixes (closes #121) 2017-08-13 23:42:37 +02:00
Thomas Pöchtrager
6c5ff4207e #120 2017-08-06 09:36:01 +02:00
Thomas Pöchtrager
474f359d2f Fix for #109
* Update xar to 1.6.1
* xar: Don't check for OpenSSL_add_all_ciphers()
2017-03-28 17:48:49 +02:00
Thomas Pöchtrager
5702a9ab39 Update cctools to 895 and ld64 to 274.2
Other changes:
* Add USE_CLANG_AS build.sh option
* build_clang.sh: Update Clang version to 3.9.1
* build_compiler_rt.sh: Adjustments for Clang 4.0 and Clang 5.0
2017-02-05 13:39:54 +01:00
Frederick Zhang
742c8e9610 patch darwin-driver.c to compile gcc 6.3.0
see https://gcc.gnu.org/viewcvs/gcc/trunk/gcc/config/darwin-driver.c?r1=244010&r2=244009&pathrev=244010
2017-01-28 20:24:46 +11:00
Thomas Pöchtrager
957825330d Update cctools-ld64-misc-fixes-2.patch 2016-10-29 20:37:50 +02:00
Thomas Pöchtrager
591f8c76d1 Misc cctools-port fixes
* Build cmpdylib & inout too
* Remove unused ld_classic sources
* ios-toolchain: Use llvm-dsymutil when possible
* Build ctf_insert & check_dylib binaries (fixes tpoechtrager/cctools-port/issues/24)
* Fix for tpoechtrager/cctools-port/issues/24
2016-10-29 19:48:48 +02:00
Thomas Pöchtrager
7a33b91a50 build_compiler_rt.sh: Add proper Clang 3.9 support 2016-09-23 21:35:16 +02:00
Thomas Pöchtrager
3536634878 Update cctools-ld64-cygwin-buildfix.patch 2016-09-22 20:22:43 +02:00
Thomas Pöchtrager
233b1d8860 Various Cygwin fixes (#87, #88) 2016-09-22 18:58:45 +02:00
Thomas Pöchtrager
3034f71497
cctools: Add missing LTO_SUPPORT ifdef 2016-08-13 18:36:34 +02:00
Thomas Pöchtrager
485c361bca
cctools / ld64: Misc fixes & Cleanup 2016-08-09 21:12:36 +02:00
Thomas Pöchtrager
a9317c18a3
Update cctools to 886 and ld64 to 264.3.102 2016-06-25 12:44:41 +02:00
Alice Atlas
20f8a924df Patch for cctools ranlib bug not yet fixed in this version
One behavior of cctools' libtool when invoked as ranlib is rotating archives of universal object files (such as those created by `clang -arch i386 -arch x86_64 -c ...`) into universal files containing per-architecture archives each containing single-architecture objects. From Xcode 7 until Xcode 7.3, whose cctools/ld64 are not yet open source, there was a bug where this would fail if any of the individual objects were LLVM bitcode objects rather than natively compiled ones, and incorrectly succeed with nonsensical results if such an archive contained members that were not recognizable object files at all. The fix is straightforward and this commit adds a patch to apply it while we wait for newer cctools sources to be released.
2016-05-30 22:50:07 +00:00
Thomas Pöchtrager
447e99777b Update cctools to 877.8 and ld64 to 253.9 2016-05-09 22:18:25 +02:00
Thomas Pöchtrager
c5ffd32171
GCC 6 build fix 2016-04-16 20:28:21 +02:00
Thomas Pöchtrager
672ee7a229 Add ld64 qsort_r patch (https://github.com/tpoechtrager/cctools-port/pull/19) 2016-03-29 20:35:47 +02:00
Thomas Pöchtrager
13240f3bd0 Fix for #67 2016-03-01 19:17:29 +01:00
Thomas Pöchtrager
a4e9a2aea8 Update cctools to 877.5 and ld64 to 253.3
This finally adds support for Xcode 7 / El Capitan.

With this commit I am also removing ld64-134.9 support.
I kept ld64-134.9 for users with an old C++ standard library.
A decent C++ standard library with C++11 support is now mandatory.
2015-10-24 17:50:27 +02:00
Thomas Pöchtrager
73e0b1587f Add GCC PR66035 patch 2015-10-04 18:58:46 +02:00
Thomas Pöchtrager
4debfb6b45 Make ld134.9 compile with old compilers 2015-08-29 13:38:08 +02:00
Thomas Pöchtrager
ac4ae7f079 cctools-ld64-epath.patch: diff against cctools:master instead of cctools:870-ld64-134.9
(while it doesn't really matter, the patch applies fine to both branches)
2015-07-19 23:37:17 +02:00
Thomas Pöchtrager
39b6994d97 minor fixes 2015-07-19 23:19:31 +02:00
Thomas Pöchtrager
29a5fee522 * add windows support via cygwin
* add openbsd and dragonfly support
* replace `` with $() in bash scripts
* misc other changes
2015-07-19 22:28:10 +02:00
Thomas Pöchtrager
6a35a0bf84 update cctools to 870 and ld64 to 242
OSXCross *should* now work on Linux ARM devices with this update.

Port changes:

* commit f7818cbf61074ea6fbb56de1b50c0973afe3428f
| Author: Thomas Pöchtrager
| Date:   Fri Jul 17 19:34:57 2015 +0200
|
|    add preliminary llvm-3.8 support
|
* commit 8482a95745f54062de974e65fdd28b0389f3c6a5
| Author: Thomas Pöchtrager
| Date:   Sat Jul 11 09:32:55 2015 +0200
|
|     * get rid of the openssl dependency
|     * make libuuid optional (based on http://git.io/vqbwu)
|
* commit a8e002367d64c5e3e3a195bba37aa1ccb306f897
| Author: Thomas Pöchtrager
| Date:   Sat Jul 11 08:45:49 2015 +0200
|
|     * undo unnecessary changes done by the original porter
|     * add cctools-port comments to changed code
|     * add codelite project
|
* commit 2b050dc41d1ae375a5af36b751d479be4513a6f3
| Author: Thomas Pöchtrager
| Date:   Tue Jun 23 19:31:00 2015 +0200
|
|     ios-toolchain: remove 'CC=cc' - just causes troubles
|
* commit f7f7c6180e5b7ae2897e3617e3475811c88a5173
| Author: Thomas Pöchtrager
| Date:   Sat May 30 15:51:27 2015 +0200
|
|     silence gcc 5.1 warnings
|
* commit 359b40b5bd40d86e0d1c9d40fb7bb2297130e903
| Author: Thomas Pöchtrager
| Date:   Sun Apr 19 21:33:15 2015 +0200
|
|     use KERN_PROC_ARGV instead of KERN_PROC_ENV
|
* commit 7a9b23fbb24c7250cb4caae2d97b79afbdefe503
| Author: Thomas Pöchtrager
| Date:   Sun Apr 19 20:35:01 2015 +0200
|
|     _NSGetExecutablePath() should now work properly on openbsd
|
* commit 47c29e6a7701a16268da57412a68e133818a32dd
| Author: Thomas Pöchtrager
| Date:   Sat Apr 11 18:34:58 2015 +0200
|
|     clang 3.6 miscompiles ld64 on armhf (even at -O0); enforce gcc on arm until
|     i can figure out what's going on there
|
|     probably related:
|     https://github.com/raspberrypi/linux/issues/766
|     https://github.com/tpoechtrager/cctools-port/issues/1#issuecomment-59118615
|
|     backtrace:
|
|     https://gist.github.com/tpoechtrager/d68c8352a3fd32165af4
|
* commit 5e5b511a3eebd3fa9ece49bead85a1be29a25dfb
| Author: Thomas Pöchtrager
| Date:   Thu Mar 19 21:28:44 2015 +0100
|
|     fix more potential -D_FORTIFY_SOURCE crashers
|
* commit 5098fc9f6dfba7eac18f5ae55b7e361314e0fb7b
| Author: Thomas Pöchtrager
| Date:   Thu Mar 19 21:14:13 2015 +0100
|
|     strip: don't crash with -D_FORTIFY_SOURCE enabled (ubuntu gcc)
|
* commit 268c3de73b173673dc9ae932ab802f42247570ff
| Author: Thomas Pöchtrager
| Date:   Wed Mar 18 21:29:21 2015 +0100
|
|     add arm to the tested host architectures
|
* commit ade8d819ad8fd2d04978a2da22e5efe06dc40dad
| Author: Thomas Pöchtrager
| Date:   Wed Mar 18 21:29:06 2015 +0100
|
|     ios-toolchain: set COMPILER_PATH
|
* commit 700c6fd644f78b9427163e9f444fc15f2c73ed28
| Author: Thomas Pöchtrager
| Date:   Wed Mar 18 20:28:27 2015 +0100
|
|     configure.ac: target_cpu -> host_cpu
|
* commit bf9ac6a2c5846af3c2112c483a612937d8e3a037
| Author: Thomas Pöchtrager <tpoechtrager@users.noreply.github.com>
| Date:   Sun Mar 15 22:43:36 2015 +0100
|
|     update README
|
* commit 253ec0ff238ebc3b359d7f4fe2edc38b0aa3e428
| Author: Thomas Pöchtrager
| Date:   Sun Mar 15 22:26:45 2015 +0100
|
|     typo
|
* commit 42109667d4b080bbc8091235c036ed418d369d13
| Author: Thomas Pöchtrager
| Date:   Sun Mar 15 22:21:16 2015 +0100
|
|     * linux ppc/ppc64 & arm/arm64/aarch64 port
|       (compiles now - everything else is *untested*)
|
|     other changes:
|
|     * rename 'machochecker' to 'machocheck'
|     * get rid of duplicate $CFLAGS
|     * fix a typo in the ios toolchain README
|     * package.sh: remove the autom4te.cache directory
|
* commit 0c32be78e979641095a92480786a621e65282b92
| Author: Thomas Pöchtrager
| Date:   Mon Mar 9 20:01:33 2015 +0100
|
|     misc fixes:
|     * fix gcc warnings (even though they are not my fault)
|     * fix a typo in include/foreign/i386/_types.h (__INT64_TYPE_ -> __INT64_TYPE__)
|     * fix the cygwin + clang<=3.4 build
|
* commit 3f00c16b0fce9a7a151a88114209f17a46711637
| Author: Thomas Pöchtrager
| Date:   Sun Mar 8 20:49:50 2015 +0100
|
|     be more precise about the gcc requirement
|
* commit 1b9a93057b856c92190f3f8d32e507539f4669cd
| Author: Thomas Pöchtrager
| Date:   Sun Mar 8 20:09:11 2015 +0100
|
|     update README
|
* commit 3cc1ba6fc7c862de258e7a29c840ea7d5eb04be1
| Author: Thomas Pöchtrager
| Date:   Sun Mar 8 17:47:09 2015 +0100
|
|     * windows (cygwin), openbsd and dragonflybsd port
|     * gcc compiler support
|     * add --with-llvm-config option
|     * fix 'ld: malformed 32-bit x.y.z version number: 3.19.0-7-generic'
|
* commit 7a2d21ca7f4e42c70c8ff85ec3e37ac6ef9d0de7
| Author: Thomas Pöchtrager
| Date:   Tue Feb 24 21:58:10 2015 +0100
|
|     map -> version-script
|
* commit 5135fb2541876f0af185589890f9e21b98ceb39c
| Author: Thomas Pöchtrager
| Date:   Tue Feb 24 21:49:55 2015 +0100
|
|     an attempt to fix the otool disassembler
|
* commit 219f5f53ea42361ccb2c75bed311f1d57ce68966
| Author: Thomas Pöchtrager
| Date:   Mon Feb 23 21:32:47 2015 +0100
|
|     ar, lipo, otool (etc.) should also be linked with -rpath for libLTO
|
* commit 1efff3733f1cb483b27e18d6d14cd7ccf5571627
| Author: Thomas Pöchtrager
| Date:   Mon Feb 23 21:32:11 2015 +0100
|
|     add support for llvm 3.7
|
* commit 8b6beadd337ac7e5d1d58d438e9afcd5165d1200
| Author: Thomas Pöchtrager
| Date:   Mon Feb 23 21:31:34 2015 +0100
|
|     silence/fix -Wabsolute-value warnings
|
* commit 59d21d2c793c51d205c8b4ab14b9b28e63c72445 (tag: 862-ld64-241.9-2)
| Author: Thomas Pöchtrager
| Date:   Sun Dec 28 18:09:43 2014 +0100
|
|     ios-toolchain: build.sh: ignore 'git clean' return status
|
* commit 3d198530ae4c031e904f29414c7c46ac547d90b7
| Author: Thomas Pöchtrager
| Date:   Sun Dec 28 17:48:45 2014 +0100
|
|     ios-toolchain: take care of IPHONEOS_DEPLOYMENT_TARGET (env)
|
* commit 23658f2f20778374b43dcd80717b4f47845c2297
| Author: Thomas Pöchtrager
| Date:   Sun Dec 28 17:48:28 2014 +0100
|
|     the ios 8.1 sdk has mach_vm_trunc_page and mach_vm_round_page already defined
|
* commit 70b87ceec059f632641b41dfd2d9e63dbd069a0c
| Author: Thomas Pöchtrager
| Date:   Sat Dec 27 12:33:50 2014 +0100
|
|     ios-toolchain: cleanup
|
* commit 9c0f520110f7f57a1060ac66329c55f8f71ecd8c
| Author: Thomas Pöchtrager
| Date:   Sat Dec 27 12:25:26 2014 +0100
|
|     ios-toolchain: use -mlinker-version=241.9 in the 241.9 branch
|
* commit 8b0cbdaf820ee40fcb1e2e209cb6f858ffb8aa90
| Author: Thomas Pöchtrager
| Date:   Sat Dec 27 12:00:19 2014 +0100
|
|     strchr -> strrchr
|
* commit e9f701822aa209cf435c4b26eb4c7ab01001f5cb
| Author: Thomas Pöchtrager
| Date:   Sat Dec 27 11:47:02 2014 +0100
|
|     add scripts / wrapper to build a simple ios toolchain
|
* commit cf456225d3551a8782c5222133455bb9139ecad5
| Author: Thomas Pöchtrager
| Date:   Fri Dec 26 10:55:34 2014 +0100
|
|     define _GNU_SOURCE for strnlen()
|
* commit 211fe3927f5d6c132d72164e898d146fcdf7577e
| Author: sezero <sezero@users.noreply.github.com>
| Date:   Wed Dec 24 12:20:01 2014 +0200
|
|     autogen.sh fixes: run libtoolize 'after' creating the m4 directory. run aclocal with '-I m4' switches.
|
* commit a4f9fd8ad09cafb94bf465ae4e914f086458e5cc
| Author: Thomas Pöchtrager <tpoechtrager@users.noreply.github.com>
| Date:   Wed Dec 24 11:35:37 2014 +0100
|
|     Update README.md
|
* commit 2201b7b4cbc3a3b29aa7d8e7ccf2576f1847a3e6
| Author: Thomas Pöchtrager
| Date:   Fri Nov 21 22:58:16 2014 +0100
|
|     add '-L/usr/pkg/lib' for NetBSD
|
* commit a303cc27ace751059caa27a34e5d9ae5cd0825ac
| Author: Thomas Pöchtrager
| Date:   Fri Nov 21 22:10:18 2014 +0100
|
|     update README
|
2015-07-17 23:25:59 +02:00
Thomas Pöchtrager
69d275877b an attempt to fix the otool disassembler 2015-02-24 22:16:29 +01:00
Thomas Pöchtrager
133a61d75a osxcross-env is also no longer needed 2015-02-24 21:19:27 +01:00
Thomas Pöchtrager
49bc9aa407 ar, lipo, otool (etc.) should also be linked with -rpath for libLTO 2015-02-23 21:15:19 +01:00
Thomas Pöchtrager
736d20921d silence/fix -Wabsolute-value warnings 2015-02-23 21:07:29 +01:00
Thomas Pöchtrager
9264fa6ead work around a recent clang change 2015-02-17 19:51:17 +01:00
Thomas Pöchtrager
d6e191f24c make cctools / ld64 work properly with glibc < 2.10
https://github.com/tpoechtrager/cctools-port/pull/8
2014-12-26 11:26:43 +01:00
Thomas Pöchtrager
e5d9db7ed0 update cctools to 862 and ld64 to 241.9
port changes:
- misc fixes
- add '-L/usr/pkg/lib' for NetBSD
- update libobjc2 to r37977
- silence / fix libobjc2 warnings
- remove freebsd ifdef in favor of '-isystem /usr/local'
- add installhdrs target (cctools-port/issues/2)
- prefer glibtoolize over libtoolize
- add support for OS X and iOS as host system (cctools-port/issues/1)
- add a workaround for a glibc 2.20 bug
- link with -rpath to ease finding libLTO
- check for __cxa_demangle in -lstdc++
- use std=c++0x instead of -std=gnu++0x
- fix ld64 to compile with libstdc++
- fix automake warnings
- ld64: enable all architectures

This also gets rid of the automake dependency.
2014-11-21 23:06:01 +01:00
Thomas Pöchtrager
f1c5d5368d add a workaround for a glibc 2.20 bug 2014-09-11 00:58:44 +02:00
Thomas Pöchtrager
6c06a15b42 cctools: don't overwrite LD_LIBRARY_PATH 2014-07-05 11:39:36 +02:00
Thomas Pöchtrager
dce760ab01 cctools: check for __cxa_demangle in -lstdc++ 2014-06-20 11:14:06 +02:00
Thomas Pöchtrager
523f4cd77c fix compiling ld64 with libc++ 2014-05-10 17:30:13 +02:00
Thomas Pöchtrager
c57030bc98 use -std=c++0x instead of -std=gnu++0x
as -std=gnu++0x seems to break compiling ld64 on some systems
2014-05-10 17:05:58 +02:00
Thomas Pöchtrager
4a685dbe73 cctools 855 + ld64 236.3
also add 'cctools 855 + ld64 134.9' as fallback for systems without
an up-to-date C++ standard library
2014-05-10 16:17:16 +02:00
Thomas Pöchtrager
1eac22f6da get libstdc++ mutex header working with clang + -oc-use-gcc-libs + -mmacosx-version-min= < 10.7 2014-04-23 19:31:49 +02:00
Thomas Pöchtrager
8b7886350a gcc 4.8.2 -> 4.9.0
add a patch to make -oc-use-gcc-libs more friendly to use
2014-04-22 21:17:15 +02:00
Thomas Pöchtrager
e34da881ff misc wrapper changes:
- Machine -> Arch
- 'osxcross-conf': add missing OSXCROSS_VERSION
- error out on invald '-stdlib=' value
- add 'osxcross' util which can be used to check
  for an OSXCross installation
- fix 'libLTO.so: cannot open shared object file'
- listFiles(): windows implementation
- cleanup

get_dependencies.sh:
- debian: add --force-yes

add a patch to support some older linux dists
(such as debian squeeze)
2014-04-17 20:51:16 +02:00
Thomas Pöchtrager
a829f523b8 support NetBSD (https://github.com/tpoechtrager/osxcross/issues/7)
bump version (0.5 -> 0.6)
update CHANGELOG
misc adjustments
2014-03-26 20:39:20 +01:00
Thomas Pöchtrager
99a8ee449f add a no-op dsymutil shell script to bypass dsymutil invocation errors in a more simple way (fixes https://github.com/tpoechtrager/osxcross/issues/1)
remove the gcc dsymutil patch (no longer needed)
2014-03-26 20:32:55 +01:00
Thomas Pöchtrager
2a4842f3cc add libc++ build script
update README with libc++ build instructions and samples
fix mavericks SDK download link (pointed to 10.8)
build xar only for <=10.5
add -g0 to the clang invocation command to avoid dsymutil from being run (debugging is not supported, but I guess you don't want to debug the resulting binaries anyway if you build them on a non OS X system)
attempt to make the toolchain less path dependent (gcc still breaks though, because of hardcoded paths), but clang and cctools can be moved now
update cctools to 845
add DISABLE_LTO_SUPPORT option (DISABLE_LTO_SUPPORT=1 ./build.sh) to disable linking against libLTO.so
add support for 32 bit systems
add FreeBSD support
update PACKAGE script
2014-03-26 20:32:55 +01:00
Thomas Pöchtrager
2c0cb38fbe more portable way to find the llvm lto.h header
should now support llvm 3.2-3.5
2014-03-26 20:32:30 +01:00
Thomas Pöchtrager
d502ab0138 use a nifty preprocessor trick to workaround the __block issue in unistd.h
get rid of the  || exit 1  in build.sh by using  set -e
2014-03-26 20:29:50 +01:00
Thomas Pöchtrager
55ae02b117 support building a gcc as well
rename the project to osxcross
bump version to 0.4
2014-03-26 20:29:50 +01:00
Thomas Pöchtrager
2e957af35c initial commit 2014-03-26 20:28:13 +01:00