Skip to content
Extraits de code Groupes Projets
Sélectionner une révision Git
  • 5ac951134600c9ac3f20f3d8b7e7ef5f2c862d5c
  • master par défaut protégée
  • rust-playlist-sync
  • rust
  • fix-qt-deprecated-qvariant-type
  • fix-mpris-qtwindow-race-condition
  • rust-appimage-wayland
  • windows-build-rebased
  • v2.5 protégée
  • v2.4 protégée
  • v2.3-1 protégée
  • v2.3 protégée
  • v2.2 protégée
  • v2.1 protégée
  • v2.0 protégée
  • v1.8-3 protégée
  • v1.8-2 protégée
  • v1.8-1 protégée
  • v1.8 protégée
  • v1.7 protégée
  • v1.6 protégée
  • v1.5 protégée
  • v1.4 protégée
  • v1.3 protégée
  • v1.2 protégée
  • v1.1 protégée
  • v1.0 protégée
27 résultats

configure.ac

Blame
    • Kubat's avatar
      72a0d33a
      MISC: Fix compilation · 72a0d33a
      Kubat a rédigé
      - lktmodule.h include correct .c files when building not in static
        module mode
      - define the endiannes defines with the integer 1 when ok
      - fix lkt_show_config
      - fix configure.ac for CFLAGS settings
      MISC: Fix compilation
      Kubat a rédigé
      - lktmodule.h include correct .c files when building not in static
        module mode
      - define the endiannes defines with the integer 1 when ok
      - fix lkt_show_config
      - fix configure.ac for CFLAGS settings
    configure.ac 5,40 Kio
    AC_INIT([lektor], [2.0])
    
    AC_CONFIG_AUX_DIR([config])
    AC_CONFIG_MACRO_DIRS([config/m4])
    AC_LANG(C)
    AC_PREFIX_DEFAULT(/usr/local)
    
    ##########
    # CHECKS #
    ##########
    
    AC_PATH_PROG([XXD],[xxd],[:])
    AC_PATH_PROG([MAN],[man],[:])
    AS_IF([test "$XXD" = "notfound"], [AC_MSG_ERROR([xxd is required])])
    AS_IF([test "$MAN" = "notfound"], [AC_MSG_ERROR([man is required])])
    
    LKT_PATH_SOURCE="$(dirname $(readlink -f "$0"))"
    LKT_PATH_BUILD="$(pwd)"
    AS_IF([test "$LKT_PATH_SOURCE" = "$LKT_PATH_BUILD"],
          [AC_MSG_ERROR([The build directory can't be the same as the source directory])])
    
    AC_CHECK_LIB([sqlite3], [sqlite3_open_v2])
    AC_CHECK_LIB([sqlite3], [sqlite3_hard_heap_limit64])
    AC_CHECK_HEADERS_ONCE([
        sqlite3.h
        curl/curl.h
        json-c/json.h
        stdnoreturn.h
        stddef.h
        inttypes.h
        unistd.h
        sys/types.h
        stdlib.h
        string.h
        strings.h
        stdio.h
        endian.h
        stdargs.h
        ctypes.h
        regex.h
        locale.h
    ])
    
    AC_C_INLINE
    AC_TYPE_INT16_T
    AC_TYPE_INT32_T
    AC_TYPE_INT64_T
    AC_TYPE_INT8_T
    AC_TYPE_OFF_T
    AC_C_RESTRICT
    AC_TYPE_SIZE_T
    AC_TYPE_SSIZE_T
    AC_TYPE_UINT16_T
    AC_TYPE_UINT32_T
    AC_TYPE_UINT64_T
    AC_TYPE_UINT8_T
    
    ##############
    # MORE RULES #
    ##############
    
    AM_SILENT_RULES([yes])
    AM_PROG_AR
    AM_INIT_AUTOMAKE([-Wall -Werror foreign subdir-objects no-define std-options])
    
    LT_INIT
    LT_LANG([C])
    
    AC_ENABLE_SHARED
    AC_ENABLE_STATIC
    
    AC_PROG_CC
    AC_PROG_INSTALL
    AM_PROG_AS
    
    ###########
    # OPTIONS #
    ###########
    
    AC_ARG_ENABLE([debug],
                  [AS_HELP_STRING([--enable-debug],
                                  [Enable debug so you can use gdb])],
                  [LKT_DEBUG_ENABLED=yes],
                  [LKT_DEBUG_ENABLED=no])
    if test "x${LKT_DEBUG_ENABLED}" = "xyes" ; then
        AC_DEFINE_UNQUOTED([LKT_DEBUG_ENABLED], ["$LKT_DEBUG_ENABLED"], [Enable debug])
        AC_SUBST([LKT_DEBUG_ENABLED])
    fi
    
    AC_ARG_ENABLE([static-module],
                  [AS_HELP_STRING([--disable-static-module],
                                  [Build modules statically not in liblektor])],
                  [LKT_STATIC_MODULE=no],
                  [LKT_STATIC_MODULE=yes])
    AM_CONDITIONAL([LKT_STATIC_MODULE], [test "x${LKT_STATIC_MODULE}" = "xyes"])
    if test "x${LKT_STATIC_MODULE}" = "xyes" ; then
        AC_DEFINE([LKT_STATIC_MODULE], [], [Build with modules inside liblektor])
        AC_SUBST([LKT_STATIC_MODULE])
    fi
    
    AC_DEFINE_UNQUOTED([LKT_PREFIX_PATH], ["$prefix"], [Prefix Path for Lektor])
    AC_SUBST([LKT_PREFIX_PATH])
    
    AC_DEFINE_UNQUOTED([LKT_MAN_BINARY], ["$(which man)"], [Path to the man executable])
    AC_SUBST([LKT_MAN_BINARY])
    
    AC_DEFINE_UNQUOTED([LKT_COMPILER], ["$CC"], [Lektor compiled with])
    AC_SUBST([LKT_COMPILER])
    
    LKT_BUILD_STRING="$(basename $CC) $(uname -r) $(uname -m)"
    AC_DEFINE_UNQUOTED([LKT_BUILD_STRING], ["$LKT_BUILD_STRING"], [Build string])
    AC_SUBST([LKT_BUILD_STRING])
    
    LKT_ENDIANES_LITTLE="$(echo -n I | od -to2 | head -n1 | cut -f2 -d" " | cut -c6)"
    if test "$LKT_ENDIANES_LITTLE" = "1" ; then
        AC_DEFINE_UNQUOTED([LKT_ENDIANES_LITTLE], [1], [Little endian])
        AC_SUBST([LKT_ENDIANES_LITTLE])
    else
        AC_DEFINE_UNQUOTED([LKT_ENDIANES_BIG], [1], [Big endian])
        AC_SUBST([LKT_ENDIANES_BIG])
    fi
    
    ##########
    # CFLAGS #
    ##########
    
    BASEFLAGS=`test "x${LKT_DEBUG_ENABLED}" = 'xyes' && echo "-g" || echo "-O3"`
    CFLAGS="-Werror -Wall -Wextra ${BASEFLAGS} -std=c11"
    
    #################################
    # BUILD WITH THE DEPENDS SCRIPT #
    #################################
    
    AC_ARG_WITH([depends],
                [AS_HELP_STRING([--with-depends],
                                [Download and build dependencies needed for lektor])],
                [LKT_BUILD_DEPENDS=yes],
                [LKT_BUILD_DEPENDS=no])
    AM_CONDITIONAL([LKT_DEPENDS_ENABLE], [test "x${LKT_BUILD_DEPENDS}" = "xyes"])
    if test "x$LKT_BUILD_DEPENDS" = "xyes" ; then
        LKT_LIB_DIR="$PWD/depends_install/lib"
        AC_DISABLE_SHARED
        CFLAGS="${CFLAGS} -I$PWD/depends_install/include"
        LDFLAGS="${LDFLAGS} -L$PWD/depends_install/lib"
    
        # Download and build dependencies
        cd $LKT_PATH_SOURCE
        ./scripts/depends.bash $LKT_PATH_BUILD
        if test $? -ne 0 ; then
            AC_MSG_ERROR("Failed to download and build dependencies", [1])
        fi
        cd $LKT_PATH_BUILD
    fi
    
    ##########
    # OUTPUT #
    ##########
    
    AC_CONFIG_HEADERS([inc/lektor/lktconfig.h])
    AC_OUTPUT([
        Makefile
        scripts/Makefile
        inc/Makefile
        src/Makefile
        man/Makefile
    ])
    
    ################
    # CONF RESULTS #
    ################
    
    AFF_BRANCH=$(git rev-parse --abbrev-ref HEAD)
    AFF_VERSION=$(git -C $LKT_PATH_SOURCE rev-list --count HEAD).$(git -C $LKT_PATH_SOURCE rev-parse --short HEAD)
    LKT_CONFIG_RESULT="
    ########## Lektor configuration ###########
    #
    # Configure run on..... $(date)
    # Compiler C........... $(basename $CC)
    # Version.............. mk7.$AFF_VERSION
    # Branch............... $AFF_BRANCH
    #
    ### Build options
    #
    # Modules.............. $(test $LKT_STATIC_MODULE = 'yes' && echo static || echo not static)
    # C Flags.............. $CFLAGS
    # LD Flags............. $LDFLAGS
    # To link against...... -Wl,-rpath -Wl,$prefix/lib
    # Builtin depends...... $LKT_BUILD_DEPENDS
    #
    ### Other informations
    #
    # Build string......... $LKT_BUILD_STRING
    # Debug enabled........ $LKT_DEBUG_ENABLED
    # Prefix............... $prefix
    # Build folder......... $PWD
    # Source folder........ $LKT_PATH_SOURCE
    # Endianes............. $(test $LKT_ENDIANES_LITTLE = 1 && echo little || echo big)
    #
    ###########################################
    "
    printf '#!/bin/sh\ncat << EOF' > lkt_show_config
    printf "$LKT_CONFIG_RESULT" | tee --append lkt_show_config
    printf 'EOF' >> lkt_show_config
    chmod +x lkt_show_config