Skip to content

Commit 61cff4d

Browse files
committed
8257913: Add more known library locations to simplify Linux cross-compilation
Reviewed-by: erikj
1 parent 22a3117 commit 61cff4d

File tree

4 files changed

+51
-4
lines changed

4 files changed

+51
-4
lines changed

.github/workflows/submit.yml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -536,10 +536,6 @@ jobs:
536536
echo "cross_flags=
537537
--openjdk-target=${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}}
538538
--with-sysroot=${HOME}/sysroot-${{ matrix.debian-arch }}/
539-
--with-toolchain-path=${HOME}/sysroot-${{ matrix.debian-arch }}/
540-
--with-freetype-lib=${HOME}/sysroot-${{ matrix.debian-arch }}/usr/lib/${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}}/
541-
--with-freetype-include=${HOME}/sysroot-${{ matrix.debian-arch }}/usr/include/freetype2/
542-
--x-libraries=${HOME}/sysroot-${{ matrix.debian-arch }}/usr/lib/${{ matrix.gnu-arch }}-linux-gnu${{ matrix.gnu-flavor}}/
543539
" >> $GITHUB_ENV
544540
if: matrix.debian-arch != ''
545541

make/autoconf/lib-freetype.m4

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,16 @@ AC_DEFUN_ONCE([LIB_SETUP_FREETYPE],
192192
[$FREETYPE_BASE_DIR/lib], [well-known location])
193193
fi
194194
195+
if test "x$FOUND_FREETYPE" != "xyes" ; then
196+
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include],
197+
[$FREETYPE_BASE_DIR/lib/$OPENJDK_TARGET_CPU-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI], [well-known location])
198+
fi
199+
200+
if test "x$FOUND_FREETYPE" != "xyes" ; then
201+
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include],
202+
[$FREETYPE_BASE_DIR/lib/$OPENJDK_TARGET_CPU_AUTOCONF-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI], [well-known location])
203+
fi
204+
195205
if test "x$FOUND_FREETYPE" != "xyes" ; then
196206
FREETYPE_BASE_DIR="$SYSROOT/usr/X11"
197207
LIB_CHECK_POTENTIAL_FREETYPE([$FREETYPE_BASE_DIR/include],

make/autoconf/lib-x11.m4

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,10 @@ AC_DEFUN_ONCE([LIB_SETUP_X11],
6868
x_libraries="$SYSROOT/usr/lib64"
6969
elif test -f "$SYSROOT/usr/lib/libX11.so"; then
7070
x_libraries="$SYSROOT/usr/lib"
71+
elif test -f "$SYSROOT/usr/lib/$OPENJDK_TARGET_CPU-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI/libX11.so"; then
72+
x_libraries="$SYSROOT/usr/lib/$OPENJDK_TARGET_CPU-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI/libX11.so"
73+
elif test -f "$SYSROOT/usr/lib/$OPENJDK_TARGET_CPU_AUTOCONF-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI/libX11.so"; then
74+
x_libraries="$SYSROOT/usr/lib/$OPENJDK_TARGET_CPU_AUTOCONF-$OPENJDK_TARGET_OS-$OPENJDK_TARGET_ABI/libX11.so"
7175
fi
7276
fi
7377
fi

make/autoconf/platform.m4

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -238,6 +238,33 @@ AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_LIBC],
238238
esac
239239
])
240240

