Files
EMILE/configure
Laurent Vivier 3f860a13a1 etch: disable unsupported -Wno-XXXX flags
-Wno-address-of-packed-member -Wno-stringop-truncation and -Wno-array-bounds
are needed to be able to build with sid, but are not supported by etch

Signed-off-by: Laurent Vivier <laurent@vivier.eu>
2025-08-14 18:09:52 +02:00

200 lines
4.0 KiB
Bash
Executable File

#!/bin/sh
test_gcc_arg()
{
echo "int main(void) { return 0; }" | gcc -E $1 - 2> /dev/null 1>&2
}
CC=gcc
AS=as
LD=ld
OBJCOPY=objcopy
STRIP=strip
# build info
WHO=$(whoami)
WHERE=$(hostname)
ARCH=$(uname -m)
OS=$(uname -o)
if test "${ARCH}" != "m68k" ; then
M68K_CROSS_COMPILE=${M68K_CROSS_COMPILE:-m68k-linux-}
if ! type "${M68K_CROSS_COMPILE}${CC}" > /dev/null 2>&1
then
M68K_CROSS_COMPILE=m68k-linux-gnu-
if ! type "${M68K_CROSS_COMPILE}${CC}" > /dev/null 2>&1
then
echo "Cannot find m68k cross-compiler" 1>&2
unset M68K_CROSS_COMPILE
fi
fi
fi
if test "${ARCH}" != "ppc" ; then
PPC_CROSS_COMPILE=${PPC_CROSS_COMPILE:-powerpc-linux-}
if ! type "${PPC_CROSS_COMPILE}${CC}" > /dev/null 2>&1
then
PPC_CROSS_COMPILE=powerpc-linux-gnu-
if ! type "${PPC_CROSS_COMPILE}${CC}" > /dev/null 2>&1
then
echo "Cannot find powerpc cross-compiler" 1>&2
unset PPC_CROSS_COMPILE
fi
fi
fi
exec 5> tools.mk.tmp
cat 1>&5 <<!EOF
# file generated by $0
WHEN = \$(shell LANG=C date)
WHO = ${WHO}
WHERE = ${WHERE}
ARCH = ${ARCH}
OS = ${OS}
SIGNATURE = \$(PACKAGE)-\$(VERSION) \$(WHO)@\$(WHERE)(\$(ARCH) \$(OS)) \$(WHEN)
M68K_CROSS_COMPILE = ${M68K_CROSS_COMPILE}
M68K_AS = \$(M68K_CROSS_COMPILE)${AS}
M68K_CC = \$(M68K_CROSS_COMPILE)${CC}
M68K_LD = \$(M68K_CROSS_COMPILE)${LD}
M68K_OBJCOPY = \$(M68K_CROSS_COMPILE)${OBJCOPY}
M68K_STRIP = \$(M68K_CROSS_COMPILE)${STRIP}
!EOF
if [ "${M68K_CROSS_COMPILE}" != "" ] ; then
M68K_GCC_VERSION=$(${M68K_CROSS_COMPILE}${CC} -dumpversion 2> /dev/null)
echo "cross-compiler is ${M68K_CROSS_COMPILE}${CC} ${M68K_GCC_VERSION}" 1>&2
fi
if [ "${PPC_CROSS_COMPILE}" != "" ] ; then
PPC_GCC_VERSION=$(${PPC_CROSS_COMPILE}${CC} -dumpversion 2> /dev/null)
echo "cross-compiler is ${PPC_CROSS_COMPILE}${CC} ${PPC_GCC_VERSION}" 1>&2
cat 1>&5 <<!EOF
PPC_CROSS_COMPILE = ${PPC_CROSS_COMPILE}
PPC_AS = \$(PPC_CROSS_COMPILE)${AS}
PPC_CC = \$(PPC_CROSS_COMPILE)${CC}
PPC_LD = \$(PPC_CROSS_COMPILE)${LD}
PPC_OBJCOPY = \$(PPC_CROSS_COMPILE)${OBJCOPY}
PPC_STRIP = \$(PPC_CROSS_COMPILE)${STRIP}
!EOF
fi
# target compiler
cat 1>&5 <<!EOF
ifeq (\$(TARGET),m68k-linux)
override AS = \$(M68K_AS)
override CC = \$(M68K_CC)
override LD = \$(M68K_LD)
override OBJCOPY = \$(M68K_OBJCOPY)
override STRIP = \$(M68K_STRIP)
else ifeq (\$(TARGET),m68k-netbsd)
override AS = \$(M68K_AS)
override CC = \$(M68K_CC)
override LD = \$(M68K_LD)
override OBJCOPY = \$(M68K_OBJCOPY)
override STRIP = \$(M68K_STRIP)
!EOF
if [ "${PPC_GCC_VERSION}" != "" ] ; then
cat 1>&5 <<!EOF
else ifeq (\$(TARGET),ppc-linux)
override AS = \$(M68K_AS)
override CC = \$(M68K_CC)
override LD = \$(M68K_LD)
override OBJCOPY = \$(M68K_OBJCOPY)
override STRIP = \$(M68K_STRIP)
!EOF
fi
cat 1>&5 <<!EOF
else
AS = \$(CROSS_COMPILE)${AS}
CC = \$(CROSS_COMPILE)${CC}
LD = \$(CROSS_COMPILE)${LD}
OBJCOPY = \$(CROSS_COMPILE)${OBJCOPY}
STRIP = \$(CROSS_COMPILE)${STRIP}
endif
!EOF
# etch: "ar -U" is not supported
if ar -U -V > /dev/null 2>&1 ; then
echo 1>&5
echo "ARFLAGS+=-U" 1>&5
fi
# etch: gcc doesn't support -Wno-address-of-packed-member
if test_gcc_arg -Wno-address-of-packed-member ; then
echo 1>&5
echo "CFLAGS+=-Wno-address-of-packed-member" 1>&5
fi
# etch: gcc doesn't support -Wno-stringop-truncation
if test_gcc_arg -Wno-stringop-truncation ; then
echo 1>&5
echo "CFLAGS+=-Wno-stringop-truncation" 1>&5
fi
# etch: gcc doesn't support -Wno-array-bounds
if test_gcc_arg -Wno-array-bounds ; then
echo 1>&5
echo "CFLAGS+=-Wno-array-bounds" 1>&5
fi
# docbook to man
if type docbook-to-man > /dev/null 2>&1
then
cat 1>&5 <<!EOF
%.5: %.sgml
docbook-to-man \$< > \$@
%.8: %.sgml
docbook-to-man \$< > \$@
!EOF
else
if type docbook2man > /dev/null 2>&1
then
cat 1>&5 <<!EOF
%.5: %.sgml
docbook2man \$< > \$@
%.8: %.sgml
docbook2man \$< > \$@
!EOF
else
cat 1>&5 <<!EOF
%.5: %.sgml
@echo "Missing tools to generate \$@ from \$<" >&2 && false
%.8: %.sgml
@echo "Missing tools to generate \$@ from \$<" >&2 && false
!EOF
fi
fi
mv tools.mk.tmp tools.mk