Update buildsys
FossilOrigin-Name: 5fd89bee647e58716619794c244e9d07bb408e4b6449eba45b5821569b5db643
This commit is contained in:
parent
e13ee4e389
commit
158a8d2058
2 changed files with 69 additions and 31 deletions
|
@ -1,6 +1,6 @@
|
|||
dnl
|
||||
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
|
||||
dnl https://fossil.nil.im/buildsys
|
||||
|
@ -344,49 +344,50 @@ AC_DEFUN([BUILDSYS_PLUGIN], [
|
|||
*-*-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'
|
||||
PLUGIN_LDFLAGS='-bundle'
|
||||
PLUGIN_SUFFIX='.dylib'
|
||||
;;
|
||||
*-*-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)
|
||||
])
|
||||
|
||||
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
|
||||
])
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
#
|
||||
# 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>
|
||||
#
|
||||
# https://fossil.nil.im/buildsys
|
||||
|
@ -89,6 +89,7 @@ bindir = @bindir@
|
|||
libdir = @libdir@
|
||||
amigalibdir ?= ${prefix}/libs
|
||||
plugindir ?= ${libdir}/${PACKAGE_NAME}
|
||||
bundledir ?= ${prefix}/Library/PlugIns/${PACKAGE_NAME}
|
||||
datarootdir = @datarootdir@
|
||||
datadir = @datadir@
|
||||
includedir = @includedir@
|
||||
|
@ -143,6 +144,7 @@ all:
|
|||
${FRAMEWORK} ${FRAMEWORK_NOINST} \
|
||||
${AMIGA_LIB} ${AMIGA_LIB_NOINST} \
|
||||
${PLUGIN} ${PLUGIN_NOINST} \
|
||||
${BUNDLE} ${BUNDLE_NOINST} \
|
||||
${PROG} ${PROG_NOINST} \
|
||||
${JARFILE} locales
|
||||
${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_DESTINATION=$$PWD/$@/Headers \
|
||||
copy-headers-into-framework && \
|
||||
if test -f Info.plist; then \
|
||||
${INSTALL} -m 644 Info.plist $@/Info.plist; \
|
||||
fi && \
|
||||
${INSTALL} -m 644 Info.plist $@/Info.plist && \
|
||||
if test -f module.modulemap; then \
|
||||
${MKDIR_P} $@/Modules && \
|
||||
${INSTALL} -m 644 module.modulemap \
|
||||
|
@ -299,10 +299,20 @@ ${AMIGA_LIB} ${AMIGA_LIB_NOINST}: ${EXT_DEPS} ${AMIGA_LIB_OBJS_START} \
|
|||
${LINK_FAILED}; \
|
||||
fi
|
||||
|
||||
${PLUGIN} ${PLUGIN_NOINST}: ${EXT_DEPS} ${PLUGIN_OBJS}
|
||||
${PLUGIN} ${PLUGIN_NOINST}: ${EXT_DEPS} ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA}
|
||||
${LINK_STATUS}
|
||||
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}; \
|
||||
else \
|
||||
rm -fr $$out; false; \
|
||||
|
@ -809,7 +819,19 @@ install: all install-extra
|
|||
for i in "" ${PLUGIN}; do \
|
||||
test x"$$i" = x"" && continue; \
|
||||
${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}; \
|
||||
else \
|
||||
${INSTALL_FAILED}; \
|
||||
|
@ -930,7 +952,7 @@ uninstall:
|
|||
for i in "" ${PLUGIN}; do \
|
||||
test x"$$i" = x"" && continue; \
|
||||
if test -e ${DESTDIR}${plugindir}/$$i; then \
|
||||
if : @UNINSTALL_PLUGIN@; then \
|
||||
if rm -f ${DESTDIR}${plugindir}/$$i; then \
|
||||
${DELETE_OK}; \
|
||||
else \
|
||||
${DELETE_FAILED}; \
|
||||
|
@ -939,6 +961,20 @@ uninstall:
|
|||
done
|
||||
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 \
|
||||
test x"$$i" = x"" && continue; \
|
||||
if test -f ${DESTDIR}${datadir}/${PACKAGE_NAME}/$$i; then \
|
||||
|
@ -1022,7 +1058,8 @@ clean:
|
|||
${SHARED_LIB} ${SHARED_LIB_NOINST} ${AMIGA_LIB} \
|
||||
${AMIGA_LIB_NOINST} ${STATIC_LIB} ${STATIC_LIB_NOINST} \
|
||||
${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 \
|
||||
test x"$$i" = x"" && continue; \
|
||||
if test -f $$i -o -d $$i; then \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue