#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
+# Copyright (C) 2019-2020 Advanced Micro Devices, Inc. All rights reserved.
#
#
# This configure script is free software; the Free Software Foundation
CODESIGN_CERT
HAVE_NATIVE_GCORE_TARGET
TARGET_OBS
+ROCM_DBGAPI_LIBS
subdirs
GDB_DATADIR
DEBUGDIR
with_auto_load_safe_path
enable_targets
enable_64_bit_bfd
+with_rocm_dbgapi
enable_gdbmi
enable_tui
enable_gdbtk
[--with-auto-load-dir]
--without-auto-load-safe-path
do not restrict auto-loaded files locations
+ --with-rocm-dbgapi=PATH specify prefix directory for installed ROCm-dbgapi
+ package
--with-libunwind-ia64 use libunwind frame unwinding for ia64 targets
--with-curses use the curses library instead of the termcap
library
as_fn_set_status $ac_retval
} # ac_fn_cxx_try_link
+
+# ac_fn_cxx_check_func LINENO FUNC VAR
+# ------------------------------------
+# Tests whether FUNC exists, setting the cache variable VAR accordingly
+ac_fn_cxx_check_func ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if eval \${$3+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
+ For example, HP-UX 11i <limits.h> declares gettimeofday. */
+#define $2 innocuous_$2
+
+/* System header to define __stub macros and hopefully few prototypes,
+ which can conflict with char $2 (); below.
+ Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ <limits.h> exists even on freestanding compilers. */
+
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+
+#undef $2
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char $2 ();
+/* The GNU C library defines this for functions which it implements
+ to always fail with ENOSYS. Some functions are actually named
+ something starting with __ and the normal name is an alias. */
+#if defined __stub_$2 || defined __stub___$2
+choke me
+#endif
+
+int
+main ()
+{
+return $2 ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
+
+} # ac_fn_cxx_check_func
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
fi
fi
+# ROCm dbgapi support.
+
+
+# Check whether --with-rocm-dbgapi was given.
+if test "${with_rocm_dbgapi+set}" = set; then :
+ withval=$with_rocm_dbgapi;
+else
+ with_rocm_dbgapi=/opt/rocm
+fi
+
+
+save_CPPFLAGS=${CPPFLAGS}
+CPPFLAGS="${CPPFLAGS} -I$with_rocm_dbgapi/include"
+for ac_header in amd-dbgapi.h
+do :
+ ac_fn_c_check_header_mongrel "$LINENO" "amd-dbgapi.h" "ac_cv_header_amd_dbgapi_h" "$ac_includes_default"
+if test "x$ac_cv_header_amd_dbgapi_h" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_AMD_DBGAPI_H 1
+_ACEOF
+
+fi
+
+done
+
+CPPFLAGS=${save_CPPFLAGS}
+
+save_LIBS=${LIBS}
+save_LDFLAGS=${LDFLAGS}
+LDFLAGS="${LDFLAGS} -L$with_rocm_dbgapi/lib"
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for amd_dbgapi_initialize in -lrocm-dbgapi" >&5
+$as_echo_n "checking for amd_dbgapi_initialize in -lrocm-dbgapi... " >&6; }
+if ${ac_cv_lib_rocm_dbgapi_amd_dbgapi_initialize+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+ ac_check_lib_save_LIBS=$LIBS
+LIBS="-lrocm-dbgapi $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+/* Override any GCC internal prototype to avoid an error.
+ Use char because int might match the return type of a GCC
+ builtin and then its argument prototype would still apply. */
+#ifdef __cplusplus
+extern "C"
+#endif
+char amd_dbgapi_initialize ();
+int
+main ()
+{
+return amd_dbgapi_initialize ();
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+ ac_cv_lib_rocm_dbgapi_amd_dbgapi_initialize=yes
+else
+ ac_cv_lib_rocm_dbgapi_amd_dbgapi_initialize=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_rocm_dbgapi_amd_dbgapi_initialize" >&5
+$as_echo "$ac_cv_lib_rocm_dbgapi_amd_dbgapi_initialize" >&6; }
+if test "x$ac_cv_lib_rocm_dbgapi_amd_dbgapi_initialize" = xyes; then :
+ cat >>confdefs.h <<_ACEOF
+#define HAVE_LIBROCM_DBGAPI 1
+_ACEOF
+
+ LIBS="-lrocm-dbgapi $LIBS"
+
+fi
+
+LDFLAGS=${save_LDFLAGS}
+LIBS=${save_LIBS}
+
+if test x"$ac_cv_header_amd_dbgapi_h" = xyes \
+ -a x"$ac_cv_lib_rocm_dbgapi_amd_dbgapi_initialize" = xyes; then
+
+ if test x"$require_rocm_dbgapi" = xyes -o x"$all_targets" = xtrue; then
+ TARGET_OBS="$TARGET_OBS amdgcn-rocm-tdep.o rocm-tdep.o solib-rocm.o"
+ fi
+
+ CPPFLAGS="${CPPFLAGS} -I$with_rocm_dbgapi/include"
+ ROCM_DBGAPI_LIBS="-L$with_rocm_dbgapi/lib -lrocm-dbgapi"
+
+else
+ if test x"$require_rocm_dbgapi" = xyes; then
+ as_fn_error $? "amdgcn*-*-* requires rocm-dbgapi to be installed, or use \
+--with-rocm-dbgapi=PATH" "$LINENO" 5
+ fi
+fi
+
fi
if test x"$enable_gdbmi" = xyes; then
- if test -d $srcdir/mi; then
+ if test -d "$srcdir/mi"; then
CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_MI_OBS)"
CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_MI_DEPS)"
CONFIG_SRCS="$CONFIG_SRCS \$(SUBDIR_MI_SRCS)"
as_fn_error $? "bad value $enableval for --enable-gdbtk" "$LINENO" 5 ;;
esac
else
- if test -d $srcdir/gdbtk; then
+ if test -d "$srcdir/gdbtk"; then
enable_gdbtk=yes
else
enable_gdbtk=no
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_var__etext" >&5
$as_echo "$ac_cv_var__etext" >&6; }
-if test $ac_cv_var__etext = yes; then
+if test "$ac_cv_var__etext" = yes; then
$as_echo "#define HAVE__ETEXT 1" >>confdefs.h
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_var_etext" >&5
$as_echo "$ac_cv_var_etext" >&6; }
-if test $ac_cv_var_etext = yes; then
+if test "$ac_cv_var_etext" = yes; then
$as_echo "#define HAVE_ETEXT 1" >>confdefs.h
fi
if test "$enable_profiling" = yes ; then
- if test $ac_cv_func_monstartup = no || test $ac_cv_func__mcleanup = no; then
+ if test "$ac_cv_func_monstartup" = no || test "$ac_cv_func__mcleanup" = no; then
as_fn_error $? "--enable-profiling requires monstartup and _mcleanup" "$LINENO" 5
fi
PROFILE_CFLAGS=-pg
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cc_supports_pg" >&5
$as_echo "$ac_cv_cc_supports_pg" >&6; }
- if test $ac_cv_cc_supports_pg = no; then
+ if test "$ac_cv_cc_supports_pg" = no; then
as_fn_error $? "--enable-profiling requires a compiler which supports -pg" "$LINENO" 5
fi
# Check whether we should enable the TUI, but only do so if we really
# can.
if test x"$enable_tui" != xno; then
- if test -d $srcdir/tui; then
+ if test -d "$srcdir/tui"; then
if test "$curses_found" != no; then
CONFIG_OBS="$CONFIG_OBS \$(SUBDIR_TUI_OBS)"
CONFIG_DEPS="$CONFIG_DEPS \$(SUBDIR_TUI_DEPS)"
case $host_os in
cygwin*)
- if test -d $srcdir/libtermcap; then
+ if test -d "$srcdir/libtermcap"; then
LIBS="../libtermcap/libtermcap.a $LIBS"
ac_cv_search_tgetent="../libtermcap/libtermcap.a"
fi ;;
else
case "${with_python}" in
[\\/]* | ?:[\\/]*)
- if test -d ${with_python}; then
+ if test -d "${with_python}"; then
# Assume the python binary is ${with_python}/bin/python.
python_prog="${with_python}/bin/python"
python_prefix=
python_prefix=
case "${with_python}" in
yes | auto)
- if test ${build} = ${host}; then
+ if test "${build}" = "${host}"; then
# Extract the first word of "python", so it can be a program name with args.
set dummy python; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
done
- ac_fn_c_check_decl "$LINENO" "strerror" "ac_cv_have_decl_strerror" "$ac_includes_default"
-if test "x$ac_cv_have_decl_strerror" = xyes; then :
- ac_have_decl=1
-else
- ac_have_decl=0
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DECL_STRERROR $ac_have_decl
-_ACEOF
-ac_fn_c_check_decl "$LINENO" "strstr" "ac_cv_have_decl_strstr" "$ac_includes_default"
+ ac_fn_c_check_decl "$LINENO" "strstr" "ac_cv_have_decl_strstr" "$ac_includes_default"
if test "x$ac_cv_have_decl_strstr" = xyes; then :
ac_have_decl=1
else
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_cxx_std_thread" >&5
$as_echo "$gdb_cv_cxx_std_thread" >&6; }
+
+ # This check must be here, while LIBS includes any necessary
+ # threading library.
+ for ac_func in pthread_sigmask pthread_setname_np
+do :
+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
+ac_fn_cxx_check_func "$LINENO" "$ac_func" "$as_ac_var"
+if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+done
+
+
LIBS="$save_LIBS"
CXXFLAGS="$save_CXXFLAGS"
fi
- if test $gdb_cv_cxx_std_thread = yes; then
+ if test "$gdb_cv_cxx_std_thread" = "yes"; then
$as_echo "#define CXX_STD_THREAD 1" >>confdefs.h
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_func_sigsetjmp" >&5
$as_echo "$gdb_cv_func_sigsetjmp" >&6; }
-if test $gdb_cv_func_sigsetjmp = yes; then
+if test "$gdb_cv_func_sigsetjmp" = "yes"; then
$as_echo "#define HAVE_SIGSETJMP 1" >>confdefs.h
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_setpgrp_void" >&5
$as_echo "$ac_cv_func_setpgrp_void" >&6; }
-if test $ac_cv_func_setpgrp_void = yes; then
+if test "$ac_cv_func_setpgrp_void" = yes; then
$as_echo "#define SETPGRP_VOID 1" >>confdefs.h
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_have_gnu_regex" >&5
$as_echo "$gdb_cv_have_gnu_regex" >&6; }
-if test $gdb_cv_have_gnu_regex = yes; then
+if test "$gdb_cv_have_gnu_regex" = yes; then
gdb_use_included_regex=no
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_struct_lwp" >&5
$as_echo "$gdb_cv_struct_lwp" >&6; }
-if test $gdb_cv_struct_lwp = yes; then
+if test "$gdb_cv_struct_lwp" = yes; then
$as_echo "#define HAVE_STRUCT_LWP 1" >>confdefs.h
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_struct_reg" >&5
$as_echo "$gdb_cv_struct_reg" >&6; }
-if test $gdb_cv_struct_reg = yes; then
+if test "$gdb_cv_struct_reg" = yes; then
$as_echo "#define HAVE_STRUCT_REG 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_have_ptrace_getregs" >&5
$as_echo "$gdb_cv_have_ptrace_getregs" >&6; }
-if test $gdb_cv_have_ptrace_getregs = yes; then
+if test "$gdb_cv_have_ptrace_getregs" = yes; then
$as_echo "#define HAVE_PTRACE_GETREGS 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_have_ptrace_getfpxregs" >&5
$as_echo "$gdb_cv_have_ptrace_getfpxregs" >&6; }
-if test $gdb_cv_have_ptrace_getfpxregs = yes; then
+if test "$gdb_cv_have_ptrace_getfpxregs" = yes; then
$as_echo "#define HAVE_PTRACE_GETFPXREGS 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_have_pt_getdbregs" >&5
$as_echo "$gdb_cv_have_pt_getdbregs" >&6; }
-if test $gdb_cv_have_pt_getdbregs = yes; then
+if test "$gdb_cv_have_pt_getdbregs" = yes; then
$as_echo "#define HAVE_PT_GETDBREGS 1" >>confdefs.h
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_have_pt_getxmmregs" >&5
$as_echo "$gdb_cv_have_pt_getxmmregs" >&6; }
-if test $gdb_cv_have_pt_getxmmregs = yes; then
+if test "$gdb_cv_have_pt_getxmmregs" = yes; then
$as_echo "#define HAVE_PT_GETXMMREGS 1" >>confdefs.h
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_c_long_long" >&5
$as_echo "$gdb_cv_c_long_long" >&6; }
-if test $gdb_cv_c_long_long != yes; then
+if test "$gdb_cv_c_long_long" != yes; then
# libdecnumber requires long long.
as_fn_error $? "Compiler must support long long for GDB." "$LINENO" 5
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_printf_has_long_long" >&5
$as_echo "$gdb_cv_printf_has_long_long" >&6; }
-if test $gdb_cv_printf_has_long_long = yes; then
+if test "$gdb_cv_printf_has_long_long" = yes; then
$as_echo "#define PRINTF_HAS_LONG_LONG 1" >>confdefs.h
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_printf_has_decfloat" >&5
$as_echo "$gdb_cv_printf_has_decfloat" >&6; }
-if test $gdb_cv_printf_has_decfloat = yes; then
+if test "$gdb_cv_printf_has_decfloat" = yes; then
$as_echo "#define PRINTF_HAS_DECFLOAT 1" >>confdefs.h
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_c_long_double" >&5
$as_echo "$gdb_cv_c_long_double" >&6; }
-if test $gdb_cv_c_long_double = yes; then
+if test "$gdb_cv_c_long_double" = yes; then
$as_echo "#define HAVE_LONG_DOUBLE 1" >>confdefs.h
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_printf_has_long_double" >&5
$as_echo "$gdb_cv_printf_has_long_double" >&6; }
-if test $gdb_cv_printf_has_long_double = yes; then
+if test "$gdb_cv_printf_has_long_double" = yes; then
$as_echo "#define PRINTF_HAS_LONG_DOUBLE 1" >>confdefs.h
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_scanf_has_long_double" >&5
$as_echo "$gdb_cv_scanf_has_long_double" >&6; }
-if test $gdb_cv_scanf_has_long_double = yes; then
+if test "$gdb_cv_scanf_has_long_double" = yes; then
$as_echo "#define SCANF_HAS_LONG_DOUBLE 1" >>confdefs.h
$as_echo "$found" >&6; }
-if test ${build} = ${host} -a ${host} = ${target} ; then
+if test "${build}" = "${host}" -a "${host}" = "${target}" ; then
case ${host_os} in
aix*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for AiX thread debugging library" >&5
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gdb_cv_have_aix_thread_debug" >&5
$as_echo "$gdb_cv_have_aix_thread_debug" >&6; }
- if test $gdb_cv_have_aix_thread_debug = yes; then
+ if test "$gdb_cv_have_aix_thread_debug" = yes; then
CONFIG_SRCS="${CONFIG_SRCS} aix-thread.c"
CONFIG_OBS="${CONFIG_OBS} aix-thread.o"
LIBS="$LIBS -lpthdebug"
# libreadline needs libuser32.a in a cygwin environment
WIN32LIBS=
-if test x$gdb_cv_os_cygwin = xyes; then
+if test x"$gdb_cv_os_cygwin" = xyes; then
WIN32LIBS="-luser32"
case "${target}" in
*cygwin*) WIN32LIBS="$WIN32LIBS -limagehlp"
CFLAGS=$OLD_CFLAGS
LDFLAGS=$OLD_LDFLAGS
LIBS=$OLD_LIBS
-if test $gdb_cv_var_elf = yes; then
+if test "$gdb_cv_var_elf" = yes; then
CONFIG_OBS="$CONFIG_OBS elfread.o stap-probe.o dtrace-probe.o"
$as_echo "#define HAVE_ELF 1" >>confdefs.h
CFLAGS=$OLD_CFLAGS
LDFLAGS=$OLD_LDFLAGS
LIBS=$OLD_LIBS
-if test $gdb_cv_var_macho = yes; then
+if test "$gdb_cv_var_macho" = yes; then
CONFIG_OBS="$CONFIG_OBS machoread.o"
fi
CONFIG_OBS="${CONFIG_OBS} ${gdb_host_obs}"
# If building on ELF, look for lzma support for embedded compressed debug info.
-if test $gdb_cv_var_elf = yes; then
+if test "$gdb_cv_var_elf" = yes; then
# Check whether --with-lzma was given.
if test "${with_lzma+set}" = set; then :
CONFIG_INSTALL="${CONFIG_INSTALL} install-gdbtk"
CONFIG_UNINSTALL="${CONFIG_UNINSTALL} uninstall-gdbtk"
- if test x$gdb_cv_os_cygwin = xyes; then
+ if test x"$gdb_cv_os_cygwin" = xyes; then
WIN32LIBS="${WIN32LIBS} -lshell32 -lgdi32 -lcomdlg32 -ladvapi32"
WIN32LDAPP="-Wl,--subsystem,console"
CONFIG_OBS="${CONFIG_OBS} gdbres.o"