mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-03 03:20:57 +00:00
move tools used during build into build_tools subdirectory
clean up Makefile headers git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@5942 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
1
build_tools/.cvsignore
Executable file
1
build_tools/.cvsignore
Executable file
@@ -0,0 +1 @@
|
||||
vercomp
|
20
build_tools/make_build_h
Executable file
20
build_tools/make_build_h
Executable file
@@ -0,0 +1,20 @@
|
||||
#!/bin/sh
|
||||
HOSTNAME=`uname -n`
|
||||
KERNEL=`uname -r`
|
||||
MACHINE=`uname -m`
|
||||
OS=`uname -s`
|
||||
USER=`whoami`
|
||||
DATE=`date --utc "+%Y-%m-%d %H:%M:%S"`
|
||||
cat << END
|
||||
/*
|
||||
* build.h
|
||||
* Automatically generated
|
||||
*/
|
||||
#define BUILD_HOSTNAME "${HOSTNAME}"
|
||||
#define BUILD_KERNEL "${KERNEL}"
|
||||
#define BUILD_MACHINE "${MACHINE}"
|
||||
#define BUILD_OS "${OS}"
|
||||
#define BUILD_DATE "${DATE}"
|
||||
#define BUILD_USER "${USER}"
|
||||
|
||||
END
|
25
build_tools/make_defaults_h
Executable file
25
build_tools/make_defaults_h
Executable file
@@ -0,0 +1,25 @@
|
||||
#!/bin/sh
|
||||
cat << END
|
||||
/*
|
||||
* defaults.h
|
||||
* Automatically generated
|
||||
*/
|
||||
#define AST_CONFIG_DIR "${INSTALL_PATH}${ASTETCDIR}"
|
||||
#define AST_RUN_DIR "${INSTALL_PATH}${ASTVARRUNDIR}"
|
||||
#define AST_SOCKET "${INSTALL_PATH}${ASTVARRUNDIR}/asterisk.ctl"
|
||||
#define AST_PID "${INSTALL_PATH}${ASTVARRUNDIR}/asterisk.pid"
|
||||
#define AST_MODULE_DIR "${INSTALL_PATH}${MODULES_DIR}"
|
||||
#define AST_SPOOL_DIR "${INSTALL_PATH}${ASTSPOOLDIR}"
|
||||
#define AST_VAR_DIR "${INSTALL_PATH}${ASTVARLIBDIR}"
|
||||
#define AST_LOG_DIR "${INSTALL_PATH}${ASTLOGDIR}"
|
||||
#define AST_AGI_DIR "${INSTALL_PATH}${AGI_DIR}"
|
||||
#define AST_KEY_DIR "${INSTALL_PATH}${ASTVARLIBDIR}/keys"
|
||||
#define AST_DB "${INSTALL_PATH}${ASTVARLIBDIR}/astdb"
|
||||
#define AST_TMP_DIR "${INSTALL_PATH}${ASTSPOOLDIR}/tmp"
|
||||
|
||||
#define AST_CONFIG_FILE "${INSTALL_PATH}${ASTCONFPATH}"
|
||||
|
||||
#define AST_SOUNDS "${INSTALL_PATH}${ASTVARLIBDIR}/sounds"
|
||||
#define AST_IMAGES "${INSTALL_PATH}${ASTVARLIBDIR}/images"
|
||||
|
||||
END
|
10
build_tools/make_version_h
Executable file
10
build_tools/make_version_h
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
cat << END
|
||||
/*
|
||||
* version.h
|
||||
* Automatically generated
|
||||
*/
|
||||
#define ASTERISK_VERSION "${ASTERISKVERSION}"
|
||||
#define ASTERISK_VERSION_NUM ${ASTERISKVERSIONNUM}
|
||||
|
||||
END
|
123
build_tools/mkdep
Executable file
123
build_tools/mkdep
Executable file
@@ -0,0 +1,123 @@
|
||||
#!/bin/sh -
|
||||
#
|
||||
# $OpenBSD: mkdep.gcc.sh,v 1.8 1998/09/02 06:40:07 deraadt Exp $
|
||||
# $NetBSD: mkdep.gcc.sh,v 1.9 1994/12/23 07:34:59 jtc Exp $
|
||||
#
|
||||
# Copyright (c) 1991, 1993
|
||||
# The Regents of the University of California. All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
# 1. Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. All advertising materials mentioning features or use of this software
|
||||
# must display the following acknowledgement:
|
||||
# This product includes software developed by the University of
|
||||
# California, Berkeley and its contributors.
|
||||
# 4. Neither the name of the University nor the names of its contributors
|
||||
# may be used to endorse or promote products derived from this software
|
||||
# without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
# SUCH DAMAGE.
|
||||
#
|
||||
# @(#)mkdep.gcc.sh 8.1 (Berkeley) 6/6/93
|
||||
#
|
||||
|
||||
D=.depend # default dependency file is .depend
|
||||
append=0
|
||||
pflag=
|
||||
dflag=
|
||||
|
||||
while :
|
||||
do case "$1" in
|
||||
# -a appends to the depend file
|
||||
-a)
|
||||
append=1
|
||||
shift ;;
|
||||
|
||||
# -f allows you to select a makefile name
|
||||
-f)
|
||||
D=$2
|
||||
shift; shift ;;
|
||||
|
||||
# the -p flag produces "program: program.c" style dependencies
|
||||
# so .o's don't get produced
|
||||
-p)
|
||||
pflag=p
|
||||
shift ;;
|
||||
|
||||
# the -d flag produces double-colon rules instead of single-colon rules
|
||||
-d)
|
||||
dflag=d
|
||||
shift ;;
|
||||
|
||||
*)
|
||||
break ;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ $# = 0 ] ; then
|
||||
echo 'usage: mkdep [-p] [-d] [-f depend_file] [cc_flags] file ...'
|
||||
exit 1
|
||||
fi
|
||||
|
||||
DTMP=/tmp/mkdep$$
|
||||
TMP=$DTMP/mkdep
|
||||
|
||||
um=`umask`
|
||||
umask 022
|
||||
mkdir $DTMP
|
||||
if [ $? != 0 ] ; then
|
||||
echo failed to create tmp dir $DTMP
|
||||
exit 1
|
||||
fi
|
||||
|
||||
umask $um
|
||||
trap 'rm -rf $DTMP ; trap 2 ; kill -2 $$' 1 2 3 13 15
|
||||
|
||||
if [ x$pflag = xp ]; then
|
||||
${CC:-cc} -M "$@" 2>/dev/null | sed -e 's;\.o :; :;' -e 's; \./; ;g' > $TMP
|
||||
elif [ x$dflag = xd ]; then
|
||||
${CC:-cc} -M "$@" 2>/dev/null | sed -e 's;\.o:;\.o::;' -e 's; \./; ;g' > $TMP
|
||||
else
|
||||
${CC:-cc} -M "$@" 2>/dev/null | sed -e 's; \./; ;g' > $TMP
|
||||
fi
|
||||
|
||||
if [ $? != 0 ]; then
|
||||
echo 'mkdep: compile failed.'
|
||||
rm -rf $DTMP
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ $append = 1 ]; then
|
||||
cat $TMP >> $D
|
||||
if [ $? != 0 ]; then
|
||||
echo 'mkdep: append failed.'
|
||||
rm -rf $DTMP
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
mv $TMP $D
|
||||
if [ $? != 0 ]; then
|
||||
echo 'mkdep: rename failed.'
|
||||
rm -rf $DTMP
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
rm -rf $DTMP
|
||||
exit 0
|
349
build_tools/vercomp.c
Executable file
349
build_tools/vercomp.c
Executable file
@@ -0,0 +1,349 @@
|
||||
/*
|
||||
* Asterisk -- A telephony toolkit for Linux.
|
||||
*
|
||||
* A simple program version comparison tool.
|
||||
*
|
||||
* Copyright (C) 2005, Steven Michael Murphy (murf at e-tools dot com).
|
||||
*
|
||||
* This program is free software, distributed under the terms of
|
||||
* the GNU General Public License
|
||||
*/
|
||||
|
||||
/* vercomp.c
|
||||
args: <program> <comparison> <version>
|
||||
|
||||
where:
|
||||
|
||||
program = path to program (bison or flex)
|
||||
comparison = ">", "<", "<=", ">=", "=" -- depending on shell, you may have to use backslash escapes
|
||||
version = a version compare against, say 1.875, or 2.5.4, or whatever.
|
||||
|
||||
*/
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
char *program_version[5];
|
||||
char *arg_version[5];
|
||||
|
||||
void get_program_version_string(char *command, char *output)
|
||||
{
|
||||
char cbuf[8000];
|
||||
char pbuf[8000];
|
||||
char zbuf[8000];
|
||||
char *res;
|
||||
FILE *p1;
|
||||
|
||||
zbuf[0] = 0;
|
||||
|
||||
sprintf( cbuf, "%s --version", command );
|
||||
p1 = popen(cbuf, "r");
|
||||
if( !p1 )
|
||||
{
|
||||
fprintf(stderr,"vercomp: Could not execute the command: %s\n", command);
|
||||
exit(125);
|
||||
}
|
||||
/* the first line is the magic one */
|
||||
res = fgets(zbuf, 8000, p1);
|
||||
/* clear the trailing blank */
|
||||
if( zbuf[strlen(zbuf)-1] == '\n' )
|
||||
zbuf[strlen(zbuf)-1] = 0;
|
||||
/* the rest is cruft, just empty the input stream */
|
||||
while( res )
|
||||
{
|
||||
res = fgets(pbuf, 8000, p1);
|
||||
}
|
||||
/* close the stream. Hopefully, we have what we need */
|
||||
pclose(p1);
|
||||
/* all we want is the last "word"-- so find the last blank, and grab everything after that */
|
||||
|
||||
res = strrchr(zbuf,' ');
|
||||
if( !res )
|
||||
{
|
||||
fprintf(stderr,"Something is wrong with the version string: %s\n", zbuf);
|
||||
exit(124);
|
||||
}
|
||||
strcpy(output,res+1);
|
||||
}
|
||||
|
||||
|
||||
void extract_version(char *ver_string, char **where)
|
||||
{
|
||||
int i=0;
|
||||
char *p=ver_string;
|
||||
|
||||
while( p && *p )
|
||||
{
|
||||
where[i++] = p;
|
||||
p = strchr(p,'.');
|
||||
if( p )
|
||||
{
|
||||
*p= 0;
|
||||
p++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void compare_versions(char *compare_func)
|
||||
{
|
||||
int i;
|
||||
|
||||
for(i=0;i<5;i++)
|
||||
{
|
||||
/* start out at the beginning, then go to the end */
|
||||
if( program_version[i] && arg_version[i] && *program_version[i] && *arg_version[i] )
|
||||
{
|
||||
|
||||
if( strlen(program_version[i]) == strspn(program_version[i],"0123456789")
|
||||
&& strlen(arg_version[i]) == strspn(arg_version[i],"0123456789") )
|
||||
{
|
||||
/* just pure numbers -- do a numeric compare */
|
||||
int pv = atoi(program_version[i]);
|
||||
int av = atoi(arg_version[i]);
|
||||
|
||||
if( pv < av )
|
||||
{
|
||||
if( !strcmp(compare_func,"=") )
|
||||
{
|
||||
printf("false\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, ">") )
|
||||
{
|
||||
printf("false\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, "<") )
|
||||
{
|
||||
printf("true\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, ">=") )
|
||||
{
|
||||
printf("false\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, "<=") )
|
||||
{
|
||||
printf("true\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
else if( pv > av )
|
||||
{
|
||||
if( !strcmp(compare_func,"=") )
|
||||
{
|
||||
printf("false\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, ">") )
|
||||
{
|
||||
printf("true\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, "<") )
|
||||
{
|
||||
printf("false\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, ">=") )
|
||||
{
|
||||
printf("true\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, "<=") )
|
||||
{
|
||||
printf("false\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* other junk thrown in -- do string compare */
|
||||
int res = strcmp(program_version[i], arg_version[i]);
|
||||
if( res < 0 ) /* prog is less than arg */
|
||||
{
|
||||
if( !strcmp(compare_func,"=") )
|
||||
{
|
||||
printf("false\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, ">") )
|
||||
{
|
||||
printf("false\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, "<") )
|
||||
{
|
||||
printf("true\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, ">=") )
|
||||
{
|
||||
printf("false\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, "<=") )
|
||||
{
|
||||
printf("true\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
else if( res > 0 ) /* prog is greater than arg */
|
||||
{
|
||||
if( !strcmp(compare_func,"=") )
|
||||
{
|
||||
printf("false\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, ">") )
|
||||
{
|
||||
printf("true\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, "<") )
|
||||
{
|
||||
printf("false\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, ">=") )
|
||||
{
|
||||
printf("true\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, "<=") )
|
||||
{
|
||||
printf("false\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else if( program_version[i] && *program_version[i] )
|
||||
{
|
||||
if( !strcmp(compare_func,"=") )
|
||||
{
|
||||
printf("false\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, ">") )
|
||||
{
|
||||
printf("true\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, "<") )
|
||||
{
|
||||
printf("false\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, ">=") )
|
||||
{
|
||||
printf("true\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, "<=") )
|
||||
{
|
||||
printf("false\n");
|
||||
exit(0);
|
||||
}
|
||||
|
||||
}
|
||||
else if( arg_version[i] && *arg_version[i] )
|
||||
{
|
||||
if( !strcmp(compare_func,"=") )
|
||||
{
|
||||
printf("false\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, ">") )
|
||||
{
|
||||
printf("false\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, "<") )
|
||||
{
|
||||
printf("true\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, ">=") )
|
||||
{
|
||||
printf("false\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, "<=") )
|
||||
{
|
||||
printf("true\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
else
|
||||
break;
|
||||
}
|
||||
if( !strcmp(compare_func,"=") )
|
||||
{
|
||||
printf("true\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, ">") )
|
||||
{
|
||||
printf("false\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, "<") )
|
||||
{
|
||||
printf("false\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, ">=") )
|
||||
{
|
||||
printf("true\n");
|
||||
exit(0);
|
||||
}
|
||||
else if( !strcmp(compare_func, "<=") )
|
||||
{
|
||||
printf("true\n");
|
||||
exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
void usage(void)
|
||||
{
|
||||
printf("Usage: <program-path> <comparison> <version>\n\
|
||||
\n\
|
||||
where:\n\
|
||||
\n\
|
||||
program-path = path to program (bison or flex)\n\
|
||||
comparison = '>', '<', '<=', '>=', '=' -- depending on shell, you may have to use backslash escapes\n\
|
||||
version = a version compare against, say 1.875, or 2.5.4, or whatever.\n\n");
|
||||
}
|
||||
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
char program_version_string[8000];
|
||||
|
||||
/* before starting, check args and make sure all is OK */
|
||||
if( argc < 4 || argc > 4 )
|
||||
{
|
||||
usage();
|
||||
exit(-256);
|
||||
}
|
||||
if ( strcmp(argv[2],"=") && strcmp(argv[2],">") && strcmp(argv[2],"<") && strcmp(argv[2],">=") && strcmp(argv[2],"<=") )
|
||||
{
|
||||
fprintf(stderr,"vercomp: ILLEGAL input Comparison value: %s\n\n", argv[2]);
|
||||
usage();
|
||||
exit(-256);
|
||||
}
|
||||
|
||||
/* first, extract a version from the command line arg */
|
||||
extract_version(argv[3], arg_version);
|
||||
|
||||
/* next, extract a version from the command line */
|
||||
get_program_version_string(argv[1], program_version_string);
|
||||
extract_version(program_version_string, program_version);
|
||||
|
||||
/* next compare and return result */
|
||||
compare_versions(argv[2]);
|
||||
/* the above func shouldn't return */
|
||||
}
|
Reference in New Issue
Block a user