mirror of
https://github.com/gnustep/tools-make.git
synced 2025-04-23 22:33:28 +00:00
wip: start improving runtime detection for gnustep-2.0
This commit is contained in:
parent
95c97b6690
commit
4536e16cc7
6 changed files with 1238 additions and 64 deletions
277
aclocal.m4
vendored
277
aclocal.m4
vendored
|
@ -12,7 +12,284 @@
|
|||
# PARTICULAR PURPOSE.
|
||||
|
||||
m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
|
||||
dnl pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
|
||||
dnl serial 11 (pkg-config-0.29.1)
|
||||
dnl
|
||||
dnl Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
|
||||
dnl Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
|
||||
dnl
|
||||
dnl This program is free software; you can redistribute it and/or modify
|
||||
dnl it under the terms of the GNU General Public License as published by
|
||||
dnl the Free Software Foundation; either version 2 of the License, or
|
||||
dnl (at your option) any later version.
|
||||
dnl
|
||||
dnl This program is distributed in the hope that it will be useful, but
|
||||
dnl WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
dnl General Public License for more details.
|
||||
dnl
|
||||
dnl You should have received a copy of the GNU General Public License
|
||||
dnl along with this program; if not, write to the Free Software
|
||||
dnl Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||
dnl 02111-1307, USA.
|
||||
dnl
|
||||
dnl As a special exception to the GNU General Public License, if you
|
||||
dnl distribute this file as part of a program that contains a
|
||||
dnl configuration script generated by Autoconf, you may include it under
|
||||
dnl the same distribution terms that you use for the rest of that
|
||||
dnl program.
|
||||
|
||||
dnl PKG_PREREQ(MIN-VERSION)
|
||||
dnl -----------------------
|
||||
dnl Since: 0.29
|
||||
dnl
|
||||
dnl Verify that the version of the pkg-config macros are at least
|
||||
dnl MIN-VERSION. Unlike PKG_PROG_PKG_CONFIG, which checks the user's
|
||||
dnl installed version of pkg-config, this checks the developer's version
|
||||
dnl of pkg.m4 when generating configure.
|
||||
dnl
|
||||
dnl To ensure that this macro is defined, also add:
|
||||
dnl m4_ifndef([PKG_PREREQ],
|
||||
dnl [m4_fatal([must install pkg-config 0.29 or later before running autoconf/autogen])])
|
||||
dnl
|
||||
dnl See the "Since" comment for each macro you use to see what version
|
||||
dnl of the macros you require.
|
||||
m4_defun([PKG_PREREQ],
|
||||
[m4_define([PKG_MACROS_VERSION], [0.29.1])
|
||||
m4_if(m4_version_compare(PKG_MACROS_VERSION, [$1]), -1,
|
||||
[m4_fatal([pkg.m4 version $1 or higher is required but ]PKG_MACROS_VERSION[ found])])
|
||||
])dnl PKG_PREREQ
|
||||
|
||||
dnl PKG_PROG_PKG_CONFIG([MIN-VERSION])
|
||||
dnl ----------------------------------
|
||||
dnl Since: 0.16
|
||||
dnl
|
||||
dnl Search for the pkg-config tool and set the PKG_CONFIG variable to
|
||||
dnl first found in the path. Checks that the version of pkg-config found
|
||||
dnl is at least MIN-VERSION. If MIN-VERSION is not specified, 0.9.0 is
|
||||
dnl used since that's the first version where most current features of
|
||||
dnl pkg-config existed.
|
||||
AC_DEFUN([PKG_PROG_PKG_CONFIG],
|
||||
[m4_pattern_forbid([^_?PKG_[A-Z_]+$])
|
||||
m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$])
|
||||
m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$])
|
||||
AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility])
|
||||
AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path])
|
||||
AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path])
|
||||
|
||||
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
|
||||
AC_PATH_TOOL([PKG_CONFIG], [pkg-config])
|
||||
fi
|
||||
if test -n "$PKG_CONFIG"; then
|
||||
_pkg_min_version=m4_default([$1], [0.9.0])
|
||||
AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version])
|
||||
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
PKG_CONFIG=""
|
||||
fi
|
||||
fi[]dnl
|
||||
])dnl PKG_PROG_PKG_CONFIG
|
||||
|
||||
dnl PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
||||
dnl -------------------------------------------------------------------
|
||||
dnl Since: 0.18
|
||||
dnl
|
||||
dnl Check to see whether a particular set of modules exists. Similar to
|
||||
dnl PKG_CHECK_MODULES(), but does not set variables or print errors.
|
||||
dnl
|
||||
dnl Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
||||
dnl only at the first occurence in configure.ac, so if the first place
|
||||
dnl it's called might be skipped (such as if it is within an "if", you
|
||||
dnl have to call PKG_CHECK_EXISTS manually
|
||||
AC_DEFUN([PKG_CHECK_EXISTS],
|
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then
|
||||
m4_default([$2], [:])
|
||||
m4_ifvaln([$3], [else
|
||||
$3])dnl
|
||||
fi])
|
||||
|
||||
dnl _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES])
|
||||
dnl ---------------------------------------------
|
||||
dnl Internal wrapper calling pkg-config via PKG_CONFIG and setting
|
||||
dnl pkg_failed based on the result.
|
||||
m4_define([_PKG_CONFIG],
|
||||
[if test -n "$$1"; then
|
||||
pkg_cv_[]$1="$$1"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
PKG_CHECK_EXISTS([$3],
|
||||
[pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null`
|
||||
test "x$?" != "x0" && pkg_failed=yes ],
|
||||
[pkg_failed=yes])
|
||||
else
|
||||
pkg_failed=untried
|
||||
fi[]dnl
|
||||
])dnl _PKG_CONFIG
|
||||
|
||||
dnl _PKG_SHORT_ERRORS_SUPPORTED
|
||||
dnl ---------------------------
|
||||
dnl Internal check to see if pkg-config supports short errors.
|
||||
AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED],
|
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])
|
||||
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
|
||||
_pkg_short_errors_supported=yes
|
||||
else
|
||||
_pkg_short_errors_supported=no
|
||||
fi[]dnl
|
||||
])dnl _PKG_SHORT_ERRORS_SUPPORTED
|
||||
|
||||
|
||||
dnl PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
|
||||
dnl [ACTION-IF-NOT-FOUND])
|
||||
dnl --------------------------------------------------------------
|
||||
dnl Since: 0.4.0
|
||||
dnl
|
||||
dnl Note that if there is a possibility the first call to
|
||||
dnl PKG_CHECK_MODULES might not happen, you should be sure to include an
|
||||
dnl explicit call to PKG_PROG_PKG_CONFIG in your configure.ac
|
||||
AC_DEFUN([PKG_CHECK_MODULES],
|
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||||
AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl
|
||||
AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl
|
||||
|
||||
pkg_failed=no
|
||||
AC_MSG_CHECKING([for $1])
|
||||
|
||||
_PKG_CONFIG([$1][_CFLAGS], [cflags], [$2])
|
||||
_PKG_CONFIG([$1][_LIBS], [libs], [$2])
|
||||
|
||||
m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS
|
||||
and $1[]_LIBS to avoid the need to call pkg-config.
|
||||
See the pkg-config man page for more details.])
|
||||
|
||||
if test $pkg_failed = yes; then
|
||||
AC_MSG_RESULT([no])
|
||||
_PKG_SHORT_ERRORS_SUPPORTED
|
||||
if test $_pkg_short_errors_supported = yes; then
|
||||
$1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1`
|
||||
else
|
||||
$1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1`
|
||||
fi
|
||||
# Put the nasty error message in config.log where it belongs
|
||||
echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD
|
||||
|
||||
m4_default([$4], [AC_MSG_ERROR(
|
||||
[Package requirements ($2) were not met:
|
||||
|
||||
$$1_PKG_ERRORS
|
||||
|
||||
Consider adjusting the PKG_CONFIG_PATH environment variable if you
|
||||
installed software in a non-standard prefix.
|
||||
|
||||
_PKG_TEXT])[]dnl
|
||||
])
|
||||
elif test $pkg_failed = untried; then
|
||||
AC_MSG_RESULT([no])
|
||||
m4_default([$4], [AC_MSG_FAILURE(
|
||||
[The pkg-config script could not be found or is too old. Make sure it
|
||||
is in your PATH or set the PKG_CONFIG environment variable to the full
|
||||
path to pkg-config.
|
||||
|
||||
_PKG_TEXT
|
||||
|
||||
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl
|
||||
])
|
||||
else
|
||||
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS
|
||||
$1[]_LIBS=$pkg_cv_[]$1[]_LIBS
|
||||
AC_MSG_RESULT([yes])
|
||||
$3
|
||||
fi[]dnl
|
||||
])dnl PKG_CHECK_MODULES
|
||||
|
||||
|
||||
dnl PKG_CHECK_MODULES_STATIC(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND],
|
||||
dnl [ACTION-IF-NOT-FOUND])
|
||||
dnl ---------------------------------------------------------------------
|
||||
dnl Since: 0.29
|
||||
dnl
|
||||
dnl Checks for existence of MODULES and gathers its build flags with
|
||||
dnl static libraries enabled. Sets VARIABLE-PREFIX_CFLAGS from --cflags
|
||||
dnl and VARIABLE-PREFIX_LIBS from --libs.
|
||||
dnl
|
||||
dnl Note that if there is a possibility the first call to
|
||||
dnl PKG_CHECK_MODULES_STATIC might not happen, you should be sure to
|
||||
dnl include an explicit call to PKG_PROG_PKG_CONFIG in your
|
||||
dnl configure.ac.
|
||||
AC_DEFUN([PKG_CHECK_MODULES_STATIC],
|
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||||
_save_PKG_CONFIG=$PKG_CONFIG
|
||||
PKG_CONFIG="$PKG_CONFIG --static"
|
||||
PKG_CHECK_MODULES($@)
|
||||
PKG_CONFIG=$_save_PKG_CONFIG[]dnl
|
||||
])dnl PKG_CHECK_MODULES_STATIC
|
||||
|
||||
|
||||
dnl PKG_INSTALLDIR([DIRECTORY])
|
||||
dnl -------------------------
|
||||
dnl Since: 0.27
|
||||
dnl
|
||||
dnl Substitutes the variable pkgconfigdir as the location where a module
|
||||
dnl should install pkg-config .pc files. By default the directory is
|
||||
dnl $libdir/pkgconfig, but the default can be changed by passing
|
||||
dnl DIRECTORY. The user can override through the --with-pkgconfigdir
|
||||
dnl parameter.
|
||||
AC_DEFUN([PKG_INSTALLDIR],
|
||||
[m4_pushdef([pkg_default], [m4_default([$1], ['${libdir}/pkgconfig'])])
|
||||
m4_pushdef([pkg_description],
|
||||
[pkg-config installation directory @<:@]pkg_default[@:>@])
|
||||
AC_ARG_WITH([pkgconfigdir],
|
||||
[AS_HELP_STRING([--with-pkgconfigdir], pkg_description)],,
|
||||
[with_pkgconfigdir=]pkg_default)
|
||||
AC_SUBST([pkgconfigdir], [$with_pkgconfigdir])
|
||||
m4_popdef([pkg_default])
|
||||
m4_popdef([pkg_description])
|
||||
])dnl PKG_INSTALLDIR
|
||||
|
||||
|
||||
dnl PKG_NOARCH_INSTALLDIR([DIRECTORY])
|
||||
dnl --------------------------------
|
||||
dnl Since: 0.27
|
||||
dnl
|
||||
dnl Substitutes the variable noarch_pkgconfigdir as the location where a
|
||||
dnl module should install arch-independent pkg-config .pc files. By
|
||||
dnl default the directory is $datadir/pkgconfig, but the default can be
|
||||
dnl changed by passing DIRECTORY. The user can override through the
|
||||
dnl --with-noarch-pkgconfigdir parameter.
|
||||
AC_DEFUN([PKG_NOARCH_INSTALLDIR],
|
||||
[m4_pushdef([pkg_default], [m4_default([$1], ['${datadir}/pkgconfig'])])
|
||||
m4_pushdef([pkg_description],
|
||||
[pkg-config arch-independent installation directory @<:@]pkg_default[@:>@])
|
||||
AC_ARG_WITH([noarch-pkgconfigdir],
|
||||
[AS_HELP_STRING([--with-noarch-pkgconfigdir], pkg_description)],,
|
||||
[with_noarch_pkgconfigdir=]pkg_default)
|
||||
AC_SUBST([noarch_pkgconfigdir], [$with_noarch_pkgconfigdir])
|
||||
m4_popdef([pkg_default])
|
||||
m4_popdef([pkg_description])
|
||||
])dnl PKG_NOARCH_INSTALLDIR
|
||||
|
||||
|
||||
dnl PKG_CHECK_VAR(VARIABLE, MODULE, CONFIG-VARIABLE,
|
||||
dnl [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND])
|
||||
dnl -------------------------------------------
|
||||
dnl Since: 0.28
|
||||
dnl
|
||||
dnl Retrieves the value of the pkg-config variable for the given module.
|
||||
AC_DEFUN([PKG_CHECK_VAR],
|
||||
[AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl
|
||||
AC_ARG_VAR([$1], [value of $3 for $2, overriding pkg-config])dnl
|
||||
|
||||
_PKG_CONFIG([$1], [variable="][$3]["], [$2])
|
||||
AS_VAR_COPY([$1], [pkg_cv_][$1])
|
||||
|
||||
AS_VAR_IF([$1], [""], [$5], [$4])dnl
|
||||
])dnl PKG_CHECK_VAR
|
||||
|
||||
m4_include([m4/gs_cc_is_clang.m4])
|
||||
m4_include([m4/gs_gcc_version.m4])
|
||||
m4_include([m4/gs_library_combo.m4])
|
||||
m4_include([m4/gs_objc_runtime.m4])
|
||||
m4_include([m4/gs_runtime_abi.m4])
|
||||
|
|
868
configure
vendored
868
configure
vendored
|
@ -615,8 +615,14 @@ OBJCXX
|
|||
ac_cv_objc_threaded
|
||||
objc_threaded
|
||||
CLANG_CC
|
||||
libobjc_LIBS
|
||||
libobjc_CFLAGS
|
||||
PKG_CONFIG_LIBDIR
|
||||
PKG_CONFIG_PATH
|
||||
PKG_CONFIG
|
||||
OBJC_LIB_FLAG
|
||||
cc_gnuruntime
|
||||
SED
|
||||
GNUSTEP_INSTALL_LD_SO_CONF
|
||||
BACKEND_BUNDLE
|
||||
GNUSTEP_MULTI_PLATFORM
|
||||
|
@ -799,7 +805,12 @@ CPPFLAGS
|
|||
CPP
|
||||
CXX
|
||||
CXXFLAGS
|
||||
CCC'
|
||||
CCC
|
||||
PKG_CONFIG
|
||||
PKG_CONFIG_PATH
|
||||
PKG_CONFIG_LIBDIR
|
||||
libobjc_CFLAGS
|
||||
libobjc_LIBS'
|
||||
|
||||
|
||||
# Initialize some variables set by options.
|
||||
|
@ -1647,17 +1658,15 @@ Optional Packages:
|
|||
all users. The default is 'GNUstep/Defaults'
|
||||
Example: --with-user-defaults-dir='GNUstep/Library/Defaults'
|
||||
|
||||
|
||||
--with-objc-lib-flag
|
||||
Specify a different flag to link libobjc (the Objective-C runtime
|
||||
library). The default is -lobjc. In some situations you may have
|
||||
multiple versions of libobjc installed and if your linker supports
|
||||
it you may want to specify exactly which one must be used; for
|
||||
example on GNU/Linux you should be able to use
|
||||
--with-objc-lib-flag=-l:libobjc.so.1
|
||||
to request libobjc.so.1 (as opposed to, say, libobjc.so.2) to be
|
||||
linked.
|
||||
|
||||
--with-objc-lib-flag Specify a different flag to link libobjc (the
|
||||
Objective-C runtime library). The default is -lobjc.
|
||||
In some situations you may have multiple versions of
|
||||
libobjc installed and if your linker supports it you
|
||||
may want to specify exactly which one must be used;
|
||||
for example on GNU/Linux you should be able to use
|
||||
--with-objc-lib-flag=-l:libobjc.so.1 to request
|
||||
libobjc.so.1 (as opposed to, say, libobjc.so.2) to
|
||||
be linked.
|
||||
|
||||
--with-thread-lib
|
||||
Specify alternate thread library. Use this flag if configure can
|
||||
|
@ -1677,6 +1686,15 @@ Some influential environment variables:
|
|||
CPP C preprocessor
|
||||
CXX C++ compiler command
|
||||
CXXFLAGS C++ compiler flags
|
||||
PKG_CONFIG path to pkg-config utility
|
||||
PKG_CONFIG_PATH
|
||||
directories to add to pkg-config's search path
|
||||
PKG_CONFIG_LIBDIR
|
||||
path overriding pkg-config's built-in search path
|
||||
libobjc_CFLAGS
|
||||
C compiler flags for libobjc, overriding pkg-config
|
||||
libobjc_LIBS
|
||||
linker flags for libobjc, overriding pkg-config
|
||||
|
||||
Use these variables to override the choices made by `configure' or to help
|
||||
it to find libraries and programs with nonstandard names/locations.
|
||||
|
@ -2514,13 +2532,7 @@ done
|
|||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library combo" >&5
|
||||
$as_echo_n "checking for library combo... " >&6; }
|
||||
if ${_gs_cv_libray_combo+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
case "$host_os" in
|
||||
case "$host_os" in
|
||||
darwin*) default_library_combo=apple-apple-apple ;;
|
||||
nextstep4) default_library_combo=nx-nx-nx ;;
|
||||
openstep4) default_library_combo=nx-nx-nx ;;
|
||||
|
@ -2537,6 +2549,12 @@ else
|
|||
with_library_combo=${default_library_combo}
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library combo" >&5
|
||||
$as_echo_n "checking for library combo... " >&6; }
|
||||
if ${_gs_cv_libray_combo+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
case "$with_library_combo" in
|
||||
apple) with_library_combo=apple-apple-apple ;;
|
||||
gnu) with_library_combo=gnu-gnu-gnu ;;
|
||||
|
@ -5610,6 +5628,391 @@ if test "$gs_cv_objc_libdir" != "NONE"; then
|
|||
esac
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
|
||||
$as_echo_n "checking for a sed that does not truncate output... " >&6; }
|
||||
if ${ac_cv_path_SED+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
|
||||
for ac_i in 1 2 3 4 5 6 7; do
|
||||
ac_script="$ac_script$as_nl$ac_script"
|
||||
done
|
||||
echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
|
||||
{ ac_script=; unset ac_script;}
|
||||
if test -z "$SED"; then
|
||||
ac_path_SED_found=false
|
||||
# Loop through the user's path and test for each of PROGNAME-LIST
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_prog in sed gsed; do
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
|
||||
as_fn_executable_p "$ac_path_SED" || continue
|
||||
# Check for GNU ac_path_SED and select it if it is found.
|
||||
# Check for GNU $ac_path_SED
|
||||
case `"$ac_path_SED" --version 2>&1` in
|
||||
*GNU*)
|
||||
ac_cv_path_SED="$ac_path_SED" ac_path_SED_found=:;;
|
||||
*)
|
||||
ac_count=0
|
||||
$as_echo_n 0123456789 >"conftest.in"
|
||||
while :
|
||||
do
|
||||
cat "conftest.in" "conftest.in" >"conftest.tmp"
|
||||
mv "conftest.tmp" "conftest.in"
|
||||
cp "conftest.in" "conftest.nl"
|
||||
$as_echo '' >> "conftest.nl"
|
||||
"$ac_path_SED" -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
|
||||
diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
|
||||
as_fn_arith $ac_count + 1 && ac_count=$as_val
|
||||
if test $ac_count -gt ${ac_path_SED_max-0}; then
|
||||
# Best one so far, save it but keep looking for a better one
|
||||
ac_cv_path_SED="$ac_path_SED"
|
||||
ac_path_SED_max=$ac_count
|
||||
fi
|
||||
# 10*(2^10) chars as input seems more than enough
|
||||
test $ac_count -gt 10 && break
|
||||
done
|
||||
rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
|
||||
esac
|
||||
|
||||
$ac_path_SED_found && break 3
|
||||
done
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
if test -z "$ac_cv_path_SED"; then
|
||||
as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
|
||||
fi
|
||||
else
|
||||
ac_cv_path_SED=$SED
|
||||
fi
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
|
||||
$as_echo "$ac_cv_path_SED" >&6; }
|
||||
SED="$ac_cv_path_SED"
|
||||
rm -f conftest.sed
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for object subdirectory" >&5
|
||||
$as_echo_n "checking for object subdirectory... " >&6; }
|
||||
if ${_gs_cv_obj_dir+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
if test "$GNUSTEP_IS_FLATTENED" != yes; then
|
||||
clean_target_os=`$srcdir/clean_os.sh $target_os`
|
||||
clean_target_cpu=`$srcdir/clean_cpu.sh $target_cpu`
|
||||
_gs_cv_obj_dir="$clean_target_cpu/$clean_target_os"
|
||||
else
|
||||
_gs_cv_obj_dir="(none)"
|
||||
fi
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $_gs_cv_obj_dir" >&5
|
||||
$as_echo "$_gs_cv_obj_dir" >&6; }
|
||||
if test "x$_gs_cv_obj_dir" = x"(none)"; then :
|
||||
{ gs_cv_obj_dir=; unset gs_cv_obj_dir;}
|
||||
else
|
||||
gs_cv_obj_dir=${_gs_cv_obj_dir}
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for domains containing libraries libobjc.a, libobjc.so, libobjc.dll.a, libobjc-gnu.dylib" >&5
|
||||
$as_echo_n "checking for domains containing libraries libobjc.a, libobjc.so, libobjc.dll.a, libobjc-gnu.dylib... " >&6; }
|
||||
if ${gs_cv_LIBOBJC_domains+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
gs_cv_LIBOBJC_domains=""
|
||||
INFIX=""
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if ${gs_cv_SYSTEM_LIBRARIES_dir+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
gs_cv_SYSTEM_LIBRARIES_dir=$GNUSTEP_SYSTEM_LIBRARIES
|
||||
|
||||
if test ! "$GNUSTEP_IS_FLATTENED" = yes; then
|
||||
gs_cv_SYSTEM_LIBRARIES_dir="${gs_cv_SYSTEM_LIBRARIES_dir}/${gs_cv_obj_dir}"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test -d $gs_cv_SYSTEM_LIBRARIES_dir; then
|
||||
if test -f "$gs_cv_SYSTEM_LIBRARIES_dir/libobjc.a" -o -f "$gs_cv_SYSTEM_LIBRARIES_dir/libobjc.so" -o -f "$gs_cv_SYSTEM_LIBRARIES_dir/libobjc.dll.a" -o -f "$gs_cv_SYSTEM_LIBRARIES_dir/libobjc-gnu.dylib" ; then
|
||||
gs_cv_LIBOBJC_domains="${gs_cv_LIBOBJC_domains}${INFIX}SYSTEM"
|
||||
INFIX=", "
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if ${gs_cv_NETWORK_LIBRARIES_dir+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
gs_cv_NETWORK_LIBRARIES_dir=$GNUSTEP_NETWORK_LIBRARIES
|
||||
|
||||
if test ! "$GNUSTEP_IS_FLATTENED" = yes; then
|
||||
gs_cv_NETWORK_LIBRARIES_dir="${gs_cv_NETWORK_LIBRARIES_dir}/${gs_cv_obj_dir}"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test -d $gs_cv_NETWORK_LIBRARIES_dir; then
|
||||
if test -f "$gs_cv_NETWORK_LIBRARIES_dir/libobjc.a" -o -f "$gs_cv_NETWORK_LIBRARIES_dir/libobjc.so" -o -f "$gs_cv_NETWORK_LIBRARIES_dir/libobjc.dll.a" -o -f "$gs_cv_NETWORK_LIBRARIES_dir/libobjc-gnu.dylib" ; then
|
||||
gs_cv_LIBOBJC_domains="${gs_cv_LIBOBJC_domains}${INFIX}NETWORK"
|
||||
INFIX=", "
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if ${gs_cv_LOCAL_LIBRARIES_dir+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
gs_cv_LOCAL_LIBRARIES_dir=$GNUSTEP_LOCAL_LIBRARIES
|
||||
|
||||
if test ! "$GNUSTEP_IS_FLATTENED" = yes; then
|
||||
gs_cv_LOCAL_LIBRARIES_dir="${gs_cv_LOCAL_LIBRARIES_dir}/${gs_cv_obj_dir}"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test -d $gs_cv_LOCAL_LIBRARIES_dir; then
|
||||
if test -f "$gs_cv_LOCAL_LIBRARIES_dir/libobjc.a" -o -f "$gs_cv_LOCAL_LIBRARIES_dir/libobjc.so" -o -f "$gs_cv_LOCAL_LIBRARIES_dir/libobjc.dll.a" -o -f "$gs_cv_LOCAL_LIBRARIES_dir/libobjc-gnu.dylib" ; then
|
||||
gs_cv_LIBOBJC_domains="${gs_cv_LIBOBJC_domains}${INFIX}LOCAL"
|
||||
INFIX=", "
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if ${gs_cv_USER_LIBRARIES_dir+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
gs_cv_USER_LIBRARIES_dir=$GNUSTEP_USER_LIBRARIES
|
||||
|
||||
if test ! "$GNUSTEP_IS_FLATTENED" = yes; then
|
||||
gs_cv_USER_LIBRARIES_dir="${gs_cv_USER_LIBRARIES_dir}/${gs_cv_obj_dir}"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test -d $gs_cv_USER_LIBRARIES_dir; then
|
||||
if test -f "$gs_cv_USER_LIBRARIES_dir/libobjc.a" -o -f "$gs_cv_USER_LIBRARIES_dir/libobjc.so" -o -f "$gs_cv_USER_LIBRARIES_dir/libobjc.dll.a" -o -f "$gs_cv_USER_LIBRARIES_dir/libobjc-gnu.dylib" ; then
|
||||
gs_cv_LIBOBJC_domains="${gs_cv_LIBOBJC_domains}${INFIX}USER"
|
||||
INFIX=", "
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if test x"${gs_cv_LIBOBJC_domains}" = x""; then
|
||||
gs_cv_LIBOBJC_domains="(none)"
|
||||
fi
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gs_cv_LIBOBJC_domains" >&5
|
||||
$as_echo "$gs_cv_LIBOBJC_domains" >&6; }
|
||||
if test "x$gs_cv_LIBOBJC_domains" = x"(none)"; then :
|
||||
{ LIBOBJC_DOMAINS=; unset LIBOBJC_DOMAINS;}
|
||||
else
|
||||
LIBOBJC_DOMAINS=${gs_cv_LIBOBJC_domains}
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for domains containing headers objc/objc.h" >&5
|
||||
$as_echo_n "checking for domains containing headers objc/objc.h... " >&6; }
|
||||
if ${gs_cv_OBJC_HEADERS_domains+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
gs_cv_OBJC_HEADERS_domains=""
|
||||
INFIX=""
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if ${gs_cv_SYSTEM_HEADERS_dir+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
gs_cv_SYSTEM_HEADERS_dir=$GNUSTEP_SYSTEM_HEADERS
|
||||
|
||||
if test ! "$GNUSTEP_IS_FLATTENED" = yes; then
|
||||
gs_cv_SYSTEM_HEADERS_dir="${gs_cv_SYSTEM_HEADERS_dir}/${LIBRARY_COMBO}"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test -d $gs_cv_SYSTEM_HEADERS_dir; then
|
||||
if test -f "$gs_cv_SYSTEM_HEADERS_dir/objc/objc.h" ; then
|
||||
gs_cv_OBJC_HEADERS_domains="${gs_cv_OBJC_HEADERS_domains}${INFIX}SYSTEM"
|
||||
INFIX=", "
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if ${gs_cv_NETWORK_HEADERS_dir+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
gs_cv_NETWORK_HEADERS_dir=$GNUSTEP_NETWORK_HEADERS
|
||||
|
||||
if test ! "$GNUSTEP_IS_FLATTENED" = yes; then
|
||||
gs_cv_NETWORK_HEADERS_dir="${gs_cv_NETWORK_HEADERS_dir}/${LIBRARY_COMBO}"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test -d $gs_cv_NETWORK_HEADERS_dir; then
|
||||
if test -f "$gs_cv_NETWORK_HEADERS_dir/objc/objc.h" ; then
|
||||
gs_cv_OBJC_HEADERS_domains="${gs_cv_OBJC_HEADERS_domains}${INFIX}NETWORK"
|
||||
INFIX=", "
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if ${gs_cv_LOCAL_HEADERS_dir+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
gs_cv_LOCAL_HEADERS_dir=$GNUSTEP_LOCAL_HEADERS
|
||||
|
||||
if test ! "$GNUSTEP_IS_FLATTENED" = yes; then
|
||||
gs_cv_LOCAL_HEADERS_dir="${gs_cv_LOCAL_HEADERS_dir}/${LIBRARY_COMBO}"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test -d $gs_cv_LOCAL_HEADERS_dir; then
|
||||
if test -f "$gs_cv_LOCAL_HEADERS_dir/objc/objc.h" ; then
|
||||
gs_cv_OBJC_HEADERS_domains="${gs_cv_OBJC_HEADERS_domains}${INFIX}LOCAL"
|
||||
INFIX=", "
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if ${gs_cv_USER_HEADERS_dir+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
gs_cv_USER_HEADERS_dir=$GNUSTEP_USER_HEADERS
|
||||
|
||||
if test ! "$GNUSTEP_IS_FLATTENED" = yes; then
|
||||
gs_cv_USER_HEADERS_dir="${gs_cv_USER_HEADERS_dir}/${LIBRARY_COMBO}"
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test -d $gs_cv_USER_HEADERS_dir; then
|
||||
if test -f "$gs_cv_USER_HEADERS_dir/objc/objc.h" ; then
|
||||
gs_cv_OBJC_HEADERS_domains="${gs_cv_OBJC_HEADERS_domains}${INFIX}USER"
|
||||
INFIX=", "
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if test x"${gs_cv_OBJC_HEADERS_domains}" = x""; then
|
||||
gs_cv_OBJC_HEADERS_domains="(none)"
|
||||
fi
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gs_cv_OBJC_HEADERS_domains" >&5
|
||||
$as_echo "$gs_cv_OBJC_HEADERS_domains" >&6; }
|
||||
if test "x$gs_cv_OBJC_HEADERS_domains" = x"(none)"; then :
|
||||
{ OBJC_HEADERS_DOMAINS=; unset OBJC_HEADERS_DOMAINS;}
|
||||
else
|
||||
OBJC_HEADERS_DOMAINS=${gs_cv_OBJC_HEADERS_domains}
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for custom shared objc library domain" >&5
|
||||
$as_echo_n "checking for custom shared objc library domain... " >&6; }
|
||||
if ${gs_cv_libobjc_domain+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
gs_cv_libobjc_domain=""
|
||||
for i in $(echo ${LIBOBJC_DOMAINS}| $SED "s/, / /g"); do
|
||||
for j in $(echo ${OBJC_HEADERS_DOMAINS}| $SED "s/, / /g"); do
|
||||
if test x"$i" = x"$j"; then
|
||||
gs_cv_libobjc_domain=$i
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test ! x"$gs_cv_libobjc_domain" = x""; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gs_cv_libobjc_domain" >&5
|
||||
$as_echo "$gs_cv_libobjc_domain" >&6; }
|
||||
|
||||
|
||||
# Special case for Apple systems: When compiling plain C source files that
|
||||
# include Objective-C runtime headers we must make sure that the correct
|
||||
# header files are used with a gnu-*-* combo. The -fobjc-runtime=gcc compiler
|
||||
|
@ -5639,23 +6042,415 @@ esac
|
|||
# TODO: This flag needs to be moved to gnustep-base since it concerns
|
||||
# the runtime library (see explanations at the beginning of this
|
||||
# file).
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the flag to link libobjc" >&5
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for the flag to link libobjc" >&5
|
||||
$as_echo_n "checking for the flag to link libobjc... " >&6; }
|
||||
|
||||
# Check whether --with-objc-lib-flag was given.
|
||||
if test "${with_objc_lib_flag+set}" = set; then :
|
||||
withval=$with_objc_lib_flag; OBJC_LIB_FLAG="$withval"
|
||||
withval=$with_objc_lib_flag;
|
||||
else
|
||||
OBJC_LIB_FLAG=""
|
||||
|
||||
with_objc_lib_flag=""
|
||||
fi
|
||||
|
||||
# We pass the flag, unchanged, to gnustep-make - if it's empty,
|
||||
# gnustep-make will be free to use -lobjc
|
||||
OBJC_LIB_FLAG=${with_objc_lib_flag}
|
||||
|
||||
if test x"${with_objc_lib_flag}" = x""; then
|
||||
effective_flag=-lobjc
|
||||
else
|
||||
effective_flag=${with_objc_lib_flag}
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${effective_flag}" >&5
|
||||
$as_echo "${effective_flag}" >&6; }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then
|
||||
if test -n "$ac_tool_prefix"; then
|
||||
# Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args.
|
||||
set dummy ${ac_tool_prefix}pkg-config; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if ${ac_cv_path_PKG_CONFIG+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
case $PKG_CONFIG in
|
||||
[\\/]* | ?:[\\/]*)
|
||||
ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
PKG_CONFIG=$ac_cv_path_PKG_CONFIG
|
||||
if test -n "$PKG_CONFIG"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5
|
||||
$as_echo "$PKG_CONFIG" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
fi
|
||||
if test -z "$ac_cv_path_PKG_CONFIG"; then
|
||||
ac_pt_PKG_CONFIG=$PKG_CONFIG
|
||||
# Extract the first word of "pkg-config", so it can be a program name with args.
|
||||
set dummy pkg-config; ac_word=$2
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
$as_echo_n "checking for $ac_word... " >&6; }
|
||||
if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
case $ac_pt_PKG_CONFIG in
|
||||
[\\/]* | ?:[\\/]*)
|
||||
ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path.
|
||||
;;
|
||||
*)
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
test -z "$as_dir" && as_dir=.
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
|
||||
ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext"
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG
|
||||
if test -n "$ac_pt_PKG_CONFIG"; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5
|
||||
$as_echo "$ac_pt_PKG_CONFIG" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
fi
|
||||
|
||||
if test "x$ac_pt_PKG_CONFIG" = x; then
|
||||
PKG_CONFIG=""
|
||||
else
|
||||
case $cross_compiling:$ac_tool_warned in
|
||||
yes:)
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
|
||||
$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
|
||||
ac_tool_warned=yes ;;
|
||||
esac
|
||||
PKG_CONFIG=$ac_pt_PKG_CONFIG
|
||||
fi
|
||||
else
|
||||
PKG_CONFIG="$ac_cv_path_PKG_CONFIG"
|
||||
fi
|
||||
|
||||
fi
|
||||
if test -n "$PKG_CONFIG"; then
|
||||
_pkg_min_version=0.9.0
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5
|
||||
$as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; }
|
||||
if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
else
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
PKG_CONFIG=""
|
||||
fi
|
||||
fi
|
||||
|
||||
if test x"$GNUSTEP_HAS_PKGCONFIG" = x"yes"; then
|
||||
|
||||
pkg_failed=no
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libobjc" >&5
|
||||
$as_echo_n "checking for libobjc... " >&6; }
|
||||
|
||||
if test -n "$libobjc_CFLAGS"; then
|
||||
pkg_cv_libobjc_CFLAGS="$libobjc_CFLAGS"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libobjc >= 2\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "libobjc >= 2") 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
pkg_cv_libobjc_CFLAGS=`$PKG_CONFIG --cflags "libobjc >= 2" 2>/dev/null`
|
||||
test "x$?" != "x0" && pkg_failed=yes
|
||||
else
|
||||
pkg_failed=yes
|
||||
fi
|
||||
else
|
||||
pkg_failed=untried
|
||||
fi
|
||||
if test -n "$libobjc_LIBS"; then
|
||||
pkg_cv_libobjc_LIBS="$libobjc_LIBS"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libobjc >= 2\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "libobjc >= 2") 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
pkg_cv_libobjc_LIBS=`$PKG_CONFIG --libs "libobjc >= 2" 2>/dev/null`
|
||||
test "x$?" != "x0" && pkg_failed=yes
|
||||
else
|
||||
pkg_failed=yes
|
||||
fi
|
||||
else
|
||||
pkg_failed=untried
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test $pkg_failed = yes; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
|
||||
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
|
||||
_pkg_short_errors_supported=yes
|
||||
else
|
||||
_pkg_short_errors_supported=no
|
||||
fi
|
||||
if test $_pkg_short_errors_supported = yes; then
|
||||
libobjc_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libobjc >= 2" 2>&1`
|
||||
else
|
||||
libobjc_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libobjc >= 2" 2>&1`
|
||||
fi
|
||||
# Put the nasty error message in config.log where it belongs
|
||||
echo "$libobjc_PKG_ERRORS" >&5
|
||||
|
||||
|
||||
|
||||
pkg_failed=no
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libobjc" >&5
|
||||
$as_echo_n "checking for libobjc... " >&6; }
|
||||
|
||||
if test -n "$libobjc_CFLAGS"; then
|
||||
pkg_cv_libobjc_CFLAGS="$libobjc_CFLAGS"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libobjc\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "libobjc") 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
pkg_cv_libobjc_CFLAGS=`$PKG_CONFIG --cflags "libobjc" 2>/dev/null`
|
||||
test "x$?" != "x0" && pkg_failed=yes
|
||||
else
|
||||
pkg_failed=yes
|
||||
fi
|
||||
else
|
||||
pkg_failed=untried
|
||||
fi
|
||||
if test -n "$libobjc_LIBS"; then
|
||||
pkg_cv_libobjc_LIBS="$libobjc_LIBS"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libobjc\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "libobjc") 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
pkg_cv_libobjc_LIBS=`$PKG_CONFIG --libs "libobjc" 2>/dev/null`
|
||||
test "x$?" != "x0" && pkg_failed=yes
|
||||
else
|
||||
pkg_failed=yes
|
||||
fi
|
||||
else
|
||||
pkg_failed=untried
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test $pkg_failed = yes; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
|
||||
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
|
||||
_pkg_short_errors_supported=yes
|
||||
else
|
||||
_pkg_short_errors_supported=no
|
||||
fi
|
||||
if test $_pkg_short_errors_supported = yes; then
|
||||
libobjc_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libobjc" 2>&1`
|
||||
else
|
||||
libobjc_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libobjc" 2>&1`
|
||||
fi
|
||||
# Put the nasty error message in config.log where it belongs
|
||||
echo "$libobjc_PKG_ERRORS" >&5
|
||||
|
||||
as_fn_error $? "Package requirements (libobjc) were not met:
|
||||
|
||||
$libobjc_PKG_ERRORS
|
||||
|
||||
Consider adjusting the PKG_CONFIG_PATH environment variable if you
|
||||
installed software in a non-standard prefix.
|
||||
|
||||
Alternatively, you may set the environment variables libobjc_CFLAGS
|
||||
and libobjc_LIBS to avoid the need to call pkg-config.
|
||||
See the pkg-config man page for more details." "$LINENO" 5
|
||||
elif test $pkg_failed = untried; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
|
||||
is in your PATH or set the PKG_CONFIG environment variable to the full
|
||||
path to pkg-config.
|
||||
|
||||
Alternatively, you may set the environment variables libobjc_CFLAGS
|
||||
and libobjc_LIBS to avoid the need to call pkg-config.
|
||||
See the pkg-config man page for more details.
|
||||
|
||||
To get pkg-config, see <http://pkg-config.freedesktop.org/>.
|
||||
See \`config.log' for more details" "$LINENO" 5; }
|
||||
else
|
||||
libobjc_CFLAGS=$pkg_cv_libobjc_CFLAGS
|
||||
libobjc_LIBS=$pkg_cv_libobjc_LIBS
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
|
||||
fi
|
||||
libobjc_SUPPORTS_ABI2="no"
|
||||
|
||||
elif test $pkg_failed = untried; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
|
||||
|
||||
pkg_failed=no
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for libobjc" >&5
|
||||
$as_echo_n "checking for libobjc... " >&6; }
|
||||
|
||||
if test -n "$libobjc_CFLAGS"; then
|
||||
pkg_cv_libobjc_CFLAGS="$libobjc_CFLAGS"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libobjc\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "libobjc") 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
pkg_cv_libobjc_CFLAGS=`$PKG_CONFIG --cflags "libobjc" 2>/dev/null`
|
||||
test "x$?" != "x0" && pkg_failed=yes
|
||||
else
|
||||
pkg_failed=yes
|
||||
fi
|
||||
else
|
||||
pkg_failed=untried
|
||||
fi
|
||||
if test -n "$libobjc_LIBS"; then
|
||||
pkg_cv_libobjc_LIBS="$libobjc_LIBS"
|
||||
elif test -n "$PKG_CONFIG"; then
|
||||
if test -n "$PKG_CONFIG" && \
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libobjc\""; } >&5
|
||||
($PKG_CONFIG --exists --print-errors "libobjc") 2>&5
|
||||
ac_status=$?
|
||||
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
pkg_cv_libobjc_LIBS=`$PKG_CONFIG --libs "libobjc" 2>/dev/null`
|
||||
test "x$?" != "x0" && pkg_failed=yes
|
||||
else
|
||||
pkg_failed=yes
|
||||
fi
|
||||
else
|
||||
pkg_failed=untried
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if test $pkg_failed = yes; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
|
||||
if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then
|
||||
_pkg_short_errors_supported=yes
|
||||
else
|
||||
_pkg_short_errors_supported=no
|
||||
fi
|
||||
if test $_pkg_short_errors_supported = yes; then
|
||||
libobjc_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libobjc" 2>&1`
|
||||
else
|
||||
libobjc_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libobjc" 2>&1`
|
||||
fi
|
||||
# Put the nasty error message in config.log where it belongs
|
||||
echo "$libobjc_PKG_ERRORS" >&5
|
||||
|
||||
as_fn_error $? "Package requirements (libobjc) were not met:
|
||||
|
||||
$libobjc_PKG_ERRORS
|
||||
|
||||
Consider adjusting the PKG_CONFIG_PATH environment variable if you
|
||||
installed software in a non-standard prefix.
|
||||
|
||||
Alternatively, you may set the environment variables libobjc_CFLAGS
|
||||
and libobjc_LIBS to avoid the need to call pkg-config.
|
||||
See the pkg-config man page for more details." "$LINENO" 5
|
||||
elif test $pkg_failed = untried; then
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
$as_echo "no" >&6; }
|
||||
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
|
||||
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
|
||||
as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it
|
||||
is in your PATH or set the PKG_CONFIG environment variable to the full
|
||||
path to pkg-config.
|
||||
|
||||
Alternatively, you may set the environment variables libobjc_CFLAGS
|
||||
and libobjc_LIBS to avoid the need to call pkg-config.
|
||||
See the pkg-config man page for more details.
|
||||
|
||||
To get pkg-config, see <http://pkg-config.freedesktop.org/>.
|
||||
See \`config.log' for more details" "$LINENO" 5; }
|
||||
else
|
||||
libobjc_CFLAGS=$pkg_cv_libobjc_CFLAGS
|
||||
libobjc_LIBS=$pkg_cv_libobjc_LIBS
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
|
||||
fi
|
||||
libobjc_SUPPORTS_ABI2="no"
|
||||
|
||||
else
|
||||
libobjc_CFLAGS=$pkg_cv_libobjc_CFLAGS
|
||||
libobjc_LIBS=$pkg_cv_libobjc_LIBS
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
$as_echo "yes" >&6; }
|
||||
|
||||
libobjc_SUPPORTS_ABI2="yes"
|
||||
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# But we need to compute, and print out, what flag we're using now.
|
||||
OBJC_FINAL_LIB_FLAG="$OBJC_LIB_FLAG"
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler is clang" >&5
|
||||
|
@ -5680,6 +6475,8 @@ $as_echo "$_gs_cv_cc_is_clang" >&6; }
|
|||
|
||||
fi
|
||||
|
||||
# But we need to compute, and print out, what flag we're using now.
|
||||
OBJC_FINAL_LIB_FLAG="$OBJC_LIB_FLAG"
|
||||
|
||||
saved_CFLAGS="$CFLAGS"
|
||||
saved_LIBS="$LIBS"
|
||||
|
@ -5709,9 +6506,6 @@ if test "$OBJC_RUNTIME_LIB" = "apple"; then
|
|||
OBJCRT="$OBJC_FINAL_LIB_FLAG"
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJC_FINAL_LIB_FLAG" >&5
|
||||
$as_echo "$OBJC_FINAL_LIB_FLAG" >&6; }
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Check if libobjc was compiled with thread support.
|
||||
#--------------------------------------------------------------------
|
||||
|
@ -6272,13 +7066,7 @@ fi
|
|||
|
||||
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for runtime ABI" >&5
|
||||
$as_echo_n "checking for runtime ABI... " >&6; }
|
||||
if ${_gs_cv_runtime_abi+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
case "$OBJC_RUNTIME_LIB" in
|
||||
case "$OBJC_RUNTIME_LIB" in
|
||||
gnu) default_runtime_abi=gcc ;;
|
||||
ng) default_runtime_abi=gnustep-1.8 ;;
|
||||
*) default_runtime_abi="(unknown)" ;;
|
||||
|
@ -6294,6 +7082,12 @@ else
|
|||
with_runtime_abi=${default_runtime_abi}
|
||||
fi
|
||||
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for runtime ABI" >&5
|
||||
$as_echo_n "checking for runtime ABI... " >&6; }
|
||||
if ${_gs_cv_runtime_abi+:} false; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
|
||||
_gs_cv_runtime_abi=${with_runtime_abi}
|
||||
|
||||
fi
|
||||
|
|
28
configure.ac
28
configure.ac
|
@ -1127,6 +1127,8 @@ if test "$gs_cv_objc_libdir" != "NONE"; then
|
|||
esac
|
||||
fi
|
||||
|
||||
GS_CUSTOM_OBJC_RUNTIME_DOMAIN()
|
||||
|
||||
# Special case for Apple systems: When compiling plain C source files that
|
||||
# include Objective-C runtime headers we must make sure that the correct
|
||||
# header files are used with a gnu-*-* combo. The -fobjc-runtime=gcc compiler
|
||||
|
@ -1153,30 +1155,12 @@ AC_SUBST(cc_gnuruntime)
|
|||
# TODO: This flag needs to be moved to gnustep-base since it concerns
|
||||
# the runtime library (see explanations at the beginning of this
|
||||
# file).
|
||||
AC_MSG_CHECKING(for the flag to link libobjc)
|
||||
AC_ARG_WITH(objc-lib-flag,[
|
||||
--with-objc-lib-flag
|
||||
Specify a different flag to link libobjc (the Objective-C runtime
|
||||
library). The default is -lobjc. In some situations you may have
|
||||
multiple versions of libobjc installed and if your linker supports
|
||||
it you may want to specify exactly which one must be used; for
|
||||
example on GNU/Linux you should be able to use
|
||||
--with-objc-lib-flag=-l:libobjc.so.1
|
||||
to request libobjc.so.1 (as opposed to, say, libobjc.so.2) to be
|
||||
linked.
|
||||
],
|
||||
OBJC_LIB_FLAG="$withval",
|
||||
OBJC_LIB_FLAG=""
|
||||
)
|
||||
# We pass the flag, unchanged, to gnustep-make - if it's empty,
|
||||
# gnustep-make will be free to use -lobjc
|
||||
AC_SUBST(OBJC_LIB_FLAG)
|
||||
|
||||
GS_OBJC_LIB_FLAG()
|
||||
GS_OBJC_RUNTIME()
|
||||
GS_CHECK_CC_IS_CLANG()
|
||||
# But we need to compute, and print out, what flag we're using now.
|
||||
OBJC_FINAL_LIB_FLAG="$OBJC_LIB_FLAG"
|
||||
|
||||
GS_CHECK_CC_IS_CLANG()
|
||||
|
||||
saved_CFLAGS="$CFLAGS"
|
||||
saved_LIBS="$LIBS"
|
||||
CFLAGS="$CFLAGS -x objective-c -I$srcdir $OBJC_CPPFLAGS $OBJC_LDFLAGS"
|
||||
|
@ -1205,8 +1189,6 @@ if test "$OBJC_RUNTIME_LIB" = "apple"; then
|
|||
OBJCRT="$OBJC_FINAL_LIB_FLAG"
|
||||
fi
|
||||
|
||||
AC_MSG_RESULT($OBJC_FINAL_LIB_FLAG)
|
||||
|
||||
#--------------------------------------------------------------------
|
||||
# Check if libobjc was compiled with thread support.
|
||||
#--------------------------------------------------------------------
|
||||
|
|
|
@ -12,8 +12,7 @@
|
|||
AC_DEFUN([GS_LIBRARY_COMBO],dnl
|
||||
[AC_REQUIRE([AC_CANONICAL_TARGET])
|
||||
AC_REQUIRE([AC_PROG_AWK])
|
||||
AC_CACHE_CHECK([for library combo],[_gs_cv_libray_combo], [
|
||||
case "$host_os" in
|
||||
case "$host_os" in
|
||||
darwin*) default_library_combo=apple-apple-apple ;;
|
||||
nextstep4) default_library_combo=nx-nx-nx ;;
|
||||
openstep4) default_library_combo=nx-nx-nx ;;
|
||||
|
@ -45,6 +44,7 @@ AC_DEFUN([GS_LIBRARY_COMBO],dnl
|
|||
runtime and compile time features (requires a recent version of clang).
|
||||
])],,
|
||||
[with_library_combo=]${default_library_combo})
|
||||
AC_CACHE_CHECK([for library combo],[_gs_cv_libray_combo], [
|
||||
case "$with_library_combo" in
|
||||
apple) with_library_combo=apple-apple-apple ;;
|
||||
gnu) with_library_combo=gnu-gnu-gnu ;;
|
||||
|
|
121
m4/gs_objc_runtime.m4
Normal file
121
m4/gs_objc_runtime.m4
Normal file
|
@ -0,0 +1,121 @@
|
|||
AC_DEFUN([GS_OBJ_DIR], [
|
||||
AC_CACHE_CHECK([for object subdirectory],[_gs_cv_obj_dir], [
|
||||
if test "$GNUSTEP_IS_FLATTENED" != yes; then
|
||||
clean_target_os=`$srcdir/clean_os.sh $target_os`
|
||||
clean_target_cpu=`$srcdir/clean_cpu.sh $target_cpu`
|
||||
_gs_cv_obj_dir="$clean_target_cpu/$clean_target_os"
|
||||
else
|
||||
_gs_cv_obj_dir="(none)"
|
||||
fi
|
||||
])
|
||||
AS_VAR_IF([_gs_cv_obj_dir], ["(none)"], AS_UNSET(gs_cv_obj_dir), [AS_VAR_SET([gs_cv_obj_dir], [${_gs_cv_obj_dir}])])
|
||||
])
|
||||
|
||||
AC_DEFUN([GS_DOMAIN_DIR],[
|
||||
AC_REQUIRE([GS_OBJ_DIR])
|
||||
m4_pushdef([search_dir], [m4_join([],[gs_cv_], $1, [_], $2, [_dir])])
|
||||
AC_CACHE_VAL(search_dir,[
|
||||
search_dir=m4_join([],[$GNUSTEP_], $1, [_], $2)
|
||||
|
||||
if test ! "$GNUSTEP_IS_FLATTENED" = yes; then
|
||||
search_dir="${search_dir}/m4_case([$2], [HEADERS], [${LIBRARY_COMBO}], [LIBRARIES], [${gs_cv_obj_dir}])"
|
||||
fi
|
||||
])
|
||||
m4_popdef([search_dir])
|
||||
])
|
||||
|
||||
AC_DEFUN([GS_DOMAINS_FOR_FILES],[
|
||||
m4_pushdef([cache_var], [m4_join([], [gs_cv_], $1, [_domains])])
|
||||
AC_REQUIRE([GS_OBJ_DIR])
|
||||
AC_CACHE_CHECK(m4_join([ ], [for domains containing], m4_tolower($2), m4_join([, ], [$3])), cache_var, [
|
||||
cache_var=""
|
||||
INFIX=""
|
||||
m4_foreach([domain], [SYSTEM, NETWORK, LOCAL, USER], [
|
||||
m4_pushdef([search_dir], [m4_join([],[gs_cv_], domain, [_], $2, [_dir])])
|
||||
GS_DOMAIN_DIR([domain],[$2])
|
||||
if test -d $search_dir; then
|
||||
if test -f "$search_dir/m4_combine(m4_join([], [-o -f "$], search_dir, [/]), [$3], [" ], []); then
|
||||
cache_var="${cache_var}${INFIX}domain"
|
||||
INFIX=", "
|
||||
fi
|
||||
fi
|
||||
m4_popdef([search_dir])
|
||||
])
|
||||
if test x"${cache_var}" = x""; then
|
||||
cache_var="(none)"
|
||||
fi
|
||||
])
|
||||
AS_VAR_IF(cache_var, ["(none)"], AS_UNSET(m4_join([_], $1, [DOMAINS])), [AS_VAR_SET(m4_join([_], $1, [DOMAINS]), [${cache_var}])])
|
||||
m4_popdef([cache_var])
|
||||
])
|
||||
|
||||
AC_DEFUN([_GS_LIBOJC_DOMAINS],[
|
||||
GS_DOMAINS_FOR_FILES([LIBOBJC], [LIBRARIES], [libobjc.a, libobjc.so, libobjc.dll.a, libobjc-gnu.dylib])
|
||||
])
|
||||
|
||||
AC_DEFUN([_GS_OBJC_HEADER_DOMAINS],[
|
||||
GS_DOMAINS_FOR_FILES([OBJC_HEADERS], [HEADERS], [objc/objc.h])
|
||||
])
|
||||
|
||||
AC_DEFUN([GS_CUSTOM_OBJC_RUNTIME_DOMAIN], [
|
||||
AC_REQUIRE([AC_PROG_SED])
|
||||
AC_REQUIRE([_GS_LIBOJC_DOMAINS])
|
||||
AC_REQUIRE([_GS_OBJC_HEADER_DOMAINS])
|
||||
AC_CACHE_CHECK([for custom shared objc library domain], [gs_cv_libobjc_domain], [
|
||||
gs_cv_libobjc_domain=""
|
||||
for i in $(echo ${LIBOBJC_DOMAINS}| $SED "s/, / /g"); do
|
||||
for j in $(echo ${OBJC_HEADERS_DOMAINS}| $SED "s/, / /g"); do
|
||||
if test x"$i" = x"$j"; then
|
||||
gs_cv_libobjc_domain=$i
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test ! x"$gs_cv_libobjc_domain" = x""; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
])
|
||||
])
|
||||
|
||||
AC_DEFUN([GS_LIBOBJC_PKG], [
|
||||
if test x"$GNUSTEP_HAS_PKGCONFIG" = x"yes"; then
|
||||
PKG_CHECK_MODULES([libobjc], [libobjc >= 2], [
|
||||
AS_VAR_SET([libobjc_SUPPORTS_ABI2], ["yes"])
|
||||
], [
|
||||
PKG_CHECK_MODULES([libobjc], [libobjc])
|
||||
AS_VAR_SET([libobjc_SUPPORTS_ABI2], ["no"])
|
||||
])
|
||||
fi
|
||||
|
||||
])
|
||||
|
||||
|
||||
AC_DEFUN([GS_OBJC_LIB_FLAG], [
|
||||
AC_MSG_CHECKING(for the flag to link libobjc)
|
||||
AC_ARG_WITH([objc-lib-flag],
|
||||
[AS_HELP_STRING([--with-objc-lib-flag], [
|
||||
Specify a different flag to link libobjc (the Objective-C runtime
|
||||
library). The default is -lobjc. In some situations you may have
|
||||
multiple versions of libobjc installed and if your linker supports
|
||||
it you may want to specify exactly which one must be used; for
|
||||
example on GNU/Linux you should be able to use
|
||||
--with-objc-lib-flag=-l:libobjc.so.1
|
||||
to request libobjc.so.1 (as opposed to, say, libobjc.so.2) to be
|
||||
linked.
|
||||
])],,
|
||||
[with_objc_lib_flag=]"")
|
||||
AS_VAR_SET([OBJC_LIB_FLAG], [${with_objc_lib_flag}])
|
||||
AC_SUBST(OBJC_LIB_FLAG)
|
||||
if test x"${with_objc_lib_flag}" = x""; then
|
||||
effective_flag=-lobjc
|
||||
else
|
||||
effective_flag=${with_objc_lib_flag}
|
||||
fi
|
||||
AC_MSG_RESULT(${effective_flag})
|
||||
])
|
||||
|
||||
AC_DEFUN([GS_OBJC_RUNTIME], [
|
||||
AC_REQUIRE([GS_CUSTOM_OBJC_RUNTIME_DOMAIN])
|
||||
AC_REQUIRE([GS_OBJC_LIB_FLAG])
|
||||
AC_REQUIRE([GS_LIBOBJC_PKG])
|
||||
])
|
|
@ -8,8 +8,7 @@
|
|||
#
|
||||
AC_DEFUN([GS_RUNTIME_ABI],dnl
|
||||
[AC_REQUIRE([GS_LIBRARY_COMBO])
|
||||
AC_CACHE_CHECK([for runtime ABI],[_gs_cv_runtime_abi], [
|
||||
case "$OBJC_RUNTIME_LIB" in
|
||||
case "$OBJC_RUNTIME_LIB" in
|
||||
gnu) default_runtime_abi=gcc ;;
|
||||
ng) default_runtime_abi=gnustep-1.8 ;;
|
||||
*) default_runtime_abi="(unknown)" ;;
|
||||
|
@ -22,6 +21,7 @@ AC_DEFUN([GS_RUNTIME_ABI],dnl
|
|||
When using the ng runtime library, allows control over the -fobjc-runtime= flag passed to clang.
|
||||
])],,
|
||||
[with_runtime_abi=]${default_runtime_abi})
|
||||
AC_CACHE_CHECK([for runtime ABI],[_gs_cv_runtime_abi], [
|
||||
_gs_cv_runtime_abi=${with_runtime_abi}
|
||||
])
|
||||
AS_VAR_IF([_gs_cv_runtime_abi], ["(unknown)"], [AS_UNSET(gs_cv_runtime_abi)], [AS_VAR_SET([gs_cv_runtime_abi], [${_gs_cv_runtime_abi}])])
|
||||
|
|
Loading…
Reference in a new issue