241+
# Support macro for PLATFORM_EXTRACT_TARGET_AND_BUILD.
242+
# Converts autoconf style OS name to OpenJDK style, into
243+
# VAR_ABI.
244+
AC_DEFUN([PLATFORM_EXTRACT_VARS_FROM_ABI],
245+
[
246+
case "$1" in
247+
*linux*-musl)
248+
VAR_ABI=musl
249+
;;
250+
*linux*-gnu)
251+
VAR_ABI=gnu
252+
;;
253+
*linux*-gnueabi)
254+
VAR_ABI=gnueabi
255+
;;
256+
*linux*-gnueabihf)
257+
VAR_ABI=gnueabihf
258+
;;
259+
*linux*-gnuabi64)
260+
VAR_ABI=gnuabi64
261+
;;
262+
*)
263+
VAR_ABI=default
264+
;;
265+
esac
266+
])
267+
241268
# Expects $host_os $host_cpu $build_os and $build_cpu
242269
# and $with_target_bits to have been setup!
243270
#
@@ -259,6 +286,7 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
259286
PLATFORM_EXTRACT_VARS_FROM_OS($build_os)
260287
PLATFORM_EXTRACT_VARS_FROM_CPU($build_cpu)
261288
PLATFORM_EXTRACT_VARS_FROM_LIBC($build_os)
289+
PLATFORM_EXTRACT_VARS_FROM_ABI($build_os)
262290
# ..and setup our own variables. (Do this explicitly to facilitate searching)
263291
OPENJDK_BUILD_OS="$VAR_OS"
264292
if test "x$VAR_OS_TYPE" != x; then
@@ -275,15 +303,19 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
275303
OPENJDK_BUILD_CPU_ARCH="$VAR_CPU_ARCH"
276304
OPENJDK_BUILD_CPU_BITS="$VAR_CPU_BITS"
277305
OPENJDK_BUILD_CPU_ENDIAN="$VAR_CPU_ENDIAN"
306+
OPENJDK_BUILD_CPU_AUTOCONF="$build_cpu"
278307
OPENJDK_BUILD_LIBC="$VAR_LIBC"
308+
OPENJDK_BUILD_ABI="$VAR_ABI"
279309
AC_SUBST(OPENJDK_BUILD_OS)
280310
AC_SUBST(OPENJDK_BUILD_OS_TYPE)
281311
AC_SUBST(OPENJDK_BUILD_OS_ENV)
282312
AC_SUBST(OPENJDK_BUILD_CPU)
283313
AC_SUBST(OPENJDK_BUILD_CPU_ARCH)
284314
AC_SUBST(OPENJDK_BUILD_CPU_BITS)
285315
AC_SUBST(OPENJDK_BUILD_CPU_ENDIAN)
316+
AC_SUBST(OPENJDK_BUILD_CPU_AUTOCONF)
286317
AC_SUBST(OPENJDK_BUILD_LIBC)
318+
AC_SUBST(OPENJDK_BUILD_ABI)
287319
288320
AC_MSG_CHECKING([openjdk-build os-cpu])
289321
AC_MSG_RESULT([$OPENJDK_BUILD_OS-$OPENJDK_BUILD_CPU])
@@ -297,6 +329,7 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
297329
PLATFORM_EXTRACT_VARS_FROM_OS($host_os)
298330
PLATFORM_EXTRACT_VARS_FROM_CPU($host_cpu)
299331
PLATFORM_EXTRACT_VARS_FROM_LIBC($host_os)
332+
PLATFORM_EXTRACT_VARS_FROM_ABI($host_os)
300333
# ... and setup our own variables. (Do this explicitly to facilitate searching)
301334
OPENJDK_TARGET_OS="$VAR_OS"
302335
if test "x$VAR_OS_TYPE" != x; then
@@ -313,8 +346,10 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
313346
OPENJDK_TARGET_CPU_ARCH="$VAR_CPU_ARCH"
314347
OPENJDK_TARGET_CPU_BITS="$VAR_CPU_BITS"
315348
OPENJDK_TARGET_CPU_ENDIAN="$VAR_CPU_ENDIAN"
349+
OPENJDK_TARGET_CPU_AUTOCONF="$host_cpu"
316350
OPENJDK_TARGET_OS_UPPERCASE=`$ECHO $OPENJDK_TARGET_OS | $TR 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
317351
OPENJDK_TARGET_LIBC="$VAR_LIBC"
352+
OPENJDK_TARGET_ABI="$VAR_ABI"
318353
319354
AC_SUBST(OPENJDK_TARGET_OS)
320355
AC_SUBST(OPENJDK_TARGET_OS_TYPE)
@@ -324,7 +359,9 @@ AC_DEFUN([PLATFORM_EXTRACT_TARGET_AND_BUILD],
324359
AC_SUBST(OPENJDK_TARGET_CPU_ARCH)
325360
AC_SUBST(OPENJDK_TARGET_CPU_BITS)
326361
AC_SUBST(OPENJDK_TARGET_CPU_ENDIAN)
362+
AC_SUBST(OPENJDK_TARGET_CPU_AUTOCONF)
327363
AC_SUBST(OPENJDK_TARGET_LIBC)
364+
AC_SUBST(OPENJDK_TARGET_ABI)
328365
329366
AC_MSG_CHECKING([openjdk-target os-cpu])
330367
AC_MSG_RESULT([$OPENJDK_TARGET_OS-$OPENJDK_TARGET_CPU])

0 commit comments

Comments
 (0)