From 7bb9f72d9fa34cd0c9fd2101d8170693d46c66dd Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Fri, 6 Jan 2012 18:41:56 -0500 Subject: [PATCH] build: Ensure autogen.sh is run if building from git The GNOME Build API prefers 'configure' over 'autogen.sh' if it exists, but in this build system 'configure' isn't usable until 'autogen.sh' is run. Work around this by making the stub configure be 'configure.stub', and rename it once autogen.sh is complete. --- autogen.sh | 1 + configure | 125 -------------------------------------------------------- configure.stub | 125 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 126 insertions(+), 125 deletions(-) mode change 100644 => 100755 autogen.sh delete mode 100755 configure create mode 100755 configure.stub diff --git a/autogen.sh b/autogen.sh old mode 100644 new mode 100755 index 9f2fb6a..57c9586 --- a/autogen.sh +++ b/autogen.sh @@ -161,6 +161,7 @@ chmod +x install-sh cd ../.. +mv configure.stub configure chmod +x ./configure # EOF diff --git a/configure b/configure deleted file mode 100755 index b397556..0000000 --- a/configure +++ /dev/null @@ -1,125 +0,0 @@ -#!/bin/sh -# -# Copyright 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2010 by -# David Turner, Robert Wilhelm, and Werner Lemberg. -# -# This file is part of the FreeType project, and may only be used, modified, -# and distributed under the terms of the FreeType project license, -# LICENSE.TXT. By continuing to use, modify, or distribute this file you -# indicate that you have read the license and understand and accept it -# fully. -# -# -# Call the `configure' script located in `builds/unix'. -# - -rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk - -if test "x$GNUMAKE" = x; then - GNUMAKE=make -fi - -if test -z "`$GNUMAKE -v 2>/dev/null | grep GNU`"; then - if test -z "`$GNUMAKE -v 2>/dev/null | grep makepp`"; then - echo "GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2." >&2 - echo "Please try" >&2 - echo " \`GNUMAKE= $0'." >&2 - echo "or >&2" - echo " \`GNUMAKE=\"makepp --norc-substitution\" $0'." >&2 - exit 1 - fi -fi - -# Get `dirname' functionality. This is taken and adapted from autoconf's -# m4sh.m4 (_AS_EXPR_PREPARE, AS_DIRNAME_EXPR, and AS_DIRNAME_SED). - -if expr a : '\(a\)' >/dev/null 2>&1; then - ft_expr=expr -else - ft_expr=false -fi - -ft2_dir=`(dirname "$0") 2>/dev/null || - $ft_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$0" : 'X\(//\)[^/]' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| \ - . : '\(.\)' 2>/dev/null || - echo X"$0" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -abs_curr_dir=`pwd` -abs_ft2_dir=`cd "$ft2_dir" && pwd` - -# `--srcdir=' option can override abs_ft2_dir - -if test $# -gt 0; then - for x in "$@"; do - case x"$x" in - x--srcdir=*) - abs_ft2_dir=`echo $x | sed 's/^--srcdir=//'` ;; - esac - done -fi - -# build a dummy Makefile if we are not building in the source tree; -# we use inodes to avoid issues with symbolic links -inode_src=`ls -id $abs_ft2_dir | awk '{print $1}'` -inode_dst=`ls -id $abs_curr_dir | awk '{print $1}'` - -if test $inode_src -ne $inode_dst; then - if test ! -d reference; then - mkdir reference - fi - if test ! -r $abs_curr_dir/modules.cfg; then - echo "Copying \`modules.cfg'" - cp $abs_ft2_dir/modules.cfg $abs_curr_dir - fi - echo "Generating \`Makefile'" - echo "TOP_DIR := $abs_ft2_dir" > Makefile - echo "OBJ_DIR := $abs_curr_dir" >> Makefile - echo "OBJ_BUILD := \$(OBJ_DIR)" >> Makefile - echo "DOC_DIR := \$(OBJ_DIR)/reference" >> Makefile - echo "FT_LIBTOOL_DIR := \$(OBJ_DIR)" >> Makefile - echo "ifndef FT2DEMOS" >> Makefile - echo " include \$(TOP_DIR)/Makefile" >> Makefile - echo "else" >> Makefile - echo " TOP_DIR_2 := \$(TOP_DIR)/../ft2demos" >> Makefile - echo " PROJECT := freetype" >> Makefile - echo " CONFIG_MK := \$(OBJ_DIR)/config.mk" >> Makefile - echo " include \$(TOP_DIR_2)/Makefile" >> Makefile - echo "endif" >> Makefile -fi - -# call make - -CFG= -# work around zsh bug which doesn't like `${1+"$@"}' -case $# in -0) ;; -*) for x in "$@"; do - case x"$x" in - x--srcdir=* ) CFG="$CFG '$x'/builds/unix" ;; - *) CFG="$CFG '$x'" ;; - esac - done ;; -esac -CFG=$CFG $GNUMAKE setup unix - -# eof diff --git a/configure.stub b/configure.stub new file mode 100755 index 0000000..b397556 --- /dev/null +++ b/configure.stub @@ -0,0 +1,125 @@ +#!/bin/sh +# +# Copyright 2002, 2003, 2004, 2005, 2006, 2008, 2009, 2010 by +# David Turner, Robert Wilhelm, and Werner Lemberg. +# +# This file is part of the FreeType project, and may only be used, modified, +# and distributed under the terms of the FreeType project license, +# LICENSE.TXT. By continuing to use, modify, or distribute this file you +# indicate that you have read the license and understand and accept it +# fully. +# +# +# Call the `configure' script located in `builds/unix'. +# + +rm -f config.mk builds/unix/unix-def.mk builds/unix/unix-cc.mk + +if test "x$GNUMAKE" = x; then + GNUMAKE=make +fi + +if test -z "`$GNUMAKE -v 2>/dev/null | grep GNU`"; then + if test -z "`$GNUMAKE -v 2>/dev/null | grep makepp`"; then + echo "GNU make (>= 3.80) or makepp (>= 1.19) is required to build FreeType2." >&2 + echo "Please try" >&2 + echo " \`GNUMAKE= $0'." >&2 + echo "or >&2" + echo " \`GNUMAKE=\"makepp --norc-substitution\" $0'." >&2 + exit 1 + fi +fi + +# Get `dirname' functionality. This is taken and adapted from autoconf's +# m4sh.m4 (_AS_EXPR_PREPARE, AS_DIRNAME_EXPR, and AS_DIRNAME_SED). + +if expr a : '\(a\)' >/dev/null 2>&1; then + ft_expr=expr +else + ft_expr=false +fi + +ft2_dir=`(dirname "$0") 2>/dev/null || + $ft_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ + X"$0" : 'X\(//\)[^/]' \| \ + X"$0" : 'X\(//\)$' \| \ + X"$0" : 'X\(/\)' \| \ + . : '\(.\)' 2>/dev/null || + echo X"$0" | + sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ + s//\1/ + q + } + /^X\(\/\/\)[^/].*/{ + s//\1/ + q + } + /^X\(\/\/\)$/{ + s//\1/ + q + } + /^X\(\/\).*/{ + s//\1/ + q + } + s/.*/./; q'` + +abs_curr_dir=`pwd` +abs_ft2_dir=`cd "$ft2_dir" && pwd` + +# `--srcdir=' option can override abs_ft2_dir + +if test $# -gt 0; then + for x in "$@"; do + case x"$x" in + x--srcdir=*) + abs_ft2_dir=`echo $x | sed 's/^--srcdir=//'` ;; + esac + done +fi + +# build a dummy Makefile if we are not building in the source tree; +# we use inodes to avoid issues with symbolic links +inode_src=`ls -id $abs_ft2_dir | awk '{print $1}'` +inode_dst=`ls -id $abs_curr_dir | awk '{print $1}'` + +if test $inode_src -ne $inode_dst; then + if test ! -d reference; then + mkdir reference + fi + if test ! -r $abs_curr_dir/modules.cfg; then + echo "Copying \`modules.cfg'" + cp $abs_ft2_dir/modules.cfg $abs_curr_dir + fi + echo "Generating \`Makefile'" + echo "TOP_DIR := $abs_ft2_dir" > Makefile + echo "OBJ_DIR := $abs_curr_dir" >> Makefile + echo "OBJ_BUILD := \$(OBJ_DIR)" >> Makefile + echo "DOC_DIR := \$(OBJ_DIR)/reference" >> Makefile + echo "FT_LIBTOOL_DIR := \$(OBJ_DIR)" >> Makefile + echo "ifndef FT2DEMOS" >> Makefile + echo " include \$(TOP_DIR)/Makefile" >> Makefile + echo "else" >> Makefile + echo " TOP_DIR_2 := \$(TOP_DIR)/../ft2demos" >> Makefile + echo " PROJECT := freetype" >> Makefile + echo " CONFIG_MK := \$(OBJ_DIR)/config.mk" >> Makefile + echo " include \$(TOP_DIR_2)/Makefile" >> Makefile + echo "endif" >> Makefile +fi + +# call make + +CFG= +# work around zsh bug which doesn't like `${1+"$@"}' +case $# in +0) ;; +*) for x in "$@"; do + case x"$x" in + x--srcdir=* ) CFG="$CFG '$x'/builds/unix" ;; + *) CFG="$CFG '$x'" ;; + esac + done ;; +esac +CFG=$CFG $GNUMAKE setup unix + +# eof -- 1.7.6.4