doc/building.md
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File open Sdiff doc

doc/building.md

Print this page




1063 Architectures that are known to successfully cross-compile like this are:
1064 
1065   Target        `CC`                      `CXX`                       `--arch=...` `--openjdk-target=...`
1066   ------------  ------------------------- --------------------------- ------------ ----------------------
1067   x86           default                   default                     i386         i386-linux-gnu
1068   armhf         gcc-arm-linux-gnueabihf   g++-arm-linux-gnueabihf     armhf        arm-linux-gnueabihf
1069   aarch64       gcc-aarch64-linux-gnu     g++-aarch64-linux-gnu       arm64        aarch64-linux-gnu
1070   ppc64el       gcc-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu   ppc64el      powerpc64le-linux-gnu
1071   s390x         gcc-s390x-linux-gnu       g++-s390x-linux-gnu         s390x        s390x-linux-gnu
1072 
1073 Additional architectures might be supported by Debian/Ubuntu Ports.
1074 
1075 ### Building for ARM/aarch64
1076 
1077 A common cross-compilation target is the ARM CPU. When building for ARM, it is
1078 useful to set the ABI profile. A number of pre-defined ABI profiles are
1079 available using `--with-abi-profile`: arm-vfp-sflt, arm-vfp-hflt, arm-sflt,
1080 armv5-vfp-sflt, armv6-vfp-hflt. Note that soft-float ABIs are no longer
1081 properly supported by the JDK.
1082 
1083 The JDK contains two different ports for the aarch64 platform, one is the
1084 original aarch64 port from the [AArch64 Port Project](
1085 http://openjdk.java.net/projects/aarch64-port) and one is a 64-bit version of
1086 the Oracle contributed ARM port. When targeting aarch64, by the default the
1087 original aarch64 port is used. To select the Oracle ARM 64 port, use
1088 `--with-cpu-port=arm64`. Also set the corresponding value (`aarch64` or
1089 `arm64`) to --with-abi-profile, to ensure a consistent build.
1090 
1091 ### Verifying the Build
1092 
1093 The build will end up in a directory named like
1094 `build/linux-arm-normal-server-release`.
1095 
1096 Inside this build output directory, the `images/jdk` will contain the newly
1097 built JDK, for your *target* system.
1098 
1099 Copy these folders to your *target* system. Then you can run e.g.
1100 `images/jdk/bin/java -version`.
1101 
1102 ## Build Performance
1103 
1104 Building the JDK requires a lot of horsepower. Some of the build tools can be
1105 adjusted to utilize more or less of resources such as parallel threads and
1106 memory. The `configure` script analyzes your system and selects reasonable
1107 values for such options based on your hardware. If you encounter resource
1108 problems, such as out of memory conditions, you can modify the detected values
1109 with:
1110 




1063 Architectures that are known to successfully cross-compile like this are:
1064 
1065   Target        `CC`                      `CXX`                       `--arch=...` `--openjdk-target=...`
1066   ------------  ------------------------- --------------------------- ------------ ----------------------
1067   x86           default                   default                     i386         i386-linux-gnu
1068   armhf         gcc-arm-linux-gnueabihf   g++-arm-linux-gnueabihf     armhf        arm-linux-gnueabihf
1069   aarch64       gcc-aarch64-linux-gnu     g++-aarch64-linux-gnu       arm64        aarch64-linux-gnu
1070   ppc64el       gcc-powerpc64le-linux-gnu g++-powerpc64le-linux-gnu   ppc64el      powerpc64le-linux-gnu
1071   s390x         gcc-s390x-linux-gnu       g++-s390x-linux-gnu         s390x        s390x-linux-gnu
1072 
1073 Additional architectures might be supported by Debian/Ubuntu Ports.
1074 
1075 ### Building for ARM/aarch64
1076 
1077 A common cross-compilation target is the ARM CPU. When building for ARM, it is
1078 useful to set the ABI profile. A number of pre-defined ABI profiles are
1079 available using `--with-abi-profile`: arm-vfp-sflt, arm-vfp-hflt, arm-sflt,
1080 armv5-vfp-sflt, armv6-vfp-hflt. Note that soft-float ABIs are no longer
1081 properly supported by the JDK.
1082 








1083 ### Verifying the Build
1084 
1085 The build will end up in a directory named like
1086 `build/linux-arm-normal-server-release`.
1087 
1088 Inside this build output directory, the `images/jdk` will contain the newly
1089 built JDK, for your *target* system.
1090 
1091 Copy these folders to your *target* system. Then you can run e.g.
1092 `images/jdk/bin/java -version`.
1093 
1094 ## Build Performance
1095 
1096 Building the JDK requires a lot of horsepower. Some of the build tools can be
1097 adjusted to utilize more or less of resources such as parallel threads and
1098 memory. The `configure` script analyzes your system and selects reasonable
1099 values for such options based on your hardware. If you encounter resource
1100 problems, such as out of memory conditions, you can modify the detected values
1101 with:
1102 


doc/building.md
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File