Update buildsys
FossilOrigin-Name: a13b2c4a7671363d48d746261cd31ec4548b5a8c9fca89ded1c5e7f2c45e154b
This commit is contained in:
parent
f6197a27f1
commit
e6c76beab5
6 changed files with 3515 additions and 2524 deletions
|
@ -2,9 +2,11 @@
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
# Set a version for OpenBSD
|
# Set a version for OpenBSD
|
||||||
: ${AUTOCONF_VERSION:=2.69}
|
if test x"$(uname -s)" = x"OpenBSD"; then
|
||||||
: ${AUTOMAKE_VERSION:=1.16}
|
: ${AUTOCONF_VERSION:=2.71}
|
||||||
export AUTOCONF_VERSION AUTOMAKE_VERSION
|
: ${AUTOMAKE_VERSION:=1.16}
|
||||||
|
export AUTOCONF_VERSION AUTOMAKE_VERSION
|
||||||
|
fi
|
||||||
|
|
||||||
aclocal -I build-aux/m4
|
aclocal -I build-aux/m4
|
||||||
autoconf
|
autoconf
|
||||||
|
|
1732
build-aux/config.guess
vendored
1732
build-aux/config.guess
vendored
File diff suppressed because it is too large
Load diff
3091
build-aux/config.sub
vendored
3091
build-aux/config.sub
vendored
File diff suppressed because it is too large
Load diff
|
@ -1,7 +1,7 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# install - install a program, script, or datafile
|
# install - install a program, script, or datafile
|
||||||
|
|
||||||
scriptversion=2013-12-25.23; # UTC
|
scriptversion=2023-11-23.18; # UTC
|
||||||
|
|
||||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||||
|
@ -69,6 +69,11 @@ posix_mkdir=
|
||||||
# Desired mode of installed file.
|
# Desired mode of installed file.
|
||||||
mode=0755
|
mode=0755
|
||||||
|
|
||||||
|
# Create dirs (including intermediate dirs) using mode 755.
|
||||||
|
# This is like GNU 'install' as of coreutils 8.32 (2020).
|
||||||
|
mkdir_umask=22
|
||||||
|
|
||||||
|
backupsuffix=
|
||||||
chgrpcmd=
|
chgrpcmd=
|
||||||
chmodcmd=$chmodprog
|
chmodcmd=$chmodprog
|
||||||
chowncmd=
|
chowncmd=
|
||||||
|
@ -99,19 +104,29 @@ Options:
|
||||||
--version display version info and exit.
|
--version display version info and exit.
|
||||||
|
|
||||||
-c (ignored)
|
-c (ignored)
|
||||||
-C install only if different (preserve the last data modification time)
|
-C install only if different (preserve data modification time)
|
||||||
-d create directories instead of installing files.
|
-d create directories instead of installing files.
|
||||||
-g GROUP $chgrpprog installed files to GROUP.
|
-g GROUP $chgrpprog installed files to GROUP.
|
||||||
-m MODE $chmodprog installed files to MODE.
|
-m MODE $chmodprog installed files to MODE.
|
||||||
-o USER $chownprog installed files to USER.
|
-o USER $chownprog installed files to USER.
|
||||||
|
-p pass -p to $cpprog.
|
||||||
-s $stripprog installed files.
|
-s $stripprog installed files.
|
||||||
|
-S SUFFIX attempt to back up existing files, with suffix SUFFIX.
|
||||||
-t DIRECTORY install into DIRECTORY.
|
-t DIRECTORY install into DIRECTORY.
|
||||||
-T report an error if DSTFILE is a directory.
|
-T report an error if DSTFILE is a directory.
|
||||||
|
|
||||||
Environment variables override the default commands:
|
Environment variables override the default commands:
|
||||||
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
|
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
|
||||||
RMPROG STRIPPROG
|
RMPROG STRIPPROG
|
||||||
"
|
|
||||||
|
By default, rm is invoked with -f; when overridden with RMPROG,
|
||||||
|
it's up to you to specify -f if you want it.
|
||||||
|
|
||||||
|
If -S is not specified, no backups are attempted.
|
||||||
|
|
||||||
|
Report bugs to <bug-automake@gnu.org>.
|
||||||
|
GNU Automake home page: <https://www.gnu.org/software/automake/>.
|
||||||
|
General help using GNU software: <https://www.gnu.org/gethelp/>."
|
||||||
|
|
||||||
while test $# -ne 0; do
|
while test $# -ne 0; do
|
||||||
case $1 in
|
case $1 in
|
||||||
|
@ -137,8 +152,13 @@ while test $# -ne 0; do
|
||||||
-o) chowncmd="$chownprog $2"
|
-o) chowncmd="$chownprog $2"
|
||||||
shift;;
|
shift;;
|
||||||
|
|
||||||
|
-p) cpprog="$cpprog -p";;
|
||||||
|
|
||||||
-s) stripcmd=$stripprog;;
|
-s) stripcmd=$stripprog;;
|
||||||
|
|
||||||
|
-S) backupsuffix="$2"
|
||||||
|
shift;;
|
||||||
|
|
||||||
-t)
|
-t)
|
||||||
is_target_a_directory=always
|
is_target_a_directory=always
|
||||||
dst_arg=$2
|
dst_arg=$2
|
||||||
|
@ -255,6 +275,10 @@ do
|
||||||
dstdir=$dst
|
dstdir=$dst
|
||||||
test -d "$dstdir"
|
test -d "$dstdir"
|
||||||
dstdir_status=$?
|
dstdir_status=$?
|
||||||
|
# Don't chown directories that already exist.
|
||||||
|
if test $dstdir_status = 0; then
|
||||||
|
chowncmd=""
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
|
|
||||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||||
|
@ -271,15 +295,18 @@ do
|
||||||
fi
|
fi
|
||||||
dst=$dst_arg
|
dst=$dst_arg
|
||||||
|
|
||||||
# If destination is a directory, append the input filename; won't work
|
# If destination is a directory, append the input filename.
|
||||||
# if double slashes aren't ignored.
|
|
||||||
if test -d "$dst"; then
|
if test -d "$dst"; then
|
||||||
if test "$is_target_a_directory" = never; then
|
if test "$is_target_a_directory" = never; then
|
||||||
echo "$0: $dst_arg: Is a directory" >&2
|
echo "$0: $dst_arg: Is a directory" >&2
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
dstdir=$dst
|
dstdir=$dst
|
||||||
dst=$dstdir/`basename "$src"`
|
dstbase=`basename "$src"`
|
||||||
|
case $dst in
|
||||||
|
*/) dst=$dst$dstbase;;
|
||||||
|
*) dst=$dst/$dstbase;;
|
||||||
|
esac
|
||||||
dstdir_status=0
|
dstdir_status=0
|
||||||
else
|
else
|
||||||
dstdir=`dirname "$dst"`
|
dstdir=`dirname "$dst"`
|
||||||
|
@ -288,27 +315,16 @@ do
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
case $dstdir in
|
||||||
|
*/) dstdirslash=$dstdir;;
|
||||||
|
*) dstdirslash=$dstdir/;;
|
||||||
|
esac
|
||||||
|
|
||||||
obsolete_mkdir_used=false
|
obsolete_mkdir_used=false
|
||||||
|
|
||||||
if test $dstdir_status != 0; then
|
if test $dstdir_status != 0; then
|
||||||
case $posix_mkdir in
|
case $posix_mkdir in
|
||||||
'')
|
'')
|
||||||
# Create intermediate dirs using mode 755 as modified by the umask.
|
|
||||||
# This is like FreeBSD 'install' as of 1997-10-28.
|
|
||||||
umask=`umask`
|
|
||||||
case $stripcmd.$umask in
|
|
||||||
# Optimize common cases.
|
|
||||||
*[2367][2367]) mkdir_umask=$umask;;
|
|
||||||
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
|
||||||
|
|
||||||
*[0-7])
|
|
||||||
mkdir_umask=`expr $umask + 22 \
|
|
||||||
- $umask % 100 % 40 + $umask % 20 \
|
|
||||||
- $umask % 10 % 4 + $umask % 2
|
|
||||||
`;;
|
|
||||||
*) mkdir_umask=$umask,go-w;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
# With -d, create the new directory with the user-specified mode.
|
# With -d, create the new directory with the user-specified mode.
|
||||||
# Otherwise, rely on $mkdir_umask.
|
# Otherwise, rely on $mkdir_umask.
|
||||||
if test -n "$dir_arg"; then
|
if test -n "$dir_arg"; then
|
||||||
|
@ -318,43 +334,49 @@ do
|
||||||
fi
|
fi
|
||||||
|
|
||||||
posix_mkdir=false
|
posix_mkdir=false
|
||||||
case $umask in
|
# The $RANDOM variable is not portable (e.g., dash). Use it
|
||||||
*[123567][0-7][0-7])
|
# here however when possible just to lower collision chance.
|
||||||
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
|
||||||
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||||
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
|
||||||
|
|
||||||
|
trap '
|
||||||
|
ret=$?
|
||||||
|
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir" 2>/dev/null
|
||||||
|
exit $ret
|
||||||
|
' 0
|
||||||
|
|
||||||
|
# Because "mkdir -p" follows existing symlinks and we likely work
|
||||||
|
# directly in world-writeable /tmp, make sure that the '$tmpdir'
|
||||||
|
# directory is successfully created first before we actually test
|
||||||
|
# 'mkdir -p'.
|
||||||
if (umask $mkdir_umask &&
|
if (umask $mkdir_umask &&
|
||||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
$mkdirprog $mkdir_mode "$tmpdir" &&
|
||||||
|
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/a/b") >/dev/null 2>&1
|
||||||
then
|
then
|
||||||
if test -z "$dir_arg" || {
|
if test -z "$dir_arg" || {
|
||||||
# Check for POSIX incompatibilities with -m.
|
# Check for POSIX incompatibilities with -m.
|
||||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||||
# other-writable bit of parent directory when it shouldn't.
|
# other-writable bit of parent directory when it shouldn't.
|
||||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||||
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
test_tmpdir="$tmpdir/a"
|
||||||
|
ls_ld_tmpdir=`ls -ld "$test_tmpdir"`
|
||||||
case $ls_ld_tmpdir in
|
case $ls_ld_tmpdir in
|
||||||
d????-?r-*) different_mode=700;;
|
d????-?r-*) different_mode=700;;
|
||||||
d????-?--*) different_mode=755;;
|
d????-?--*) different_mode=755;;
|
||||||
*) false;;
|
*) false;;
|
||||||
esac &&
|
esac &&
|
||||||
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
$mkdirprog -m$different_mode -p -- "$test_tmpdir" && {
|
||||||
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
ls_ld_tmpdir_1=`ls -ld "$test_tmpdir"`
|
||||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
then posix_mkdir=:
|
then posix_mkdir=:
|
||||||
fi
|
fi
|
||||||
rmdir "$tmpdir/d" "$tmpdir"
|
rmdir "$tmpdir/a/b" "$tmpdir/a" "$tmpdir"
|
||||||
else
|
else
|
||||||
# Remove any dirs left behind by ancient mkdir implementations.
|
# Remove any dirs left behind by ancient mkdir implementations.
|
||||||
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
rmdir ./$mkdir_mode ./-p ./-- "$tmpdir" 2>/dev/null
|
||||||
fi
|
fi
|
||||||
trap '' 0;;
|
trap '' 0;;
|
||||||
esac;;
|
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if
|
if
|
||||||
|
@ -365,7 +387,7 @@ do
|
||||||
then :
|
then :
|
||||||
else
|
else
|
||||||
|
|
||||||
# The umask is ridiculous, or mkdir does not conform to POSIX,
|
# mkdir does not conform to POSIX,
|
||||||
# or it failed possibly due to a race condition. Create the
|
# or it failed possibly due to a race condition. Create the
|
||||||
# directory the slow way, step by step, checking for races as we go.
|
# directory the slow way, step by step, checking for races as we go.
|
||||||
|
|
||||||
|
@ -394,7 +416,7 @@ do
|
||||||
prefixes=
|
prefixes=
|
||||||
else
|
else
|
||||||
if $posix_mkdir; then
|
if $posix_mkdir; then
|
||||||
(umask=$mkdir_umask &&
|
(umask $mkdir_umask &&
|
||||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||||
# Don't fail if two instances are running concurrently.
|
# Don't fail if two instances are running concurrently.
|
||||||
test -d "$prefix" || exit 1
|
test -d "$prefix" || exit 1
|
||||||
|
@ -427,14 +449,25 @@ do
|
||||||
else
|
else
|
||||||
|
|
||||||
# Make a couple of temp file names in the proper directory.
|
# Make a couple of temp file names in the proper directory.
|
||||||
dsttmp=$dstdir/_inst.$$_
|
dsttmp=${dstdirslash}_inst.$$_
|
||||||
rmtmp=$dstdir/_rm.$$_
|
rmtmp=${dstdirslash}_rm.$$_
|
||||||
|
|
||||||
# Trap to clean up those temp files at exit.
|
# Trap to clean up those temp files at exit.
|
||||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||||
|
|
||||||
# Copy the file name to the temp name.
|
# Copy the file name to the temp name.
|
||||||
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
|
(umask $cp_umask &&
|
||||||
|
{ test -z "$stripcmd" || {
|
||||||
|
# Create $dsttmp read-write so that cp doesn't create it read-only,
|
||||||
|
# which would cause strip to fail.
|
||||||
|
if test -z "$doit"; then
|
||||||
|
: >"$dsttmp" # No need to fork-exec 'touch'.
|
||||||
|
else
|
||||||
|
$doit touch "$dsttmp"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
} &&
|
||||||
|
$doit_exec $cpprog "$src" "$dsttmp") &&
|
||||||
|
|
||||||
# and set any options; do chmod last to preserve setuid bits.
|
# and set any options; do chmod last to preserve setuid bits.
|
||||||
#
|
#
|
||||||
|
@ -460,6 +493,13 @@ do
|
||||||
then
|
then
|
||||||
rm -f "$dsttmp"
|
rm -f "$dsttmp"
|
||||||
else
|
else
|
||||||
|
# If $backupsuffix is set, and the file being installed
|
||||||
|
# already exists, attempt a backup. Don't worry if it fails,
|
||||||
|
# e.g., if mv doesn't support -f.
|
||||||
|
if test -n "$backupsuffix" && test -f "$dst"; then
|
||||||
|
$doit $mvcmd -f "$dst" "$dst$backupsuffix" 2>/dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
# Rename the file to the real destination.
|
# Rename the file to the real destination.
|
||||||
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
|
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
|
||||||
|
|
||||||
|
@ -474,9 +514,9 @@ do
|
||||||
# file should still install successfully.
|
# file should still install successfully.
|
||||||
{
|
{
|
||||||
test ! -f "$dst" ||
|
test ! -f "$dst" ||
|
||||||
$doit $rmcmd -f "$dst" 2>/dev/null ||
|
$doit $rmcmd "$dst" 2>/dev/null ||
|
||||||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
|
||||||
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
|
{ $doit $rmcmd "$rmtmp" 2>/dev/null; :; }
|
||||||
} ||
|
} ||
|
||||||
{ echo "$0: cannot unlink or rename $dst" >&2
|
{ echo "$0: cannot unlink or rename $dst" >&2
|
||||||
(exit 1); exit 1
|
(exit 1); exit 1
|
||||||
|
@ -493,9 +533,9 @@ do
|
||||||
done
|
done
|
||||||
|
|
||||||
# Local variables:
|
# Local variables:
|
||||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
# eval: (add-hook 'before-save-hook 'time-stamp)
|
||||||
# time-stamp-start: "scriptversion="
|
# time-stamp-start: "scriptversion="
|
||||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||||
# time-stamp-time-zone: "UTC"
|
# time-stamp-time-zone: "UTC0"
|
||||||
# time-stamp-end: "; # UTC"
|
# time-stamp-end: "; # UTC"
|
||||||
# End:
|
# End:
|
||||||
|
|
|
@ -1,8 +1,9 @@
|
||||||
dnl
|
dnl
|
||||||
dnl Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014
|
dnl Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017,
|
||||||
dnl Jonathan Schleifer <js@webkeks.org>
|
dnl 2018, 2020, 2021, 2022, 2023
|
||||||
|
dnl Jonathan Schleifer <js@nil.im>
|
||||||
dnl
|
dnl
|
||||||
dnl https://webkeks.org/git/?p=buildsys.git
|
dnl https://fossil.nil.im/buildsys
|
||||||
dnl
|
dnl
|
||||||
dnl Permission to use, copy, modify, and/or distribute this software for any
|
dnl Permission to use, copy, modify, and/or distribute this software for any
|
||||||
dnl purpose with or without fee is hereby granted, provided that the above
|
dnl purpose with or without fee is hereby granted, provided that the above
|
||||||
|
@ -22,13 +23,57 @@ dnl POSSIBILITY OF SUCH DAMAGE.
|
||||||
dnl
|
dnl
|
||||||
|
|
||||||
AC_DEFUN([BUILDSYS_INIT], [
|
AC_DEFUN([BUILDSYS_INIT], [
|
||||||
AC_CONFIG_COMMANDS_PRE([
|
AC_REQUIRE([AC_CANONICAL_BUILD])
|
||||||
AC_SUBST(CC_DEPENDS, $GCC)
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
AC_SUBST(CXX_DEPENDS, $GXX)
|
|
||||||
AC_SUBST(OBJC_DEPENDS, $GOBJC)
|
|
||||||
AC_SUBST(OBJCXX_DEPENDS, $GOBJCXX)
|
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(rpath,
|
||||||
|
AS_HELP_STRING([--disable-rpath], [do not use rpath]))
|
||||||
|
|
||||||
|
AC_ARG_ENABLE(silent-rules,
|
||||||
|
AS_HELP_STRING([--disable-silent-rules],
|
||||||
|
[print executed commands during build]))
|
||||||
|
|
||||||
|
case "$build_os" in
|
||||||
|
darwin*)
|
||||||
|
case "$host_os" in
|
||||||
|
darwin*)
|
||||||
|
AC_SUBST(BUILD_AND_HOST_ARE_DARWIN, yes)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
AC_PROG_INSTALL
|
||||||
|
case "$INSTALL" in
|
||||||
|
./build-aux/install-sh*)
|
||||||
|
INSTALL="$PWD/$INSTALL"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
AC_CONFIG_COMMANDS_PRE([
|
||||||
|
AS_IF([test x"$GCC" = x"yes"],
|
||||||
|
[AC_SUBST(DEP_CFLAGS, '-MD -MF $${out%.o}.dep')])
|
||||||
|
AS_IF([test x"$GXX" = x"yes"],
|
||||||
|
[AC_SUBST(DEP_CXXFLAGS, '-MD -MF $${out%.o}.dep')])
|
||||||
|
AS_IF([test x"$GOBJC" = x"yes"],
|
||||||
|
[AC_SUBST(DEP_OBJCFLAGS, '-MD -MF $${out%.o}.dep')])
|
||||||
|
AS_IF([test x"$GOBJCXX" = x"yes"],
|
||||||
|
[AC_SUBST(DEP_OBJCXXFLAGS, '-MD -MF $${out%.o}.dep')])
|
||||||
|
|
||||||
|
AC_SUBST(AMIGA_LIB_CFLAGS)
|
||||||
|
AC_SUBST(AMIGA_LIB_LDFLAGS)
|
||||||
|
|
||||||
|
case "$build_os" in
|
||||||
|
morphos*)
|
||||||
|
dnl Don't use tput on MorphOS: The colored output is
|
||||||
|
dnl quite unreadable and in some MorphOS versions the
|
||||||
|
dnl output from tput is not 8-bit safe, with awk (for
|
||||||
|
dnl AC_SUBST) failing as a result.
|
||||||
|
;;
|
||||||
|
*)
|
||||||
AC_PATH_PROG(TPUT, tput)
|
AC_PATH_PROG(TPUT, tput)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
AS_IF([test x"$TPUT" != x""], [
|
AS_IF([test x"$TPUT" != x""], [
|
||||||
if x=$($TPUT el 2>/dev/null); then
|
if x=$($TPUT el 2>/dev/null); then
|
||||||
|
@ -59,6 +104,20 @@ AC_DEFUN([BUILDSYS_INIT], [
|
||||||
"$($TPUT setaf 4 2>/dev/null)")
|
"$($TPUT setaf 4 2>/dev/null)")
|
||||||
AC_SUBST(TERM_SETAF6,
|
AC_SUBST(TERM_SETAF6,
|
||||||
"$($TPUT setaf 6 2>/dev/null)")
|
"$($TPUT setaf 6 2>/dev/null)")
|
||||||
|
dnl OpenBSD seems to want 3 parameters for terminals
|
||||||
|
dnl ending in -256color, but the additional two
|
||||||
|
dnl parameters don't seem to do anything, so we set
|
||||||
|
dnl them to 0.
|
||||||
|
elif x=$($TPUT setaf 1 0 0 2>/dev/null); then
|
||||||
|
AC_SUBST(TERM_SETAF1, "$x")
|
||||||
|
AC_SUBST(TERM_SETAF2,
|
||||||
|
"$($TPUT setaf 2 0 0 2>/dev/null)")
|
||||||
|
AC_SUBST(TERM_SETAF3,
|
||||||
|
"$($TPUT setaf 3 0 0 2>/dev/null)")
|
||||||
|
AC_SUBST(TERM_SETAF4,
|
||||||
|
"$($TPUT setaf 4 0 0 2>/dev/null)")
|
||||||
|
AC_SUBST(TERM_SETAF6,
|
||||||
|
"$($TPUT setaf 6 0 0 2>/dev/null)")
|
||||||
else
|
else
|
||||||
AC_SUBST(TERM_SETAF1,
|
AC_SUBST(TERM_SETAF1,
|
||||||
"$($TPUT AF 1 2>/dev/null)")
|
"$($TPUT AF 1 2>/dev/null)")
|
||||||
|
@ -71,26 +130,37 @@ AC_DEFUN([BUILDSYS_INIT], [
|
||||||
AC_SUBST(TERM_SETAF6,
|
AC_SUBST(TERM_SETAF6,
|
||||||
"$($TPUT AF 6 2>/dev/null)")
|
"$($TPUT AF 6 2>/dev/null)")
|
||||||
fi
|
fi
|
||||||
], [
|
|
||||||
AC_SUBST(TERM_EL, '\033\133K')
|
|
||||||
AC_SUBST(TERM_SGR0, '\033\133m')
|
|
||||||
AC_SUBST(TERM_BOLD, '\033\1331m')
|
|
||||||
AC_SUBST(TERM_SETAF1, '\033\13331m')
|
|
||||||
AC_SUBST(TERM_SETAF2, '\033\13332m')
|
|
||||||
AC_SUBST(TERM_SETAF3, '\033\13333m')
|
|
||||||
AC_SUBST(TERM_SETAF4, '\033\13334m')
|
|
||||||
AC_SUBST(TERM_SETAF6, '\033\13336m')
|
|
||||||
])
|
|
||||||
])
|
])
|
||||||
|
|
||||||
AC_CONFIG_COMMANDS_POST([
|
AS_IF([test x"$enable_silent_rules" != x"no"], [
|
||||||
${as_echo:="echo"} ${as_me:="configure"}": touching .deps files"
|
AC_SUBST(SILENT, '.SILENT:')
|
||||||
for i in $(find . -name Makefile); do
|
AC_SUBST(MAKEFLAGS_SILENT, '-s')
|
||||||
DEPSFILE="$(dirname $i)/.deps"
|
|
||||||
test -f "$DEPSFILE" && rm "$DEPSFILE"
|
|
||||||
touch -t 0001010000 "$DEPSFILE"
|
|
||||||
done
|
|
||||||
])
|
])
|
||||||
|
])
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([BUILDSYS_CHECK_IOS], [
|
||||||
|
case "$host_os" in
|
||||||
|
darwin*)
|
||||||
|
AC_MSG_CHECKING(whether host is iOS)
|
||||||
|
AC_EGREP_CPP(yes, [
|
||||||
|
#include <TargetConditionals.h>
|
||||||
|
|
||||||
|
#if (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE) || \
|
||||||
|
(defined(TARGET_OS_SIMULATOR) && \
|
||||||
|
TARGET_OS_SIMULATOR)
|
||||||
|
yes
|
||||||
|
#endif
|
||||||
|
], [
|
||||||
|
host_is_ios="yes"
|
||||||
|
AC_SUBST(HOST_IS_IOS, yes)
|
||||||
|
], [
|
||||||
|
host_is_ios="no"
|
||||||
|
])
|
||||||
|
AC_MSG_RESULT($host_is_ios)
|
||||||
|
AC_CHECK_TOOL(CODESIGN, codesign)
|
||||||
|
;;
|
||||||
|
esac
|
||||||
])
|
])
|
||||||
|
|
||||||
AC_DEFUN([BUILDSYS_PROG_IMPLIB], [
|
AC_DEFUN([BUILDSYS_PROG_IMPLIB], [
|
||||||
|
@ -100,7 +170,7 @@ AC_DEFUN([BUILDSYS_PROG_IMPLIB], [
|
||||||
cygwin* | mingw*)
|
cygwin* | mingw*)
|
||||||
AC_MSG_RESULT(yes)
|
AC_MSG_RESULT(yes)
|
||||||
PROG_IMPLIB_NEEDED='yes'
|
PROG_IMPLIB_NEEDED='yes'
|
||||||
PROG_IMPLIB_LDFLAGS='-Wl,-export-all-symbols,--out-implib,lib${PROG}.a'
|
PROG_IMPLIB_LDFLAGS='-Wl,--export-all-symbols,--out-implib,lib${PROG}.a'
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
AC_MSG_RESULT(no)
|
AC_MSG_RESULT(no)
|
||||||
|
@ -115,91 +185,208 @@ AC_DEFUN([BUILDSYS_PROG_IMPLIB], [
|
||||||
|
|
||||||
AC_DEFUN([BUILDSYS_SHARED_LIB], [
|
AC_DEFUN([BUILDSYS_SHARED_LIB], [
|
||||||
AC_REQUIRE([AC_CANONICAL_HOST])
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
AC_MSG_CHECKING(for shared library system)
|
AC_REQUIRE([BUILDSYS_CHECK_IOS])
|
||||||
case "$host_os" in
|
AC_MSG_CHECKING(for shared library type)
|
||||||
darwin*)
|
|
||||||
|
case "$host" in
|
||||||
|
*-*-darwin*)
|
||||||
AC_MSG_RESULT(Darwin)
|
AC_MSG_RESULT(Darwin)
|
||||||
LIB_CFLAGS='-fPIC -DPIC'
|
LIB_CFLAGS='-fPIC -DPIC'
|
||||||
LIB_LDFLAGS='-dynamiclib -current_version ${LIB_MAJOR}.${LIB_MINOR} -compatibility_version ${LIB_MAJOR}'
|
LIB_LDFLAGS='-dynamiclib -current_version ${LIB_MAJOR}.${LIB_MINOR} -compatibility_version ${LIB_MAJOR}'
|
||||||
|
LIB_LDFLAGS_INSTALL_NAME='-Wl,-install_name,${libdir}/$${out%.dylib}.${LIB_MAJOR}.dylib'
|
||||||
LIB_PREFIX='lib'
|
LIB_PREFIX='lib'
|
||||||
LIB_SUFFIX='.dylib'
|
LIB_SUFFIX='.dylib'
|
||||||
|
AS_IF([test x"$enable_rpath" != x"no"], [
|
||||||
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
|
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
|
||||||
LDFLAGS_INSTALL_NAME='-Wl,-install_name,${libdir}/$${out%.dylib}.${LIB_MAJOR}.dylib'
|
])
|
||||||
PLUGIN_CFLAGS='-fPIC -DPIC'
|
|
||||||
PLUGIN_LDFLAGS='-bundle -undefined dynamic_lookup'
|
|
||||||
PLUGIN_SUFFIX='.bundle'
|
|
||||||
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$$i'
|
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$$i'
|
||||||
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib'
|
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib'
|
||||||
CLEAN_LIB=''
|
CLEAN_LIB=''
|
||||||
;;
|
;;
|
||||||
mingw* | cygwin*)
|
*-*-mingw* | *-*-cygwin*)
|
||||||
AC_MSG_RESULT(MinGW / Cygwin)
|
AC_MSG_RESULT(MinGW / Cygwin)
|
||||||
LIB_CFLAGS=''
|
LIB_CFLAGS=''
|
||||||
LIB_LDFLAGS='-shared -Wl,--out-implib,${SHARED_LIB}.a'
|
LIB_LDFLAGS='-shared -Wl,--export-all-symbols'
|
||||||
LIB_PREFIX='lib'
|
LIB_LDFLAGS_INSTALL_NAME=''
|
||||||
LIB_SUFFIX='.dll'
|
LIB_PREFIX=''
|
||||||
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
|
LIB_SUFFIX='${LIB_MAJOR}.dll'
|
||||||
PLUGIN_CFLAGS=''
|
LINK_LIB='&& rm -f lib$${out%${LIB_SUFFIX}}.dll.a && ${LN_S} $$out lib$${out%${LIB_SUFFIX}}.dll.a'
|
||||||
PLUGIN_LDFLAGS='-shared'
|
INSTALL_LIB='&& ${MKDIR_P} ${DESTDIR}${bindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${bindir}/$$i && ${INSTALL} -m 755 lib$${i%${LIB_SUFFIX}}.dll.a ${DESTDIR}${libdir}/lib$${i%${LIB_SUFFIX}}.dll.a'
|
||||||
PLUGIN_SUFFIX='.dll'
|
UNINSTALL_LIB='&& rm -f ${DESTDIR}${bindir}/$$i ${DESTDIR}${libdir}/lib$${i%${LIB_SUFFIX}}.dll.a'
|
||||||
INSTALL_LIB='&& ${MKDIR_P} ${DESTDIR}${bindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${bindir}/$$i && ${INSTALL} -m 755 $$i.a ${DESTDIR}${libdir}/$$i.a'
|
CLEAN_LIB='${SHARED_LIB}.a ${SHARED_LIB_NOINST}.a'
|
||||||
UNINSTALL_LIB='&& rm -f ${DESTDIR}${bindir}/$$i ${DESTDIR}${libdir}/$$i.a'
|
|
||||||
CLEAN_LIB='${SHARED_LIB}.a'
|
|
||||||
;;
|
;;
|
||||||
openbsd* | mirbsd*)
|
*-*-openbsd* | *-*-mirbsd*)
|
||||||
AC_MSG_RESULT(OpenBSD)
|
AC_MSG_RESULT(OpenBSD)
|
||||||
LIB_CFLAGS='-fPIC -DPIC'
|
LIB_CFLAGS='-fPIC -DPIC'
|
||||||
LIB_LDFLAGS='-shared'
|
LIB_LDFLAGS='-shared'
|
||||||
|
LIB_LDFLAGS_INSTALL_NAME=''
|
||||||
LIB_PREFIX='lib'
|
LIB_PREFIX='lib'
|
||||||
LIB_SUFFIX='.so.${LIB_MAJOR}.${LIB_MINOR}'
|
LIB_SUFFIX='.so.${LIB_MAJOR}.${LIB_MINOR}'
|
||||||
|
AS_IF([test x"$enable_rpath" != x"no"], [
|
||||||
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
|
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
|
||||||
PLUGIN_CFLAGS='-fPIC -DPIC'
|
])
|
||||||
PLUGIN_LDFLAGS='-shared'
|
|
||||||
PLUGIN_SUFFIX='.so'
|
|
||||||
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i'
|
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i'
|
||||||
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i'
|
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i'
|
||||||
CLEAN_LIB=''
|
CLEAN_LIB=''
|
||||||
;;
|
;;
|
||||||
solaris*)
|
*-*-solaris*)
|
||||||
AC_MSG_RESULT(Solaris)
|
AC_MSG_RESULT(Solaris)
|
||||||
LIB_CFLAGS='-fPIC -DPIC'
|
LIB_CFLAGS='-fPIC -DPIC'
|
||||||
LIB_LDFLAGS='-shared -Wl,-soname=${SHARED_LIB}.${LIB_MAJOR}.${LIB_MINOR}'
|
LIB_LDFLAGS='-shared -Wl,-soname=$$out.${LIB_MAJOR}.${LIB_MINOR}'
|
||||||
|
LIB_LDFLAGS_INSTALL_NAME=''
|
||||||
LIB_PREFIX='lib'
|
LIB_PREFIX='lib'
|
||||||
LIB_SUFFIX='.so'
|
LIB_SUFFIX='.so'
|
||||||
|
AS_IF([test x"$enable_rpath" != x"no"], [
|
||||||
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
|
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
|
||||||
PLUGIN_CFLAGS='-fPIC -DPIC'
|
])
|
||||||
PLUGIN_LDFLAGS='-shared'
|
|
||||||
PLUGIN_SUFFIX='.so'
|
|
||||||
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR} && rm -f ${DESTDIR}${libdir}/$$i && ${LN_S} $$i.${LIB_MAJOR}.${LIB_MINOR} ${DESTDIR}${libdir}/$$i'
|
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR} && rm -f ${DESTDIR}${libdir}/$$i && ${LN_S} $$i.${LIB_MAJOR}.${LIB_MINOR} ${DESTDIR}${libdir}/$$i'
|
||||||
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}'
|
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}'
|
||||||
CLEAN_LIB=''
|
CLEAN_LIB=''
|
||||||
;;
|
;;
|
||||||
|
*-*-android*)
|
||||||
|
AC_MSG_RESULT(Android)
|
||||||
|
LIB_CFLAGS='-fPIC -DPIC'
|
||||||
|
LIB_LDFLAGS='-shared -Wl,-soname=$$out.${LIB_MAJOR}'
|
||||||
|
LIB_LDFLAGS_INSTALL_NAME=''
|
||||||
|
LIB_PREFIX='lib'
|
||||||
|
LIB_SUFFIX='.so'
|
||||||
|
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.${LIB_PATCH} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.${LIB_PATCH} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.${LIB_PATCH} ${DESTDIR}${libdir}/$$i'
|
||||||
|
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.${LIB_PATCH}'
|
||||||
|
CLEAN_LIB=''
|
||||||
|
;;
|
||||||
|
hppa*-*-hpux*)
|
||||||
|
AC_MSG_RESULT([HP-UX (PA-RISC)])
|
||||||
|
LIB_CFLAGS='-fPIC -DPIC'
|
||||||
|
LIB_LDFLAGS='-shared -Wl,+h,$$out'
|
||||||
|
LIB_LDFLAGS_INSTALL_NAME=''
|
||||||
|
LIB_PREFIX='lib'
|
||||||
|
LIB_SUFFIX='.${LIB_MAJOR}'
|
||||||
|
LINK_LIB='&& rm -f $${out%%.*}.sl && ${LN_S} $$out $${out%%.*}.sl'
|
||||||
|
AS_IF([test x"$enable_rpath" != x"no"], [
|
||||||
|
LDFLAGS_RPATH='-Wl,+b,${libdir}'
|
||||||
|
])
|
||||||
|
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i && ${LN_S} -f $$i ${DESTDIR}${libdir}/$${i%%.*}.sl'
|
||||||
|
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%%.*}.sl'
|
||||||
|
CLEAN_LIB=''
|
||||||
|
;;
|
||||||
|
ia64*-*-hpux*)
|
||||||
|
AC_MSG_RESULT([HP-UX (Itanium)])
|
||||||
|
LIB_CFLAGS='-fPIC -DPIC'
|
||||||
|
LIB_LDFLAGS='-shared -Wl,+h,$$out'
|
||||||
|
LIB_LDFLAGS_INSTALL_NAME=''
|
||||||
|
LIB_PREFIX='lib'
|
||||||
|
LIB_SUFFIX='.${LIB_MAJOR}'
|
||||||
|
LINK_LIB='&& rm -f $${out%%.*}.so && ${LN_S} $$out $${out%%.*}.so'
|
||||||
|
AS_IF([test x"$enable_rpath" != x"no"], [
|
||||||
|
LDFLAGS_RPATH='-Wl,+b,${libdir}'
|
||||||
|
])
|
||||||
|
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i && ${LN_S} -f $$i ${DESTDIR}${libdir}/$${i%%.*}.so'
|
||||||
|
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%%.*}.so'
|
||||||
|
CLEAN_LIB=''
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
AC_MSG_RESULT(ELF)
|
AC_MSG_RESULT(ELF)
|
||||||
LIB_CFLAGS='-fPIC -DPIC'
|
LIB_CFLAGS='-fPIC -DPIC'
|
||||||
LIB_LDFLAGS='-shared -Wl,-soname=${SHARED_LIB}.${LIB_MAJOR}'
|
LIB_LDFLAGS='-shared -Wl,-soname=$$out.${LIB_MAJOR}'
|
||||||
|
LIB_LDFLAGS_INSTALL_NAME=''
|
||||||
LIB_PREFIX='lib'
|
LIB_PREFIX='lib'
|
||||||
LIB_SUFFIX='.so'
|
LIB_SUFFIX='.so'
|
||||||
|
AS_IF([test x"$enable_rpath" != x"no"], [
|
||||||
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
|
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
|
||||||
PLUGIN_CFLAGS='-fPIC -DPIC'
|
])
|
||||||
PLUGIN_LDFLAGS='-shared'
|
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.${LIB_PATCH} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.${LIB_PATCH} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.${LIB_PATCH} ${DESTDIR}${libdir}/$$i'
|
||||||
PLUGIN_SUFFIX='.so'
|
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.${LIB_PATCH}'
|
||||||
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0 && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i'
|
|
||||||
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0'
|
|
||||||
CLEAN_LIB=''
|
CLEAN_LIB=''
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
AC_SUBST(LIB_CFLAGS)
|
AC_SUBST(LIB_CFLAGS)
|
||||||
AC_SUBST(LIB_LDFLAGS)
|
AC_SUBST(LIB_LDFLAGS)
|
||||||
|
AC_SUBST(LIB_LDFLAGS_INSTALL_NAME)
|
||||||
AC_SUBST(LIB_PREFIX)
|
AC_SUBST(LIB_PREFIX)
|
||||||
AC_SUBST(LIB_SUFFIX)
|
AC_SUBST(LIB_SUFFIX)
|
||||||
|
AC_SUBST(LINK_LIB)
|
||||||
AC_SUBST(LDFLAGS_RPATH)
|
AC_SUBST(LDFLAGS_RPATH)
|
||||||
AC_SUBST(LDFLAGS_INSTALL_NAME)
|
|
||||||
AC_SUBST(PLUGIN_CFLAGS)
|
|
||||||
AC_SUBST(PLUGIN_LDFLAGS)
|
|
||||||
AC_SUBST(PLUGIN_SUFFIX)
|
|
||||||
AC_SUBST(INSTALL_LIB)
|
AC_SUBST(INSTALL_LIB)
|
||||||
AC_SUBST(UNINSTALL_LIB)
|
AC_SUBST(UNINSTALL_LIB)
|
||||||
AC_SUBST(CLEAN_LIB)
|
AC_SUBST(CLEAN_LIB)
|
||||||
])
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([BUILDSYS_FRAMEWORK], [
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
AC_REQUIRE([BUILDSYS_CHECK_IOS])
|
||||||
|
AC_REQUIRE([BUILDSYS_SHARED_LIB])
|
||||||
|
|
||||||
|
case "$host_os" in
|
||||||
|
darwin*)
|
||||||
|
FRAMEWORK_LDFLAGS='-dynamiclib -current_version ${LIB_MAJOR}.${LIB_MINOR} -compatibility_version ${LIB_MAJOR}'
|
||||||
|
AS_IF([test x"$host_is_ios" = x"yes"], [
|
||||||
|
FRAMEWORK_LDFLAGS_INSTALL_NAME='-Wl,-install_name,@executable_path/Frameworks/$$out/$${out%.framework}'
|
||||||
|
], [
|
||||||
|
FRAMEWORK_LDFLAGS_INSTALL_NAME='-Wl,-install_name,@executable_path/../Frameworks/$$out/$${out%.framework}'
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_SUBST(FRAMEWORK_LDFLAGS)
|
||||||
|
AC_SUBST(FRAMEWORK_LDFLAGS_INSTALL_NAME)
|
||||||
|
AC_SUBST(FRAMEWORK_LIBS)
|
||||||
|
|
||||||
|
$1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
])
|
||||||
|
|
||||||
|
AC_DEFUN([BUILDSYS_PLUGIN], [
|
||||||
|
AC_REQUIRE([AC_CANONICAL_HOST])
|
||||||
|
AC_REQUIRE([BUILDSYS_CHECK_IOS])
|
||||||
|
AC_MSG_CHECKING(for plugin type)
|
||||||
|
|
||||||
|
case "$host" in
|
||||||
|
*-*-darwin*)
|
||||||
|
AC_MSG_RESULT(Darwin)
|
||||||
|
PLUGIN_CFLAGS='-fPIC -DPIC'
|
||||||
|
PLUGIN_LDFLAGS='-bundle ${PLUGIN_LDFLAGS_BUNDLE_LOADER}'
|
||||||
|
PLUGIN_SUFFIX='.bundle'
|
||||||
|
AS_IF([test x"$host_is_ios" = x"yes"], [
|
||||||
|
LINK_PLUGIN='rm -fr $$out && ${MKDIR_P} $$out && if test -f Info.plist; then ${INSTALL} -m 644 Info.plist $$out/Info.plist; fi && ${LD} -o $$out/$${out%${PLUGIN_SUFFIX}} ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS} && ${CODESIGN} -fs ${CODESIGN_IDENTITY} $$out'
|
||||||
|
], [
|
||||||
|
LINK_PLUGIN='rm -fr $$out && ${MKDIR_P} $$out/Contents/MacOS && if test -f Info.plist; then ${INSTALL} -m 644 Info.plist $$out/Contents/Info.plist; fi && ${LD} -o $$out/Contents/MacOS/$${out%${PLUGIN_SUFFIX}} ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS} && ${CODESIGN} -fs ${CODESIGN_IDENTITY} $$out'
|
||||||
|
])
|
||||||
|
INSTALL_PLUGIN='&& rm -fr ${DESTDIR}${plugindir}/$$i && cp -R $$i ${DESTDIR}${plugindir}/'
|
||||||
|
UNINSTALL_PLUGIN='&& rm -fr ${DESTDIR}${plugindir}/$$i'
|
||||||
|
;;
|
||||||
|
*-*-mingw* | *-*-cygwin*)
|
||||||
|
AC_MSG_RESULT(MinGW / Cygwin)
|
||||||
|
PLUGIN_CFLAGS=''
|
||||||
|
PLUGIN_LDFLAGS='-shared -Wl,--export-all-symbols'
|
||||||
|
PLUGIN_SUFFIX='.dll'
|
||||||
|
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
|
||||||
|
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
|
||||||
|
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
|
||||||
|
;;
|
||||||
|
hppa*-*-hpux*)
|
||||||
|
AC_MSG_RESULT([HP-UX (PA-RISC)])
|
||||||
|
PLUGIN_CFLAGS='-fPIC -DPIC'
|
||||||
|
PLUGIN_LDFLAGS='-shared'
|
||||||
|
PLUGIN_SUFFIX='.sl'
|
||||||
|
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
|
||||||
|
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
|
||||||
|
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
AC_MSG_RESULT(ELF)
|
||||||
|
PLUGIN_CFLAGS='-fPIC -DPIC'
|
||||||
|
PLUGIN_LDFLAGS='-shared'
|
||||||
|
PLUGIN_SUFFIX='.so'
|
||||||
|
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
|
||||||
|
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
|
||||||
|
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
AC_SUBST(PLUGIN_CFLAGS)
|
||||||
|
AC_SUBST(PLUGIN_LDFLAGS)
|
||||||
|
AC_SUBST(PLUGIN_SUFFIX)
|
||||||
|
AC_SUBST(LINK_PLUGIN)
|
||||||
|
AC_SUBST(INSTALL_PLUGIN)
|
||||||
|
AC_SUBST(UNINSTALL_PLUGIN)
|
||||||
|
])
|
||||||
|
|
689
buildsys.mk.in
689
buildsys.mk.in
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue