Update buildsys

FossilOrigin-Name: 5fd89bee647e58716619794c244e9d07bb408e4b6449eba45b5821569b5db643
This commit is contained in:
Jonathan Schleifer 2024-07-21 15:27:21 +00:00
parent e13ee4e389
commit 158a8d2058
2 changed files with 69 additions and 31 deletions

View file

@ -1,6 +1,6 @@
dnl dnl
dnl Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017, dnl Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2016, 2017,
dnl 2018, 2020, 2021, 2022, 2023 dnl 2018, 2020, 2021, 2022, 2023, 2024
dnl Jonathan Schleifer <js@nil.im> dnl Jonathan Schleifer <js@nil.im>
dnl dnl
dnl https://fossil.nil.im/buildsys dnl https://fossil.nil.im/buildsys
@ -344,49 +344,50 @@ AC_DEFUN([BUILDSYS_PLUGIN], [
*-*-darwin*) *-*-darwin*)
AC_MSG_RESULT(Darwin) AC_MSG_RESULT(Darwin)
PLUGIN_CFLAGS='-fPIC -DPIC' PLUGIN_CFLAGS='-fPIC -DPIC'
PLUGIN_LDFLAGS='-bundle ${PLUGIN_LDFLAGS_BUNDLE_LOADER}' PLUGIN_LDFLAGS='-bundle'
PLUGIN_SUFFIX='.bundle' PLUGIN_SUFFIX='.dylib'
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*) *-*-mingw* | *-*-cygwin*)
AC_MSG_RESULT(MinGW / Cygwin) AC_MSG_RESULT(MinGW / Cygwin)
PLUGIN_CFLAGS='' PLUGIN_CFLAGS=''
PLUGIN_LDFLAGS='-shared -Wl,--export-all-symbols' PLUGIN_LDFLAGS='-shared -Wl,--export-all-symbols'
PLUGIN_SUFFIX='.dll' 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*) hppa*-*-hpux*)
AC_MSG_RESULT([HP-UX (PA-RISC)]) AC_MSG_RESULT([HP-UX (PA-RISC)])
PLUGIN_CFLAGS='-fPIC -DPIC' PLUGIN_CFLAGS='-fPIC -DPIC'
PLUGIN_LDFLAGS='-shared' PLUGIN_LDFLAGS='-shared'
PLUGIN_SUFFIX='.sl' 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) AC_MSG_RESULT(ELF)
PLUGIN_CFLAGS='-fPIC -DPIC' PLUGIN_CFLAGS='-fPIC -DPIC'
PLUGIN_LDFLAGS='-shared' PLUGIN_LDFLAGS='-shared'
PLUGIN_SUFFIX='.so' 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 esac
AC_SUBST(PLUGIN_CFLAGS) AC_SUBST(PLUGIN_CFLAGS)
AC_SUBST(PLUGIN_LDFLAGS) AC_SUBST(PLUGIN_LDFLAGS)
AC_SUBST(PLUGIN_SUFFIX) AC_SUBST(PLUGIN_SUFFIX)
AC_SUBST(LINK_PLUGIN) ])
AC_SUBST(INSTALL_PLUGIN)
AC_SUBST(UNINSTALL_PLUGIN) AC_DEFUN([BUILDSYS_BUNDLE], [
AC_REQUIRE([AC_CANONICAL_HOST])
AC_REQUIRE([BUILDSYS_CHECK_IOS])
AC_REQUIRE([BUILDSYS_PLUGIN])
case "$host_os" in
darwin*)
AS_IF([test x"$host_is_ios" = x"yes"], [
LINK_BUNDLE='${MKDIR_P} $$out && ${INSTALL} -m 644 Info.plist $$out/Info.plist && ${LD} -o $$out/$${out%.bundle} ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
], [
LINK_BUNDLE='${MKDIR_P} $$out/Contents/MacOS && ${INSTALL} -m 644 Info.plist $$out/Contents/Info.plist && ${LD} -o $$out/Contents/MacOS/$${out%.bundle} ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
])
AC_SUBST(LINK_BUNDLE)
$1
;;
esac
]) ])

View file

@ -1,6 +1,6 @@
# #
# Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, # Copyright (c) 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016,
# 2017, 2018, 2020, 2021, 2022, 2023 # 2017, 2018, 2020, 2021, 2022, 2023, 2024
# Jonathan Schleifer <js@nil.im> # Jonathan Schleifer <js@nil.im>
# #
# https://fossil.nil.im/buildsys # https://fossil.nil.im/buildsys
@ -89,6 +89,7 @@ bindir = @bindir@
libdir = @libdir@ libdir = @libdir@
amigalibdir ?= ${prefix}/libs amigalibdir ?= ${prefix}/libs
plugindir ?= ${libdir}/${PACKAGE_NAME} plugindir ?= ${libdir}/${PACKAGE_NAME}
bundledir ?= ${prefix}/Library/PlugIns/${PACKAGE_NAME}
datarootdir = @datarootdir@ datarootdir = @datarootdir@
datadir = @datadir@ datadir = @datadir@
includedir = @includedir@ includedir = @includedir@
@ -143,6 +144,7 @@ all:
${FRAMEWORK} ${FRAMEWORK_NOINST} \ ${FRAMEWORK} ${FRAMEWORK_NOINST} \
${AMIGA_LIB} ${AMIGA_LIB_NOINST} \ ${AMIGA_LIB} ${AMIGA_LIB_NOINST} \
${PLUGIN} ${PLUGIN_NOINST} \ ${PLUGIN} ${PLUGIN_NOINST} \
${BUNDLE} ${BUNDLE_NOINST} \
${PROG} ${PROG_NOINST} \ ${PROG} ${PROG_NOINST} \
${JARFILE} locales ${JARFILE} locales
${MAKE} @MAKEFLAGS_SILENT@ subdirs-after ${MAKE} @MAKEFLAGS_SILENT@ subdirs-after
@ -214,9 +216,7 @@ ${FRAMEWORK} ${FRAMEWORK_NOINST}: ${EXT_DEPS} ${LIB_OBJS} ${LIB_OBJS_EXTRA}
COPY_HEADERS_IF_SUBDIR=${includesubdir} \ COPY_HEADERS_IF_SUBDIR=${includesubdir} \
COPY_HEADERS_DESTINATION=$$PWD/$@/Headers \ COPY_HEADERS_DESTINATION=$$PWD/$@/Headers \
copy-headers-into-framework && \ copy-headers-into-framework && \
if test -f Info.plist; then \ ${INSTALL} -m 644 Info.plist $@/Info.plist && \
${INSTALL} -m 644 Info.plist $@/Info.plist; \
fi && \
if test -f module.modulemap; then \ if test -f module.modulemap; then \
${MKDIR_P} $@/Modules && \ ${MKDIR_P} $@/Modules && \
${INSTALL} -m 644 module.modulemap \ ${INSTALL} -m 644 module.modulemap \
@ -299,10 +299,20 @@ ${AMIGA_LIB} ${AMIGA_LIB_NOINST}: ${EXT_DEPS} ${AMIGA_LIB_OBJS_START} \
${LINK_FAILED}; \ ${LINK_FAILED}; \
fi fi
${PLUGIN} ${PLUGIN_NOINST}: ${EXT_DEPS} ${PLUGIN_OBJS} ${PLUGIN} ${PLUGIN_NOINST}: ${EXT_DEPS} ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA}
${LINK_STATUS} ${LINK_STATUS}
out="$@"; \ out="$@"; \
if @LINK_PLUGIN@; then \ if ${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}; then \
${LINK_OK}; \
else \
rm -fr $$out; false; \
${LINK_FAILED}; \
fi
${BUNDLE} ${BUNDLE_NOINST}: ${EXT_DEPS} ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA}
${LINK_STATUS}
out="$@"; \
if rm -fr $$out && @LINK_BUNDLE@ && ${CODESIGN} -fs ${CODESIGN_IDENTITY} $$out; then \
${LINK_OK}; \ ${LINK_OK}; \
else \ else \
rm -fr $$out; false; \ rm -fr $$out; false; \
@ -809,7 +819,19 @@ install: all install-extra
for i in "" ${PLUGIN}; do \ for i in "" ${PLUGIN}; do \
test x"$$i" = x"" && continue; \ test x"$$i" = x"" && continue; \
${INSTALL_STATUS}; \ ${INSTALL_STATUS}; \
if ${MKDIR_P} ${DESTDIR}${plugindir} @INSTALL_PLUGIN@; then \ if ${MKDIR_P} ${DESTDIR}${plugindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i; then \
${INSTALL_OK}; \
else \
${INSTALL_FAILED}; \
fi \
done
for i in "" ${BUNDLE}; do \
test x"$$i" = x"" && continue; \
${INSTALL_STATUS}; \
rm -fr ${DESTDIR}${bundledir}/$$i; \
if ${MKDIR_P} ${DESTDIR}${bundledir} && \
cp -R $$i ${DESTDIR}${bundledir}/; then \
${INSTALL_OK}; \ ${INSTALL_OK}; \
else \ else \
${INSTALL_FAILED}; \ ${INSTALL_FAILED}; \
@ -930,7 +952,7 @@ uninstall:
for i in "" ${PLUGIN}; do \ for i in "" ${PLUGIN}; do \
test x"$$i" = x"" && continue; \ test x"$$i" = x"" && continue; \
if test -e ${DESTDIR}${plugindir}/$$i; then \ if test -e ${DESTDIR}${plugindir}/$$i; then \
if : @UNINSTALL_PLUGIN@; then \ if rm -f ${DESTDIR}${plugindir}/$$i; then \
${DELETE_OK}; \ ${DELETE_OK}; \
else \ else \
${DELETE_FAILED}; \ ${DELETE_FAILED}; \
@ -939,6 +961,20 @@ uninstall:
done done
rmdir ${DESTDIR}${plugindir} >/dev/null 2>&1 || true rmdir ${DESTDIR}${plugindir} >/dev/null 2>&1 || true
for i in "" ${BUNDLE}; do \
test x"$$i" = x"" && continue; \
if test -d ${DESTDIR}${bundledir}/$$i; then \
if rm -fr ${DESTDIR}${bundledir}/$$i; \
then \
${DELETE_OK}; \
else \
${DELETE_FAILED}; \
fi \
fi \
done
rmdir ${DESTDIR}${bundledir} >/dev/null 2>&1 || true
rmdir ${DESTDIR}${prefix}/Library >/dev/null 2>&1 || true
for i in "" ${DATA}; do \ for i in "" ${DATA}; do \
test x"$$i" = x"" && continue; \ test x"$$i" = x"" && continue; \
if test -f ${DESTDIR}${datadir}/${PACKAGE_NAME}/$$i; then \ if test -f ${DESTDIR}${datadir}/${PACKAGE_NAME}/$$i; then \
@ -1022,7 +1058,8 @@ clean:
${SHARED_LIB} ${SHARED_LIB_NOINST} ${AMIGA_LIB} \ ${SHARED_LIB} ${SHARED_LIB_NOINST} ${AMIGA_LIB} \
${AMIGA_LIB_NOINST} ${STATIC_LIB} ${STATIC_LIB_NOINST} \ ${AMIGA_LIB_NOINST} ${STATIC_LIB} ${STATIC_LIB_NOINST} \
${STATIC_PIC_LIB} ${STATIC_PIC_LIB_NOINST} ${STATIC_AMIGA_LIB} \ ${STATIC_PIC_LIB} ${STATIC_PIC_LIB_NOINST} ${STATIC_AMIGA_LIB} \
${STATIC_AMIGA_LIB_NOINST} ${FRAMEWORK} ${PLUGIN} ${PLUGIN_NOINST} \ ${STATIC_AMIGA_LIB_NOINST} ${FRAMEWORK} ${FRAMEWORK_NOINST} \
${PLUGIN} ${PLUGIN_NOINST} ${BUNDLE} ${BUNDLE_NOINST} \
${CLEAN_LIB} ${MO_FILES} ${CLEAN}; do \ ${CLEAN_LIB} ${MO_FILES} ${CLEAN}; do \
test x"$$i" = x"" && continue; \ test x"$$i" = x"" && continue; \
if test -f $$i -o -d $$i; then \ if test -f $$i -o -d $$i; then \