⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nsallinone.m4

📁 development of enhancement
💻 M4
字号:
## Copyright (c) 2007 Regents of the SIGNET lab, University of Padova.# 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. Neither the name of the University of Padova (SIGNET lab) 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 COPYRIGHT HOLDERS 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 COPYRIGHT OWNER 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.#AC_DEFUN([AC_PATH_NS_ALLINONE], [NS_ALLINONE_PATH=''NS_PATH=''TCL_PATH=''OTCL_PATH=''NS_CPPFLAGS=''AC_ARG_WITH([ns-allinone],	[AS_HELP_STRING([--with-ns-allinone=<directory>],			[use ns-allinone installation in <directory>, where it is expected to find ns, tcl, otcl and tclcl subdirs])],	[	    if test ! -d $withval 		then		AC_MSG_ERROR([ns-allinone path $withval is not valid])	    else			NS_ALLINONE_PATH=$withval		NS_PATH=$NS_ALLINONE_PATH/`cd $NS_ALLINONE_PATH; ls -d ns-* | head -n 1`		TCL_PATH=$NS_ALLINONE_PATH/`cd $NS_ALLINONE_PATH; ls -d * | grep -e 'tcl[0-9].*' | head -n 1`		TCLCL_PATH=$NS_ALLINONE_PATH/`cd $NS_ALLINONE_PATH; ls -d tclcl-* | head -n 1`		OTCL_PATH=$NS_ALLINONE_PATH/`cd $NS_ALLINONE_PATH; ls -d otcl-* | head -n 1`		NS_CPPFLAGS="-I$NS_ALLINONE_PATH/include -I$NS_PATH -I$TCLCL_PATH -I$OTCL_PATH"		NS_ALLINONE_DISTCHECK_CONFIGURE_FLAGS="--with-ns-allinone=$withval"		AC_SUBST(NS_ALLINONE_DISTCHECK_CONFIGURE_FLAGS)	    fi	])if test x$NS_ALLINONE_PATH = x ;    then   AC_MSG_ERROR([you must specify ns-allinone installation path using --with-ns-allinone=PATH])fi	     NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/mac"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/propagation"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/mobile"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/pcap"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/tcp"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/sctp"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/common"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/link"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/queue"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/trace"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/adc"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/apps"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/routing"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/tools"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/classifier"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/mcast"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/diffusion3/lib"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/diffusion3/lib/main"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/diffusion3/lib/nr"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/diffusion3/ns"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/diffusion3/filter_core"NS_CPPFLAGS="$NS_CPPFLAGS  -I$NS_PATH/asim"AC_SUBST(NS_CPPFLAGS)AC_MSG_CHECKING([for NS_LDFLAGS and NS_LIBADD type])system=`uname -s`case $system in     CYGWIN*)	AC_MSG_RESULT([cygwin])	echo "running cygwin"	NS_LDFLAGS=" -shared -no-undefined -L${NS_PATH} -Wl,--export-all-symbols -Wl,--enable-auto-import  -Wl,--whole-archive  "		NS_LIBADD=" -lns"	;;    *)	AC_MSG_RESULT([none needed])	# OK for linux, should be fine for unix in general	NS_LDFLAGS=""		NS_LIBADD=""	;;esacAC_SUBST(NS_LDFLAGS)AC_SUBST(NS_LIBADD)######################################################### checking if ns-allinone path has been setup correctly######################################################### temporarily add NS_CPPFLAGS to CPPFLAGSBACKUP_CPPFLAGS=$CPPFLAGSCPPFLAGS=$NS_CPPFLAGS#BACKUP_CFLAGS=$CFLAGS#CFLAGS=$NS_CPPFLAGSdnl AC_CHECK_HEADERS([tcl.h],,AC_MSG_ERROR([could not find tcl.h]))dnl AC_CHECK_HEADERS([otcl.h],,AC_MSG_ERROR([could not find otcl.h]))dnl AC_CHECK_HEADERS([tclcl.h],,AC_MSG_ERROR([could not find tclcl.h]), dnl 		 [ dnl 		   #if HAVE_TCL_Hdnl 		   #include <tcl.h>dnl 		   #endif dnl 		 ])  	AC_LANG_PUSH(C++)AC_MSG_CHECKING([for ns-allinone installation])AC_PREPROC_IFELSE(	[AC_LANG_PROGRAM([[		#include<tcl.h>		#include<otcl.h>		#include<tclcl.h>		#include<packet.h>		Packet* p; 		]],[[		p = new packet;		delete p;		]]  )],        [AC_MSG_RESULT([ok])],        [	  AC_MSG_RESULT([FAILED!])	  AC_MSG_ERROR([Could not find NS headers. Is --with-ns-allinone set correctly? ])        ])AC_MSG_CHECKING([if ns-allinone installation has been patched for dynamic libraries])AC_PREPROC_IFELSE(	[AC_LANG_PROGRAM([[		#include<tcl.h>		#include<otcl.h>		#include<tclcl.h>		#include<packet.h>		]],[[		p_info::addPacket("TEST_PKT");		]]  )],        [AC_MSG_RESULT([yes])],        [	  AC_MSG_RESULT([NO!])	  AC_MSG_ERROR([The ns-allinone installation in $NS_ALLINONE_PATH has not been patched for dynamic libraries.   Either patch it or change the --with-ns-allinone switch so that it refers to a patched version.	])        ])AC_LANG_POP(C++)# Restoring to the initial valueCPPFLAGS=$BACKUP_CPPFLAGS#CFLAGS=$BACKUP_CFLAGS## AC_ARG_VAR([TCLCL_PATH],[blah blah blah])## AC_PATH_PROG([TCL2CPP],[tcl2c++],[none],[$PATH:$TCLCL_PATH])AC_ARG_VAR([TCL2CPP],[tcl2c++ executable])AC_PATH_PROG([TCL2CPP],[tcl2c++],[none],[$PATH:$TCLCL_PATH])if test "x$TCL2CPP" = "xnone" ;    then	AC_MSG_ERROR([could not find tcl2c++])fi])

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -