Edit

kc3-lang/kc3/c3c/configure

Branch :

  • c3c/configure
  • #!/bin/sh
    ## c3
    ## Copyright 2022-2024 kmx.io <contact@kmx.io>
    ##
    ## Permission is hereby granted to use this software granted the above
    ## copyright notice and this permission paragraph are included in all
    ## copies and substantial portions of this software.
    ##
    ## THIS SOFTWARE IS PROVIDED "AS-IS" WITHOUT ANY GUARANTEE OF
    ## PURPOSE AND PERFORMANCE. IN NO EVENT WHATSOEVER SHALL THE
    ## AUTHOR BE CONSIDERED LIABLE FOR THE USE AND PERFORMANCE OF
    ## THIS SOFTWARE.
    
    set -e
    
    . ../config.subr
    
    PROG=c3c
    LIBRARY=../libc3/libc3.la
    
    SOURCES="$(ls *.c | tr '\n' ' ')"
    echo "SOURCES = $SOURCES" >> ${CONFIG_MK}
    
    OBJECTS="$(c2lo "$SOURCES")"
    echo "OBJECTS = $OBJECTS" >> ${CONFIG_MK}
    
    check_libbsd
    
    if pkg-config libbsd-overlay; then
        CPPFLAGS="$CPPFLAGS -D_DEFAULT_SOURCE -D__USE_MISC"
    fi
    
    if [ x"$DEBUG" = x"yes" ]; then
        CFLAGS="$CFLAGS -DDEBUG -O0 -ggdb"
    else
        CFLAGS="$CFLAGS -DNDEBUG -O2"
    fi
    CFLAGS="$CFLAGS -W -Wall -Werror -std=c99 -pedantic"
    if pkg-config libbsd-overlay; then
        CFLAGS="$CFLAGS $(pkg-config --cflags libbsd-overlay)"
    fi
    
    LIBS="$LIBS $LIBRARY"
    if pkg-config libbsd-overlay; then
        LIBS="$LIBS $(pkg-config --libs libbsd-overlay)"
    fi
    
    echo "CPPFLAGS = $CPPFLAGS" >> ${CONFIG_MK}
    echo "CFLAGS = $CFLAGS" >> ${CONFIG_MK}
    echo "LDFLAGS = $LDFLAGS" >> ${CONFIG_MK}
    echo "LIBS = $LIBS" >> ${CONFIG_MK}
    
    for SRC in $SOURCES; do
        SRC_LO=$(c2lo $SRC)
        echo >> ${CONFIG_MK}
        lo_rule $SRC >> ${CONFIG_MK}
        echo "	\${LIBTOOL} --tag CC --mode compile \${CC} \${CPPFLAGS} \${CFLAGS} -c $SRC -o $SRC_LO" >> ${CONFIG_MK}
    done
    
    echo >> ${CONFIG_MK}
    echo "$PROG: $LIBRARY $OBJECTS" >> ${CONFIG_MK}
    echo "	${LIBTOOL} --tag=CC --mode=link \${CC} \${LDFLAGS} ${OBJECTS} ${LIBRARY} ${LIBS} -o $PROG" >> ${CONFIG_MK}
    
    echo >> ${CONFIG_MK}
    echo "install: $LIBRARY $PROG" >> ${CONFIG_MK}
    echo "	\${INSTALL} -o \${OWNER} -g \${GROUP} -m 0755 -d \${LIBDIR}" >> ${CONFIG_MK}
    echo "	\${LIBTOOL} --tag=CC --mode=install \${INSTALL} -o \${OWNER} -g \${GROUP} -m 0755 $LIBRARY \${LIBDIR}" >> ${CONFIG_MK}
    echo "	\${INSTALL} -o \${OWNER} -g \${GROUP} -m 0755 -d \${BINDIR}" >> ${CONFIG_MK}
    echo "	\${LIBTOOL} --tag=CC --mode=install \${INSTALL} -o \${OWNER} -g \${GROUP} -m 0755 $PROG \${BINDIR}/$PROG" >> ${CONFIG_MK}