summaryrefslogtreecommitdiff
path: root/xcomp
Commit message (Collapse)AuthorAgeFilesLines
* Update copyright yearErlang/OTP2022-03-091-1/+1
|
* Merge branch 'wojtekmach/wm-xcomp-darwin' into maintRickard Green2022-01-251-0/+282
|\ | | | | | | | | | | * wojtekmach/wm-xcomp-darwin: Correction of info in erl-xcomp-aarch64-darwin.conf xcomp: Add aarch64-darwin
| * Correction of info in erl-xcomp-aarch64-darwin.confRickard Green2022-01-251-2/+1
| |
| * xcomp: Add aarch64-darwinWojtek Mach2021-11-291-0/+283
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Below [1] is a script to cross-compile OpenSSL & OTP for aarch64-darwin. A couple of notes however: 1. Wx cannot be cross-compiled yet: > ``` > ********************************************************************* > ********************************************************************* > ********************** APPLICATIONS INFORMATION ******************* > ********************************************************************* > > wx : Cross compilation of the wx driver is not supported yet, wx will NOT be usable > ``` 2. Erlang shell successfully starts: $ uname -sm Darwin arm64 $ ./bin/erl Erlang/OTP 24 [erts-12.1.5] [source-df1294f108] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] Eshell V12.1.5 (abort with ^G) 1> 3. But crypto is not working yet: ./bin/erl Erlang/OTP 24 [erts-12.1.5] [source-df1294f108] [64-bit] [smp:8:8] [ds:8:8:10] [async-threads:1] Eshell V12.1.5 (abort with ^G) 1> crypto:start(). =ERROR REPORT==== 29-Nov-2021::14:50:14.218776 === Unable to load crypto library. Failed with error: "load_failed, Failed to load NIF library: 'dlopen(/Users/wojtek/Downloads/otp-24.1.7-aarch64-darwin/lib/crypto-5.0.4/priv/lib/crypto.so, 2): no suitable image found. Did find: /Users/wojtek/Downloads/otp-24.1.7-aarch64-darwin/lib/crypto-5.0.4/priv/lib/crypto.so: mach-o, but wrong filetype /Users/wojtek/Downloads/otp-24.1.7-aarch64-darwin/lib/crypto-5.0.4/priv/lib/crypto.so: stat() failed with errno=35'" OpenSSL might not be installed on this system. =WARNING REPORT==== 29-Nov-2021::14:50:14.222040 === The on_load function for module crypto returned: {error,{load_failed,"Failed to load NIF library: 'dlopen(/Users/wojtek/Downloads/otp-24.1.7-aarch64-darwin/lib/crypto-5.0.4/priv/lib/crypto.so, 2): no suitable image found. Did find:\n\t/Users/wojtek/Downloads/otp-24.1.7-aarch64-darwin/lib/crypto-5.0.4/priv/lib/crypto.so: mach-o, but wrong filetype\n\t/Users/wojtek/Downloads/otp-24.1.7-aarch64-darwin/lib/crypto-5.0.4/priv/lib/crypto.so: stat() failed with errno=35'"}} ** exception error: undefined function crypto:start/0 [1] the script: ``` set -e main() { export MAKEFLAGS=-j$(getconf _NPROCESSORS_ONLN) openssl_vsn=1.1.1l otp_vsn=$(cat OTP_VERSION) target=aarch64-darwin openssl_dir="$PWD/tmp/openssl-$openssl_vsn-$target" otp_dir="$PWD/tmp/otp-$otp_vsn-$target" mkdir -p tmp if [ ! -d "$openssl_dir" ]; then build_openssl $openssl_dir $openssl_vsn $target fi export PATH=$openssl_dir/bin:$PATH echo "openssl" file `which openssl` echo if [ ! -d $otp_dir ]; then build_otp $otp_dir $otp_vsn $target $openssl_dir fi (cd $otp_dir && ./Install -sasl $PWD) export PATH=$otp_dir/bin:$PATH echo "otp" file `which erlc` file $otp_dir/lib/crypto-*/priv/lib/crypto.so # erl +V # erl -noshell -eval 'ok = crypto:start(), io:format("crypto ok~n"), halt().' echo } build_openssl() { dir=$1 vsn=$2 target=$3 if [ "$target" = "x86_64-darwin" ]; then openssl_target=darwin64-x86_64-cc fi if [ "$target" = "aarch64-darwin" ]; then openssl_target=darwin64-arm64-cc fi cd tmp if [ ! -d openssl-$vsn-src ]; then url=https://www.openssl.org/source/openssl-$vsn.tar.gz echo "downloading $url" curl --fail -LO $url tar -xf openssl-$vsn.tar.gz mv openssl-$vsn openssl-$vsn-src fi cd openssl-$vsn-src ./Configure \ $openssl_target \ --prefix=$dir make make install_sw cd ../.. } build_otp() { dir=$1 vsn=$2 target=$3 openssl_dir=$4 cwd=$PWD # path to OTP git checkout. Comment-out if you want to download it. otp_src_dir=$HOME/src/otp if [ ! -d "$otp_src_dir" ]; then cd tmp url="https://github.com/erlang/otp/releases/download/OTP-${vsn}/otp_src_${vsn}.tar.gz" echo "downloading $url" curl --fail -LO $url tar -xf otp_src_${vsn}.tar.gz cd otp_src_${vsn} fi export ERL_TOP=`pwd` ./otp_build configure \ --disable-dynamic-ssl-lib \ --with-ssl=$openssl_dir \ --xcomp-conf=xcomp/erl-xcomp-$target.conf ./otp_build boot -a ./otp_build release -a $dir cd $cwd } main ```
* | Update copyright yearRickard Green2021-12-1511-11/+11
|/
* Simplify configuration of cross-compiling to Android x86_64Paulo F. Oliveira2021-01-111-0/+280
|
* otp: Remove HiPE and HiPE-related accessoriesJohn Högberg2020-11-094-4/+4
|
* Remove remaining VxWorks supportRickard Green2020-02-201-268/+0
|
* erts: Allow 32-bit Android cross compilation to target Android 4.1 Jelly BeanJérôme de Bretagne2019-11-061-1/+1
| | | | | | | sys/timerfd.h was added in Android 4.4 KitKat so guard its usage when targeting earlier Android versions with the Android NDK Unified Headers. Update the 32-bit Android documentation accordingly.
* erts: Allow Android cross compilation to target Android 5.0 LollipopJérôme de Bretagne2019-11-062-2/+2
| | | | | | | if_nameindex and if_freenameindex were added in Android 7.0 Nougat so guard their usages when targeting earlier Android versions. Update the Android documentation accordingly.
* Fix Android compilation to support newer Android NDK versionsJérôme de Bretagne2019-10-302-12/+323
| | | | | | | | | | | | | | | | | | | | Switch to use the Unified Headers introduced in Android NDK r14 optionnally and made mandatory since Android NDK r16 with the remove of the older headers. Switch to Clang for Android compilation, with GCC being deprecated in Android NDK r16 and then fully removed in Android NDK r18b. Add the default -g -O2 options to CFLAGS for Android as a -O option is required since commit cc21219185d7ff90b5d3d09cae896082d7627ea9. Fix ERL-1081: Move to dynamic linking, to avoid missing symbol errors due to an incompatibility between Autoconf (AC_CHECK_FUNCS) and the Android NDK. Add a new Android cross-compile configuration for 64-bit ARMv8-A. Update the documentation about how to cross compile for Android.
* erts: Allow code_model_small to be set in xcomp settingLukas Larsson2018-12-032-1/+6
| | | | OTP-15473
* Add conf file for cross compilation to Raspberry Pi 3Péter Dimitrov2018-05-021-0/+276
|
* ose: Remove all code related to the OSE portLukas Larsson2015-07-103-664/+1
| | | | | | The OSE port is no longer supported and this commit removed it and any changes related to it. The things that were general improvements have been left in the code.
* Change license text to APLv2Bruce Yinhe2015-06-1813-118/+131
|
* Modify the xcomp file for ARM and enable more flagsPeter Andersson2015-03-131-8/+9
|
* update ppc xcomp fileZandra Hird2015-02-231-14/+14
|
* Merge branch 'lukas/ose/master-17.0/OTP-11334'Lukas Larsson2014-03-272-3/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lukas/ose/master-17.0/OTP-11334: ose: Fix erts assert failed printouts ose: fix for packet_bytes in fd/spawn driver. ose: Prepare slave for running on OSE ose: Fix bug when hunting for signal proxy ose: Implement tcp inet driver for OSE ose: Add ifdefs for HAVE_UDP ose: Yielding has to be done differently for background processes. ose: Print faults in aio sys driver calls ose: Prinout errno when to_erl read fails ose: erlang display goes to ramlog printf ose: Initiate stdin/stdout/stderr ose: Break lmconf into one per load module ose: Reset busy port when pdq empty ose: Restore the owner of the signal
| * ose: Break lmconf into one per load moduleLukas Larsson2014-03-262-3/+9
| |
* | Raspberry PI / Android a minimal cross-compile configurationDmitry Kolesnikov2014-03-211-0/+264
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Enable a cross compile Erlang/OTP platform to Android or Raspberry PI using Android NDK. Port emulator and core application to support target HW platform. Exclude any add-on services required for OTP platform deployment into target hardware due to device fragmentation and jail-break requirements. * fix erts/emulator/beam/sys.h Disable redefinition of __noreturn macro * port erts/emulator/sys/unix/erl_child_setup.c Use techniques proposed by https://code.google.com/p/erlang4android to access system properties * fix erts/emulator/sys/unix/erl_unix_sys_ddll.c The static linking of emulator cannot find dlerror(), dlopen() symbols * port erts/emulator/sys/unix/sys.c make path to shell configurable at build time * port erts/etc/common/Makefile.in disable librt for *-linux-androideabi * port erts/lib_src/pthread/ethread.c Use techniques proposed by https://code.google.com/p/erlang4android to disable emulator crash if kernel threads are on. Replace unreliable pthread_sigmask() by sigprocmask() * port lib/erl_interface/src/connect/ei_connect.c Disable call to undefined gethostid() * port lib/erl_interface/src/connect/ei_resolve.c Use gethostbyname_r() on Android platform
* Let xcomp/README.md refer to HOWTO/INSTALL-CROSS.mdRickard Green2014-02-261-573/+2
|
* ose: Use -O2 when buildingLukas Larsson2014-02-241-1/+1
|
* ose: Fix support for cryptoLukas Larsson2014-02-241-4/+20
| | | | | To enable it you have to modify the OSESSL variable in the ose xcomp file.
* ose: Disable non-ose relevant appsLukas Larsson2014-02-241-1/+3
|
* ose: Add xcomp env variables to OSE xcompRobert Paal2014-02-241-5/+26
| | | | | Use these to switch inbetween debug and non-debug emulators and 4.4.3 and 4.6.3 versions of gcc.
* ose: Fix various build environment issuesLukas Larsson2014-02-242-1/+8
|
* ose: Add link conf for gcc 4.4.3Lukas Larsson2014-02-241-2/+2
|
* ose: Use the swfp when compiling for OSELukas Larsson2014-02-241-4/+4
| | | | | | The hwfp has been tested as well and seem to work, but most processors that OSE will run on does not have a fpu.
* Added support for ENEA OSELukas Larsson2014-02-244-1/+629
| | | | | | | | This port has support for both non-smp and smp. It contains a new way to do io checking in which erts_poll_wait receives the payload of the polled entity. This has implications for all linked-in drivers.
* Cross-compilation fix for TileraMDE-3.0.1.125620Motiejus Jakštys2013-12-151-0/+1
| | | | | | | | -OPT:Olimit=0 -WOPT:lpre=off:spre=off:epre=off tile-gcc 4.4.3 does not accept these options: cc1: error: unrecognized command line option "-WOPT:lpre=off:spre=off:epre=off"
* Merge branch 'henrik/xcomp-arm' into maintHenrik Nord2013-11-121-0/+259
|\
| * add erl-xcom-arm-linux.confHenrik Nord2013-11-121-0/+259
| |
* | erts: Add max alignment posix_memalign configure checkLukas Larsson2013-11-012-1/+7
|/ | | | | | On some OSs posix_memalign exists, but it does not allow for alignment greater than the current page size. So we have to do a runtime check for alignment size and also add cross compile options.
* Add an xcomp file for Blue Gene/QKostis Sagonas2013-02-141-0/+272
|
* Update for new version of ppc compilation chainLukas Larsson2012-10-221-8/+8
| | | | | | New prefix for command line utils Disable morecore hook as it does not work with new cross chain
* Update copyright yearsBjörn-Egil Dahlberg2012-08-318-8/+8
|
* Merge branch 'msp/double_middle_endian/OTP-10209' into maintLukas Larsson2012-08-248-1/+59
|\ | | | | | | | | | | | | | | * msp/double_middle_endian/OTP-10209: Configure now assumed normal doubles Revise the autoconf tests for double middle endianness. Add test for floating-point output to float_SUITE. Unbreak floating point on middle-endian machines.
| * Configure now assumed normal doublesLukas Larsson2012-08-241-7/+3
| |
| * Unbreak floating point on middle-endian machines.Mike Sperber2012-03-238-1/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | On some ARMs (and maybe other platforms), doubles are stored with the the two 32-bit words reversed with respect to more common architectures. The symptom is this: > io_lib:write(1.0). "0.000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005299808824" Detect that and account for it when decoding floats.
* | Add powerpc dso xcomp fileLukas Larsson2012-08-151-0/+258
| |
* | Update cross build system for tests to workLukas Larsson2012-05-021-0/+32
| | | | | | | | | | ts has been fixed to again work in a cross build environment. See ts:help() and xcomp/README.md for details about how it works.
* | Update copyright yearsBjörn-Egil Dahlberg2012-03-301-1/+1
|/
* Update xcomp config for AVR32/buildroot-v3.0.0smithwinston2011-11-021-2/+2
| | | | | | | | With Atmel's recent buildroot-v3.0.0 release for AVR32, some changes were needed in order to properly cross compile Erlang/OTP for the platform. Tested with R14B04 on a mk I NGW100.
* OTP-8541 Add erl-xcomp-mips-linux.confRickard Green2010-06-011-0/+258
| | | | | Added cross configuration file for mips-linux. (Thanks to Matthias Lang for the configuration)
* OTP-8512 Add Erlangish MarkDown to Erlangish XML supportRickard Green2010-03-221-72/+89
| | | | | The INSTALL.md, INSTALL-CROSS.md, and INSTALL-WIN32.md "readme files" are now included in both the HTML and the PDF documentation.
* OTP-8449 Documentation improvements.Rickard Green2010-02-181-1/+8
| | | | | | | | | | | | | | The most important "readme" files now use Markdown notation. HTML versions of these files are now also automatically generated and included in the HTML documentation. - Building and Installing Erlang/OTP - $ERL_TOP/INSTALL.md (previously known as $ERL_TOP/README). - Cross Compiling Erlang/OTP - $ERL_TOP/INSTALL-CROSS.md. - How to Build Erlang/OTP on Windows - $ERL_TOP/INSTALL-WIN32.md (previously known as $ERL_TOP/README.win32).
* OTP-8457 Minor documentation fixes. Mainly anchor adjustments.Rickard Green2010-02-171-1/+1
|
* OTP-8449 Documentation improvements.Rickard Green2010-02-161-1/+1
| | | | | | | | | | | | | | The most important "readme" files now use Markdown notation. HTML versions of these files are now also automatically generated and included in the HTML documentation. - Building and Installing Erlang/OTP - $ERL_TOP/INSTALL.md (previously known as $ERL_TOP/README). - Cross Compiling Erlang/OTP - $ERL_TOP/INSTALL-CROSS.md. - How to Build Erlang/OTP on Windows - $ERL_TOP/INSTALL-WIN32.md (previously known as $ERL_TOP/README.win32).
* OTP-8323 Cross compilation improvements and other build systemRickard Green2010-02-156-1049/+1062
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | improvements. Most notable: Lots of cross compilation improvements. The old cross compilation support was more or less non-existing as well as broken. Please, note that the cross compilation support should still be considered as experimental. Also note that old cross compilation configurations cannot be used without modifications. For more information on cross compiling Erlang/OTP see the $ERL_TOP/INSTALL-CROSS.md file. Support for staged install using <url href="http://www.gnu.org/prep/standards/html_node/DESTDIR.html">D ESTDIR</url>. The old broken INSTALL_PREFIX has also been fixed. For more information see the $ERL_TOP/INSTALL.md file. Documentation of the release target of the top Makefile. For more information see the $ERL_TOP/INSTALL.md file. make install now by default creates relative symbolic links instead of absolute ones. For more information see the $ERL_TOP/INSTALL.md file. $ERL_TOP/configure --help=recursive now works and prints help for all applications with configure scripts. Doing make install, or make release directly after make all no longer triggers miscellaneous rebuilds. Existing bootstrap system is now used when doing make install, or make release without a preceding make all. The crypto and ssl applications use the same runtime library path when dynamically linking against libssl.so and libcrypto.so. The runtime library search path has also been extended. The configure scripts of erl_interface and odbc now search for thread libraries and thread library quirks the same way as erts do. The configure script of the odbc application now also looks for odbc libraries in lib64 and lib/64 directories when building on a 64-bit system. The config.h.in file in the erl_interface application is now automatically generated in instead of statically updated which reduces the risk of configure tests without any effect. (Thanks to Henrik Riomar for suggestions and testing) (Thanks to Winston Smith for the AVR32-Linux cross configuration and testing)
* Merge branch 'ws/cross-compile-configuration' into ccase/r13b04_devErlang/OTP2010-02-101-0/+262
|\ | | | | | | | | * ws/cross-compile-configuration: Add cross-compile configuration for Atmel AVR32-Linux (NGW100)