Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
389 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
PREFIX?=@PREFIX@ | ||
CC?=@CC@ | ||
CFLAGS+=@CFLAGS@ | ||
_VERSION=@VERSION@ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1 @@ | ||
const string version_string = "2.0-1.4.0-4-g5ca057e"; | ||
const string version_string = "2.1-1.4.0-5-g700a887"; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,371 @@ | ||
#!/bin/sh | ||
# This script was automatically generated by ACR v1.3 | ||
# @author: pancake <nopcode.org> | ||
# @url: http://www.nopcode.org | ||
# @repo: git clone https://github.com/radare/acr | ||
|
||
do_remove() { | ||
if [ "${ACR_RMFILES}" ]; then | ||
printf "cleaning temporally files... " | ||
rm -f ${ACR_RMFILES} | ||
echo "done" | ||
fi | ||
} | ||
control_c() { | ||
printf "\n\n^C control-c : script execution interrupted.\n" | ||
do_remove | ||
exit 1 | ||
} | ||
trap control_c 2 | ||
[ -z "${VALA}" ] && VALA="vala" | ||
[ -z "${VALAC}" ] && VALAC="valac" | ||
split_host() { | ||
S="$" | ||
while : ; do | ||
ENVWORDS="${ENVWORDS} $1_CPU $1_OS" | ||
STR=`eval "echo ${S}$1"` | ||
SPLIT_CPU="`echo "$STR" | cut -d - -f 1`" | ||
SPLIT_OS="`echo "$STR" | awk -F - '{ | ||
if ($2=="unknown"){ | ||
if (NF<3) { print $2; } else { print $3; } | ||
} else { | ||
if ($2=="linux") { print $2; } else | ||
if (NF<3) { print $2; } else { print $3; } | ||
} | ||
}'`" | ||
eval "$1_CPU=\"$SPLIT_CPU\"" | ||
eval "$1_OS=\"$SPLIT_OS\"" | ||
shift | ||
[ -z "$1" ] && break | ||
done | ||
} | ||
|
||
VPATH=`dirname ${0}` | ||
if [ "${VPATH}" = "." ]; then | ||
WODIS=current | ||
else | ||
if [ "${VPATH}" = "${PWD}" ]; then | ||
VPATH=. | ||
WODIS=current | ||
else | ||
WODIS=crosspath | ||
CURDIR=$PWD | ||
cd $VPATH | ||
VPATH="${PWD}/" | ||
cd $CURDIR | ||
fi | ||
fi | ||
|
||
guess_os() { | ||
if [ -e "${VPATH}/config.guess" ]; then | ||
sh ${VPATH}/config.guess | ||
return | ||
fi | ||
CPU="`uname -m|sed -e 's, ,,g'|cut -d - -f 1`" | ||
OS="`uname -s|tr A-Z a-z`" | ||
GNU="`uname --help 2>&1 | grep gnu`" | ||
[ "${GNU}" ] && OS="${OS}-gnu" | ||
[ "${CPU}" = ppc ] && CPU="powerpc" | ||
echo "${CPU}-unknown-${OS}" | ||
} | ||
|
||
SEARCHPATH="/usr /usr/local /usr/pkg /sw" | ||
|
||
: ${PREFIX:=/usr/local} | ||
CROSSBUILD=0 | ||
BUILD=`guess_os` | ||
HOST="${BUILD}" | ||
TARGET="${HOST}" | ||
SYSCONFDIR="" | ||
|
||
create_environ() { | ||
: ${EPREFIX:="${PREFIX}"} | ||
: ${SPREFIX:="${PREFIX}"} | ||
: ${BINDIR:="${SPREFIX}/bin"} | ||
: ${SBINDIR:="${PREFIX}/sbin"} | ||
: ${SYSCONFDIR:="${SPREFIX}/etc"} | ||
: ${LIBDIR:="${SPREFIX}/lib"} | ||
: ${LIBEXECDIR:="${SPREFIX}/libexec"} | ||
: ${INCLUDEDIR:="${SPREFIX}/include"} | ||
: ${DATADIR:="${SPREFIX}/share"} | ||
: ${INFODIR:="${DATADIR}/info"} | ||
: ${MANDIR:="${DATADIR}/man"} | ||
: ${DOCDIR:="${DATADIR}/doc/valabind"} | ||
: ${LOCALSTATEDIR:="${SPREFIX}/var"} | ||
for A in `echo ${PATH} | sed -e 's,:, ,g'` ; do | ||
[ -e "$A"/ginstall ] && : ${INSTALL:="$A"/ginstall} && break | ||
[ -e "$A"/install ] && : ${INSTALL:="$A"/install} && break | ||
done | ||
: ${INSTALL_DIR:=${INSTALL} -d} | ||
: ${INSTALL_DATA:=${INSTALL} -m 644} | ||
: ${INSTALL_SCRIPT:=${INSTALL} -m 755} | ||
: ${INSTALL_PROGRAM:=${INSTALL} -m 755} | ||
: ${INSTALL_PROGRAM_STRIP:=${INSTALL} -m 755 -s} | ||
: ${INSTALL_MAN:=${INSTALL} -m 444} | ||
: ${INSTALL_LIB:=${INSTALL} -m 755 -c} | ||
PKGNAME='valabind' ; VERSION='2.1' ; CONTACT_MAIL="pancake@nopcode.org" ; CONTACT_NAME="pancake" ; CONTACT="pancake <pancake@nopcode.org>" ; | ||
} | ||
|
||
show_usage() { | ||
cat <<EOF2 | ||
'configure' configures valabind-2.1 to adapt to many kinds of systems. | ||
Usage: ./configure [OPTION]... [VAR=VALUE]... | ||
To assign environment variables (e.g., CC, CFLAGS...), specify them as | ||
VAR=VALUE. See below for descriptions of some of the useful variables. | ||
Defaults for the options are specified in brackets. | ||
Configuration: | ||
-h, --help display this help and exit | ||
-r, --report show what libs/programs require to work | ||
-V, --version display version information and exit | ||
Installation directories: | ||
--exec-prefix=EPREFIX install arch-dependent files in EPREFIX [PREFIX] | ||
--prefix=PREFIX install arch-independent files in PREFIX [/usr/local] | ||
--sandbox=SPREFIX sandbox prefix directory: SPREFIX [PREFIX] | ||
Fine tuning of the installation directories: | ||
--bindir=DIR user executables [EPREFIX/bin] | ||
--datadir=DIR read-only architecture-independent data [PREFIX/share] | ||
--docdir=DIR documentation directory [DATADIR/doc/valabind] | ||
--includedir=DIR C header files [PREFIX/include] | ||
--infodir=DIR info documentation [DATADIR/info] | ||
--libexecdir=DIR program executables [EPREFIX/libexec] | ||
--libdir=DIR object code libraries [EPREFIX/lib] | ||
--libpath=DIR set rpath/libname-path to linker | ||
--localstatedir=DIR modifiable single-machine data [PREFIX/var] | ||
--mandir=DIR man documentation [DATADIR/man] | ||
--sbindir=DIR system admin executables [EPREFIX/sbin] | ||
--sysconfdir=DIR read-only single-machine data [PREFIX/etc] | ||
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] | ||
System types: | ||
--build=BUILD configure for building on BUILD [guessed] | ||
--host=HOST cross-compile to build programs to run on HOST [BUILD] | ||
--target=TARGET configure for building compilers for TARGET [HOST] | ||
EOF2 | ||
|
||
printf " | ||
Optional Features: | ||
--with-vala Manually assign the vala program (VALA=vala) | ||
--with-valac Manually assign the valac compiler program (VALAC=valac) | ||
" | ||
printf " | ||
Some influential environment variables: | ||
CC C compiler command | ||
CFLAGS C compiler flags | ||
CPPFLAGS C preprocessor flags | ||
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a | ||
nonstandard directory <lib dir> | ||
CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have | ||
headers in a nonstandard directory <include dir> | ||
CPP C preprocessor | ||
VALAC Vala compiler to be used. | ||
" | ||
printf " | ||
Report bugs to: pancake <pancake@nopcode.org>" | ||
echo "" | ||
exit 0 | ||
} | ||
|
||
take_environ() { | ||
: ${SH:=/bin/sh} | ||
: ${CPP:=cpp} | ||
: ${CC:=gcc} | ||
: ${VALAC:=valac} | ||
: ${PREFIX:=/usr/local/} | ||
} | ||
|
||
show_version() { | ||
echo "valabind-2.1 configuration script done with acr v1.3. | ||
The 'Free Software Foundation' message is only for autodetection. | ||
Originally written by pancake <nopcode.org>." | ||
exit 0 | ||
} | ||
|
||
parse_options() { | ||
flag=`echo $1| cut -d = -f 1` | ||
value=`echo $1| awk 'BEGIN{FS="=";}{print $2}'` | ||
flag2=`echo $flag|cut -f2- -d -| sed -e 's,-,_,g' -e 's,^_,,g'|tr '[a-z]' '[A-Z]'` | ||
|
||
if [ "${TARGET_OS}" = "darwin" ]; then | ||
LIBPATH=-Wl,-install_name, | ||
else | ||
LIBPATH=-Wl,-R | ||
fi | ||
|
||
case $flag in | ||
-h|--help|--hel|--h|--he|-help) | ||
show_usage ; ;; | ||
-V|-version|--version) | ||
show_version ; ;; | ||
-r|--r|--report) | ||
echo "PKGNAME: valabind" | ||
echo "VERSION: 2.1" | ||
echo "LANGS: c vala" | ||
echo "FLAGS: --with-vala=vala --with-valac=valac" | ||
exit 0 | ||
;; | ||
--cache-file) | ||
# ignored: acr have no cache | ||
;; | ||
--build) | ||
BUILD="$value"; split_host BUILD ; ;; | ||
--host) | ||
CROSSBUILD=1 # XXX | ||
HOST="$value"; split_host HOST ; ;; | ||
--target) | ||
TARGET="$value"; split_host TARGET ; ;; | ||
--prefix) | ||
PREFIX="$value"; ;; | ||
--exec-prefix) | ||
EPREFIX="$value"; ;; | ||
--sandbox|--sprefix) | ||
SPREFIX="$value"; ;; | ||
--bindir) | ||
BINDIR="$value"; ;; | ||
--sbindir) | ||
SBINDIR="$value"; ;; | ||
--libexecdir) | ||
LIBEXECDIR="$value"; ;; | ||
--docdir) | ||
DOCDIR="$value"; ;; | ||
--datadir) | ||
DATADIR="$value"; ;; | ||
--sysconfdir) | ||
SYSCONFDIR="$value"; ;; | ||
--sharedstatedir) | ||
SHAREDSTATEDIR="$value"; ;; | ||
--localstatedir) | ||
LOCALSTATEDIR="$value"; ;; | ||
--libdir) | ||
LIBDIR="$value"; ;; | ||
--libpath) | ||
LDFLAGS="${LDFLAGS} ${LIBPATH}$value"; ;; | ||
--includedir) | ||
INCLUDEDIR="$value"; CFLAGS="${CFLAGS} -I$value"; ;; | ||
--infodir) | ||
INFODIR="$value"; ;; | ||
--mandir) | ||
MANDIR="$value"; ;; | ||
|
||
--with-vala) if [ -z "${value}" ]; then VALA="vala"; else VALA="${value}" ; fi ;; | ||
--with-valac) if [ -z "${value}" ]; then VALAC="valac"; else VALAC="${value}" ; fi ;; | ||
*) if [ "$value" ]; then eval "`echo $flag2=$value`" ; | ||
else echo ; echo "WARNING: Unknown flag '$flag'." >&2 ; echo ; fi ;; | ||
esac | ||
} | ||
|
||
# MAIN # | ||
take_environ | ||
split_host BUILD HOST TARGET | ||
[ -z "$ACRHOOK" ] && ACRHOOK=./configure.hook | ||
[ -e "$ACRHOOK" ] && . ${ACRHOOK} | ||
|
||
while : ; do | ||
[ -z "$1" ] && break | ||
parse_options "$1" | ||
shift | ||
done | ||
|
||
ENVWORDS="MANDIR INFODIR LIBDIR INCLUDEDIR LOCALSTATEDIR SYSCONFDIR DATADIR DOCDIR LIBEXECDIR SBINDIR BINDIR EPREFIX PREFIX SPREFIX TARGET HOST BUILD INSTALL INSTALL_LIB INSTALL_MAN INSTALL_PROGRAM INSTALL_PROGRAM_STRIP INSTALL_DIR INSTALL_SCRIPT INSTALL_DATA HOST_OS HOST_CPU BUILD_OS BUILD_CPU TARGET_OS TARGET_CPU PKGNAME VPATH VERSION CONTACT CONTACT_NAME CONTACT_MAIL CC CFLAGS CPPFLAGS LDFLAGS HAVE_LANG_C VALA VALAC" | ||
|
||
create_environ | ||
|
||
echo "checking build system type... ${BUILD}" | ||
echo "checking host system type... ${HOST}" | ||
echo "checking target system type... ${TARGET}" | ||
[ "${CROSSBUILD}" = 1 ] && echo "using crosscompilation mode." | ||
|
||
#split_host BUILD HOST TARGET | ||
[ -n "${prefix}" ] && PREFIX="${prefix}" | ||
echo "checking for working directories... ${WODIS}" | ||
echo "using prefix '${PREFIX}'" | ||
ACR_RMFILES=" test.c a.out a.exe .test.vala .test" | ||
|
||
|
||
COMPILER=CC | ||
printf "checking for c compiler... " | ||
HAVE_LANG_C=1 | ||
if [ "${CROSSBUILD}" = 1 ]; then | ||
(command -v ${HOST}-${CC} >/dev/null 2>&1) | ||
if [ $? = 0 ]; then CC="${HOST}-${CC}"; fi | ||
fi | ||
echo "int main(int argc, char **argv){return 0;}" > test.c | ||
(exec ${CC} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} test.c >/dev/null 2>&1) | ||
if [ $? = 0 ]; then echo ${CC}; else | ||
echo no ; HAVE_LANG_C=0 | ||
do_remove | ||
echo "ERROR: ${CC} cannot create executables" >&2 ; | ||
exit 1 ; fi | ||
printf "checking vala compiler... " | ||
HAVE_LANG_VALA=1 | ||
HAVE_VALA=1 | ||
HAVE_VALAC=1 | ||
VALA_VERSION="" | ||
echo "void main(){}" > .test.vala | ||
${VALAC} .test.vala 2>&1 >/dev/null | ||
if [ $? = 0 ]; then | ||
echo ${VALAC}; | ||
VALA_VERSION=$(${VALAC} --version | cut -d " " -f 2 | cut -d . -f 1,2); | ||
printf "checking vala... "; | ||
${VALA} .test.vala 2>&1 >/dev/null | ||
if [ $? = 0 ]; then | ||
echo ${VALA}; | ||
else | ||
echo no ; HAVE_LANG_VALA=0 ; HAVE_VALA=0 | ||
fi | ||
else | ||
echo no ; HAVE_LANG_VALA=0 ; HAVE_VALAC=0 | ||
fi | ||
if [ "${HAVE_LANG_VALA}" = 0 ]; then | ||
echo "ERROR: ${VALAC} cannot create C code"; exit 1 | ||
fi | ||
rm -f .test.vala | ||
SEDFLAGS=" -e '" | ||
COUNT=0 | ||
for A in ${ENVWORDS} ; do | ||
[ "${A}" = VPATH ] && continue | ||
[ "${A}" = srcdir ] && continue | ||
eval "VAR=\$${A}" | ||
VAR="`echo ${VAR} | sed -e 's/\,/\\\,/g'`" | ||
[ $COUNT = 10 ] && COUNT=0 && SEDFLAGS="${SEDFLAGS}' -e '" | ||
COUNT=$(($COUNT+1)) | ||
SEDFLAGS="${SEDFLAGS}s,@${A}@,${VAR},g;" | ||
done | ||
SEDFLAGS="${SEDFLAGS}'" | ||
for A in ./config.mk ; do # SUBDIRS | ||
if [ -f "${VPATH}/${A}.acr" ]; then | ||
SD_TARGET=${A} | ||
else | ||
if [ -d "${VPATH}/${A}" ]; then | ||
SD_TARGET=${A}/Makefile | ||
mkdir -p ${A} | ||
else | ||
echo "ERROR: Cannot find ${VPATH}/${A}.acr" >&2 | ||
exit 1 | ||
fi | ||
fi | ||
echo "creating ${SD_TARGET}" | ||
mkdir -p $(echo ${A} | sed -e "s,/`basename ${A}`$,,g") | ||
cat ${VPATH}/${SD_TARGET}.acr | \ | ||
eval sed -e "s,@VPATH@,${VPATH}/${A},g" ${SEDFLAGS} > ${SD_TARGET}.tmp | ||
|
||
for A in ${ENVWORDS}; do | ||
VALUE=`eval echo "$"${A}` | ||
if [ "$VALUE" = 0 ]; then ## FALSE | ||
MARK="##${A}##" | ||
if [ -n "`grep \"${MARK}\" ${SD_TARGET}.tmp`" ]; then | ||
mv ${SD_TARGET}.tmp ${SD_TARGET}.tmp2 | ||
cat ${SD_TARGET}.tmp2 | MARK=$MARK awk 'BEGIN{a=0;}{if($1==ENVIRON["MARK"]){if(a)a=0;else a=1}else{if(!a)print;}}' > ${SD_TARGET}.tmp | ||
fi | ||
fi | ||
done | ||
mv ${SD_TARGET}.tmp ${SD_TARGET} && rm -f ${SD_TARGET}.tmp2 | ||
if [ ! $? = 0 ]; then echo Cannot write target file ; control_c ; fi | ||
done | ||
|
||
do_remove |
Oops, something went wrong.