bwm-tools-devel Mailing List for Bandwidth Management Tools
Brought to you by:
nkukard
You can subscribe to this list here.
2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(11) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2005 |
Jan
(52) |
Feb
|
Mar
|
Apr
(6) |
May
(1) |
Jun
(2) |
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
2006 |
Jan
|
Feb
(3) |
Mar
(9) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
From: <sv...@li...> - 2008-09-15 05:44:12
|
Author: nkukard Date: 2008-09-15 05:25:56 +0000 (Mon, 15 Sep 2008) New Revision: 96 Modified: trunk/include/flow.h Log: * Fix a few platforms which don't include this Modified: trunk/include/flow.h =================================================================== --- trunk/include/flow.h 2008-01-02 20:19:09 UTC (rev 95) +++ trunk/include/flow.h 2008-09-15 05:25:56 UTC (rev 96) @@ -27,6 +27,7 @@ #include <glib.h> +#include <netinet/in.h> #include <linux/netfilter.h> #include <sys/time.h> #include <syslog.h> |
From: <sv...@li...> - 2006-03-08 09:06:53
|
Author: nkukard Date: 2006-03-08 09:05:58 +0000 (Wed, 08 Mar 2006) New Revision: 92 Added: tags/200603080716/ Modified: tags/200603080716/configure tags/200603080716/configure.ac tags/200603080716/doc/stamp-vti tags/200603080716/doc/version.texi Log: * Tagged development release 200603080716 Copied: tags/200603080716 (from rev 91, trunk) Modified: tags/200603080716/configure =================================================================== --- trunk/configure 2006-03-08 08:29:30 UTC (rev 91) +++ tags/200603080716/configure 2006-03-08 09:05:58 UTC (rev 92) @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for bwm_tools devel. +# Generated by GNU Autoconf 2.59 for bwm_tools 200603080716. # # Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation @@ -421,8 +421,8 @@ # Identity of this package. PACKAGE_NAME='bwm_tools' PACKAGE_TARNAME='bwm_tools' -PACKAGE_VERSION='devel' -PACKAGE_STRING='bwm_tools devel' +PACKAGE_VERSION='200603080716' +PACKAGE_STRING='bwm_tools 200603080716' PACKAGE_BUGREPORT='' ac_unique_file="bwm_monitor/bwm_monitor.c" @@ -953,7 +953,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures bwm_tools devel to adapt to many kinds of systems. +\`configure' configures bwm_tools 200603080716 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1019,7 +1019,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of bwm_tools devel:";; + short | recursive ) echo "Configuration of bwm_tools 200603080716:";; esac cat <<\_ACEOF @@ -1163,7 +1163,7 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -bwm_tools configure devel +bwm_tools configure 200603080716 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -1177,7 +1177,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by bwm_tools $as_me devel, which was +It was created by bwm_tools $as_me 200603080716, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1831,7 +1831,7 @@ # Define the identity of the package. PACKAGE='bwm_tools' - VERSION='devel' + VERSION='200603080716' cat >>confdefs.h <<_ACEOF @@ -23276,7 +23276,7 @@ } >&5 cat >&5 <<_CSEOF -This file was extended by bwm_tools $as_me devel, which was +This file was extended by bwm_tools $as_me 200603080716, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -23339,7 +23339,7 @@ cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -bwm_tools config.status devel +bwm_tools config.status 200603080716 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" Modified: tags/200603080716/configure.ac =================================================================== --- trunk/configure.ac 2006-03-08 08:29:30 UTC (rev 91) +++ tags/200603080716/configure.ac 2006-03-08 09:05:58 UTC (rev 92) @@ -20,7 +20,7 @@ */ AC_PREREQ(2.57) -AC_INIT([bwm_tools],[devel]) +AC_INIT([bwm_tools],[200603080716]) AC_CONFIG_SRCDIR([bwm_monitor/bwm_monitor.c]) AC_CONFIG_HEADER([config.h]) Modified: tags/200603080716/doc/stamp-vti =================================================================== --- trunk/doc/stamp-vti 2006-03-08 08:29:30 UTC (rev 91) +++ tags/200603080716/doc/stamp-vti 2006-03-08 09:05:58 UTC (rev 92) @@ -1,4 +1,4 @@ @set UPDATED 7 March 2006 @set UPDATED-MONTH March 2006 -@set EDITION devel -@set VERSION devel +@set EDITION 200603080716 +@set VERSION 200603080716 Modified: tags/200603080716/doc/version.texi =================================================================== --- trunk/doc/version.texi 2006-03-08 08:29:30 UTC (rev 91) +++ tags/200603080716/doc/version.texi 2006-03-08 09:05:58 UTC (rev 92) @@ -1,4 +1,4 @@ @set UPDATED 7 March 2006 @set UPDATED-MONTH March 2006 -@set EDITION devel -@set VERSION devel +@set EDITION 200603080716 +@set VERSION 200603080716 |
From: <sv...@li...> - 2006-03-08 08:30:14
|
Author: nkukard Date: 2006-03-08 08:29:30 +0000 (Wed, 08 Mar 2006) New Revision: 91 Modified: trunk/bwm_graph/Makefile.am trunk/bwm_graph/Makefile.in trunk/bwm_graph/graph.c Log: * Fixed log directory, it now corrosponds to the rest of BWM Tools * Better error handling while generating graphs & rrd data * Fixed bug preventing graphing from working Modified: trunk/bwm_graph/Makefile.am =================================================================== --- trunk/bwm_graph/Makefile.am 2006-03-08 06:19:36 UTC (rev 90) +++ trunk/bwm_graph/Makefile.am 2006-03-08 08:29:30 UTC (rev 91) @@ -27,7 +27,7 @@ RRDTOOL_LDADDS=@RRDTOOL_LDADDS@ RRDTOOL_VER=@RRDTOOL_VER@ -LOG_DIR=@localstatedir@/bwm_tools +LOG_DIR=/var/bwm_tools bin_PROGRAMS = bwm_graph bwm_graph_SOURCES = bwm_graph.c graph.c Modified: trunk/bwm_graph/Makefile.in =================================================================== --- trunk/bwm_graph/Makefile.in 2006-03-08 06:19:36 UTC (rev 90) +++ trunk/bwm_graph/Makefile.in 2006-03-08 08:29:30 UTC (rev 91) @@ -200,7 +200,7 @@ RRDTOOL_LIBS = @RRDTOOL_LIBS@ RRDTOOL_LDADDS = @RRDTOOL_LDADDS@ RRDTOOL_VER = @RRDTOOL_VER@ -LOG_DIR = @localstatedir@/bwm_tools +LOG_DIR = /var/bwm_tools bwm_graph_SOURCES = bwm_graph.c graph.c bwm_graph_DEPENDENCIES = $(RRDTOOL_LDADDS) bwm_graph_LDADD = $(top_builddir)/lib/libbwm.la $(RRDTOOL_LDADDS) Modified: trunk/bwm_graph/graph.c =================================================================== --- trunk/bwm_graph/graph.c 2006-03-08 06:19:36 UTC (rev 90) +++ trunk/bwm_graph/graph.c 2006-03-08 08:29:30 UTC (rev 91) @@ -260,14 +260,16 @@ fd = open(filename,O_RDONLY); if (fd < 0) { - fprintf(stderr,"Failed opening file %s: %s\n",filename,strerror(errno)); + printf(" ERROR!\n"); + fprintf(stderr,"ERROR: Failed opening file %s: %s\n",filename,strerror(errno)); return; } // Grab header opRes = read(fd,&fileHeader,sizeof(struct aLogFileHeader_t)); if (opRes != sizeof(struct aLogFileHeader_t)) { - fprintf(stderr,"Error reading header from file %s: %s\n",filename,strerror(errno)); + printf(" ERROR!\n"); + fprintf(stderr,"ERROR: Error reading header from file %s: %s\n",filename,strerror(errno)); close(fd); return; } @@ -281,7 +283,8 @@ opRes = lseek(fd,sizeof(struct aLogFileHeader_t) + (j * sizeof(struct aLogFileEntry_t)),SEEK_SET); if (opRes < 0) { - fprintf(stderr,"Error seeking end %s: %s\n",filename,strerror(errno)); + printf(" ERROR!\n"); + fprintf(stderr,"ERROR: Error seeking end %s: %s\n",filename,strerror(errno)); err = 1; break; } @@ -294,6 +297,7 @@ opRes = read(fd,fileEntry,sizeof(struct aLogFileEntry_t)); if (opRes < 0) { + printf(" ERROR!\n"); fprintf(stderr,"Error reading file entry %s: %s\n",filename,strerror(errno)); err = 1; break; @@ -316,10 +320,10 @@ } // Close file... close(fd); - printf("sorting..."); + printf(" sorting..."); // Sort our list of data... entryList = g_list_sort(entryList,sort_newest); - printf("writing RRD file %s...",rrd_filename); + printf(" generating RRD:%s...",rrd_filename); // Set "static" params snprintf(params[1],BUFFER_SIZE,"%s",rrd_filename); strcpy(params[2],"--template"); @@ -387,19 +391,21 @@ // Get the filename snprintf(filename,MAX_NAMELEN,"%s/%s.dat",LOG_DIR,aSource->flowRef); - printf(" Getting details for %s...",filename); + printf(" Processing %s...",filename); // Open fd = open(filename,O_RDONLY); if (fd < 0) { - fprintf(stderr,"Failed opening file %s: %s\n",filename,strerror(errno)); + printf(" ERROR!\n"); + fprintf(stderr,"ERROR: Failed to open %s: %s\n",filename,strerror(errno)); return; } // Grab header opRes = read(fd,&fileHeader,sizeof(struct aLogFileHeader_t)); if (opRes != sizeof(struct aLogFileHeader_t)) { - fprintf(stderr,"Error reading header from file %s: %s\n",filename,strerror(errno)); + printf(" ERROR!\n"); + fprintf(stderr,"ERROR: Failed to read from %s: %s\n",filename,strerror(errno)); close(fd); return; } @@ -408,7 +414,7 @@ close(fd); snprintf(filename,MAX_NAMELEN,"%s/%s.rrd",LOG_DIR,aSource->flowRef); - printf(" %s ...",filename); + printf(" RRD:%s...",filename); // Create params memset(params[5],'\0',BUFFER_SIZE); memset(params[6],'\0',BUFFER_SIZE); @@ -441,7 +447,7 @@ fprintf(stderr,"Failed to create RRD file %s: %s\n",filename,rrd_get_error()); return; } - printf("done\n"); + printf(" done\n"); i++; } @@ -621,10 +627,8 @@ } g_list_foreach(graphSources,processSourceOptions,NULL); - // Check if we must display our cute little line - if (hasOptions) - ADD_SINGLE_PARAM(params,numParams,"COMMENT:%s\\c","- * - * -"); - ADD_SINGLE_PARAM(params,numParams,"COMMENT:%s\\c","Graph generated by bwm_tools v"PACKAGE_VERSION" (http://bwm-tools.pr.linuxrulz.org)"); + ADD_SINGLE_PARAM(params,numParams,"COMMENT:%s\\c","- * - * -"); + ADD_SINGLE_PARAM(params,numParams,"COMMENT:%s\\c","Graph generated by BWM Tools"); // Call rrd tool optind = 0; opterr = 0; @@ -638,11 +642,12 @@ #endif if (result < 0) { - fprintf(stderr,"Failed to create RRD graph %s: %s\n",options->outputFile,rrd_get_error()); + printf(" ERROR!\n"); + fprintf(stderr,"ERROR: Failed to create RRD graph %s: %s\n",options->outputFile,rrd_get_error()); result = -1; } else - printf("done (%dx%d)\n",xsize,ysize); + printf(" done (%dx%d)\n",xsize,ysize); // Free memory for (i = 0; i < numParams; i++) |
From: <sv...@li...> - 2006-03-08 06:20:31
|
Author: nkukard Date: 2006-03-08 06:19:36 +0000 (Wed, 08 Mar 2006) New Revision: 90 Modified: trunk/TODO Log: * Small TODO update Modified: trunk/TODO =================================================================== --- trunk/TODO 2006-03-07 17:47:23 UTC (rev 89) +++ trunk/TODO 2006-03-08 06:19:36 UTC (rev 90) @@ -28,4 +28,4 @@ * Fix up prio classifier * Fix default queue size + len * xmlConf queue & flow parsing has duplicated code, alot! -* Try autoassign nfmark? + |
From: <sv...@li...> - 2006-03-07 17:48:37
|
Author: nkukard Date: 2006-03-07 17:47:23 +0000 (Tue, 07 Mar 2006) New Revision: 89 Modified: trunk/Makefile.in trunk/aclocal.m4 trunk/bwmd/Makefile.in trunk/configure trunk/doc/stamp-vti trunk/doc/version.texi trunk/lib/Makefile.in Log: * Commit of makefiles, configure stuff and whatever else is autogenerated Modified: trunk/Makefile.in =================================================================== --- trunk/Makefile.in 2006-03-07 17:43:37 UTC (rev 88) +++ trunk/Makefile.in 2006-03-07 17:47:23 UTC (rev 89) @@ -198,7 +198,7 @@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -SUBDIRS = lib bwm_firewall bwm_graph bwmd bwm_monitor doc +SUBDIRS = @RRDTOOL_DIRS@ lib bwm_firewall bwm_graph bwmd bwm_monitor doc EXTRA_DIST = include/autoclass.h include/common.h include/flow.h \ include/flowControl.h include/ipq.h include/libipq.h \ include/misc.h include/report.h include/xmlConf.h Modified: trunk/aclocal.m4 =================================================================== --- trunk/aclocal.m4 2006-03-07 17:43:37 UTC (rev 88) +++ trunk/aclocal.m4 2006-03-07 17:47:23 UTC (rev 89) @@ -229,7 +229,7 @@ # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# serial 47 AC_PROG_LIBTOOL +# serial 48 AC_PROG_LIBTOOL # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) @@ -379,6 +379,7 @@ test -z "$AS" && AS=as test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$DLLTOOL" && DLLTOOL=dlltool test -z "$LD" && LD=ld test -z "$LN_S" && LN_S="ln -s" @@ -398,10 +399,10 @@ if test -n "$RANLIB"; then case $host_os in openbsd*) - old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) - old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" @@ -449,6 +450,9 @@ # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_AC_SYS_COMPILER @@ -477,7 +481,7 @@ AC_DEFUN([_LT_COMPILER_BOILERPLATE], [ac_outfile=conftest.$ac_objext printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_COMPILER_BOILERPLATE @@ -490,7 +494,7 @@ AC_DEFUN([_LT_LINKER_BOILERPLATE], [ac_outfile=conftest.$ac_objext printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_LINKER_BOILERPLATE @@ -796,6 +800,22 @@ CFLAGS="$SAVE_CFLAGS" fi ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], [*-*-cygwin* | *-*-mingw* | *-*-pw32*) AC_CHECK_TOOL(DLLTOOL, dlltool, false) @@ -838,9 +858,9 @@ if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 - if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi fi @@ -871,8 +891,8 @@ if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD - $echo "X$_lt_linker_boilerplate" | $Xsed > conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi @@ -947,6 +967,12 @@ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not @@ -960,6 +986,17 @@ esac fi ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; *) # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but @@ -991,7 +1028,7 @@ # _LT_AC_CHECK_DLFCN -# -------------------- +# ------------------ AC_DEFUN([_LT_AC_CHECK_DLFCN], [AC_CHECK_HEADERS(dlfcn.h)dnl ])# _LT_AC_CHECK_DLFCN @@ -999,7 +1036,7 @@ # _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ------------------------------------------------------------------ +# --------------------------------------------------------------------- AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl if test "$cross_compiling" = yes; then : @@ -1065,6 +1102,8 @@ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } + else + puts (dlerror ()); exit (status); }] @@ -1075,7 +1114,7 @@ case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; - x$lt_unknown|x*) $3 ;; + x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed @@ -1087,7 +1126,7 @@ # AC_LIBTOOL_DLOPEN_SELF -# ------------------- +# ---------------------- AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl if test "x$enable_dlopen" != xyes; then @@ -1158,7 +1197,7 @@ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" - eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" @@ -1171,7 +1210,7 @@ ]) if test "x$lt_cv_dlopen_self" = xyes; then - LDFLAGS="$LDFLAGS $link_static_flag" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_AC_TRY_DLOPEN_SELF( @@ -1231,9 +1270,9 @@ then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp - $SED '/^$/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi @@ -1618,10 +1657,15 @@ shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; - *) # from 3.2 on + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; esac ;; @@ -1681,6 +1725,18 @@ postinstall_cmds='chmod 555 $lib' ;; +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; @@ -1802,6 +1858,7 @@ openbsd*) version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in @@ -1845,13 +1902,6 @@ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; -sco3.2v5*) - version_type=osf - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - ;; - solaris*) version_type=linux need_lib_prefix=no @@ -1877,7 +1927,7 @@ need_version=yes ;; -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) +sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' @@ -1910,6 +1960,29 @@ fi ;; +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -1923,6 +1996,11 @@ esac AC_MSG_RESULT([$dynamic_linker]) test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER @@ -1947,6 +2025,9 @@ AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) fi fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi # Extract list of available tagged configurations in $ofile. # Note that this assumes the entire list is on one line. @@ -2075,7 +2156,7 @@ # AC_DISABLE_SHARED # ----------------- -#- set the default shared flag to --disable-shared +# set the default shared flag to --disable-shared AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl AC_ENABLE_SHARED(no) @@ -2383,7 +2464,7 @@ case $host_os in darwin*) if test "$GCC" = yes; then - reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs' + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi @@ -2483,6 +2564,11 @@ esac ;; +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; @@ -2528,15 +2614,11 @@ lt_cv_deplibs_check_method=pass_all ;; -sco3.2v5*) - lt_cv_deplibs_check_method=pass_all - ;; - solaris*) lt_cv_deplibs_check_method=pass_all ;; -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) +sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' @@ -2557,10 +2639,13 @@ siemens) lt_cv_deplibs_check_method=pass_all ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; esac ;; -sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*) +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; esac @@ -2580,36 +2665,43 @@ # Let the user override the test. lt_cv_path_NM="$NM" else - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/${ac_tool_prefix}nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" break ;; *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac ;; esac - esac - fi + fi + done + IFS="$lt_save_ifs" done - IFS="$lt_save_ifs" test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi]) NM="$lt_cv_path_NM" @@ -2715,7 +2807,7 @@ ])# _LT_AC_LANG_CXX # _LT_AC_PROG_CXXCPP -# --------------- +# ------------------ AC_DEFUN([_LT_AC_PROG_CXXCPP], [ AC_REQUIRE([AC_PROG_CXX]) @@ -2764,7 +2856,7 @@ # AC_LIBTOOL_RC -# -------------- +# ------------- # enable support for Windows resource files AC_DEFUN([AC_LIBTOOL_RC], [AC_REQUIRE([LT_AC_PROG_RC]) @@ -2801,37 +2893,6 @@ _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE -# -# Check for any special shared library compilation flags. -# -_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)= -if test "$GCC" = no; then - case $host_os in - sco3.2v5*) - _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf' - ;; - esac -fi -if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then - AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries]) - if echo "$old_CC $old_CFLAGS " | grep "[[ ]]$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[ ]]" >/dev/null; then : - else - AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure]) - _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no - fi -fi - - -# -# Check to make sure the static flag actually works. -# -AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works], - _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), - $_LT_AC_TAGVAR(lt_prog_compiler_static, $1), - [], - [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) - - AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) AC_LIBTOOL_PROG_COMPILER_PIC($1) AC_LIBTOOL_PROG_CC_C_O($1) @@ -2840,9 +2901,9 @@ AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_DLOPEN_SELF($1) +AC_LIBTOOL_DLOPEN_SELF -# Report which librarie types wil actually be built +# Report which library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) @@ -2901,6 +2962,7 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= _LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_AC_TAGVAR(hardcode_automatic, $1)=no _LT_AC_TAGVAR(module_cmds, $1)= _LT_AC_TAGVAR(module_expsym_cmds, $1)= @@ -2928,7 +2990,7 @@ lt_simple_compile_test_code="int some_variable = 0;\n" # Code to be used in simple link tests -lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER @@ -2947,12 +3009,12 @@ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else - unset lt_cv_prog_gnu_ld + $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else - unset lt_cv_path_LD + $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} @@ -3047,6 +3109,7 @@ ;; esac done + ;; esac exp_sym_flag='-bexport' @@ -3084,6 +3147,7 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= fi + ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then @@ -3115,12 +3179,12 @@ _LT_AC_SYS_LIBPATH_AIX _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. _LT_AC_SYS_LIBPATH_AIX @@ -3129,16 +3193,26 @@ # -berok will link without error, but may produce a broken library. _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # -bexpall does not export symbols beginning with underscore (_) - _LT_AC_TAGVAR(always_export_symbols, $1)=yes # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach <jr...@be...> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + chorus*) case $cc_basename in *) @@ -3148,7 +3222,6 @@ esac ;; - cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. @@ -3158,7 +3231,7 @@ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then @@ -3167,7 +3240,7 @@ echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi @@ -3304,34 +3377,23 @@ ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ;; - ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - ;; *) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in - hppa*64*) + hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; - ia64*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; *) _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, @@ -3347,9 +3409,12 @@ ;; aCC*) case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; @@ -3368,9 +3433,12 @@ if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in - ia64*|hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; @@ -3383,6 +3451,20 @@ ;; esac ;; + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; irix5* | irix6*) case $cc_basename in CC*) @@ -3665,19 +3747,6 @@ # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; - sco*) - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; sunos4*) case $cc_basename in CC*) @@ -3770,9 +3839,60 @@ ;; esac ;; - sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; tandem*) case $cc_basename in NCC*) @@ -3808,8 +3928,6 @@ AC_LIBTOOL_PROG_LD_SHLIBS($1) AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_DLOPEN_SELF($1) AC_LIBTOOL_CONFIG($1) @@ -3827,7 +3945,7 @@ ])# AC_LIBTOOL_LANG_CXX_CONFIG # AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) -# ------------------------ +# ------------------------------------ # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary @@ -3960,6 +4078,14 @@ # PORTME: override above test on systems where it is broken ifelse([$1],[CXX], [case $host_os in +interix3*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + _LT_AC_TAGVAR(predep_objects,$1)= + _LT_AC_TAGVAR(postdep_objects,$1)= + _LT_AC_TAGVAR(postdeps,$1)= + ;; + solaris*) case $cc_basename in CC*) @@ -3969,6 +4095,7 @@ _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun' ;; esac + ;; esac ]) @@ -3978,7 +4105,7 @@ ])# AC_LIBTOOL_POSTDEP_PREDEP # AC_LIBTOOL_LANG_F77_CONFIG -# ------------------------ +# -------------------------- # Ensure that the configuration vars for the C compiler are # suitably defined. Those variables are subsequently used by # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. @@ -4062,8 +4189,6 @@ test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - _LT_AC_TAGVAR(GCC, $1)="$G77" _LT_AC_TAGVAR(LD, $1)="$LD" @@ -4073,9 +4198,7 @@ AC_LIBTOOL_PROG_LD_SHLIBS($1) AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP - AC_LIBTOOL_CONFIG($1) AC_LANG_POP @@ -4131,8 +4254,6 @@ AC_LIBTOOL_PROG_LD_SHLIBS($1) AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_DLOPEN_SELF($1) AC_LIBTOOL_CONFIG($1) @@ -4142,7 +4263,7 @@ # AC_LIBTOOL_LANG_RC_CONFIG -# -------------------------- +# ------------------------- # Ensure that the configuration vars for the Windows resource compiler are # suitably defined. Those variables are subsequently used by # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. @@ -4205,7 +4326,7 @@ # Now quote all the things that may contain metacharacters while being # careful not to overquote the AC_SUBSTed values. We take copies of the # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \ + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ SED SHELL STRIP \ libname_spec library_names_spec soname_spec extract_expsyms_cmds \ old_striplib striplib file_magic_cmd finish_cmds finish_eval \ @@ -4374,6 +4495,9 @@ # A C compiler. LTCC=$lt_LTCC +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + # A language-specific compiler. CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) @@ -4747,9 +4871,18 @@ osf*) symcode='[[BCDEGQRST]]' ;; -solaris* | sysv5*) +solaris*) symcode='[[BDRT]]' ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; sysv4) symcode='[[DFNSTU]]' ;; @@ -4932,6 +5065,10 @@ # DJGPP does not support shared libraries at all _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; sysv4*MP*) if test -d /usr/nec; then _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic @@ -5001,14 +5138,14 @@ case $cc_basename in CC*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default @@ -5022,6 +5159,10 @@ ;; esac ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) @@ -5101,15 +5242,6 @@ ;; psos*) ;; - sco*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - *) - ;; - esac - ;; solaris*) case $cc_basename in CC*) @@ -5151,7 +5283,14 @@ ;; esac ;; - unixware*) + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac ;; vxworks*) ;; @@ -5198,6 +5337,11 @@ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. @@ -5312,11 +5456,6 @@ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; - sco3.2v5*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn' - ;; - solaris*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' @@ -5334,7 +5473,7 @@ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + sysv4 | sysv4.2uw2* | sysv4.3*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' @@ -5347,6 +5486,12 @@ fi ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + unicos*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no @@ -5388,6 +5533,16 @@ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" ;; esac + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) ]) @@ -5466,6 +5621,10 @@ with_gnu_ld=no fi ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; openbsd*) with_gnu_ld=no ;; @@ -5550,7 +5709,7 @@ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then @@ -5559,12 +5718,27 @@ echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + linux*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= @@ -5606,7 +5780,7 @@ fi ;; - solaris* | sysv5*) + solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <<EOF 1>&2 @@ -5627,6 +5801,33 @@ fi ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + sunos4*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= @@ -5660,7 +5861,7 @@ # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$link_static_flag"; then + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported @@ -5694,6 +5895,7 @@ break fi done + ;; esac exp_sym_flag='-bexport' @@ -5731,6 +5933,7 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= fi + ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then @@ -5743,11 +5946,11 @@ # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else - if test "$aix_use_runtimelinking" = yes; then + if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' - fi + fi fi fi @@ -5761,12 +5964,12 @@ # Determine the default libpath from the value encoded in an empty executable. _LT_AC_SYS_LIBPATH_AIX _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. _LT_AC_SYS_LIBPATH_AIX @@ -5775,13 +5978,11 @@ # -berok will link without error, but may produce a broken library. _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # -bexpall does not export symbols beginning with underscore (_) - _LT_AC_TAGVAR(always_export_symbols, $1)=yes # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; @@ -5922,47 +6123,62 @@ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; - hpux10* | hpux11*) + hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in - hppa*64*|ia64*) + hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; *) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; - ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - ;; *) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' @@ -6064,14 +6280,6 @@ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ;; - sco3.2v5*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ;; - solaris*) _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' if test "$GCC" = yes; then @@ -6157,36 +6365,45 @@ fi ;; - sysv4.2uw2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - hardcode_runpath_var=yes - runpath_var=LD_RUN_PATH - ;; + runpath_var='LD_RUN_PATH' - sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text' if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi - runpath_var='LD_RUN_PATH' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; - sysv5*) - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi ;; uts4*) @@ -6204,11 +6421,6 @@ AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - # # Do we need to explicitly link libc? # @@ -6236,6 +6448,7 @@ libobjs=conftest.$ac_objext deplibs= wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= Modified: trunk/bwmd/Makefile.in =================================================================== --- trunk/bwmd/Makefile.in 2006-03-07 17:43:37 UTC (rev 88) +++ trunk/bwmd/Makefile.in 2006-03-07 17:47:23 UTC (rev 89) @@ -68,11 +68,11 @@ binPROGRAMS_INSTALL = $(INSTALL_PROGRAM) PROGRAMS = $(bin_PROGRAMS) am_bwmd_OBJECTS = bwmd-report.$(OBJEXT) bwmd-flowControl.$(OBJEXT) \ - bwmd-logging.$(OBJEXT) bwmd-ipq.$(OBJEXT) bwmd-flow.$(OBJEXT) \ - bwmd-libipq.$(OBJEXT) bwmd-autoclass.$(OBJEXT) \ - bwmd-bwmd.$(OBJEXT) + bwmd-logging.$(OBJEXT) bwmd-ipq.$(OBJEXT) \ + bwmd-libipq.$(OBJEXT) bwmd-flow.$(OBJEXT) \ + bwmd-autoclass.$(OBJEXT) bwmd-bwmd.$(OBJEXT) bwmd_OBJECTS = $(am_bwmd_OBJECTS) -bwmd_DEPENDENCIES = $(top_builddir)/lib/libbwm.la +am__DEPENDENCIES_1 = DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -197,13 +197,19 @@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ +RRDTOOL_INCLUDEDIR = @RRDTOOL_INCLUDEDIR@ +RRDTOOL_LIBS = @RRDTOOL_LIBS@ +RRDTOOL_LDADDS = @RRDTOOL_LDADDS@ +RRDTOOL_VER = @RRDTOOL_VER@ CONFIG_DIR = /etc/bwm_tools CONFIG_FILE = $(CONFIG_DIR)/firewall.xml -LOG_DIR = /var/bwm_tools -bwmd_SOURCES = report.c flowControl.c logging.c ipq.c flow.c libipq.c autoclass.c bwmd.c -bwmd_LDADD = $(top_builddir)/lib/libbwm.la -bwmd_CFLAGS = -I$(top_srcdir)/include $(GLIB_CFLAGS) $(XML_CFLAGS) -DCONFIG_FILE=\"$(CONFIG_FILE)\" -DLOG_DIR=\"$(LOG_DIR)\" $(AM_CFLAGS) -bwmd_LDFLAGS = $(GLIB_LIBS) $(XML_LIBS) +bwmd_SOURCES = report.c flowControl.c logging.c ipq.c libipq.c flow.c autoclass.c bwmd.c +bwmd_DEPENDENCIES = $(RRDTOOL_LDADDS) +bwmd_LDADD = $(top_builddir)/lib/libbwm.la $(RRDTOOL_LDADDS) +bwmd_CFLAGS = -I$(top_srcdir)/include $(GLIB_CFLAGS) $(XML_CFLAGS) $(RRDTOOL_INCLUDEDIR) -DCONFIG_FILE=\"$(CONFIG_FILE)\" \ + -DRRDTOOL_VER=$(RRDTOOL_VER) $(AM_CFLAGS) + +bwmd_LDFLAGS = $(GLIB_LIBS) $(XML_LIBS) $(RRDTOOL_LIBS) all: all-am .SUFFIXES: @@ -361,6 +367,20 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bwmd_CFLAGS) $(CFLAGS) -c -o bwmd-ipq.obj `if test -f 'ipq.c'; then $(CYGPATH_W) 'ipq.c'; else $(CYGPATH_W) '$(srcdir)/ipq.c'; fi` +bwmd-libipq.o: libipq.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bwmd_CFLAGS) $(CFLAGS) -MT bwmd-libipq.o -MD -MP -MF "$(DEPDIR)/bwmd-libipq.Tpo" -c -o bwmd-libipq.o `test -f 'libipq.c' || echo '$(srcdir)/'`libipq.c; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/bwmd-libipq.Tpo" "$(DEPDIR)/bwmd-libipq.Po"; else rm -f "$(DEPDIR)/bwmd-libipq.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libipq.c' object='bwmd-libipq.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bwmd_CFLAGS) $(CFLAGS) -c -o bwmd-libipq.o `test -f 'libipq.c' || echo '$(srcdir)/'`libipq.c + +bwmd-libipq.obj: libipq.c +@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bwmd_CFLAGS) $(CFLAGS) -MT bwmd-libipq.obj -MD -MP -MF "$(DEPDIR)/bwmd-libipq.Tpo" -c -o bwmd-libipq.obj `if test -f 'libipq.c'; then $(CYGPATH_W) 'libipq.c'; else $(CYGPATH_W) '$(srcdir)/libipq.c'; fi`; \ +@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/bwmd-libipq.Tpo" "$(DEPDIR)/bwmd-libipq.Po"; else rm -f "$(DEPDIR)/bwmd-libipq.Tpo"; exit 1; fi +@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='libipq.c' object='bwmd-libipq.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bwmd_CFLAGS) $(CFLAGS) -c -o bwmd-libipq.obj `if test -f 'libipq.c'; then $(CYGPATH_W) 'libipq.c'; else $(CYGPATH_W) '$(srcdir)/libipq.c'; fi` + bwmd-flow.o: flow.c @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bwmd_CFLAGS) $(CFLAGS) -MT bwmd-flow.o -MD -MP -MF "$(DEPDIR)/bwmd-flow.Tpo" -c -o bwmd-flow.o `test -f 'flow.c' || echo '$(srcdir)/'`flow.c; \ @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/bwmd-flow.Tpo" "$(DEPDIR)/bwmd-flow.Po"; else rm -f "$(DEPDIR)/bwmd-flow.Tpo"; exit 1; fi @@ -375,20 +395,6 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(bwmd_CFLAGS) $(CFLAGS) -c -o bwmd-flow.obj `if test -f 'flow.c'; then $(CYGPATH_W) 'flow.c'; else $(CYGPATH_W) '$(srcdir)/flow.c'; fi` -bwmd-libip... [truncated message content] |
From: <sv...@li...> - 2006-03-07 17:44:37
|
Author: nkukard Date: 2006-03-07 17:43:37 +0000 (Tue, 07 Mar 2006) New Revision: 88 Modified: trunk/Makefile.am trunk/TODO trunk/bwmd/Makefile.am trunk/bwmd/report.c trunk/configure.ac trunk/doc/bwmtools.texi trunk/include/flow.h trunk/include/report.h trunk/lib/Makefile.am trunk/lib/xmlConf.c Log: * Various code cleanups * Added parameters... report-format Either rrd or native, updates rrd files and creates BWM Tools native logging files automagically report-filename Specify the report filename manually flow-mode Specify the mode of flow control for the said flow, either local (INPUT & OUTPUT) or forward (FORWARD), this is needed if you're shaping traffic sourcing and destined to your local box and not forwarding traffic through a firewall/router * Install RRD Tool when installing BWM Tools Modified: trunk/Makefile.am =================================================================== --- trunk/Makefile.am 2006-03-06 09:56:29 UTC (rev 87) +++ trunk/Makefile.am 2006-03-07 17:43:37 UTC (rev 88) @@ -17,7 +17,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -SUBDIRS=lib bwm_firewall bwm_graph bwmd bwm_monitor doc +SUBDIRS=@RRDTOOL_DIRS@ lib bwm_firewall bwm_graph bwmd bwm_monitor doc EXTRA_DIST=include/autoclass.h include/common.h include/flow.h include/flowControl.h include/ipq.h EXTRA_DIST+=include/libipq.h include/misc.h include/report.h include/xmlConf.h Modified: trunk/TODO =================================================================== --- trunk/TODO 2006-03-06 09:56:29 UTC (rev 87) +++ trunk/TODO 2006-03-07 17:43:37 UTC (rev 88) @@ -13,3 +13,19 @@ * bwm_firewall to generate automatic MARK values for flows * fix findFlowByName & findGroupByName, these 2 functions are similar and i'm sure can be merged * have the location of iptables-restore automatically discovered using ./configure, with override options + + +* Create /etc/bwm_tools and /var/bwm_tools on install +* BPS/KBPS/MBPS support in firewall.xml for flows +* TBF and CBQ params + - queue-manager + - prio + * Process bands in priority, dequeue 0 first, then 1 ... to n + + - prio-weighted + * Dequeue X packets or X bytes + add a weight + +* Fix up prio classifier +* Fix default queue size + len +* xmlConf queue & flow parsing has duplicated code, alot! +* Try autoassign nfmark? Modified: trunk/bwmd/Makefile.am =================================================================== --- trunk/bwmd/Makefile.am 2006-03-06 09:56:29 UTC (rev 87) +++ trunk/bwmd/Makefile.am 2006-03-07 17:43:37 UTC (rev 88) @@ -23,13 +23,23 @@ XML_LIBS=@XML_LIBS@ XML_CFLAGS=@XML_CFLAGS@ +RRDTOOL_INCLUDEDIR=@RRDTOOL_INCLUDEDIR@ +RRDTOOL_LIBS=@RRDTOOL_LIBS@ +RRDTOOL_LDADDS=@RRDTOOL_LDADDS@ +RRDTOOL_VER=@RRDTOOL_VER@ + CONFIG_DIR=/etc/bwm_tools CONFIG_FILE=$(CONFIG_DIR)/firewall.xml -LOG_DIR=/var/bwm_tools bin_PROGRAMS = bwmd -bwmd_SOURCES = report.c flowControl.c logging.c ipq.c flow.c libipq.c autoclass.c bwmd.c -bwmd_LDADD = $(top_builddir)/lib/libbwm.la -bwmd_CFLAGS = -I$(top_srcdir)/include $(GLIB_CFLAGS) $(XML_CFLAGS) -DCONFIG_FILE=\"$(CONFIG_FILE)\" -DLOG_DIR=\"$(LOG_DIR)\" $(AM_CFLAGS) -bwmd_LDFLAGS = $(GLIB_LIBS) $(XML_LIBS) +bwmd_SOURCES = report.c flowControl.c logging.c ipq.c libipq.c flow.c autoclass.c bwmd.c +bwmd_DEPENDENCIES = $(RRDTOOL_LDADDS) +bwmd_LDADD = $(top_builddir)/lib/libbwm.la $(RRDTOOL_LDADDS) +bwmd_CFLAGS = -I$(top_srcdir)/include $(GLIB_CFLAGS) $(XML_CFLAGS) $(RRDTOOL_INCLUDEDIR) -DCONFIG_FILE=\"$(CONFIG_FILE)\" \ + -DRRDTOOL_VER=$(RRDTOOL_VER) $(AM_CFLAGS) +bwmd_LDFLAGS = $(GLIB_LIBS) $(XML_LIBS) $(RRDTOOL_LIBS) +# Build rrdtool if we need it +$(top_builddir)/rrdtool/src/librrd.la: + $(MAKE) $(AM_MAKEFLAGS) -C ../rrdtool + Modified: trunk/bwmd/report.c =================================================================== --- trunk/bwmd/report.c 2006-03-06 09:56:29 UTC (rev 87) +++ trunk/bwmd/report.c 2006-03-07 17:43:37 UTC (rev 88) @@ -31,12 +31,13 @@ #include <time.h> #include <unistd.h> #include "flow.h" +#include "misc.h" #include "report.h" // Function to write a log entry to the report file -static void *writeEntry(void *data) +static void *writeNativeEntry(void *data) { struct reportData_t *reportData = (struct reportData_t*) data; struct stat statBuf; @@ -45,28 +46,23 @@ int opRes; int err = 0; int fd; - char filename[MAX_NAMELEN]; - // Blank file header & filename + // Blank file header memset(&fileHeader,'\0',sizeof(struct aLogFileHeader_t)); - memset(&filename,'\0',MAX_NAMELEN); - // Lets get our filename... - snprintf(filename,MAX_NAMELEN,"%s/%s.dat",LOG_DIR,reportData->ref); - // Get stats for file - result = stat(filename,&statBuf); + result = stat(reportData->reportFilename,&statBuf); if (result == 0) { // Stats was ok, open it - fd = open(filename,O_RDWR); + fd = open(reportData->reportFilename,O_RDWR); if (fd > 0) { opRes = read(fd,&fileHeader,sizeof(struct aLogFileHeader_t)); if (opRes != sizeof(struct aLogFileHeader_t)) { - logMessage(LOG_DEBUG, "Error reading header from \"%s\": %s\n",filename,strerror(errno)); + logMessage(LOG_ERR, "Error reading header from \"%s\": %s\n",reportData->reportFilename,strerror(errno)); err = 1; } // If no errors seek... @@ -76,7 +72,7 @@ opRes = lseek(fd,0,SEEK_END); if (opRes < 0) { - logMessage(LOG_DEBUG, "Error seeking end of file \"%s\": %s\n",filename,strerror(errno)); + logMessage(LOG_ERR, "Error seeking end of file \"%s\": %s\n",reportData->reportFilename,strerror(errno)); err = 1; } } @@ -87,7 +83,7 @@ opRes = write(fd,&reportData->entry,sizeof(struct aLogFileEntry_t)); if (opRes != sizeof(struct aLogFileEntry_t)) { - logMessage(LOG_DEBUG, "Error writing record to file \"%s\": %s\n",filename,strerror(errno)); + logMessage(LOG_ERR, "Error writing record to file \"%s\": %s\n",reportData->reportFilename,strerror(errno)); err = 1; } else @@ -107,7 +103,7 @@ opRes = lseek(fd,0,SEEK_SET); if (opRes < 0) { - logMessage(LOG_DEBUG, "Error seeking beginning of file \"%s\": %s\n",filename,strerror(errno)); + logMessage(LOG_ERR, "Error seeking beginning of file \"%s\": %s\n",reportData->reportFilename,strerror(errno)); err = 1; } } @@ -118,28 +114,28 @@ opRes = write(fd,&fileHeader,sizeof(struct aLogFileHeader_t)); if (opRes != sizeof(struct aLogFileHeader_t)) { - logMessage(LOG_DEBUG, "Error writing header to file \"%s\": %s\n",filename,strerror(errno)); + logMessage(LOG_ERR, "Error writing header to file \"%s\": %s\n",reportData->reportFilename,strerror(errno)); err = 1; } } close(fd); } else - fprintf(stderr,"Stat error on \"%s\": %s\n",filename,strerror(errno)); + logMessage(LOG_ERR,"Failed to open file \"%s\": %s\n",reportData->reportFilename,strerror(errno)); } else { // Check if file doesn't exist if (errno == ENOENT) { - logMessage(LOG_DEBUG, "Creating report file %s\n",filename); + logMessage(LOG_ERR, "Creating report file %s\n",reportData->reportFilename); // If not create it - fd = open(filename,O_CREAT|O_RDWR,S_IREAD|S_IWRITE); + fd = open(reportData->reportFilename,O_CREAT|O_RDWR,S_IREAD|S_IWRITE); if (fd > 0) { // Build header memcpy(&fileHeader.fileVer,FILE_VER_CURRENT,strlen(FILE_VER_CURRENT)); - memcpy(&fileHeader.ref,&reportData->ref,strlen(reportData->ref)); + memcpy(&fileHeader.ref,reportData->ref,strlen(reportData->ref)); fileHeader.start = reportData->entry.unixStampStart; fileHeader.end = reportData->entry.unixStampStart; fileHeader.recs = 1; @@ -148,7 +144,7 @@ opRes = write(fd,&fileHeader,sizeof(struct aLogFileHeader_t)); if (opRes != sizeof(struct aLogFileHeader_t)) { - logMessage(LOG_DEBUG, "Error writing header to \"%s\": %s\n",filename,strerror(errno)); + logMessage(LOG_ERR, "Error writing header to \"%s\": %s\n",reportData->reportFilename,strerror(errno)); err = 1; } // If no errors write more... @@ -157,17 +153,17 @@ opRes = write(fd,&reportData->entry,sizeof(struct aLogFileEntry_t)); if (opRes != sizeof(struct aLogFileEntry_t)) { - logMessage(LOG_DEBUG, "Error writing record to \"%s\": %s\n",filename,strerror(errno)); + logMessage(LOG_ERR, "Error writing record to \"%s\": %s\n",reportData->reportFilename,strerror(errno)); err = 1; } } close(fd); } else - logMessage(LOG_DEBUG, "Stat error on \"%s\": %s\n",filename,strerror(errno)); + logMessage(LOG_ERR, "Failed to create \"%s\": %s\n",reportData->reportFilename,strerror(errno)); } else - logMessage(LOG_DEBUG, "Failed to open file \"%s\": %s\n",filename,strerror(errno)); + logMessage(LOG_ERR, "Failed to open file \"%s\": %s\n",reportData->reportFilename,strerror(errno)); } return(NULL); @@ -175,6 +171,62 @@ +// Function to write a log entry to an RRD file +static void *writeRRDEntry(void *data) +{ + struct reportData_t *reportData = (struct reportData_t*) data; + struct stat statBuf; + int result; + int opRes; + int err = 0; + int fd; + + + // Get stats for file + result = stat(reportData->reportFilename,&statBuf); + if (result == 0) + { + char **params; + int numParams = 0; + int i; + + + // Create just a little mem for us to begin with + params = (char **) malloc0(sizeof(char*)); + + // Add update string + ADD_SINGLE_PARAM(params,numParams, + "%i@%i:%i:%i:%i", + reportData->entry.unixStampEnd, + reportData->entry.bytesSeen, + reportData->entry.packetsSeen, + reportData->entry.packetsBursted, + reportData->entry.packetsDropped + ); + + // Try the update + if ((i = rrd_update_r(reportData->reportFilename,"bytes:packets:bursted:dropped",numParams,params)) < 0) + logMessage(LOG_ERR,"Failed to update RRD file %s: %s\n",reportData->reportFilename,rrd_get_error()); + + // Free memory + for (i = 0; i < numParams; i++) + free(params[i]); + free(params); + } + else + { + // Check if file doesn't exist + if (errno == ENOENT) + logMessage(LOG_ERR, "Please create \"%s\" first\n",reportData->reportFilename); + else + logMessage(LOG_ERR, "Failed to open file \"%s\": %s\n",reportData->reportFilename,strerror(errno)); + } + + return(NULL); +} + + + // Main reporting module void *reportRunner(void *data) { @@ -208,9 +260,9 @@ // Check if we gonna pump to disk if (flow->counterRemaining < 1) { - // Build our structure to pump into the file - strncpy(reportData.ref,flow->flowName,MAX_REFLEN); + reportData.ref = flow->flowName; + reportData.reportFilename = flow->reportFilename; reportData.entry.unixStampStart = flow->lastDumpTimestamp; flow->lastDumpTimestamp = time(NULL); reportData.entry.unixStampEnd = flow->lastDumpTimestamp; @@ -220,8 +272,16 @@ reportData.entry.packetsSeen = flow->counter.pktCount; reportData.entry.packetsBursted = flow->counter.pktBursted; reportData.entry.packetsDropped = flow->counter.pktDropped; - // Log to file - writeEntry(&reportData); + + // Check what format we're working with + if (flow->reportFormat == REPORT_FORMAT_NATIVE) + // Log to file + writeNativeEntry(&reportData); + else if (flow->reportFormat == REPORT_FORMAT_RRD) + writeRRDEntry(&reportData); + else + logMessage(LOG_ERR, "ERROR: Internal error, report format not understood for \"%s\"\n",flow->flowName); + // Reset counters flow->counterRemaining = flow->counterTimeout; reset = 1; @@ -267,8 +327,7 @@ // Check if we gonna pump to disk if (group->counterRemaining < 1) { - - // Build our structure to pump into the file + // Build our structure and write below strncpy(reportData.ref,group->groupName,MAX_REFLEN); reportData.entry.unixStampStart = group->lastDumpTimestamp; group->lastDumpTimestamp = time(NULL); @@ -279,8 +338,16 @@ reportData.entry.packetsSeen = group->counter.pktCount; reportData.entry.packetsBursted = group->counter.pktBursted; reportData.entry.packetsDropped = group->counter.pktDropped; - // Log to file - writeEntry(&reportData); + + // Check what format we're working with + if (group->reportFormat == REPORT_FORMAT_NATIVE) + // Log to file + writeNativeEntry(&reportData); + else if (group->reportFormat == REPORT_FORMAT_RRD) + writeRRDEntry(&reportData); + else + logMessage(LOG_ERR, "ERROR: Internal error, report format not understood for \"%s\"\n",group->groupName); + // Reset counters group->counterRemaining = group->counterTimeout; reset = 1; Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2006-03-06 09:56:29 UTC (rev 87) +++ trunk/configure.ac 2006-03-07 17:43:37 UTC (rev 88) @@ -20,7 +20,7 @@ */ AC_PREREQ(2.57) -AC_INIT([bwm_tools],[200602012132]) +AC_INIT([bwm_tools],[devel]) AC_CONFIG_SRCDIR([bwm_monitor/bwm_monitor.c]) AC_CONFIG_HEADER([config.h]) @@ -58,6 +58,7 @@ [ --with-rrdtool-source Specify that you have the rrdtool sources in the main build dir], [ AC_CONFIG_SUBDIRS(rrdtool) + RRDTOOL_DIRS="rrdtool" RRDTOOL_LDADDS="\$(top_builddir)/rrdtool/src/librrd.la" RRDTOOL_INCLUDEDIR="-I\$(top_builddir)/rrdtool/src" ], @@ -87,7 +88,7 @@ RRDTOOL_LIBS="-lm -lrrd" ]) -AC_SUBST(RRDTOOL_LDADDS RRDTOOL_LIBS RRDTOOL_INCLUDEDIR RRDTOOL_VER) +AC_SUBST(RRDTOOL_DIRS RRDTOOL_LDADDS RRDTOOL_LIBS RRDTOOL_INCLUDEDIR RRDTOOL_VER) # Checks for header files. AC_HEADER_STDC Modified: trunk/doc/bwmtools.texi =================================================================== --- trunk/doc/bwmtools.texi 2006-03-06 09:56:29 UTC (rev 87) +++ trunk/doc/bwmtools.texi 2006-03-07 17:43:37 UTC (rev 88) @@ -824,6 +824,20 @@ seconds. Minimum value for this parameter is 30. @* @item +@cindex report-format +@code{report-format="@dfn{native}|@dfn{rrd}"} - Optional parameter to specify +the format of the report file. Defaults to @dfn{native}. Note: if using +@dfn{rrd}, you MUST create the RRDTool file before running bwmd. It is not +created automagically. For the @dfn{native} format @code{report-filename} +would default to @code{/var/bwm_tools/flow_name.dat}, for the @dfn{rrd} format +@code{report-filename} would default to @code{/var/bwm_tools/flow_name.rrd}. +@* +@item +@cindex report-filename +@code{report-filename="@dots{}"} - Optional parameter to specify +the report filename. +@* +@item @cindex prio-classifier @code{prio-classifier="@dots{}"} - Optional parameter to specify an automatic traffic prioritization classifier. This parameter defaults to the @dfn{none} Modified: trunk/include/flow.h =================================================================== --- trunk/include/flow.h 2006-03-06 09:56:29 UTC (rev 87) +++ trunk/include/flow.h 2006-03-07 17:43:37 UTC (rev 88) @@ -128,10 +128,13 @@ unsigned int accumMs; // Accumulated number of microseconds struct timeval lastCreditCalc; // Last "timeval" that we calculated additional credit struct pktStat_t running; // This is the running counter used for stats & logging - + + // Reporting stuff int lastDumpTimestamp; int counterTimeout; // STATIC - length between file logs int counterRemaining; + int reportFormat; + char *reportFilename; }; @@ -157,6 +160,8 @@ int lastDumpTimestamp; int counterTimeout; // STATIC - length between file logs int counterRemaining; + int reportFormat; + char *reportFilename; // Flows we "contain" GList *flowList; Modified: trunk/include/report.h =================================================================== --- trunk/include/report.h 2006-03-06 09:56:29 UTC (rev 87) +++ trunk/include/report.h 2006-03-07 17:43:37 UTC (rev 88) @@ -37,7 +37,11 @@ #define FILE_VER_CURRENT FILE_VER_0_2 #define FILE_VER_0_2 "BWM_VER-0.2" +// Report formats we can generate +#define REPORT_FORMAT_NATIVE 0 +#define REPORT_FORMAT_RRD 1 + // File format stuff... struct aLogFileHeader_t { @@ -64,9 +68,10 @@ // Function passed structure for logging struct reportData_t { - char ref[MAX_REFLEN]; + char *ref; int counterTimeout; struct aLogFileEntry_t entry; + char *reportFilename; }; Modified: trunk/lib/Makefile.am =================================================================== --- trunk/lib/Makefile.am 2006-03-06 09:56:29 UTC (rev 87) +++ trunk/lib/Makefile.am 2006-03-07 17:43:37 UTC (rev 88) @@ -23,9 +23,10 @@ XML_LIBS=@XML_LIBS@ XML_CFLAGS=@XML_CFLAGS@ +LOG_DIR=/var/bwm_tools lib_LTLIBRARIES = libbwm.la libbwm_la_SOURCES = xmlConf.c misc.c -libbwm_la_CFLAGS = -I$(top_srcdir)/include $(GLIB_CFLAGS) $(XML_CFLAGS) $(AM_CFLAGS) +libbwm_la_CFLAGS = -I$(top_srcdir)/include $(GLIB_CFLAGS) $(XML_CFLAGS) -DLOG_DIR=\"$(LOG_DIR)\" $(AM_CFLAGS) libbwm_la_LDFLAGS = $(GLIB_LIBS) $(XML_LIBS) -version-info 1:0:0 Modified: trunk/lib/xmlConf.c =================================================================== --- trunk/lib/xmlConf.c 2006-03-06 09:56:29 UTC (rev 87) +++ trunk/lib/xmlConf.c 2006-03-07 17:43:37 UTC (rev 88) @@ -32,6 +32,7 @@ #include "autoclass.h" #include "common.h" #include "flow.h" +#include "report.h" #include "xmlConf.h" @@ -357,13 +358,13 @@ if (!strcmp(key,"to-src") && !done) { // Make sure to-src is only used in SNAT section - if ((strcmp(target, "SNAT") == 0)) + if (!strcmp(target, "SNAT")) { snprintf(tmp,BUFFER_SIZE,"--to-source %s ",value); strncat(buffer,tmp,BUFFER_SIZE); } else - fprintf(stderr,"ERROR: Tag parameter \"to-src\" is only valid in the <snat> tag, ignoring\n"); + fprintf(stderr,"ERROR: Tag parameter \"to-src\" is only valid in the <snat> tag. Ignoring!\n"); done = 1; } @@ -371,13 +372,13 @@ if (!strcmp(key,"to-dst") && !done) { // Make sure to-dst is only used in DNAT section - if ((strcmp(target, "DNAT") == 0)) + if (!strcmp(target, "DNAT")) { snprintf(tmp,BUFFER_SIZE,"--to-destination %s ",value); strncat(buffer,tmp,BUFFER_SIZE); } else - fprintf(stderr,"ERROR: Tag parameter \"to-dst\" is only valid in the <dnat> tag, ignoring\n"); + fprintf(stderr,"ERROR: Tag parameter \"to-dst\" is only valid in the <dnat> tag. Ignoring!\n"); done = 1; } @@ -385,13 +386,13 @@ if (!strcmp(key,"to-ports") && !done) { // Make sure to-ports is only used in DNAT section - if ((strcmp(target, "MASQUERADE") == 0)) + if (!strcmp(target, "MASQUERADE")) { snprintf(tmp,BUFFER_SIZE,"--to-ports %s ",value); strncat(buffer,tmp,BUFFER_SIZE); } else - fprintf(stderr,"ERROR: Tag parameter \"to-ports\" is only valid in the <masq> tag, ignoring\n"); + fprintf(stderr,"ERROR: Tag parameter \"to-ports\" is only valid in the <masq> tag. Ignoring!\n"); done = 1; } @@ -402,7 +403,7 @@ // Check if we must complain if (!done) { - fprintf(stderr,"ERROR: Option \"%s\" no recognized\n",key); + fprintf(stderr,"ERROR: Option \"%s\" not recognized. Ignoring!\n",key); } } @@ -449,6 +450,10 @@ done = 1; if (!done && !strcmp(key,"report-timeout")) done = 1; + if (!done && !strcmp(key,"report-format")) + done = 1; + if (!done && !strcmp(key,"report-filename")) + done = 1; if (!done && !strcmp(key,"prio-classifier")) done = 1; if (!done && !strcmp(key,"burst-rate")) @@ -467,11 +472,13 @@ done = 1; if (!done && !strcmp(key,"burst-threshold")) done = 1; + if (!done && !strcmp(key,"flow-mode")) + done = 1; // Check if we must complain if (!done) { - fprintf(stderr,"ERROR: Flow option \"%s\" not recognized\n",key); + fprintf(stderr,"ERROR: Flow option \"%s\" not recognized. Ignoring!\n",key); } } @@ -629,14 +636,14 @@ // First check if our name is valid if (!moduleName) { - fprintf(stderr,"ERROR: Tag <LOAD /> requires a name\n"); + fprintf(stderr,"ERROR: Tag <LOAD /> requires a name. Ignoring!\n"); ok = 0; } // Then if we a duplicate if (ok && g_hash_table_lookup(moduleHash,moduleName)) { - fprintf(stderr,"ERROR: Duplicate module %s in MODULES section\n",moduleName); + fprintf(stderr,"ERROR: Duplicate module %s in MODULES section. Ignoring!\n",moduleName); ok = 0; } @@ -652,7 +659,7 @@ } } else - fprintf(stderr,"WARNING: Unknown tag %s in MODULES section\n",moduleNode->name); + fprintf(stderr,"WARNING: Unknown tag %s in MODULES section. Ignoring!\n",moduleNode->name); moduleNode = moduleNode->next; } @@ -666,7 +673,7 @@ // Check if we knew what the tag was if (!validTag) - fprintf(stderr,"WARNING: Unknown tag %s in GLOBAL section\n",myNode->name); + fprintf(stderr,"WARNING: Unknown tag %s in GLOBAL section. Ignoring!\n",myNode->name); // Advance "class" myNode = myNode->next; @@ -698,7 +705,9 @@ unsigned long int nfmark, unsigned char prioClassifier, float parent_th, - int reportTimeout) + int reportFormat, + int reportTimeout, + char *reportFilename) { int i; struct flow_t *flow = (struct flow_t*) malloc(sizeof(struct flow_t)); @@ -787,7 +796,34 @@ flow->running.pktSize = 0; flow->running.pktDropped = 0; flow->running.pktBursted = 0; + + // Reporting stuff + flow->reportFormat = reportFormat; + if (!reportFilename) + { + char filename[MAX_NAMELEN]; + + // Blank filename + memset(&filename,'\0',MAX_NAMELEN); + + // Generate our filename + switch (flow->reportFormat) + { + case REPORT_FORMAT_NATIVE: + snprintf(filename,MAX_NAMELEN,"%s/%s.dat",LOG_DIR,flow->flowName); + break; + + case REPORT_FORMAT_RRD: + snprintf(filename,MAX_NAMELEN,"%s/%s.rrd",LOG_DIR,flow->flowName); + break; + } + + flow->reportFilename = strdup(filename); + } + else + flow->reportFilename = strdup(reportFilename); + // Verify everything is ok... if (flow->statsLen == 0) flow->statsLen = 10; @@ -805,6 +841,7 @@ if (flow->maxQueueLen == -1) { if (flow->maxRate != 0) + // max rate / 2 (half a second) / 750 (half of MTU) flow->maxQueueLen = ((flow->burstRate + flow->maxRate) / 2 / 750) * 2; // Seems an OK value for normal use? else flow->maxQueueLen = 0; @@ -858,7 +895,9 @@ static struct group_t *createGroup( char *groupName, long int statsLen, + int reportFormat, int reportTimeout, + char *reportFilename, GList *flowList) { struct group_t *group = (struct group_t *) malloc(sizeof(struct group_t)); @@ -891,7 +930,32 @@ // Report stuff group->counterTimeout = reportTimeout; group->counterRemaining = reportTimeout; + group->reportFormat = reportFormat; + if (!reportFilename) + { + char filename[MAX_NAMELEN]; + + // Blank filename + memset(&filename,'\0',MAX_NAMELEN); + + // Generate our filename + switch (group->reportFormat) + { + case REPORT_FORMAT_NATIVE: + snprintf(filename,MAX_NAMELEN,"%s/%s.dat",LOG_DIR,group->groupName); + break; + + case REPORT_FORMAT_RRD: + snprintf(filename,MAX_NAMELEN,"%s/%s.rrd",LOG_DIR,group->groupName); + break; + } + + group->reportFilename = strdup(filename); + } + else + group->reportFilename = strdup(reportFilename); + // Our list of flows group->flowList = flowList; @@ -940,7 +1004,7 @@ struct flowData_t createFlowData(char *filename) { xmlDocPtr doc; - xmlNodePtr cur; + xmlNodePtr cur; GList *pktQueues = NULL; GList *flows = NULL, *groups = NULL, *groupItem; struct flowData_t ret; @@ -961,8 +1025,6 @@ GHashTable *tagProperties = getProperties(node); -// fprintf(stderr,"Tag: %s\n",node->name); - // We are a flow... if (!xmlStrcmp(node->name, (const xmlChar *) "flow")) { @@ -980,15 +1042,13 @@ if (ok) { - char *p; + char *p, *reportFilename; long int statsLen, maxQueueSize, maxQueueLen, maxRate, burstRate, reportTimeout; unsigned long int nfmark; - unsigned char prioClassifier; + unsigned char prioClassifier, reportFormat; float parent_th; -// fprintf(stderr," Flow found: %s\n",flowName); - // Grab all properties we need p = g_hash_table_lookup(tagProperties,"stats-len"); statsLen = p ? atol(p) : 10; @@ -1006,7 +1066,7 @@ burstRate = p ? atol(p) : -1; if (burstRate < maxRate && burstRate > 0) { - fprintf(stderr,"ERROR: %s - Tag \"burst-rate\" cannot be less than max-rate\n",flowName); + fprintf(stderr,"ERROR: %s - Tag \"burst-rate\" cannot be less than max-rate. Setting to -1.\n",flowName); burstRate = -1; } @@ -1016,14 +1076,28 @@ p = g_hash_table_lookup(tagProperties,"burst-threshold"); parent_th = p ? atof(p) : -1; + if ((p = g_hash_table_lookup(tagProperties,"report-format")) != NULL) + { + if (strcasecmp(p,"native") == 0) + reportFormat = REPORT_FORMAT_NATIVE; + else if (strcasecmp(p,"rrd") == 0) + reportFormat = REPORT_FORMAT_RRD; + else + fprintf(stderr,"ERROR: %s - Tag value for \"report-format\" is invalid, please read manual. Ignoring!\n",flowName); + } + else + reportFormat = REPORT_FORMAT_NATIVE; + p = g_hash_table_lookup(tagProperties,"report-timeout"); reportTimeout = p ? atol(p) : 0; if (reportTimeout < 30 && reportTimeout > 0) { - fprintf(stderr,"ERROR: %s - Tag \"report-timeout\" cannot be below 30 (seconds)\n",flowName); + fprintf(stderr,"ERROR: %s - Tag \"report-timeout\" cannot be below 30 (seconds). Setting to 30 seconds.\n",flowName); reportTimeout = 30; } - + + reportFilename = g_hash_table_lookup(tagProperties,"report-filename"); + // Work out automatic classifier to use if ((p = g_hash_table_lookup(tagProperties,"prio-classifier")) != NULL) { @@ -1034,14 +1108,14 @@ else if (strcasecmp(p,"none") == 0) prioClassifier = AUTOCLASS_NONE; else - fprintf(stderr,"ERROR: %s - Tag value for \"prio-classifier\" is invalid, please read manual\n",flowName); + fprintf(stderr,"ERROR: %s - Tag value for \"prio-classifier\" is invalid, please read manual. Ignoring!\n",flowName); } else prioClassifier = AUTOCLASS_NONE; // Create our flow newFlow = createFlow(flowName,parentFlow,statsLen,maxQueueSize,maxQueueLen,maxRate,burstRate,nfmark, - prioClassifier,parent_th,reportTimeout); + prioClassifier,parent_th,reportFormat,reportTimeout,reportFilename); flows = g_list_append(flows,newFlow); } @@ -1064,8 +1138,9 @@ if (ok) { - char *p; + char *p, *reportFilename; long int statsLen, reportTimeout; + unsigned char prioClassifier, reportFormat; GList *flowList; struct group_t *newGroup; @@ -1074,17 +1149,31 @@ p = g_hash_table_lookup(tagProperties,"stats-len"); statsLen = p ? atol(p) : 10; + if ((p = g_hash_table_lookup(tagProperties,"report-format")) != NULL) + { + if (strcasecmp(p,"native") == 0) + reportFormat = REPORT_FORMAT_NATIVE; + else if (strcasecmp(p,"rrd") == 0) + reportFormat = REPORT_FORMAT_RRD; + else + fprintf(stderr,"ERROR: %s - Tag value for \"report-format\" is invalid, please read manual. Ignoring!\n",groupName); + } + else + reportFormat = REPORT_FORMAT_NATIVE; + p = g_hash_table_lookup(tagProperties,"report-timeout"); reportTimeout = p ? atol(p) : 0; if (reportTimeout < 30 && reportTimeout > 0) { - fprintf(stderr,"ERROR: Tag \"report-timeout\" cannot be below 30 (seconds)\n"); + fprintf(stderr,"ERROR: %s - Tag \"report-timeout\" cannot be below 30 (seconds)\n",groupName); reportTimeout = 30; } + reportFilename = g_hash_table_lookup(tagProperties,"report-filename"); + flowList = splitContents(node); // Create our group - newGroup = createGroup(groupName,statsLen,reportTimeout,flowList); + newGroup = createGroup(groupName,statsLen,reportFormat,reportTimeout,reportFilename,flowList); groups = g_list_append(groups,newGroup); } validTag = 1; @@ -1181,9 +1270,9 @@ } // Check if we have the right root element & block - if (xmlStrcmp(cur->name, (const xmlChar *) "firewall")) + if (xmlStrcmp(cur->name, (const xmlChar *) "firewall")) { - fprintf(stderr,"ERROR: Document of the wrong type, root node != firewall\n"); + fprintf(stderr,"ERROR: Document of the wrong type, root node is not \"firewall\"\n"); xmlFreeDoc(doc); return(ret); } @@ -1217,7 +1306,7 @@ struct flow_t *tmpFlow = flowItem->data; // Compare flow name to the content list inside the group - if (strcmp((char *) contentItem->data, tmpFlow->flowName) == 0) + if (!strcmp((char *) contentItem->data, tmpFlow->flowName)) { // If it matches, check we arn't listed twice if (!g_list_find(tmpFlow->groups,tmpGroup)) @@ -1375,9 +1464,10 @@ { GHashTable *tmpProp; char *nfmark; + char *flowMode; struct confACLChain_t *tmpChain; + char *ruleName; char *chainName; - char *ruleName; GList *contentList; struct confACLRule_t *tmpRule; char *cmd_line; @@ -1389,26 +1479,42 @@ // Loop while (node) { + int trafficMatchChain = 0; int validTag = 0; // Grab our properties tmpProp = getProperties(node); nfmark = g_hash_table_lookup(tmpProp,"nfmark"); - + flowMode = g_hash_table_lookup(tmpProp,"flow-mode"); + + // Check for a flow queue if (!xmlStrcmp(node->name, (const xmlChar *) "queue")) { // Process ourselves if (nfmark) { - chainName = "FORWARD"; - - // Grab chain... - tmpChain = lookupChain(chainHash,chainName); - ruleList = tmpChain->ruleList; - ruleName = g_hash_table_lookup(tmpProp,"name"); + + // trafficMatchChain = 1 means we match for FORWARD traffic + // trafficMatchChain = 2 means we match for INPUT & OUTPUT traffic + if (!flowMode) + trafficMatchChain = 1; + else + { + if (!strcmp(flowMode, "local")) + trafficMatchChain = 2; + else if (!strcmp(flowMode, "forward")) + trafficMatchChain = 1; + } + // Check if we managed to decipher the flow-mode parameter + if (trafficMatchChain == 0) + { + fprintf(stderr,"ERROR: flow-mode is invalid!\n"); + goto next; + } + contentList = splitContents(node); tmpRule = (struct confACLRule_t*) malloc(sizeof(struct confACLRule_t)); @@ -1425,12 +1531,47 @@ else { // Build our ruleSet - cmd_line = createTrafficRuleset(tmpProp); - tmpChain->ruleset = g_list_concat(tmpChain->ruleset, - createRuleset(classHash,tmpRule->classList, - chainName,tmpRule->target,NULL,cmd_line)); + cmd_line = createTrafficRuleset(tmpProp); + + switch (trafficMatchChain) + { + case 1: + // Grab chain... + tmpChain = lookupChain(chainHash,"FORWARD"); + ruleList = tmpChain->ruleList; + // Create rule + tmpChain->ruleset = g_list_concat(tmpChain->ruleset, + createRuleset(classHash,tmpRule->classList, + "FORWARD",tmpRule->target,NULL,cmd_line)); + // Append rule + ruleList = g_list_append(ruleList,tmpRule); + break; + + + case 2: + // Grab chain... + tmpChain = lookupChain(chainHash,"INPUT"); + ruleList = tmpChain->ruleList; + // Create rule + tmpChain->ruleset = g_list_concat(tmpChain->ruleset, + createRuleset(classHash,tmpRule->classList, + "INPUT",tmpRule->target,NULL,cmd_line)); + // Append rule + ruleList = g_list_append(ruleList,tmpRule); + + // Grab chain... + tmpChain = lookupChain(chainHash,"OUTPUT"); + ruleList = tmpChain->ruleList; + // Create rule + tmpChain->ruleset = g_list_concat(tmpChain->ruleset, + createRuleset(classHash,tmpRule->classList, + "OUTPUT",tmpRule->target,NULL,cmd_line)); + // Append rule + ruleList = g_list_append(ruleList,tmpRule); + break; + + } - ruleList = g_list_append(ruleList,tmpRule); } } validTag = 1; @@ -1441,13 +1582,26 @@ // Process ourselves if (nfmark) { - chainName = "FORWARD"; - - // Grab chain... - tmpChain = lookupChain(chainHash,chainName); - ruleList = tmpChain->ruleList; - ruleName = g_hash_table_lookup(tmpProp,"name"); + + // trafficMatchChain = 1 means we match for FORWARD traffic + // trafficMatchChain = 2 means we match for INPUT & OUTPUT traffic + if (!flowMode) + trafficMatchChain = 1; + else + { + if (!strcmp(flowMode, "local")) + trafficMatchChain = 2; + else if (!strcmp(flowMode, "forward")) + trafficMatchChain = 1; + } + // Check if we managed to decipher the flow-mode parameter + if (trafficMatchChain == 0) + { + fprintf(stderr,"ERROR: flow-mode is invalid!\n"); + goto next; + } + contentList = splitContents(node); tmpRule = (struct confACLRule_t*) malloc(sizeof(struct confACLRule_t)); @@ -1464,12 +1618,43 @@ else { // Build our ruleSet - cmd_line = createTrafficRuleset(tmpProp); - tmpChain->ruleset = g_list_concat(tmpChain->ruleset, - createRuleset(classHash,tmpRule->classList, - chainName,tmpRule->target,NULL,cmd_line)); - - ruleList = g_list_append(ruleList,tmpRule); + cmd_line = createTrafficRuleset(tmpProp); + + switch (trafficMatchChain) + { + case 1: + // Grab chain... + tmpChain = lookupChain(chainHash,"FORWARD"); + ruleList = tmpChain->ruleList; + // Create rule + tmpChain->ruleset = g_list_concat(tmpChain->ruleset, + createRuleset(classHash,tmpRule->classList, + "FORWARD",tmpRule->target,NULL,cmd_line)); + // Append + ruleList = g_list_append(ruleList,tmpRule); + break; + case 2: + // Grab chain... + tmpChain = lookupChain(chainHash,"INPUT"); + ruleList = tmpChain->ruleList; + // Create rule + tmpChain->ruleset = g_list_concat(tmpChain->ruleset, + createRuleset(classHash,tmpRule->classList, + "INPUT",tmpRule->target,NULL,cmd_line)); + // Append + ruleList = g_list_append(ruleList,tmpRule); + + // Grab chain... + tmpChain = lookupChain(chainHash,"OUTPUT"); + ruleList = tmpChain->ruleList; + // Create rule + tmpChain->ruleset = g_list_concat(tmpChain->ruleset, + createRuleset(classHash,tmpRule->classList, + "OUTPUT",tmpRule->target,NULL,cmd_line)); + // Append + ruleList = g_list_append(ruleList,tmpRule); + break; + } } } // Parse child flow... see if its embedded @@ -1487,7 +1672,8 @@ // Check if the tag we had was valid if (!validTag) fprintf(stderr,"WARNING: Unknown tag %s\n",node->name); - + +next: node = node->next; } } |
From: <sv...@li...> - 2006-03-06 10:01:06
|
Author: nkukard Date: 2006-03-06 09:30:54 +0000 (Mon, 06 Mar 2006) New Revision: 84 Modified: trunk/bwmd/ipq.c Log: * More sane error handling in ipq.c Modified: trunk/bwmd/ipq.c =================================================================== --- trunk/bwmd/ipq.c 2006-02-19 13:11:12 UTC (rev 83) +++ trunk/bwmd/ipq.c 2006-03-06 09:30:54 UTC (rev 84) @@ -297,13 +297,11 @@ if (status == 0) continue; - // Fail if error + // Report error if we failed to grab the packet if (status < 0) { logMessage(LOG_WARNING, "Failed to get packet from IPQ: %s\n",ipq_errstr()); - // Lock, we dead... accept it! - destroyIPQHandle(runnerData->IPQHandle); - return(NULL); + continue; } // We must have a packet... check |
From: <sv...@li...> - 2006-03-06 09:57:01
|
Author: nkukard Date: 2006-03-06 09:56:29 +0000 (Mon, 06 Mar 2006) New Revision: 87 Modified: trunk/bwmd/ipq.c trunk/bwmd/libipq.c trunk/include/libipq.h Log: * Updated ipq interface Modified: trunk/bwmd/ipq.c =================================================================== --- trunk/bwmd/ipq.c 2006-03-06 09:37:53 UTC (rev 86) +++ trunk/bwmd/ipq.c 2006-03-06 09:56:29 UTC (rev 87) @@ -48,7 +48,7 @@ int result; // Create our ipq socket - h = ipq_create_handle(0, PF_INET, 1048576); + h = ipq_create_handle(0, PF_INET); if (!h) { fprintf(stderr,"Failed to create IPQ handle\n"); Modified: trunk/bwmd/libipq.c =================================================================== --- trunk/bwmd/libipq.c 2006-03-06 09:37:53 UTC (rev 86) +++ trunk/bwmd/libipq.c 2006-03-06 09:56:29 UTC (rev 87) @@ -57,8 +57,7 @@ IPQ_ERR_SUPP, IPQ_ERR_RECVBUF, IPQ_ERR_TIMEOUT, - IPQ_ERR_PROTOCOL, - IPQ_ERR_SETSOCKET + IPQ_ERR_PROTOCOL }; #define IPQ_MAXERR IPQ_ERR_PROTOCOL @@ -82,8 +81,7 @@ { IPQ_ERR_SUPP, "Operation not supported" }, { IPQ_ERR_RECVBUF, "Receive buffer size invalid" }, { IPQ_ERR_TIMEOUT, "Timeout"}, - { IPQ_ERR_PROTOCOL, "Invalid protocol specified" }, - { IPQ_ERR_SETSOCKET, "Failed to set socket options" } + { IPQ_ERR_PROTOCOL, "Invalid protocol specified" } }; static int ipq_errno = IPQ_ERR_NONE; @@ -125,7 +123,8 @@ unsigned char *buf, size_t len, int timeout) { - int addrlen, status; + unsigned int addrlen; + int status; struct nlmsghdr *nlh; if (len < sizeof(struct nlmsgerr)) { @@ -174,6 +173,10 @@ ipq_errno = IPQ_ERR_RECV; return -1; } + if (h->peer.nl_pid != 0) { + ipq_errno = IPQ_ERR_RECV; + return -1; + } if (status == 0) { ipq_errno = IPQ_ERR_NLEOF; return -1; @@ -202,7 +205,7 @@ /* * Create and initialise an ipq handle. */ -struct ipq_handle *ipq_create_handle(u_int32_t flags, u_int32_t protocol, int recv_buf_size) +struct ipq_handle *ipq_create_handle(u_int32_t flags, u_int32_t protocol) { int status; struct ipq_handle *h; @@ -224,22 +227,13 @@ free(h); return NULL; } - + if (h->fd == -1) { ipq_errno = IPQ_ERR_SOCKET; close(h->fd); free(h); return NULL; } - - status = setsockopt(h->fd,SOL_SOCKET,SO_RCVBUF,&recv_buf_size,sizeof(int)); - if (status == -1) { - ipq_errno = IPQ_ERR_SETSOCKET; - close(h->fd); - free(h); - return NULL; - } - memset(&h->local, 0, sizeof(struct sockaddr_nl)); h->local.nl_family = AF_NETLINK; h->local.nl_pid = getpid(); Modified: trunk/include/libipq.h =================================================================== --- trunk/include/libipq.h 2006-03-06 09:37:53 UTC (rev 86) +++ trunk/include/libipq.h 2006-03-06 09:56:29 UTC (rev 87) @@ -35,7 +35,7 @@ typedef u_int64_t ipq_id_t; #else #include <linux/netfilter_ipv4/ip_queue.h> -typedef u_int32_t ipq_id_t; +typedef unsigned long ipq_id_t; #endif #ifdef DEBUG_LIBIPQ @@ -58,7 +58,7 @@ struct sockaddr_nl peer; }; -struct ipq_handle *ipq_create_handle(u_int32_t flags, u_int32_t protocol, int recv_buf_size); +struct ipq_handle *ipq_create_handle(u_int32_t flags, u_int32_t protocol); int ipq_destroy_handle(struct ipq_handle *h); |
From: <sv...@li...> - 2006-03-06 09:38:36
|
Author: nkukard Date: 2006-03-06 09:37:53 +0000 (Mon, 06 Mar 2006) New Revision: 86 Modified: trunk/include/ipq.h Log: * Decreased buffer to 2k, we can only handle MTU == 1500 at present Modified: trunk/include/ipq.h =================================================================== --- trunk/include/ipq.h 2006-03-06 09:35:39 UTC (rev 85) +++ trunk/include/ipq.h 2006-03-06 09:37:53 UTC (rev 86) @@ -35,8 +35,7 @@ #include "libipq.h" -#define IPQ_BUFSIZE 4096 -#define IP_PACKET_SIZE 20 +#define IPQ_BUFSIZE 2048 struct addr_t { |
From: <sv...@li...> - 2006-03-06 09:36:33
|
Author: nkukard Date: 2006-03-06 09:35:39 +0000 (Mon, 06 Mar 2006) New Revision: 85 Modified: trunk/bwm_graph/graph.h trunk/include/misc.h Log: * Moved argv & argc handling functions to misc.h Modified: trunk/bwm_graph/graph.h =================================================================== --- trunk/bwm_graph/graph.h 2006-03-06 09:30:54 UTC (rev 84) +++ trunk/bwm_graph/graph.h 2006-03-06 09:35:39 UTC (rev 85) @@ -30,31 +30,6 @@ #include "common.h" -// Macro to add a double -a .... parameter to a char ** array -#define ADD_DOUBLE_PARAM(paramList,numParams,param,format,...) \ - { \ - int i; \ - \ - numParams += 2; \ - paramList = (char **) realloc(paramList, numParams * sizeof(char*)); \ - for (i = numParams - 2; i < numParams; i++) \ - paramList[i] = malloc0(BUFFER_SIZE); \ - strcpy(paramList[numParams - 2], param); \ - snprintf(paramList[numParams - 1], BUFFER_SIZE, format, __VA_ARGS__); \ - } - -// Macro to add a single -a parameter to a char ** array -#define ADD_SINGLE_PARAM(paramList,numParams,format,...) \ - { \ - int i; \ - \ - numParams += 1; \ - paramList = (char **) realloc(paramList, numParams * sizeof(char*)); \ - for (i = numParams - 1; i < numParams; i++) \ - paramList[i] = malloc0(BUFFER_SIZE); \ - snprintf(paramList[numParams - 1], BUFFER_SIZE, format, __VA_ARGS__); \ - } - // Macro to decide the correct date and time #define STR_TIME(time_p,buffer_size,buffer) \ { \ Modified: trunk/include/misc.h =================================================================== --- trunk/include/misc.h 2006-03-06 09:30:54 UTC (rev 84) +++ trunk/include/misc.h 2006-03-06 09:35:39 UTC (rev 85) @@ -26,6 +26,32 @@ #define _MISC_H +// Macro to add a double -a .... parameter to a char ** array +#define ADD_DOUBLE_PARAM(paramList,numParams,param,format,...) \ + { \ + int i; \ + \ + numParams += 2; \ + paramList = (char **) realloc(paramList, numParams * sizeof(char*)); \ + for (i = numParams - 2; i < numParams; i++) \ + paramList[i] = malloc0(BUFFER_SIZE); \ + strcpy(paramList[numParams - 2], param); \ + snprintf(paramList[numParams - 1], BUFFER_SIZE, format, __VA_ARGS__); \ + } + +// Macro to add a single -a parameter to a char ** array +#define ADD_SINGLE_PARAM(paramList,numParams,format,...) \ + { \ + int i; \ + \ + numParams += 1; \ + paramList = (char **) realloc(paramList, numParams * sizeof(char*)); \ + for (i = numParams - 1; i < numParams; i++) \ + paramList[i] = malloc0(BUFFER_SIZE); \ + snprintf(paramList[numParams - 1], BUFFER_SIZE, format, __VA_ARGS__); \ + } + + // Convert everything between start & end into an integer int aptrtoi(char *start, char *end); |
From: <sv...@li...> - 2006-02-19 13:12:07
|
Author: nkukard Date: 2006-02-19 13:11:12 +0000 (Sun, 19 Feb 2006) New Revision: 83 Added: tags/v0.2.3/ Modified: tags/v0.2.3/aclocal.m4 tags/v0.2.3/configure tags/v0.2.3/configure.ac Log: * Tagging of v0.2.3 release Copied: tags/v0.2.3 (from rev 82, trunk) Modified: tags/v0.2.3/aclocal.m4 =================================================================== --- trunk/aclocal.m4 2006-02-19 12:46:39 UTC (rev 82) +++ tags/v0.2.3/aclocal.m4 2006-02-19 13:11:12 UTC (rev 83) @@ -229,7 +229,7 @@ # libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- -# serial 47 AC_PROG_LIBTOOL +# serial 48 AC_PROG_LIBTOOL # AC_PROVIDE_IFELSE(MACRO-NAME, IF-PROVIDED, IF-NOT-PROVIDED) @@ -379,6 +379,7 @@ test -z "$AS" && AS=as test -z "$CC" && CC=cc test -z "$LTCC" && LTCC=$CC +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS test -z "$DLLTOOL" && DLLTOOL=dlltool test -z "$LD" && LD=ld test -z "$LN_S" && LN_S="ln -s" @@ -398,10 +399,10 @@ if test -n "$RANLIB"; then case $host_os in openbsd*) - old_postinstall_cmds="\$RANLIB -t \$oldlib~$old_postinstall_cmds" + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" ;; *) - old_postinstall_cmds="\$RANLIB \$oldlib~$old_postinstall_cmds" + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" ;; esac old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" @@ -449,6 +450,9 @@ # If no C compiler was specified, use CC. LTCC=${LTCC-"$CC"} +# If no C compiler flags were specified, use CFLAGS. +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} + # Allow CC to be a program name with arguments. compiler=$CC ])# _LT_AC_SYS_COMPILER @@ -477,7 +481,7 @@ AC_DEFUN([_LT_COMPILER_BOILERPLATE], [ac_outfile=conftest.$ac_objext printf "$lt_simple_compile_test_code" >conftest.$ac_ext -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_compiler_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_COMPILER_BOILERPLATE @@ -490,7 +494,7 @@ AC_DEFUN([_LT_LINKER_BOILERPLATE], [ac_outfile=conftest.$ac_objext printf "$lt_simple_link_test_code" >conftest.$ac_ext -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d' >conftest.err +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err _lt_linker_boilerplate=`cat conftest.err` $rm conftest* ])# _LT_LINKER_BOILERPLATE @@ -796,6 +800,22 @@ CFLAGS="$SAVE_CFLAGS" fi ;; +sparc*-*solaris*) + # Find out which ABI we are using. + echo 'int i;' > conftest.$ac_ext + if AC_TRY_EVAL(ac_compile); then + case `/usr/bin/file conftest.o` in + *64-bit*) + case $lt_cv_prog_gnu_ld in + yes*) LD="${LD-ld} -m elf64_sparc" ;; + *) LD="${LD-ld} -64" ;; + esac + ;; + esac + fi + rm -rf conftest* + ;; + AC_PROVIDE_IFELSE([AC_LIBTOOL_WIN32_DLL], [*-*-cygwin* | *-*-mingw* | *-*-pw32*) AC_CHECK_TOOL(DLLTOOL, dlltool, false) @@ -838,9 +858,9 @@ if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. - $echo "X$_lt_compiler_boilerplate" | $Xsed >conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 - if test ! -s conftest.err || diff conftest.exp conftest.er2 >/dev/null; then + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi fi @@ -871,8 +891,8 @@ if test -s conftest.err; then # Append any errors to the config.log. cat conftest.err 1>&AS_MESSAGE_LOG_FD - $echo "X$_lt_linker_boilerplate" | $Xsed > conftest.exp - $SED '/^$/d' conftest.err >conftest.er2 + $echo "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 if diff conftest.exp conftest.er2 >/dev/null; then $2=yes fi @@ -947,6 +967,12 @@ lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` ;; + + interix*) + # We know the value 262144 and hardcode it with a safety zone (like BSD) + lt_cv_sys_max_cmd_len=196608 + ;; + osf*) # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not @@ -960,6 +986,17 @@ esac fi ;; + sco3.2v5*) + lt_cv_sys_max_cmd_len=102400 + ;; + sysv5* | sco5v6* | sysv4.2uw2*) + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` + if test -n "$kargmax"; then + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` + else + lt_cv_sys_max_cmd_len=32768 + fi + ;; *) # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but @@ -991,7 +1028,7 @@ # _LT_AC_CHECK_DLFCN -# -------------------- +# ------------------ AC_DEFUN([_LT_AC_CHECK_DLFCN], [AC_CHECK_HEADERS(dlfcn.h)dnl ])# _LT_AC_CHECK_DLFCN @@ -999,7 +1036,7 @@ # _LT_AC_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, # ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) -# ------------------------------------------------------------------ +# --------------------------------------------------------------------- AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF], [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl if test "$cross_compiling" = yes; then : @@ -1065,6 +1102,8 @@ else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; /* dlclose (self); */ } + else + puts (dlerror ()); exit (status); }] @@ -1075,7 +1114,7 @@ case x$lt_status in x$lt_dlno_uscore) $1 ;; x$lt_dlneed_uscore) $2 ;; - x$lt_unknown|x*) $3 ;; + x$lt_dlunknown|x*) $3 ;; esac else : # compilation failed @@ -1087,7 +1126,7 @@ # AC_LIBTOOL_DLOPEN_SELF -# ------------------- +# ---------------------- AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [AC_REQUIRE([_LT_AC_CHECK_DLFCN])dnl if test "x$enable_dlopen" != xyes; then @@ -1158,7 +1197,7 @@ test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" save_LDFLAGS="$LDFLAGS" - eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" save_LIBS="$LIBS" LIBS="$lt_cv_dlopen_libs $LIBS" @@ -1171,7 +1210,7 @@ ]) if test "x$lt_cv_dlopen_self" = xyes; then - LDFLAGS="$LDFLAGS $link_static_flag" + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" AC_CACHE_CHECK([whether a statically linked program can dlopen itself], lt_cv_dlopen_self_static, [dnl _LT_AC_TRY_DLOPEN_SELF( @@ -1231,9 +1270,9 @@ then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings - $echo "X$_lt_compiler_boilerplate" | $Xsed > out/conftest.exp - $SED '/^$/d' out/conftest.err >out/conftest.er2 - if test ! -s out/conftest.err || diff out/conftest.exp out/conftest.er2 >/dev/null; then + $echo "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then _LT_AC_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes fi fi @@ -1618,10 +1657,15 @@ shlibpath_overrides_runpath=yes hardcode_into_libs=yes ;; - *) # from 3.2 on + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) shlibpath_overrides_runpath=no hardcode_into_libs=yes ;; + freebsd*) # from 4.6 on + shlibpath_overrides_runpath=yes + hardcode_into_libs=yes + ;; esac ;; @@ -1681,6 +1725,18 @@ postinstall_cmds='chmod 555 $lib' ;; +interix3*) + version_type=linux + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' + shlibpath_var=LD_LIBRARY_PATH + shlibpath_overrides_runpath=no + hardcode_into_libs=yes + ;; + irix5* | irix6* | nonstopux*) case $host_os in nonstopux*) version_type=nonstopux ;; @@ -1802,6 +1858,7 @@ openbsd*) version_type=sunos + sys_lib_dlsearch_path_spec="/usr/lib" need_lib_prefix=no # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. case $host_os in @@ -1845,13 +1902,6 @@ sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" ;; -sco3.2v5*) - version_type=osf - soname_spec='${libname}${release}${shared_ext}$major' - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' - shlibpath_var=LD_LIBRARY_PATH - ;; - solaris*) version_type=linux need_lib_prefix=no @@ -1877,7 +1927,7 @@ need_version=yes ;; -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) +sysv4 | sysv4.3*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' soname_spec='${libname}${release}${shared_ext}$major' @@ -1910,6 +1960,29 @@ fi ;; +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) + version_type=freebsd-elf + need_lib_prefix=no + need_version=no + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' + soname_spec='${libname}${release}${shared_ext}$major' + shlibpath_var=LD_LIBRARY_PATH + hardcode_into_libs=yes + if test "$with_gnu_ld" = yes; then + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' + shlibpath_overrides_runpath=no + else + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' + shlibpath_overrides_runpath=yes + case $host_os in + sco3.2v5*) + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" + ;; + esac + fi + sys_lib_dlsearch_path_spec='/usr/lib' + ;; + uts4*) version_type=linux library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -1923,6 +1996,11 @@ esac AC_MSG_RESULT([$dynamic_linker]) test "$dynamic_linker" = no && can_build_shared=no + +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +if test "$GCC" = yes; then + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +fi ])# AC_LIBTOOL_SYS_DYNAMIC_LINKER @@ -1947,6 +2025,9 @@ AC_MSG_WARN([using `LTCC=$LTCC', extracted from `$ofile']) fi fi + if test -z "$LTCFLAGS"; then + eval "`$SHELL ${ofile} --config | grep '^LTCFLAGS='`" + fi # Extract list of available tagged configurations in $ofile. # Note that this assumes the entire list is on one line. @@ -2075,7 +2156,7 @@ # AC_DISABLE_SHARED # ----------------- -#- set the default shared flag to --disable-shared +# set the default shared flag to --disable-shared AC_DEFUN([AC_DISABLE_SHARED], [AC_BEFORE([$0],[AC_LIBTOOL_SETUP])dnl AC_ENABLE_SHARED(no) @@ -2383,7 +2464,7 @@ case $host_os in darwin*) if test "$GCC" = yes; then - reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs' + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi @@ -2483,6 +2564,11 @@ esac ;; +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' + ;; + irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; @@ -2528,15 +2614,11 @@ lt_cv_deplibs_check_method=pass_all ;; -sco3.2v5*) - lt_cv_deplibs_check_method=pass_all - ;; - solaris*) lt_cv_deplibs_check_method=pass_all ;; -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) +sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' @@ -2557,10 +2639,13 @@ siemens) lt_cv_deplibs_check_method=pass_all ;; + pc) + lt_cv_deplibs_check_method=pass_all + ;; esac ;; -sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7* | sysv4*uw2*) +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) lt_cv_deplibs_check_method=pass_all ;; esac @@ -2580,36 +2665,43 @@ # Let the user override the test. lt_cv_path_NM="$NM" else - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/${ac_tool_prefix}nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" break ;; *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac ;; esac - esac - fi + fi + done + IFS="$lt_save_ifs" done - IFS="$lt_save_ifs" test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi]) NM="$lt_cv_path_NM" @@ -2715,7 +2807,7 @@ ])# _LT_AC_LANG_CXX # _LT_AC_PROG_CXXCPP -# --------------- +# ------------------ AC_DEFUN([_LT_AC_PROG_CXXCPP], [ AC_REQUIRE([AC_PROG_CXX]) @@ -2764,7 +2856,7 @@ # AC_LIBTOOL_RC -# -------------- +# ------------- # enable support for Windows resource files AC_DEFUN([AC_LIBTOOL_RC], [AC_REQUIRE([LT_AC_PROG_RC]) @@ -2801,37 +2893,6 @@ _LT_COMPILER_BOILERPLATE _LT_LINKER_BOILERPLATE -# -# Check for any special shared library compilation flags. -# -_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)= -if test "$GCC" = no; then - case $host_os in - sco3.2v5*) - _LT_AC_TAGVAR(lt_prog_cc_shlib, $1)='-belf' - ;; - esac -fi -if test -n "$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)"; then - AC_MSG_WARN([`$CC' requires `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to build shared libraries]) - if echo "$old_CC $old_CFLAGS " | grep "[[ ]]$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)[[ ]]" >/dev/null; then : - else - AC_MSG_WARN([add `$_LT_AC_TAGVAR(lt_prog_cc_shlib, $1)' to the CC or CFLAGS env variable and reconfigure]) - _LT_AC_TAGVAR(lt_cv_prog_cc_can_build_shared, $1)=no - fi -fi - - -# -# Check to make sure the static flag actually works. -# -AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $_LT_AC_TAGVAR(lt_prog_compiler_static, $1) works], - _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), - $_LT_AC_TAGVAR(lt_prog_compiler_static, $1), - [], - [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) - - AC_LIBTOOL_PROG_COMPILER_NO_RTTI($1) AC_LIBTOOL_PROG_COMPILER_PIC($1) AC_LIBTOOL_PROG_CC_C_O($1) @@ -2840,9 +2901,9 @@ AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_DLOPEN_SELF($1) +AC_LIBTOOL_DLOPEN_SELF -# Report which librarie types wil actually be built +# Report which library types will actually be built AC_MSG_CHECKING([if libtool supports shared libraries]) AC_MSG_RESULT([$can_build_shared]) @@ -2901,6 +2962,7 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= _LT_AC_TAGVAR(hardcode_minus_L, $1)=no +_LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported _LT_AC_TAGVAR(hardcode_automatic, $1)=no _LT_AC_TAGVAR(module_cmds, $1)= _LT_AC_TAGVAR(module_expsym_cmds, $1)= @@ -2928,7 +2990,7 @@ lt_simple_compile_test_code="int some_variable = 0;\n" # Code to be used in simple link tests -lt_simple_link_test_code='int main(int, char *[]) { return(0); }\n' +lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }\n' # ltmain only uses $CC for tagged configurations so make sure $CC is set. _LT_AC_SYS_COMPILER @@ -2947,12 +3009,12 @@ if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx else - unset lt_cv_prog_gnu_ld + $as_unset lt_cv_prog_gnu_ld fi if test -n "${lt_cv_path_LDCXX+set}"; then lt_cv_path_LD=$lt_cv_path_LDCXX else - unset lt_cv_path_LD + $as_unset lt_cv_path_LD fi test -z "${LDCXX+set}" || LD=$LDCXX CC=${CXX-"c++"} @@ -3047,6 +3109,7 @@ ;; esac done + ;; esac exp_sym_flag='-bexport' @@ -3084,6 +3147,7 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= fi + ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then @@ -3115,12 +3179,12 @@ _LT_AC_SYS_LIBPATH_AIX _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. _LT_AC_SYS_LIBPATH_AIX @@ -3129,16 +3193,26 @@ # -berok will link without error, but may produce a broken library. _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # -bexpall does not export symbols beginning with underscore (_) - _LT_AC_TAGVAR(always_export_symbols, $1)=yes # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; + + beos*) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)=unsupported + # Joseph Beckenbach <jr...@be...> says some releases of gcc + # support --undefined. This deserves some investigation. FIXME + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + chorus*) case $cc_basename in *) @@ -3148,7 +3222,6 @@ esac ;; - cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. @@ -3158,7 +3231,7 @@ _LT_AC_TAGVAR(enable_shared_with_static_runtimes, $1)=yes if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then @@ -3167,7 +3240,7 @@ echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ - $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi @@ -3304,34 +3377,23 @@ ;; hpux10*|hpux11*) if test $with_gnu_ld = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ;; - ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - ;; *) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; esac fi case $host_cpu in - hppa*64*) + hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; - ia64*) - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, - # but as the default - # location of the library. - ;; *) _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, @@ -3347,9 +3409,12 @@ ;; aCC*) case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; @@ -3368,9 +3433,12 @@ if test "$GXX" = yes; then if test $with_gnu_ld = no; then case $host_cpu in - ia64*|hppa*64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $linker_flags $libobjs $deplibs' + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' + ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' ;; @@ -3383,6 +3451,20 @@ ;; esac ;; + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; irix5* | irix6*) case $cc_basename in CC*) @@ -3665,19 +3747,6 @@ # FIXME: insert proper C++ library support _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; - sco*) - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - case $cc_basename in - CC*) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - *) - # FIXME: insert proper C++ library support - _LT_AC_TAGVAR(ld_shlibs, $1)=no - ;; - esac - ;; sunos4*) case $cc_basename in CC*) @@ -3770,9 +3839,60 @@ ;; esac ;; - sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac ;; + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + # For security reasons, it is highly recommended that you always + # use absolute paths for naming shared libraries, and exclude the + # DT_RUNPATH tag from executables and libraries. But doing so + # requires that you compile everything twice, which is a pain. + # So that behaviour is only enabled if SCOABSPATH is set to a + # non-empty value in the environment. Most likely only useful for + # creating official distributions of packages. + # This is a hack until libtool officially supports absolute path + # names for shared libraries. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' + runpath_var='LD_RUN_PATH' + + case $cc_basename in + CC*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + *) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + ;; + esac + ;; tandem*) case $cc_basename in NCC*) @@ -3808,8 +3928,6 @@ AC_LIBTOOL_PROG_LD_SHLIBS($1) AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_DLOPEN_SELF($1) AC_LIBTOOL_CONFIG($1) @@ -3827,7 +3945,7 @@ ])# AC_LIBTOOL_LANG_CXX_CONFIG # AC_LIBTOOL_POSTDEP_PREDEP([TAGNAME]) -# ------------------------ +# ------------------------------------ # Figure out "hidden" library dependencies from verbose # compiler output when linking a shared library. # Parse the compiler output and extract the necessary @@ -3960,6 +4078,14 @@ # PORTME: override above test on systems where it is broken ifelse([$1],[CXX], [case $host_os in +interix3*) + # Interix 3.5 installs completely hosed .la files for C++, so rather than + # hack all around it, let's just trust "g++" to DTRT. + _LT_AC_TAGVAR(predep_objects,$1)= + _LT_AC_TAGVAR(postdep_objects,$1)= + _LT_AC_TAGVAR(postdeps,$1)= + ;; + solaris*) case $cc_basename in CC*) @@ -3969,6 +4095,7 @@ _LT_AC_TAGVAR(postdeps,$1)='-lCstd -lCrun' ;; esac + ;; esac ]) @@ -3978,7 +4105,7 @@ ])# AC_LIBTOOL_POSTDEP_PREDEP # AC_LIBTOOL_LANG_F77_CONFIG -# ------------------------ +# -------------------------- # Ensure that the configuration vars for the C compiler are # suitably defined. Those variables are subsequently used by # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. @@ -4062,8 +4189,6 @@ test "$enable_shared" = yes || enable_static=yes AC_MSG_RESULT([$enable_static]) -test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no - _LT_AC_TAGVAR(GCC, $1)="$G77" _LT_AC_TAGVAR(LD, $1)="$LD" @@ -4073,9 +4198,7 @@ AC_LIBTOOL_PROG_LD_SHLIBS($1) AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP - AC_LIBTOOL_CONFIG($1) AC_LANG_POP @@ -4131,8 +4254,6 @@ AC_LIBTOOL_PROG_LD_SHLIBS($1) AC_LIBTOOL_SYS_DYNAMIC_LINKER($1) AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH($1) -AC_LIBTOOL_SYS_LIB_STRIP -AC_LIBTOOL_DLOPEN_SELF($1) AC_LIBTOOL_CONFIG($1) @@ -4142,7 +4263,7 @@ # AC_LIBTOOL_LANG_RC_CONFIG -# -------------------------- +# ------------------------- # Ensure that the configuration vars for the Windows resource compiler are # suitably defined. Those variables are subsequently used by # AC_LIBTOOL_CONFIG to write the compiler configuration to `libtool'. @@ -4205,7 +4326,7 @@ # Now quote all the things that may contain metacharacters while being # careful not to overquote the AC_SUBSTed values. We take copies of the # variables and quote the copies for generation of the libtool script. - for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC NM \ + for var in echo old_CC old_CFLAGS AR AR_FLAGS EGREP RANLIB LN_S LTCC LTCFLAGS NM \ SED SHELL STRIP \ libname_spec library_names_spec soname_spec extract_expsyms_cmds \ old_striplib striplib file_magic_cmd finish_cmds finish_eval \ @@ -4374,6 +4495,9 @@ # A C compiler. LTCC=$lt_LTCC +# LTCC compiler flags. +LTCFLAGS=$lt_LTCFLAGS + # A language-specific compiler. CC=$lt_[]_LT_AC_TAGVAR(compiler, $1) @@ -4747,9 +4871,18 @@ osf*) symcode='[[BCDEGQRST]]' ;; -solaris* | sysv5*) +solaris*) symcode='[[BDRT]]' ;; +sco3.2v5*) + symcode='[[DT]]' + ;; +sysv4.2uw2*) + symcode='[[DT]]' + ;; +sysv5* | sco5v6* | unixware* | OpenUNIX*) + symcode='[[ABDT]]' + ;; sysv4) symcode='[[DFNSTU]]' ;; @@ -4932,6 +5065,10 @@ # DJGPP does not support shared libraries at all _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)= ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; sysv4*MP*) if test -d /usr/nec; then _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic @@ -5001,14 +5138,14 @@ case $cc_basename in CC*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' if test "$host_cpu" != ia64; then _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='+Z' fi ;; aCC*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)="${ac_cv_prog_cc_wl}-a ${ac_cv_prog_cc_wl}archive" + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' case $host_cpu in hppa*64*|ia64*) # +Z the default @@ -5022,6 +5159,10 @@ ;; esac ;; + interix*) + # This is c89, which is MS Visual C++ (no shared libs) + # Anyone wants to do a port? + ;; irix5* | irix6* | nonstopux*) case $cc_basename in CC*) @@ -5101,15 +5242,6 @@ ;; psos*) ;; - sco*) - case $cc_basename in - CC*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' - ;; - *) - ;; - esac - ;; solaris*) case $cc_basename in CC*) @@ -5151,7 +5283,14 @@ ;; esac ;; - unixware*) + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + case $cc_basename in + CC*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + esac ;; vxworks*) ;; @@ -5198,6 +5337,11 @@ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' ;; + interix3*) + # Interix 3.x gcc -fpic/-fPIC options generate broken code. + # Instead, we relocate shared libraries at runtime. + ;; + msdosdjgpp*) # Just because we use GCC doesn't mean we suddenly get shared libraries # on systems that don't support them. @@ -5312,11 +5456,6 @@ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' ;; - sco3.2v5*) - _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-Kpic' - _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-dn' - ;; - solaris*) _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' @@ -5334,7 +5473,7 @@ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' ;; - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) + sysv4 | sysv4.2uw2* | sysv4.3*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' @@ -5347,6 +5486,12 @@ fi ;; + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' + _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' + ;; + unicos*) _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' _LT_AC_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no @@ -5388,6 +5533,16 @@ _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1)ifelse([$1],[],[ -DPIC],[ifelse([$1],[CXX],[ -DPIC],[])])" ;; esac + +# +# Check to make sure the static flag actually works. +# +wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_AC_TAGVAR(lt_prog_compiler_static, $1)\" +AC_LIBTOOL_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], + _LT_AC_TAGVAR(lt_prog_compiler_static_works, $1), + $lt_tmp_static_flag, + [], + [_LT_AC_TAGVAR(lt_prog_compiler_static, $1)=]) ]) @@ -5466,6 +5621,10 @@ with_gnu_ld=no fi ;; + interix*) + # we just hope/assume this is gcc and not c89 (= MSVC++) + with_gnu_ld=yes + ;; openbsd*) with_gnu_ld=no ;; @@ -5550,7 +5709,7 @@ _LT_AC_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]] /s/.* \([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]] /s/.* //'\'' | sort | uniq > $export_symbols' if $LD --help 2>&1 | grep 'auto-import' > /dev/null; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' # If the export-symbols file already is a .def file (1st line # is EXPORTS), use it as is; otherwise, prepend... _LT_AC_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then @@ -5559,12 +5718,27 @@ echo EXPORTS > $output_objdir/$soname.def; cat $export_symbols >> $output_objdir/$soname.def; fi~ - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--image-base=0x10000000 ${wl}--out-implib,$lib' + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' else _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; + interix3*) + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. + # Instead, shared libraries are loaded at an image base (0x10000000 by + # default) and relocated if they conflict, which is a slow very memory + # consuming and fragmenting process. To avoid this, we pick a random, + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link + # time. Moving up from 0x10000000 also allows more sbrk(2) space. + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' + ;; + linux*) if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then tmp_addflag= @@ -5606,7 +5780,7 @@ fi ;; - solaris* | sysv5*) + solaris*) if $LD -v 2>&1 | grep 'BFD 2\.8' > /dev/null; then _LT_AC_TAGVAR(ld_shlibs, $1)=no cat <<EOF 1>&2 @@ -5627,6 +5801,33 @@ fi ;; + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) + case `$LD -v 2>&1` in + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + cat <<_LT_EOF 1>&2 + +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +*** reliably create shared libraries on SCO systems. Therefore, libtool +*** is disabling shared libraries support. We urge you to upgrade GNU +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +*** your PATH or compiler configuration so that the native linker is +*** used, and then restart. + +_LT_EOF + ;; + *) + if $LD --help 2>&1 | grep ': supported targets:.* elf' > /dev/null; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-rpath,$libdir`' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname,\${SCOABSPATH:+${install_libdir}/}$soname,-retain-symbols-file,$export_symbols -o $lib' + else + _LT_AC_TAGVAR(ld_shlibs, $1)=no + fi + ;; + esac + ;; + sunos4*) _LT_AC_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' wlarc= @@ -5660,7 +5861,7 @@ # Note: this linker hardcodes the directories in LIBPATH if there # are no directories specified by -L. _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - if test "$GCC" = yes && test -z "$link_static_flag"; then + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then # Neither direct hardcoding nor static linking is supported with a # broken collect2. _LT_AC_TAGVAR(hardcode_direct, $1)=unsupported @@ -5694,6 +5895,7 @@ break fi done + ;; esac exp_sym_flag='-bexport' @@ -5731,6 +5933,7 @@ _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' _LT_AC_TAGVAR(hardcode_libdir_separator, $1)= fi + ;; esac shared_flag='-shared' if test "$aix_use_runtimelinking" = yes; then @@ -5743,11 +5946,11 @@ # chokes on -Wl,-G. The following line is correct: shared_flag='-G' else - if test "$aix_use_runtimelinking" = yes; then + if test "$aix_use_runtimelinking" = yes; then shared_flag='${wl}-G' else shared_flag='${wl}-bM:SRE' - fi + fi fi fi @@ -5761,12 +5964,12 @@ # Determine the default libpath from the value encoded in an empty executable. _LT_AC_SYS_LIBPATH_AIX _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols $shared_flag" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then echo "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" else if test "$host_cpu" = ia64; then _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' _LT_AC_TAGVAR(allow_undefined_flag, $1)="-z nodefs" - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$no_entry_flag \${wl}$exp_sym_flag:\$export_symbols" + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" else # Determine the default libpath from the value encoded in an empty executable. _LT_AC_SYS_LIBPATH_AIX @@ -5775,13 +5978,11 @@ # -berok will link without error, but may produce a broken library. _LT_AC_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' _LT_AC_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' - # -bexpall does not export symbols beginning with underscore (_) - _LT_AC_TAGVAR(always_export_symbols, $1)=yes # Exported symbols can be pulled into shared objects from archives - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)=' ' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='$convenience' _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=yes # This is similar to how AIX traditionally builds its shared libraries. - _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs $compiler_flags ${wl}-bE:$export_symbols ${wl}-bnoentry${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' fi fi ;; @@ -5922,47 +6123,62 @@ _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' ;; - hpux10* | hpux11*) + hpux10*) if test "$GCC" = yes -a "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + fi + if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + + _LT_AC_TAGVAR(hardcode_direct, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + + # hardcode_minus_L: Not really in the search PATH, + # but as the default location of the library. + _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes + fi + ;; + + hpux11*) + if test "$GCC" = yes -a "$with_gnu_ld" = no; then case $host_cpu in - hppa*64*|ia64*) + hppa*64*) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; *) _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac else case $host_cpu in - hppa*64*|ia64*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname -o $lib $libobjs $deplibs $linker_flags' + hppa*64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' ;; + ia64*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' + ;; *) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' ;; esac fi if test "$with_gnu_ld" = no; then + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: + case $host_cpu in - hppa*64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' + hppa*64*|ia64*) _LT_AC_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; - ia64*) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - - # hardcode_minus_L: Not really in the search PATH, - # but as the default location of the library. - _LT_AC_TAGVAR(hardcode_minus_L, $1)=yes - ;; *) - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' - _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: _LT_AC_TAGVAR(hardcode_direct, $1)=yes _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' @@ -6064,14 +6280,6 @@ _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=: ;; - sco3.2v5*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' - runpath_var=LD_RUN_PATH - hardcode_runpath_var=yes - ;; - solaris*) _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' if test "$GCC" = yes; then @@ -6157,36 +6365,45 @@ fi ;; - sysv4.2uw2*) - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(hardcode_direct, $1)=yes - _LT_AC_TAGVAR(hardcode_minus_L, $1)=no + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7*) + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no - hardcode_runpath_var=yes - runpath_var=LD_RUN_PATH - ;; + runpath_var='LD_RUN_PATH' - sysv5OpenUNIX8* | sysv5UnixWare7* | sysv5uw[[78]]* | unixware7*) - _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z ${wl}text' if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' fi - runpath_var='LD_RUN_PATH' - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no ;; - sysv5*) - _LT_AC_TAGVAR(no_undefined_flag, $1)=' -z text' - # $CC -shared without GNU ld will not create a library from C++ - # object files and a static libstdc++, better avoid it by now - _LT_AC_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~ - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp' - _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)= + sysv5* | sco3.2v5* | sco5v6*) + # Note: We can NOT use -z defs as we might desire, because we do not + # link with -lc, and that would cause any symbols used from libc to + # always be unresolved, which means just about no library would + # ever link correctly. If we're not using GNU ld we use -z text + # though, which does catch some bad symbols but isn't as heavy-handed + # as -z defs. + _LT_AC_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='`test -z "$SCOABSPATH" && echo ${wl}-R,$libdir`' + _LT_AC_TAGVAR(hardcode_libdir_separator, $1)=':' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' runpath_var='LD_RUN_PATH' + + if test "$GCC" = yes; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + else + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,\${SCOABSPATH:+${install_libdir}/}$soname -o $lib $libobjs $deplibs $compiler_flags' + fi ;; uts4*) @@ -6204,11 +6421,6 @@ AC_MSG_RESULT([$_LT_AC_TAGVAR(ld_shlibs, $1)]) test "$_LT_AC_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" -if test "$GCC" = yes; then - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" -fi - # # Do we need to explicitly link libc? # @@ -6236,6 +6448,7 @@ libobjs=conftest.$ac_objext deplibs= wl=$_LT_AC_TAGVAR(lt_prog_compiler_wl, $1) + pic_flag=$_LT_AC_TAGVAR(lt_prog_compiler_pic, $1) compiler_flags=-v linker_flags=-v verstring= Modified: tags/v0.2.3/configure =================================================================== --- trunk/configure 2006-02-19 12:46:39 UTC (rev 82) +++ tags/v0.2.3/configure 2006-02-19 13:11:12 UTC (rev 83) @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for bwm_tools 200602012132. +# Generated by GNU Autoconf 2.59 for bwm_tools 0.2.3. # # Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation @@ -421,8 +421,8 @@ # Identity of this package. PACKAGE_NAME='bwm_tools' PACKAGE_TARNAME='bwm_tools' -PACKAGE_VERSION='200602012132' -PACKAGE_STRING='bwm_tools 200602012132' +PACKAGE_VERSION='0.2.3' +PACKAGE_STRING='bwm_tools 0.2.3' PACKAGE_BUGREPORT='' ac_unique_file="bwm_monitor/bwm_monitor.c" @@ -953,7 +953,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures bwm_tools 200602012132 to adapt to many kinds of systems. +\`configure' configures bwm_tools 0.2.3 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1019,7 +1019,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of bwm_tools 200602012132:";; + short | recursive ) echo "Configuration of bwm_tools 0.2.3:";; esac cat <<\_ACEOF @@ -1163,7 +1163,7 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -bwm_tools configure 200602012132 +bwm_tools configure 0.2.3 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -1177,7 +1177,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by bwm_tools $as_me 200602012132, which was +It was created by bwm_tools $as_me 0.2.3, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1831,7 +1831,7 @@ # Define the identity of the package. PACKAGE='bwm_tools' - VERSION='200602012132' + VERSION='0.2.3' cat >>confdefs.h <<_ACEOF @@ -3470,7 +3470,7 @@ case $host_os in darwin*) if test "$GCC" = yes; then - reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs' + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' else reload_cmds='$LD$reload_flag -o $output$reload_objs' fi @@ -3486,36 +3486,43 @@ # Let the user override the test. lt_cv_path_NM="$NM" else - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR - for ac_dir in $PATH /usr/ccs/bin /usr/ucb /bin; do - IFS="$lt_save_ifs" - test -z "$ac_dir" && ac_dir=. - tmp_nm="$ac_dir/${ac_tool_prefix}nm" - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then - # Check to see if the nm accepts a BSD-compat flag. - # Adding the `sed 1q' prevents false positives on HP-UX, which says: - # nm: unknown option "B" ignored - # Tru64's nm complains that /dev/null is an invalid object file - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in - */dev/null* | *'Invalid file or object type'*) - lt_cv_path_NM="$tmp_nm -B" - break - ;; - *) - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in - */dev/null*) - lt_cv_path_NM="$tmp_nm -p" + lt_nm_to_check="${ac_tool_prefix}nm" + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then + lt_nm_to_check="$lt_nm_to_check nm" + fi + for lt_tmp_nm in $lt_nm_to_check; do + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do + IFS="$lt_save_ifs" + test -z "$ac_dir" && ac_dir=. + tmp_nm="$ac_dir/$lt_tmp_nm" + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then + # Check to see if the nm accepts a BSD-compat flag. + # Adding the `sed 1q' prevents false positives on HP-UX, which says: + # nm: unknown option "B" ignored + # Tru64's nm complains that /dev/null is an invalid object file + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in + */dev/null* | *'Invalid file or object type'*) + lt_cv_path_NM="$tmp_nm -B" break ;; *) - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but - continue # so that we can try to find one that supports BSD flags + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in + */dev/null*) + lt_cv_path_NM="$tmp_nm -p" + break + ;; + *) + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but + continue # so that we can try to find one that supports BSD flags + ;; + esac ;; esac - esac - fi + fi + done + IFS="$lt_save_ifs" done - IFS="$lt_save_ifs" test -z "$lt_cv_path_NM" && lt_cv_path_NM=nm fi fi @@ -3623,6 +3630,11 @@ esac ;; +interix3*) + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$' + ;; + irix5* | irix6* | nonstopux*) case $LD in *-32|*"-32 ") libmagic=32-bit;; @@ -3668,15 +3680,11 @@ lt_cv_deplibs_check_method=pass_all ;; -sco3.2v5*) - lt_cv_deplibs_check_method=pass_all - ;; - solaris*) lt_cv_deplibs_check_method=pass_all ;; -sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) +sysv4 | sysv4.3*) case $host_vendor in motorola) lt_cv_deplibs_check_method='file_magic ELF [0... [truncated message content] |
From: <sv...@li...> - 2006-02-19 13:01:12
|
Author: nkukard Date: 2006-02-19 12:46:39 +0000 (Sun, 19 Feb 2006) New Revision: 82 Modified: trunk/bwm_graph/graph.c Log: * Fixed hyperlink at bottom of graph Modified: trunk/bwm_graph/graph.c =================================================================== --- trunk/bwm_graph/graph.c 2006-02-01 19:45:36 UTC (rev 81) +++ trunk/bwm_graph/graph.c 2006-02-19 12:46:39 UTC (rev 82) @@ -624,7 +624,7 @@ // Check if we must display our cute little line if (hasOptions) ADD_SINGLE_PARAM(params,numParams,"COMMENT:%s\\c","- * - * -"); - ADD_SINGLE_PARAM(params,numParams,"COMMENT:%s\\c","Graph generated by bwm_tools v"PACKAGE_VERSION" (http://bwm-tools.lbsd.net)"); + ADD_SINGLE_PARAM(params,numParams,"COMMENT:%s\\c","Graph generated by bwm_tools v"PACKAGE_VERSION" (http://bwm-tools.pr.linuxrulz.org)"); // Call rrd tool optind = 0; opterr = 0; |
From: <sv...@li...> - 2006-02-01 20:01:33
|
Author: nkukard Date: 2006-02-01 19:45:36 +0000 (Wed, 01 Feb 2006) New Revision: 81 Added: tags/200602012132/ Log: * Tagged recent changes as development snapshot Copied: tags/200602012132 (from rev 80, trunk) |
From: <sv...@li...> - 2005-09-17 13:01:07
|
Author: nkukard Date: 2005-09-17 10:42:50 +0000 (Sat, 17 Sep 2005) New Revision: 79 Added: tags/v0.2.2/ Modified: tags/v0.2.2/Makefile.in tags/v0.2.2/aclocal.m4 tags/v0.2.2/bwm_firewall/Makefile.in tags/v0.2.2/bwm_graph/Makefile.in tags/v0.2.2/bwm_monitor/Makefile.in tags/v0.2.2/bwmd/Makefile.in tags/v0.2.2/configure tags/v0.2.2/configure.ac tags/v0.2.2/doc/Makefile.in tags/v0.2.2/lib/Makefile.in Log: * Tagged as v0.2.2 Copied: tags/v0.2.2 (from rev 78, trunk) Modified: tags/v0.2.2/Makefile.in =================================================================== --- trunk/Makefile.in 2005-07-10 11:05:54 UTC (rev 78) +++ tags/v0.2.2/Makefile.in 2005-09-17 10:42:50 UTC (rev 79) @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.1 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -274,7 +274,13 @@ # (which will cause the Makefiles to be regenerated when you run `make'); # (2) otherwise, pass the desired values on the `make' command line. $(RECURSIVE_TARGETS): - @set fnord $$MAKEFLAGS; amf=$$2; \ + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ target=`echo $@ | sed s/-recursive//`; \ list='$(SUBDIRS)'; for subdir in $$list; do \ @@ -286,7 +292,7 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done; \ if test "$$dot_seen" = "no"; then \ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \ @@ -294,7 +300,13 @@ mostlyclean-recursive clean-recursive distclean-recursive \ maintainer-clean-recursive: - @set fnord $$MAKEFLAGS; amf=$$2; \ + @failcom='exit 1'; \ + for f in x $$MAKEFLAGS; do \ + case $$f in \ + *=* | --[!k]*);; \ + *k*) failcom='fail=yes';; \ + esac; \ + done; \ dot_seen=no; \ case "$@" in \ distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \ @@ -315,7 +327,7 @@ local_target="$$target"; \ fi; \ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \ - || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \ + || eval $$failcom; \ done && test -z "$$fail" tags-recursive: list='$(SUBDIRS)'; for subdir in $$list; do \ Modified: tags/v0.2.2/aclocal.m4 =================================================================== --- trunk/aclocal.m4 2005-07-10 11:05:54 UTC (rev 78) +++ tags/v0.2.2/aclocal.m4 2005-09-17 10:42:50 UTC (rev 79) @@ -1,7 +1,7 @@ -# generated automatically by aclocal 1.9.1 -*- Autoconf -*- +# generated automatically by aclocal 1.9.5 -*- Autoconf -*- -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 -# Free Software Foundation, Inc. +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, +# 2005 Free Software Foundation, Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -407,6 +407,8 @@ old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" fi +cc_basename=`$echo X"$compiler" | $Xsed -e 's%^.*/%%'` + # Only perform the check for file, if the check method requires it case $deplibs_check_method in file_magic*) @@ -524,7 +526,7 @@ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. -if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test -z "$ECHO"; then if test "X${echo_test_string+set}" != Xset; then @@ -883,11 +885,25 @@ lt_cv_sys_max_cmd_len=8192; ;; + netbsd* | freebsd* | openbsd* | darwin* ) + # This has been around since 386BSD, at least. Likely further. + if test -x /sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` + elif test -x /usr/sbin/sysctl; then + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` + else + lt_cv_sys_max_cmd_len=65536 # usable default for *BSD + fi + # And add a safety zone + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` + ;; + *) # If test is not a shell built-in, we'll probably end up computing a # maximum length that is only half of the actual maximum length, but # we can't tell. - while (test "X"`$CONFIG_SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} + while (test "X"`$SHELL [$]0 --fallback-echo "X$teststring" 2>/dev/null` \ = "XX$teststring") >/dev/null 2>&1 && new_result=`expr "X$teststring" : ".*" 2>&1` && lt_cv_sys_max_cmd_len=$new_result && @@ -1221,8 +1237,8 @@ [AC_MSG_CHECKING([how to hardcode library paths into programs]) _LT_AC_TAGVAR(hardcode_action, $1)= if test -n "$_LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)" || \ - test -n "$_LT_AC_TAGVAR(runpath_var $1)" || \ - test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)"="Xyes" ; then + test -n "$_LT_AC_TAGVAR(runpath_var, $1)" || \ + test "X$_LT_AC_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then # We can hardcode non-existant directories. if test "$_LT_AC_TAGVAR(hardcode_direct, $1)" != no && @@ -1389,7 +1405,7 @@ shlibpath_var=LIBRARY_PATH ;; -bsdi4*) +bsdi[[45]]*) version_type=linux need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' @@ -1713,7 +1729,7 @@ openbsd*) version_type=sunos need_lib_prefix=no - need_version=yes + need_version=no library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' shlibpath_var=LD_LIBRARY_PATH @@ -2284,6 +2300,15 @@ *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac ])# AC_PROG_LD_RELOAD_FLAG @@ -2317,7 +2342,7 @@ lt_cv_deplibs_check_method=pass_all ;; -bsdi4*) +bsdi[[45]]*) lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so @@ -2421,12 +2446,10 @@ ;; openbsd*) - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB shared object' + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' else - lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' fi ;; @@ -2755,43 +2778,6 @@ if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then test "$enable_shared" = yes && enable_static=no fi - ;; - darwin* | rhapsody*) - if test "$GCC" = yes; then - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - case "$host_os" in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined dynamic_lookup' - ;; - esac - fi - ;; - esac - output_verbose_link_cmd='echo' - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring' - _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs$compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi ;; esac AC_MSG_RESULT([$enable_shared]) @@ -3069,6 +3055,7 @@ esac ;; + cygwin* | mingw* | pw32*) # _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, # as there is no search path for DLLs. @@ -3092,58 +3079,69 @@ _LT_AC_TAGVAR(ld_shlibs, $1)=no fi ;; + darwin* | rhapsody*) + case "$host_os" in + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; + esac + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no + _LT_AC_TAGVAR(hardcode_direct, $1)=no + _LT_AC_TAGVAR(hardcode_automatic, $1)=yes + _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' + _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - darwin* | rhapsody*) - if test "$GXX" = yes; then - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - case "$host_os" in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' + if test "$GXX" = yes ; then + lt_int_apple_cc_single_mod=no + output_verbose_link_cmd='echo' + if $CC -dumpspecs 2>&1 | $EGREP 'single_module' >/dev/null ; then + lt_int_apple_cc_single_mod=yes + fi + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined dynamic_lookup' - ;; - esac + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + fi + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + if test "X$lt_int_apple_cc_single_mod" = Xyes ; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + fi + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + else + case "$cc_basename" in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac fi - ;; - esac - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - fi - _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + ;; - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - _LT_AC_TAGVAR(hardcode_direct, $1)=no - _LT_AC_TAGVAR(hardcode_automatic, $1)=yes - _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' - _LT_AC_TAGVAR(link_all_deplibs, $1)=yes - else - _LT_AC_TAGVAR(ld_shlibs, $1)=no - fi - ;; - dgux*) case $cc_basename in ec++) @@ -3348,9 +3346,20 @@ icpc) # Intel C++ with_gnu_ld=yes + # version 8.0 and above of icpc choke on multiply defined symbols + # if we add $predep_objects and $postdep_objects, however 7.1 and + # earlier do not add the objects themselves. + case `$CC -V 2>&1` in + *"Version 7."*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + *) # Version 8.0 or newer + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' + ;; + esac _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' @@ -3407,6 +3416,20 @@ # Workaround some broken pre-1.5 toolchains output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' ;; + openbsd2*) + # C++ shared libraries are fairly broken + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + openbsd*) + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' + _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' + _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' + fi + output_verbose_link_cmd='echo' + ;; osf3*) case $cc_basename in KCC) @@ -4165,7 +4188,7 @@ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. -if test "X\${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH # The names of the tagged configurations supported by this script. available_tags= @@ -4797,6 +4820,16 @@ ;; esac ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case "$cc_basename" in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; dgux*) case $cc_basename in ec++) @@ -5050,6 +5083,16 @@ _LT_AC_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' fi ;; + darwin*) + # PIC is the default on this platform + # Common symbols not allowed in MH_DYLIB files + case "$cc_basename" in + xlc*) + _LT_AC_TAGVAR(lt_prog_compiler_pic, $1)='-qnocommon' + _LT_AC_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' + ;; + esac + ;; mingw* | pw32* | os2*) # This hack is so that the source file can tell whether it is being @@ -5551,7 +5594,7 @@ _LT_AC_TAGVAR(ld_shlibs, $1)=no ;; - bsdi4*) + bsdi[[45]]*) _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic ;; @@ -5577,52 +5620,52 @@ ;; darwin* | rhapsody*) - if test "$GXX" = yes ; then - _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no case "$host_os" in - rhapsody* | darwin1.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined suppress' - ;; - *) # Darwin 1.3 on - if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' - else - case ${MACOSX_DEPLOYMENT_TARGET} in - 10.[[012]]) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-flat_namespace -undefined suppress' - ;; - 10.*) - _LT_AC_TAGVAR(allow_undefined_flag, $1)='-undefined dynamic_lookup' - ;; - esac - fi - ;; + rhapsody* | darwin1.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}suppress' + ;; + *) # Darwin 1.3 on + if test -z ${MACOSX_DEPLOYMENT_TARGET} ; then + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + else + case ${MACOSX_DEPLOYMENT_TARGET} in + 10.[[012]]) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' + ;; + 10.*) + _LT_AC_TAGVAR(allow_undefined_flag, $1)='${wl}-undefined ${wl}dynamic_lookup' + ;; + esac + fi + ;; esac - lt_int_apple_cc_single_mod=no - output_verbose_link_cmd='echo' - if $CC -dumpspecs 2>&1 | grep 'single_module' >/dev/null ; then - lt_int_apple_cc_single_mod=yes - fi - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - else - _LT_AC_TAGVAR(archive_cmds, $1)='$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring' - fi - _LT_AC_TAGVAR(module_cmds, $1)='$CC ${wl}-bind_at_load $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' - # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's - if test "X$lt_int_apple_cc_single_mod" = Xyes ; then - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - else - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r ${wl}-bind_at_load -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' - fi - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(archive_cmds_need_lc, $1)=no _LT_AC_TAGVAR(hardcode_direct, $1)=no _LT_AC_TAGVAR(hardcode_automatic, $1)=yes _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=unsupported - _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='-all_load $convenience' + _LT_AC_TAGVAR(whole_archive_flag_spec, $1)='' _LT_AC_TAGVAR(link_all_deplibs, $1)=yes + if test "$GCC" = yes ; then + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' else - _LT_AC_TAGVAR(ld_shlibs, $1)=no + case "$cc_basename" in + xlc*) + output_verbose_link_cmd='echo' + _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' + _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' + # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' + ;; + *) + _LT_AC_TAGVAR(ld_shlibs, $1)=no + ;; + esac fi ;; @@ -5767,6 +5810,7 @@ _LT_AC_TAGVAR(hardcode_shlibpath_var, $1)=no if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then _LT_AC_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' _LT_AC_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' _LT_AC_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' else @@ -6130,8 +6174,8 @@ fi done done -SED=$lt_cv_path_SED ]) +SED=$lt_cv_path_SED AC_MSG_RESULT([$SED]) ]) @@ -6324,24 +6368,12 @@ rm -f conf.xmltest ]) -# -*- Autoconf -*- -# Copyright (C) 2002, 2003 Free Software Foundation, Inc. -# Generated from amversion.in; do not edit by hand. +# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA - # AM_AUTOMAKE_VERSION(VERSION) # ---------------------------- # Automake X.Y traces this macro to ensure aclocal.m4 has been @@ -6353,27 +6385,16 @@ # Call AM_AUTOMAKE_VERSION so it can be traced. # This function is AC_REQUIREd by AC_INIT_AUTOMAKE. AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], - [AM_AUTOMAKE_VERSION([1.9.1])]) + [AM_AUTOMAKE_VERSION([1.9.5])]) -# AM_AUX_DIR_EXPAND +# AM_AUX_DIR_EXPAND -*- Autoconf -*- -# Copyright (C) 2001, 2003 Free Software Foundation, Inc. +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - # For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets # $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to # `$srcdir', `$srcdir/..', or `$srcdir/../..'. @@ -6419,27 +6440,17 @@ am_aux_dir=`cd $ac_aux_dir && pwd` ]) -# AM_CONDITIONAL -*- Autoconf -*- +# AM_CONDITIONAL -*- Autoconf -*- -# Copyright (C) 1997, 2000, 2001, 2003, 2004 Free Software Foundation, Inc. +# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. +# serial 7 -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 6 - # AM_CONDITIONAL(NAME, SHELL-CONDITION) # ------------------------------------- # Define a conditional. @@ -6462,27 +6473,16 @@ Usually this means the macro was only invoked conditionally.]]) fi])]) -# serial 7 -*- Autoconf -*- -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. +# serial 8 -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - - # There are a few dirty hacks below to avoid letting `AC_PROG_CC' be # written in clear, in which case automake, when reading aclocal.m4, # will think it sees a *use*, and therefore will trigger all it's @@ -6490,7 +6490,6 @@ # CC etc. in the Makefile, will ask for an AC_PROG_CC use... - # _AM_DEPENDENCIES(NAME) # ---------------------- # See how the compiler implements dependency checking. @@ -6630,28 +6629,17 @@ AC_SUBST([AMDEPBACKSLASH]) ]) -# Generate code to set up dependency tracking. -*- Autoconf -*- +# Generate code to set up dependency tracking. -*- Autoconf -*- -# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004 -# Free Software Foundation, Inc. +# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. +#serial 3 -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -#serial 2 - # _AM_OUTPUT_DEPENDENCY_COMMANDS # ------------------------------ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS], @@ -6709,31 +6697,20 @@ [AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"]) ]) -# Do all the work for Automake. -*- Autoconf -*- +# Do all the work for Automake. -*- Autoconf -*- -# This macro actually does too much some checks are only needed if -# your package does certain things. But this isn't really a big deal. - -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005 # Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. +# serial 12 -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. +# This macro actually does too much. Some checks are only needed if +# your package does certain things. But this isn't really a big deal. -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 11 - # AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE]) # AM_INIT_AUTOMAKE([OPTIONS]) # ----------------------------------------------- @@ -6834,52 +6811,28 @@ done echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count]) +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + # AM_PROG_INSTALL_SH # ------------------ # Define $install_sh. - -# Copyright (C) 2001, 2003 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - AC_DEFUN([AM_PROG_INSTALL_SH], [AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl install_sh=${install_sh-"$am_aux_dir/install-sh"} AC_SUBST(install_sh)]) -# -*- Autoconf -*- -# Copyright (C) 2003 Free Software Foundation, Inc. +# Copyright (C) 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. +# serial 2 -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 1 - # Check whether the underlying file-system supports filenames # with a leading dot. For instance MS-DOS doesn't. AC_DEFUN([AM_SET_LEADING_DOT], @@ -6893,27 +6846,16 @@ rmdir .tst 2>/dev/null AC_SUBST([am__leading_dot])]) -# Check to see how 'make' treats includes. -*- Autoconf -*- +# Check to see how 'make' treats includes. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. +# serial 3 -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 2 - # AM_MAKE_INCLUDE() # ----------------- # Check to see how make treats includes. @@ -6956,28 +6898,17 @@ rm -f confinc confmf ]) -# -*- Autoconf -*- +# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*- +# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc. +# serial 4 -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 3 - # AM_MISSING_PROG(NAME, PROGRAM) # ------------------------------ AC_DEFUN([AM_MISSING_PROG], @@ -7002,27 +6933,16 @@ fi ]) +# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + # AM_PROG_MKDIR_P # --------------- # Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise. - -# Copyright (C) 2003, 2004 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - +# # Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories # created by `make install' are always world readable, even if the # installer happens to have an overly restrictive umask (e.g. 077). @@ -7076,27 +6996,16 @@ fi AC_SUBST([mkdir_p])]) -# Helper functions for option handling. -*- Autoconf -*- +# Helper functions for option handling. -*- Autoconf -*- -# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. +# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. +# serial 3 -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 2 - # _AM_MANGLE_OPTION(NAME) # ----------------------- AC_DEFUN([_AM_MANGLE_OPTION], @@ -7120,29 +7029,17 @@ AC_DEFUN([_AM_IF_OPTION], [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])]) +# Check to make sure that the build environment is sane. -*- Autoconf -*- + +# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005 +# Free Software Foundation, Inc. # -# Check to make sure that the build environment is sane. -# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc. +# serial 4 -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 3 - # AM_SANITY_CHECK # --------------- AC_DEFUN([AM_SANITY_CHECK], @@ -7184,25 +7081,14 @@ fi AC_MSG_RESULT(yes)]) -# AM_PROG_INSTALL_STRIP +# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# Copyright (C) 2001, 2003 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - +# AM_PROG_INSTALL_STRIP +# --------------------- # One issue with vendor `install' (even GNU) is that you can't # specify the program used to strip binaries. This is especially # annoying in cross-compiling environments, where the build's strip @@ -7225,26 +7111,14 @@ # Check how to create a tarball. -*- Autoconf -*- -# Copyright (C) 2004 Free Software Foundation, Inc. +# Copyright (C) 2004, 2005 Free Software Foundation, Inc. +# +# This file is free software; the Free Software Foundation +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. +# serial 2 -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# serial 1 - - # _AM_PROG_TAR(FORMAT) # -------------------- # Check how to create a tarball in format FORMAT. Modified: tags/v0.2.2/bwm_firewall/Makefile.in =================================================================== --- trunk/bwm_firewall/Makefile.in 2005-07-10 11:05:54 UTC (rev 78) +++ tags/v0.2.2/bwm_firewall/Makefile.in 2005-09-17 10:42:50 UTC (rev 79) @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.1 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -77,11 +77,11 @@ am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) \ +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link --tag=CC $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(bwm_firewall_SOURCES) DIST_SOURCES = $(bwm_firewall_SOURCES) Modified: tags/v0.2.2/bwm_graph/Makefile.in =================================================================== --- trunk/bwm_graph/Makefile.in 2005-07-10 11:05:54 UTC (rev 78) +++ tags/v0.2.2/bwm_graph/Makefile.in 2005-09-17 10:42:50 UTC (rev 79) @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.1 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -78,11 +78,11 @@ am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) \ +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link --tag=CC $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(bwm_graph_SOURCES) DIST_SOURCES = $(bwm_graph_SOURCES) Modified: tags/v0.2.2/bwm_monitor/Makefile.in =================================================================== --- trunk/bwm_monitor/Makefile.in 2005-07-10 11:05:54 UTC (rev 78) +++ tags/v0.2.2/bwm_monitor/Makefile.in 2005-09-17 10:42:50 UTC (rev 79) @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.1 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -78,11 +78,11 @@ am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) \ +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link --tag=CC $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(bwm_monitor_SOURCES) DIST_SOURCES = $(bwm_monitor_SOURCES) Modified: tags/v0.2.2/bwmd/Makefile.in =================================================================== --- trunk/bwmd/Makefile.in 2005-07-10 11:05:54 UTC (rev 78) +++ tags/v0.2.2/bwmd/Makefile.in 2005-09-17 10:42:50 UTC (rev 79) @@ -1,8 +1,8 @@ -# Makefile.in generated by automake 1.9.1 from Makefile.am. +# Makefile.in generated by automake 1.9.5 from Makefile.am. # @configure_input@ # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, -# 2003, 2004 Free Software Foundation, Inc. +# 2003, 2004, 2005 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. @@ -80,11 +80,11 @@ am__depfiles_maybe = depfiles COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -LTCOMPILE = $(LIBTOOL) --mode=compile --tag=CC $(CC) $(DEFS) \ +LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \ $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \ $(AM_CFLAGS) $(CFLAGS) CCLD = $(CC) -LINK = $(LIBTOOL) --mode=link --tag=CC $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ +LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ $(AM_LDFLAGS) $(LDFLAGS) -o $@ SOURCES = $(bwmd_SOURCES) DIST_SOURCES = $(bwmd_SOURCES) Modified: tags/v0.2.2/configure =================================================================== --- trunk/configure 2005-07-10 11:05:54 UTC (rev 78) +++ tags/v0.2.2/configure 2005-09-17 10:42:50 UTC (rev 79) @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for bwm_tools devel. +# Generated by GNU Autoconf 2.59 for bwm_tools 0.2.2. # # Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation @@ -278,7 +278,7 @@ # The HP-UX ksh and POSIX shell print the target directory to stdout # if CDPATH is set. -if test "X${CDPATH+set}" = Xset; then CDPATH=:; export CDPATH; fi +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test -z "$ECHO"; then if test "X${echo_test_string+set}" != Xset; then @@ -421,8 +421,8 @@ # Identity of this package. PACKAGE_NAME='bwm_tools' PACKAGE_TARNAME='bwm_tools' -PACKAGE_VERSION='devel' -PACKAGE_STRING='bwm_tools devel' +PACKAGE_VERSION='0.2.2' +PACKAGE_STRING='bwm_tools 0.2.2' PACKAGE_BUGREPORT='' ac_unique_file="bwm_monitor/bwm_monitor.c" @@ -953,7 +953,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures bwm_tools devel to adapt to many kinds of systems. +\`configure' configures bwm_tools 0.2.2 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1019,7 +1019,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of bwm_tools devel:";; + short | recursive ) echo "Configuration of bwm_tools 0.2.2:";; esac cat <<\_ACEOF @@ -1163,7 +1163,7 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -bwm_tools configure devel +bwm_tools configure 0.2.2 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -1177,7 +1177,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by bwm_tools $as_me devel, which was +It was created by bwm_tools $as_me 0.2.2, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1831,7 +1831,7 @@ # Define the identity of the package. PACKAGE='bwm_tools' - VERSION='devel' + VERSION='0.2.2' cat >>confdefs.h <<_ACEOF @@ -3323,10 +3323,10 @@ fi done done -SED=$lt_cv_path_SED fi +SED=$lt_cv_path_SED echo "$as_me:$LINENO: result: $SED" >&5 echo "${ECHO_T}$SED" >&6 @@ -3467,6 +3467,15 @@ *) reload_flag=" $reload_flag" ;; esac reload_cmds='$LD$reload_flag -o $output$reload_objs' +case $host_os in + darwin*) + if test "$GCC" = yes; then + reload_cmds='$CC -nostdlib ${wl}-r -o $output$reload_objs' + else + reload_cmds='$LD$reload_flag -o $output$reload_objs' + fi + ;; +esac echo "$as_me:$LINENO: checking for BSD-compatible nm" >&5 echo $ECHO_N "checking for BSD-compatible nm... $ECHO_C" >&6 @@ -3553,7 +3562,7 @@ lt_cv_deplibs_check_method=pass_all ;; -bsdi4*) +bsdi[45]*) lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)' lt_cv_file_magic_cmd='/usr/bin/file -L' lt_cv_file_magic_test_file=/shlib/libc.so @@ -3657,12 +3666,10 @@ ;; openbsd*) - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then - lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB shared object' + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$' else - lt_cv_deplibs_check_method='file_magic OpenBSD.* shared library' + lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$' fi ;; @@ -3755,7 +3762,7 @@ ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 3758 "configure"' > conftest.$ac_ext + echo '#line 3765 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -5327,7 +5334,7 @@ # Provide some information about the compiler. -echo "$as_me:5330:" \ +echo "$as_me:5337:" \ "checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5 @@ -5517,11 +5524,25 @@ lt_cv_sys_max_cmd_len=8192; ;; + netbsd* | freebsd* | openbsd* | darwin* ) + # This has been ... [truncated message content] |
From: <sv...@li...> - 2005-07-10 13:01:05
|
Author: nkukard Date: 2005-07-10 11:05:54 +0000 (Sun, 10 Jul 2005) New Revision: 78 Modified: trunk/bwm_firewall/bwm_firewall.c trunk/bwmd/flow.c trunk/bwmd/ipq.c Log: * Removed ECN support, seems to of caused problems * Cosmetic fixes in bwm_firewall Modified: trunk/bwm_firewall/bwm_firewall.c =================================================================== --- trunk/bwm_firewall/bwm_firewall.c 2005-06-20 08:18:02 UTC (rev 77) +++ trunk/bwm_firewall/bwm_firewall.c 2005-07-10 11:05:54 UTC (rev 78) @@ -280,6 +280,8 @@ piptables_restore = popen("iptables-restore", "w"); if (!piptables_restore) fprintf(stderr, "ERROR: Can not find iptables-restore in $PATH, skipping load\n"); + + printf("Loading firewall configuration directly into kernel...\n"); } buffer = (char *) malloc0(BUFFER_SIZE); @@ -413,7 +415,7 @@ // Write out firewall if (fw) { - printf("Writing IPTables configuration to \"%s\"...\n",outputFile); + printf("Processing firewall/shaping configuration...\n"); res = writeFirewall(fw,outputFile,loadFirewall); } Modified: trunk/bwmd/flow.c =================================================================== --- trunk/bwmd/flow.c 2005-06-20 08:18:02 UTC (rev 77) +++ trunk/bwmd/flow.c 2005-07-10 11:05:54 UTC (rev 78) @@ -367,6 +367,7 @@ g_mutex_lock(runnerData->IPQLock); // Check if our packet was changed +#if 0 if (packet->changed) { struct ip_packet_t *ip_packet = (struct ip_packet_t *) packet->payload->payload; @@ -375,12 +376,13 @@ status = ipq_set_verdict(runnerData->IPQHandle, PKT_ID(packet), NF_ACCEPT, ip_packet->tot_len, (unsigned char *) ip_packet); } else +#endif status = ipq_set_verdict(runnerData->IPQHandle, PKT_ID(packet), NF_ACCEPT, 0, NULL); g_mutex_unlock(runnerData->IPQLock); if (status < 0) { - logMessage(LOG_ERR, "Failed to ACCEPT packet\n"); + logMessage(LOG_ERR, "Failed to ACCEPT packet: %s\n",ipq_errstr); break; } Modified: trunk/bwmd/ipq.c =================================================================== --- trunk/bwmd/ipq.c 2005-06-20 08:18:02 UTC (rev 77) +++ trunk/bwmd/ipq.c 2005-07-10 11:05:54 UTC (rev 78) @@ -185,7 +185,8 @@ prob = avgProb + curProb; // Check if we should drop packet drop = drand < prob; - + +#if 0 // If queue is 10% full, set CE bit if we ECN capable if (!drop && (avgQueueSize / curQueueSize) > 0.10) { @@ -201,6 +202,7 @@ packet->changed = 1; } } +#endif } } |
From: <sv...@li...> - 2005-06-20 09:01:27
|
Author: nkukard Date: 2005-06-20 06:35:53 +0000 (Mon, 20 Jun 2005) New Revision: 75 Modified: trunk/README trunk/bwm_graph/Makefile.am trunk/bwm_graph/Makefile.in trunk/bwm_graph/graph.c trunk/config.guess trunk/config.sub trunk/configure trunk/configure.ac trunk/doc/stamp-vti trunk/doc/version.texi trunk/ltmain.sh Log: * Added configure option to build with rrdtool-1.2.x Modified: trunk/README =================================================================== --- trunk/README 2005-05-04 10:31:43 UTC (rev 74) +++ trunk/README 2005-06-20 06:35:53 UTC (rev 75) @@ -18,12 +18,21 @@ Notes: ------ -When building BWM Tools with the --with-rrdtool-source option, you MUST +1. When building BWM Tools with the --with-rrdtool-source option, you MUST run configure and make from the top_srcdir, due to a build flaw in rrdtool you CANNOT create a build directory, run ../configure --with-rrdtool-source and think it will work as expected. +2. If you're building BWM Tools with the --with-rrdtool-source options, and +you're using rrdtool 1.2.x you might need to add the --disable-rrdcgi option +if the configure complains about cgilib. +3. Furthermore the rrdtool directory is only built, it is not cleaned when +running make clean, nor is it installed when running make install. If you +need to run a make command on it, CD into it and do it from there. + + + Requirements ------------ GLib >= 2.4.0 Modified: trunk/bwm_graph/Makefile.am =================================================================== --- trunk/bwm_graph/Makefile.am 2005-05-04 10:31:43 UTC (rev 74) +++ trunk/bwm_graph/Makefile.am 2005-06-20 06:35:53 UTC (rev 75) @@ -25,6 +25,7 @@ RRDTOOL_INCLUDEDIR=@RRDTOOL_INCLUDEDIR@ RRDTOOL_LIBS=@RRDTOOL_LIBS@ RRDTOOL_LDADDS=@RRDTOOL_LDADDS@ +RRDTOOL_VER=@RRDTOOL_VER@ LOG_DIR=@localstatedir@/bwm_tools @@ -32,11 +33,11 @@ bwm_graph_SOURCES = bwm_graph.c graph.c bwm_graph_DEPENDENCIES = $(RRDTOOL_LDADDS) bwm_graph_LDADD = $(top_builddir)/lib/libbwm.la $(RRDTOOL_LDADDS) -bwm_graph_CFLAGS = $(RRDTOOL_INCLUDEDIR) -I$(top_srcdir)/include $(GLIB_CFLAGS) -DLOG_DIR=\"$(LOG_DIR)\" $(AM_CFLAGS) +bwm_graph_CFLAGS = $(RRDTOOL_INCLUDEDIR) -I$(top_srcdir)/include $(GLIB_CFLAGS) -DLOG_DIR=\"$(LOG_DIR)\" -DRRDTOOL_VER=$(RRDTOOL_VER) $(AM_CFLAGS) bwm_graph_LDFLAGS = $(GLIB_LIBS) $(RRDTOOL_LIBS) # Build rrdtool if we need it -$(top_builddir)/rrdtool/src/.libs/librrd.a: +$(top_builddir)/rrdtool/src/librrd.la: $(MAKE) $(AM_MAKEFLAGS) -C ../rrdtool Modified: trunk/bwm_graph/Makefile.in =================================================================== --- trunk/bwm_graph/Makefile.in 2005-05-04 10:31:43 UTC (rev 74) +++ trunk/bwm_graph/Makefile.in 2005-06-20 06:35:53 UTC (rev 75) @@ -201,11 +201,12 @@ RRDTOOL_INCLUDEDIR = @RRDTOOL_INCLUDEDIR@ RRDTOOL_LIBS = @RRDTOOL_LIBS@ RRDTOOL_LDADDS = @RRDTOOL_LDADDS@ +RRDTOOL_VER = @RRDTOOL_VER@ LOG_DIR = @localstatedir@/bwm_tools bwm_graph_SOURCES = bwm_graph.c graph.c bwm_graph_DEPENDENCIES = $(RRDTOOL_LDADDS) bwm_graph_LDADD = $(top_builddir)/lib/libbwm.la $(RRDTOOL_LDADDS) -bwm_graph_CFLAGS = $(RRDTOOL_INCLUDEDIR) -I$(top_srcdir)/include $(GLIB_CFLAGS) -DLOG_DIR=\"$(LOG_DIR)\" $(AM_CFLAGS) +bwm_graph_CFLAGS = $(RRDTOOL_INCLUDEDIR) -I$(top_srcdir)/include $(GLIB_CFLAGS) -DLOG_DIR=\"$(LOG_DIR)\" -DRRDTOOL_VER=$(RRDTOOL_VER) $(AM_CFLAGS) bwm_graph_LDFLAGS = $(GLIB_LIBS) $(RRDTOOL_LIBS) all: all-am @@ -510,7 +511,7 @@ # Build rrdtool if we need it -$(top_builddir)/rrdtool/src/.libs/librrd.a: +$(top_builddir)/rrdtool/src/librrd.la: $(MAKE) $(AM_MAKEFLAGS) -C ../rrdtool # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. Modified: trunk/bwm_graph/graph.c =================================================================== --- trunk/bwm_graph/graph.c 2005-05-04 10:31:43 UTC (rev 74) +++ trunk/bwm_graph/graph.c 2005-06-20 06:35:53 UTC (rev 75) @@ -488,6 +488,7 @@ int result = 0; char **prdata; int xsize, ysize; + double ymin, ymax; int numParams = 0; char *lineColors[] = {"ff0033","3300ff","993399","cc9900",NULL}; int curColor = 0; @@ -626,15 +627,22 @@ ADD_SINGLE_PARAM(params,numParams,"COMMENT:%s\\c","Graph generated by bwm_tools v"PACKAGE_VERSION" (http://bwm-tools.lbsd.net)"); // Call rrd tool - optind = 0; opterr = 0; + optind = 0; opterr = 0; + // Lets make sure we call it correctly +#if (RRDTOOL_VER == 0) result = rrd_graph(numParams,params,&prdata,&xsize,&ysize); +#elif (RRDTOOL_VER == 2) + result = rrd_graph(numParams,params,&prdata,&xsize,&ysize,NULL,&ymin,&ymax); +#else +#warning Your version of rrdtool is not supported +#endif if (result < 0) { fprintf(stderr,"Failed to create RRD graph %s: %s\n",options->outputFile,rrd_get_error()); result = -1; } else - printf("done\n"); + printf("done (%dx%d)\n",xsize,ysize); // Free memory for (i = 0; i < numParams; i++) Modified: trunk/config.guess =================================================================== --- trunk/config.guess 2005-05-04 10:31:43 UTC (rev 74) +++ trunk/config.guess 2005-06-20 06:35:53 UTC (rev 75) @@ -3,7 +3,7 @@ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003 Free Software Foundation, Inc. -timestamp='2004-01-24' +timestamp='2004-03-12' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by @@ -197,12 +197,18 @@ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit 0 ;; + amd64:OpenBSD:*:*) + echo x86_64-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; amiga:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; arc:OpenBSD:*:*) echo mipsel-unknown-openbsd${UNAME_RELEASE} exit 0 ;; + cats:OpenBSD:*:*) + echo arm-unknown-openbsd${UNAME_RELEASE} + exit 0 ;; hp300:OpenBSD:*:*) echo m68k-unknown-openbsd${UNAME_RELEASE} exit 0 ;; @@ -239,10 +245,24 @@ *:OpenBSD:*:*) echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE} exit 0 ;; + *:ekkoBSD:*:*) + echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} + exit 0 ;; + macppc:MirBSD:*:*) + echo powerppc-unknown-mirbsd${UNAME_RELEASE} + exit 0 ;; + *:MirBSD:*:*) + echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} + exit 0 ;; alpha:OSF1:*:*) - if test $UNAME_RELEASE = "V4.0"; then + case $UNAME_RELEASE in + *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` - fi + ;; + *5.*) + UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` + ;; + esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU @@ -280,11 +300,12 @@ "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac + # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. - echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[VTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` + echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit 0 ;; Alpha*:OpenVMS:*:*) echo alpha-hp-vms @@ -832,6 +853,9 @@ ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; + m32r*:Linux:*:*) + echo ${UNAME_MACHINE}-unknown-linux-gnu + exit 0 ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit 0 ;; Modified: trunk/config.sub =================================================================== --- trunk/config.sub 2005-05-04 10:31:43 UTC (rev 74) +++ trunk/config.sub 2005-06-20 06:35:53 UTC (rev 75) @@ -3,7 +3,7 @@ # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003 Free Software Foundation, Inc. -timestamp='2004-01-05' +timestamp='2004-03-12' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -237,7 +237,7 @@ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ - | m32r | m68000 | m68k | m88k | mcore \ + | m32r | m32rle | m68000 | m68k | m88k | mcore \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ @@ -262,7 +262,7 @@ | pyramid \ | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ - | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv9 | sparcv9b \ + | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \ | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | v850 | v850e \ @@ -308,7 +308,7 @@ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ - | m32r-* \ + | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | mcore-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ @@ -336,7 +336,7 @@ | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \ - | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ + | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tron-* \ @@ -363,6 +363,9 @@ basic_machine=a29k-amd os=-udi ;; + abacus) + basic_machine=abacus-unknown + ;; adobe68k) basic_machine=m68010-adobe os=-scout @@ -442,12 +445,20 @@ basic_machine=j90-cray os=-unicos ;; + cr16c) + basic_machine=cr16c-unknown + os=-elf + ;; crds | unos) basic_machine=m68k-crds ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; + crx) + basic_machine=crx-unknown + os=-elf + ;; da30 | da30-*) basic_machine=m68k-da30 ;; @@ -1070,7 +1081,7 @@ sh64) basic_machine=sh64-unknown ;; - sparc | sparcv9 | sparcv9b) + sparc | sparcv8 | sparcv9 | sparcv9b) basic_machine=sparc-sun ;; cydra) @@ -1143,8 +1154,9 @@ | -aos* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ - | -hiux* | -386bsd* | -knetbsd* | -netbsd* | -openbsd* | -kfreebsd* | -freebsd* | -riscix* \ - | -lynxos* | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ + | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \ + | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ + | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* \ Modified: trunk/configure =================================================================== --- trunk/configure 2005-05-04 10:31:43 UTC (rev 74) +++ trunk/configure 2005-06-20 06:35:53 UTC (rev 75) @@ -464,7 +464,7 @@ #endif" ac_subdirs_all="$ac_subdirs_all rrdtool" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL subdirs RRDTOOL! _LDADDS RRDTOOL_LIBS RRDTOOL_INCLUDEDIR ALLOCA LIBOBJS PKG_CONFIG GLIB_CFLAGS GLIB_LIBS GLIB_GENMARSHAL GOBJECT_QUERY GLIB_MKENUMS XML2_CONFIG XML_CPPFLAGS XML_LIBS XML_CFLAGS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL subdirs RRDTOOL! _LDADDS RRDTOOL_LIBS RRDTOOL_INCLUDEDIR RRDTOOL_VER ALLOCA LIBOBJS PKG_CONFIG GLIB_CFLAGS GLIB_LIBS GLIB_GENMARSHAL GOBJECT_QUERY GLIB_MKENUMS XML2_CONFIG XML_CPPFLAGS XML_LIBS XML_CFLAGS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -1046,6 +1046,7 @@ both] --with-tags[=TAGS] include additional configurations [automatic] + --with-rrdtool2 Specify that you want BWM Tools built against rrdtool 1.2.x --with-rrdtool-source Specify that you have the rrdtool sources in the main build dir --with-xml-prefix=PFX Prefix where libxml is installed (optional) --with-xml-exec-prefix=PFX Exec prefix where libxml is installed (optional) @@ -3754,7 +3755,7 @@ ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 3757 "configure"' > conftest.$ac_ext + echo '#line 3758 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -5326,7 +5327,7 @@ # Provide some information about the compiler. -echo "$as_me:5329:" \ +echo "$as_me:5330:" \ "checking for Fortran 77 compiler version" >&5 ac_compiler=`set X $ac_compile; echo $2` { (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5 @@ -6360,11 +6361,11 @@ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:6363: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6364: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6367: \$? = $ac_status" >&5 + echo "$as_me:6368: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -6593,11 +6594,11 @@ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:6596: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6597: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:6600: \$? = $ac_status" >&5 + echo "$as_me:6601: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -6653,11 +6654,11 @@ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:6656: $lt_compile\"" >&5) + (eval echo "\"\$as_me:6657: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:6660: \$? = $ac_status" >&5 + echo "$as_me:6661: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -8837,7 +8838,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 8840 "configure" +#line 8841 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -8935,7 +8936,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 8938 "configure" +#line 8939 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11114,11 +11115,11 @@ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:11117: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11118: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:11121: \$? = $ac_status" >&5 + echo "$as_me:11122: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -11174,11 +11175,11 @@ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:11177: $lt_compile\"" >&5) + (eval echo "\"\$as_me:11178: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:11181: \$? = $ac_status" >&5 + echo "$as_me:11182: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -12535,7 +12536,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 12538 "configure" +#line 12539 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12633,7 +12634,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 12636 "configure" +#line 12637 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -13460,11 +13461,11 @@ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:13463: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13464: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:13467: \$? = $ac_status" >&5 + echo "$as_me:13468: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -13520,11 +13521,11 @@ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:13523: $lt_compile\"" >&5) + (eval echo "\"\$as_me:13524: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:13527: \$? = $ac_status" >&5 + echo "$as_me:13528: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -15554,11 +15555,11 @@ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15557: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15558: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15561: \$? = $ac_status" >&5 + echo "$as_me:15562: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -15787,11 +15788,11 @@ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15790: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15791: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:15794: \$? = $ac_status" >&5 + echo "$as_me:15795: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings @@ -15847,11 +15848,11 @@ -e 's:.*FLAGS}? :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:15850: $lt_compile\"" >&5) + (eval echo "\"\$as_me:15851: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:15854: \$? = $ac_status" >&5 + echo "$as_me:15855: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -18031,7 +18032,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 18034 "configure" +#line 18035 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -18129,7 +18130,7 @@ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<EOF -#line 18132 "configure" +#line 18133 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -19489,6 +19490,22 @@ +# get version of rrdtool from user + +# Check whether --with-rrdtool2 or --without-rrdtool2 was given. +if test "${with_rrdtool2+set}" = set; then + withval="$with_rrdtool2" + + RRDTOOL_VER=2 + +else + + RRDTOOL_VER=0 + +fi; + +# rrdtool version 1.x.x + # Check whether --with-rrdtool-source or --without-rrdtool-source was given. if test "${with_rrdtool_source+set}" = set; then withval="$with_rrdtool_source" @@ -19497,12 +19514,12 @@ subdirs="$subdirs rrdtool" - RRDTOOL_LDADDS="\$(top_builddir)/rrdtool/src/.libs/librrd.a" + RRDTOOL_LDADDS="\$(top_builddir)/rrdtool/src/librrd.la" RRDTOOL_INCLUDEDIR="-I\$(top_builddir)/rrdtool/src" else - echo "$as_me:$LINENO: checking for rrd_create in -lrrd" >&5 + echo "$as_me:$LINENO: checking for rrd_create in -lrrd" >&5 echo $ECHO_N "checking for rrd_create in -lrrd... $ECHO_C" >&6 if test "${ac_cv_lib_rrd_rrd_create+set}" = set; then echo $ECHO_N "(cached) $ECHO_C" >&6 @@ -19570,27 +19587,33 @@ have_librrd=yes fi - if test x"$have_librrd" = x - then - echo - echo "* - ERROR -" - echo "* You need the development libraries and headers" - echo "* for rrdtool. Normally you can download a" - echo "* package called rrdtool-devel for your" - echo "* distribution, install it and everything should" - echo "* be fine" - echo "*" - echo "* Alternatively, follow these instructions..." - echo "* 1. Download, uncompress and extract rrdtool to the top BWM Tools directory" - echo "* 2. Symlink it, like this -> ln -s rrdtool-x.x.x rrdtool" - echo "* 3. Re-run ./configure with -> --with-rrdtool-source" - exit 1 - fi - RRDTOOL_LIBS="-lm -lrrd" + if test x"$have_librrd" = x + then + echo + echo "* - ERROR -" + echo "* You need the development libraries and headers" + echo "* for rrdtool. Normally you can download a" + echo "* package called rrdtool-devel for your" + echo "* distribution, install it and everything should" + echo "* be fine" + echo "*" + echo "* Alternatively, follow these instructions..." + echo "* 1. Download, uncompress and extract rrdtool-1.x.x to the top BWM Tools directory" + echo "* 2. Symlink it, like this -> ln -s rrdtool-1.x.x rrdtool" + echo "* 3. Re-run ./configure with -> --with-rrdtool-source" + echo "*" + echo "* Note:" + echo "* For rrdtool-1.2.x you must add the --with-rrdtool2 flag and possibly" + echo "* also the --disable-rrdcgi flag" + echo "*" + exit 1 + fi + RRDTOOL_LIBS="-lm -lrrd" fi; + # Checks for header files. echo "$as_me:$LINENO: checking for ANSI C header files" >&5 echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 @@ -24126,6 +24149,7 @@ s,@RRDTOOL_LDADDS@,$RRDTOOL_LDADDS,;t t s,@RRDTOOL_LIBS@,$RRDTOOL_LIBS,;t t s,@RRDTOOL_INCLUDEDIR@,$RRDTOOL_INCLUDEDIR,;t t +s,@RRDTOOL_VER@,$RRDTOOL_VER,;t t s,@ALLOCA@,$ALLOCA,;t t s,@LIBOBJS@,$LIBOBJS,;t t s,@PKG_CONFIG@,$PKG_CONFIG,;t t Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2005-05-04 10:31:43 UTC (rev 74) +++ trunk/configure.ac 2005-06-20 06:35:53 UTC (rev 75) @@ -42,35 +42,53 @@ AC_CHECK_LIB([ncurses], [curses_version]) AC_CHECK_LIB([panel], [panel_window]) + +# get version of rrdtool from user +AC_ARG_WITH([rrdtool2], + [ --with-rrdtool2 Specify that you want BWM Tools built against rrdtool 1.2.x], + [ + RRDTOOL_VER=2 + ], + [ + RRDTOOL_VER=0 + ]) + +# rrdtool version 1.x.x AC_ARG_WITH([rrdtool-source], [ --with-rrdtool-source Specify that you have the rrdtool sources in the main build dir], [ AC_CONFIG_SUBDIRS(rrdtool) - RRDTOOL_LDADDS="\$(top_builddir)/rrdtool/src/.libs/librrd.a" + RRDTOOL_LDADDS="\$(top_builddir)/rrdtool/src/librrd.la" RRDTOOL_INCLUDEDIR="-I\$(top_builddir)/rrdtool/src" ], [ - AC_CHECK_LIB([rrd], [rrd_create],have_librrd=yes,,"-lm") - if test x"$have_librrd" = x - then - echo - echo "* - ERROR -" - echo "* You need the development libraries and headers" - echo "* for rrdtool. Normally you can download a" - echo "* package called rrdtool-devel for your" - echo "* distribution, install it and everything should" - echo "* be fine" - echo "*" - echo "* Alternatively, follow these instructions..." - echo "* 1. Download, uncompress and extract rrdtool to the top BWM Tools directory" - echo "* 2. Symlink it, like this -> ln -s rrdtool-x.x.x rrdtool" - echo "* 3. Re-run ./configure with -> --with-rrdtool-source" - exit 1 - fi - RRDTOOL_LIBS="-lm -lrrd" + AC_CHECK_LIB([rrd], [rrd_create],have_librrd=yes,,"-lm") + if test x"$have_librrd" = x + then + echo + echo "* - ERROR -" + echo "* You need the development libraries and headers" + echo "* for rrdtool. Normally you can download a" + echo "* package called rrdtool-devel for your" + echo "* distribution, install it and everything should" + echo "* be fine" + echo "*" + echo "* Alternatively, follow these instructions..." + echo "* 1. Download, uncompress and extract rrdtool-1.x.x to the top BWM Tools directory" + echo "* 2. Symlink it, like this -> ln -s rrdtool-1.x.x rrdtool" + echo "* 3. Re-run ./configure with -> --with-rrdtool-source" + echo "*" + echo "* Note:" + echo "* For rrdtool-1.2.x you must add the --with-rrdtool2 flag and possibly" + echo "* also the --disable-rrdcgi flag" + echo "*" + exit 1 + fi + RRDTOOL_LIBS="-lm -lrrd" ]) -AC_SUBST(RRDTOOL_LDADDS RRDTOOL_LIBS RRDTOOL_INCLUDEDIR) +AC_SUBST(RRDTOOL_LDADDS RRDTOOL_LIBS RRDTOOL_INCLUDEDIR RRDTOOL_VER) + # Checks for header files. AC_HEADER_STDC AC_HEADER_SYS_WAIT Modified: trunk/doc/stamp-vti =================================================================== --- trunk/doc/stamp-vti 2005-05-04 10:31:43 UTC (rev 74) +++ trunk/doc/stamp-vti 2005-06-20 06:35:53 UTC (rev 75) @@ -1,4 +1,4 @@ @set UPDATED 6 April 2005 @set UPDATED-MONTH April 2005 -@set EDITION devel -@set VERSION devel +@set EDITION 200505041033 +@set VERSION 200505041033 Modified: trunk/doc/version.texi =================================================================== --- trunk/doc/version.texi 2005-05-04 10:31:43 UTC (rev 74) +++ trunk/doc/version.texi 2005-06-20 06:35:53 UTC (rev 75) @@ -1,4 +1,4 @@ @set UPDATED 6 April 2005 @set UPDATED-MONTH April 2005 -@set EDITION devel -@set VERSION devel +@set EDITION 200505041033 +@set VERSION 200505041033 Modified: trunk/ltmain.sh =================================================================== --- trunk/ltmain.sh 2005-05-04 10:31:43 UTC (rev 74) +++ trunk/ltmain.sh 2005-06-20 06:35:53 UTC (rev 75) @@ -1,7 +1,7 @@ # ltmain.sh - Provide generalized library-building support services. # NOTE: Changing this file will not affect anything until you rerun configure. # -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003 +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004 # Free Software Foundation, Inc. # Originally by Gordon Matzigkeit <go...@gn...>, 1996 # @@ -24,6 +24,29 @@ # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. +basename="s,^.*/,,g" + +# Work around backward compatibility issue on IRIX 6.5. On IRIX 6.4+, sh +# is ksh but when the shell is invoked as "sh" and the current value of +# the _XPG environment variable is not equal to 1 (one), the special +# positional parameter $0, within a function call, is the name of the +# function. +progpath="$0" + +# The name of this program: +progname=`echo "$progpath" | $SED $basename` +modename="$progname" + +# Global variables: +EXIT_SUCCESS=0 +EXIT_FAILURE=1 + +PROGRAM=ltmain.sh +PACKAGE=libtool +VERSION=1.5.6 +TIMESTAMP=" (1.1220.2.95 2004/04/11 05:50:42)" + + # Check that we have a working $echo. if test "X$1" = X--no-reexec; then # Discard the --no-reexec flag, and continue. @@ -36,7 +59,7 @@ : else # Restart under the correct shell, and then maybe $echo will work. - exec $SHELL "$0" --no-reexec ${1+"$@"} + exec $SHELL "$progpath" --no-reexec ${1+"$@"} fi if test "X$1" = X--fallback-echo; then @@ -45,19 +68,9 @@ cat <<EOF $* EOF - exit 0 + exit $EXIT_SUCCESS fi -# The name of this program. -progname=`$echo "$0" | ${SED} 's%^.*/%%'` -modename="$progname" - -# Constants. -PROGRAM=ltmain.sh -PACKAGE=libtool -VERSION=1.5.2 -TIMESTAMP=" (1.1220.2.60 2004/01/25 12:25:08)" - default_mode= help="Try \`$progname --help' for more information." magic="%%%MAGIC variable%%%" @@ -100,7 +113,7 @@ if test "$build_libtool_libs" != yes && test "$build_old_libs" != yes; then $echo "$modename: not configured to build any kind of library" 1>&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit 1 + exit $EXIT_FAILURE fi # Global variables. @@ -119,10 +132,13 @@ # Shell function definitions: # This seems to be the best place for them +# func_win32_libid arg +# return the library type of file 'arg' +# # Need a lot of goo to handle *both* DLLs and import libs # Has to be a shell function in order to 'eat' the argument # that is supplied when $file_magic_command is called. -win32_libid () { +func_win32_libid () { win32_libid_type="unknown" win32_fileres=`file -L $1 2>/dev/null` case $win32_fileres in @@ -131,7 +147,7 @@ ;; *ar\ archive*) # could be an import, or static if eval $OBJDUMP -f $1 | $SED -e '10q' 2>/dev/null | \ - grep -E 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then + $EGREP -e 'file format pe-i386(.*architecture: i386)?' >/dev/null ; then win32_nmres=`eval $NM -f posix -A $1 | \ sed -n -e '1,100{/ I /{x;/import/!{s/^/import/;h;p;};x;};}'` if test "X$win32_nmres" = "Ximport" ; then @@ -141,7 +157,7 @@ fi fi ;; - *DLL*) + *DLL*) win32_libid_type="x86 DLL" ;; *executable*) # but shell scripts are "executable" too... @@ -155,9 +171,76 @@ $echo $win32_libid_type } + +# func_infer_tag arg +# Infer tagged configuration to use if any are available and +# if one wasn't chosen via the "--tag" command line option. +# Only attempt this if the compiler in the base compile +# command doesn't match the default compiler. +# arg is usually of the form 'gcc ...' +func_infer_tag () { + if test -n "$available_tags" && test -z "$tagname"; then + CC_quoted= + for arg in $CC; do + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case $@ in + # Blanks in the command may have been stripped by the calling shell, + # but not from the CC environment variable when configure was run. + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) ;; + # Blanks at the start of $base_compile will cause this to fail + # if we don't check for them as well. + *) + for z in $available_tags; do + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$progpath" > /dev/null; then + # Evaluate the configuration. + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $progpath`" + CC_quoted= + for arg in $CC; do + # Double-quote args containing other shell metacharacters. + case $arg in + *[\[\~\#\^\&\*\(\)\{\}\|\;\<\>\?\'\ \ ]*|*]*|"") + arg="\"$arg\"" + ;; + esac + CC_quoted="$CC_quoted $arg" + done + case "$@ " in + " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "* | " $CC_quoted"* | "$CC_quoted "* | " `$echo $CC_quoted` "* | "`$echo $CC_quoted` "*) + # The compiler in the base compile command matches + # the one in the tagged configuration. + # Assume this is the tagged configuration we want. + tagname=$z + break + ;; + esac + fi + done + # If $tagname still isn't set, then no tagged configuration + # was found and let the user know that the "--tag" command + # line option must be used. + if test -z "$tagname"; then + $echo "$modename: unable to infer tagged configuration" + $echo "$modename: specify a tag with \`--tag'" 1>&2 + exit $EXIT_FAILURE +# else +# $echo "$modename: using $tagname tagged configuration" + fi + ;; + esac + fi +} # End of Shell function definitions ##################################### +# Darwin sucks +eval std_shrext=\"$shrext_cmds\" + # Parse our command line options once, thoroughly. while test "$#" -gt 0 do @@ -183,7 +266,7 @@ case $tagname in *[!-_A-Za-z0-9,/]*) $echo "$progname: invalid tag name: $tagname" 1>&2 - exit 1 + exit $EXIT_FAILURE ;; esac @@ -193,10 +276,10 @@ # not specially marked. ;; *) - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$0" > /dev/null; then + if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$" < "$progpath" > /dev/null; then taglist="$taglist $tagname" # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $0`" + eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$tagname'$/,/^# ### END LIBTOOL TAG CONFIG: '$tagname'$/p' < $progpath`" else $echo "$progname: ignoring unknown tag $tagname" 1>&2 fi @@ -225,16 +308,16 @@ $echo "Copyright (C) 2003 Free Software Foundation, Inc." $echo "This is free software; see the source for copying conditions. There is NO" $echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." - exit 0 + exit $EXIT_SUCCESS ;; --config) - ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $0 + ${SED} -e '1,/^# ### BEGIN LIBTOOL CONFIG/d' -e '/^# ### END LIBTOOL CONFIG/,$d' $progpath # Now print the configurations for the tags. for tagname in $taglist; do - ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$0" + ${SED} -n -e "/^# ### BEGIN LIBTOOL TAG CONFIG: $tagname$/,/^# ### END LIBTOOL TAG CONFIG: $tagname$/p" < "$progpath" done - exit 0 + exit $EXIT_SUCCESS ;; --debug) @@ -259,7 +342,7 @@ else $echo "disable static libraries" fi - exit 0 + exit $EXIT_SUCCESS ;; --finish) mode="finish" ;; @@ -290,7 +373,7 @@ -*) $echo "$modename: unrecognized option \`$arg'" 1>&2 $echo "$help" 1>&2 - exit 1 + exit $EXIT_FAILURE ;; *) @@ -303,7 +386,7 @@ if test -n "$prevopt"; then $echo "$modename: option \`$prevopt' requires an argument" 1>&2 $echo "$help" 1>&2 - exit 1 + exit $EXIT_FAILURE fi # If this variable is set in any of the actions, the command in it @@ -359,7 +442,7 @@ if test -n "$execute_dlfiles" && test "$mode" != execute; then $echo "$modename: unrecognized option \`-dlopen'" 1>&2 $echo "$help" 1>&2 - exit 1 + exit $EXIT_FAILURE fi # Change the help message to a mode-specific one. @@ -401,7 +484,7 @@ -o) if test -n "$libobj" ; then $echo "$modename: you cannot specify \`-o' more than once" 1>&2 - exit 1 + exit $EXIT_FAILURE fi arg_mode=target continue @@ -426,7 +509,7 @@ args=`$echo "X$arg" | $Xsed -e "s/^-Wc,//"` lastarg= save_ifs="$IFS"; IFS=',' - for arg in $args; do + for arg in $args; do IFS="$save_ifs" # Double-quote args containing other shell metacharacters. @@ -476,11 +559,11 @@ case $arg_mode in arg) $echo "$modename: you must specify an argument for -Xcompile" - exit 1 + exit $EXIT_FAILURE ;; target) $echo "$modename: you must specify a target with \`-o'" 1>&2 - exit 1 + exit $EXIT_FAILURE ;; *) # Get the name of the library object. @@ -513,50 +596,11 @@ *.lo) obj=`$echo "X$libobj" | $Xsed -e "$lo2o"` ;; *) $echo "$modename: cannot determine name of library object from \`$libobj'" 1>&2 - exit 1 + exit $EXIT_FAILURE ;; esac - # Infer tagged configuration to use if any are available and - # if one wasn't chosen via the "--tag" command line option. - # Only attempt this if the compiler in the base compile - # command doesn't match the default compiler. - if test -n "$available_tags" && test -z "$tagname"; then - case $base_compile in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - " $CC "* | "$CC "* | " `$echo $CC` "* | "`$echo $CC` "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" - case "$base_compile " in - "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) - # The compiler in the base compile command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - $echo "$modename: unable to infer tagged configuration" - $echo "$modename: specify a tag with \`--tag'" 1>&2 - exit 1 -# else -# $echo "$modename: using $tagname tagged configuration" - fi - ;; - esac - fi + func_infer_tag $base_compile for arg in $later; do case $arg in @@ -589,7 +633,7 @@ if test -z "$base_compile"; then $echo "$modename: you must specify a compilation command" 1>&2 $echo "$help" 1>&2 - exit 1 + exit $EXIT_FAILURE fi # Delete any leftover library objects. @@ -600,7 +644,7 @@ fi $run $rm $removelist - trap "$run $rm $removelist; exit 1" 1 2 15 + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 # On Cygwin there's no "real" PIC flag so we must build both object types case $host_os in @@ -619,7 +663,7 @@ output_obj=`$echo "X$srcfile" | $Xsed -e 's%^.*/%%' -e 's%\.[^.]*$%%'`.${objext} lockfile="$output_obj.lock" removelist="$removelist $output_obj $lockfile" - trap "$run $rm $removelist; exit 1" 1 2 15 + trap "$run $rm $removelist; exit $EXIT_FAILURE" 1 2 15 else output_obj= need_locks=no @@ -629,7 +673,7 @@ # Lock this critical section if it is needed # We use this script file to make the link, it avoids creating a new file if test "$need_locks" = yes; then - until $run ln "$0" "$lockfile" 2>/dev/null; do + until $run ln "$progpath" "$lockfile" 2>/dev/null; do $show "Waiting for $lockfile to be removed" sleep 2 done @@ -647,7 +691,7 @@ compiler." $run $rm $removelist - exit 1 + exit $EXIT_FAILURE fi $echo $srcfile > "$lockfile" fi @@ -702,7 +746,7 @@ if $run eval "$command"; then : else test -n "$output_obj" && $run $rm $removelist - exit 1 + exit $EXIT_FAILURE fi if test "$need_locks" = warn && @@ -722,7 +766,7 @@ compiler." $run $rm $removelist - exit 1 + exit $EXIT_FAILURE fi # Just move the object if needed, then go on to compile the next one @@ -774,7 +818,7 @@ if $run eval "$command"; then : else $run $rm $removelist - exit 1 + exit $EXIT_FAILURE fi if test "$need_locks" = warn && @@ -794,7 +838,7 @@ compiler." $run $rm $removelist - exit 1 + exit $EXIT_FAILURE fi # Just move the object if needed @@ -832,7 +876,7 @@ $run $rm "$lockfile" fi - exit 0 + exit $EXIT_SUCCESS ;; # libtool link mode @@ -904,46 +948,7 @@ vinfo= vinfo_number=no - # Infer tagged configuration to use if any are available and - # if one wasn't chosen via the "--tag" command line option. - # Only attempt this if the compiler in the base link - # command doesn't match the default compiler. - if test -n "$available_tags" && test -z "$tagname"; then - case $base_compile in - # Blanks in the command may have been stripped by the calling shell, - # but not from the CC environment variable when configure was run. - "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) ;; - # Blanks at the start of $base_compile will cause this to fail - # if we don't check for them as well. - *) - for z in $available_tags; do - if grep "^# ### BEGIN LIBTOOL TAG CONFIG: $z$" < "$0" > /dev/null; then - # Evaluate the configuration. - eval "`${SED} -n -e '/^# ### BEGIN LIBTOOL TAG CONFIG: '$z'$/,/^# ### END LIBTOOL TAG CONFIG: '$z'$/p' < $0`" - case $base_compile in - "$CC "* | " $CC "* | "`$echo $CC` "* | " `$echo $CC` "*) - # The compiler in $compile_command matches - # the one in the tagged configuration. - # Assume this is the tagged configuration we want. - tagname=$z - break - ;; - esac - fi - done - # If $tagname still isn't set, then no tagged configuration - # was found and let the user know that the "--tag" command - # line option must be used. - if test -z "$tagname"; then - $echo "$modename: unable to infer tagged configuration" - $echo "$modename: specify a tag with \`--tag'" 1>&2 - exit 1 -# else -# $echo "$modename: using $tagname tagged configuration" - fi - ;; - esac - fi + func_infer_tag $base_compile # We need to know -static, to get the right output filenames. for arg @@ -1039,7 +1044,7 @@ export_symbols="$arg" if test ! -f "$arg"; then $echo "$modename: symbol file \`$arg' does not exist" - exit 1 + exit $EXIT_FAILURE fi prev= continue @@ -1091,7 +1096,7 @@ test "$pic_object" = none && \ test "$non_pic_object" = none; then $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit 1 + exit $EXIT_FAILURE fi # Extract subdirectory from the argument. @@ -1144,7 +1149,7 @@ # Only an error if not doing a dry-run. if test -z "$run"; then $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit 1 + exit $EXIT_FAILURE else # Dry-run case. @@ -1165,7 +1170,7 @@ done else $echo "$modename: link input file \`$save_arg' does not exist" - exit 1 + exit $EXIT_FAILURE fi arg=$save_arg prev= @@ -1177,7 +1182,7 @@ [\\/]* | [A-Za-z]:[\\/]*) ;; *) $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit 1 + exit $EXIT_FAILURE ;; esac if test "$prev" = rpath; then @@ -1217,6 +1222,11 @@ finalize_command="$finalize_command $qarg" continue ;; + shrext) + shrext_cmds="$arg" + prev= + continue + ;; *) eval "$prev=\"\$arg\"" prev= @@ -1265,7 +1275,7 @@ -export-symbols | -export-symbols-regex) if test -n "$export_symbols" || test -n "$export_symbols_regex"; then $echo "$modename: more than one -exported-symbols argument is not allowed" - exit 1 + exit $EXIT_FAILURE fi if test "X$arg" = "X-export-symbols"; then prev=expsyms @@ -1301,7 +1311,7 @@ absdir=`cd "$dir" && pwd` if test -z "$absdir"; then $echo "$modename: cannot determine absolute directory name of \`$dir'" 1>&2 - exit 1 + exit $EXIT_FAILURE fi dir="$absdir" ;; @@ -1452,7 +1462,7 @@ [\\/]* | [A-Za-z]:[\\/]*) ;; *) $echo "$modename: only absolute run-paths are allowed" 1>&2 - exit 1 + exit $EXIT_FAILURE ;; esac case "$xrpath " in @@ -1575,7 +1585,7 @@ test "$pic_object" = none && \ test "$non_pic_object" = none; then $echo "$modename: cannot find name of object for \`$arg'" 1>&2 - exit 1 + exit $EXIT_FAILURE fi # Extract subdirectory from the argument. @@ -1628,7 +1638,7 @@ # Only an error if not doing a dry-run. if test -z "$run"; then $echo "$modename: \`$arg' is not a valid libtool object" 1>&2 - exit 1 + exit $EXIT_FAILURE else # Dry-run case. @@ -1695,7 +1705,7 @@ if test -n "$prev"; then $echo "$modename: the \`$prevarg' option requires an argument" 1>&2 $echo "$help" 1>&2 - exit 1 + exit $EXIT_FAILURE fi if test "$export_dynamic" = yes && test -n "$export_dynamic_flag_spec"; then @@ -1739,7 +1749,7 @@ "") $echo "$modename: you must specify an output file" 1>&2 $echo "$help" 1>&2 - exit 1 + exit $EXIT_FAILURE ;; *.$libext) linkmode=oldlib ;; *.lo | *.$objext) linkmode=obj ;; @@ -1749,7 +1759,7 @@ case $host in *cygwin* | *mingw* | *pw32*) - # don't eliminate duplcations in $postdeps and $predeps + # don't eliminate duplications in $postdeps and $predeps duplicate_compiler_generated_deps=yes ;; *) @@ -1802,7 +1812,7 @@ *.la) ;; *) $echo "$modename: libraries can \`-dlopen' only libtool libraries: $file" 1>&2 - exit 1 + exit $EXIT_FAILURE ;; esac done @@ -1860,7 +1870,7 @@ fi name=`$echo "X$deplib" | $Xsed -e 's/^-l//'` for searchdir in $newlib_search_path $lib_search_path $sys_lib_search_path $shlib_search_path; do - for search_ext in .la $shrext .so .a; do + for search_ext in .la $std_shrext .so .a; do # Search the libtool library lib="$searchdir/lib${name}${search_ext}" if test -f "$lib"; then @@ -1936,11 +1946,11 @@ fi if test "$pass" = scan; then deplibs="$deplib $deplibs" - newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` else compile_deplibs="$deplib $compile_deplibs" finalize_deplibs="$deplib $finalize_deplibs" fi + newlib_search_path="$newlib_search_path "`$echo "X$deplib" | $Xsed -e 's/^-L//'` ;; *) $echo "$modename: warning: \`-L' is ignored for archives/objects" 1>&2 @@ -2019,14 +2029,14 @@ if test "$found" = yes || test -f "$lib"; then : else $echo "$modename: cannot find the library \`$lib'" 1>&2 - exit 1 + exit $EXIT_FAILURE fi # Check to see that this really is a libtool archive. if (${SED} -e '2q' $lib | grep "^# Generated by .*$PACKAGE") >/dev/null 2>&1; then : else $echo "$modename: \`$lib' is not a valid libtool archive" 1>&2 - exit 1 + exit $EXIT_FAILURE fi ladir=`$echo "X$lib" | $Xsed -e 's%/[^/]*$%%'` @@ -2062,7 +2072,7 @@ if test -z "$libdir"; then if test -z "$old_library"; then $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit 1 + exit $EXIT_FAILURE fi # It is a libtool convenience library, so add in its objects. convenience="$convenience $ladir/$objdir/$old_library" @@ -2079,12 +2089,12 @@ done elif test "$linkmode" != prog && test "$linkmode" != lib; then $echo "$modename: \`$lib' is not a convenience library" 1>&2 - exit 1 + exit $EXIT_FAILURE fi continue fi # $pass = conv - + # Get the name of the library we link against. linklib= for l in $old_library $library_names; do @@ -2092,16 +2102,18 @@ done if test -z "$linklib"; then $echo "$modename: cannot find name of link library for \`$lib'" 1>&2 - exit 1 + exit $EXIT_FAILURE fi # This library was specified with -dlopen. if test "$pass" = dlopen; then if test -z "$libdir"; then $echo "$modename: cannot -dlopen a convenience library: \`$lib'" 1>&2 - exit 1 + exit $EXIT_FAILURE fi - if test -z "$dlname" || test "$dlopen_support" != yes || test "$build_libtool_libs" = no; then + if test -z "$dlname" || + test "$dlopen_support" != yes || + test "$build_libtool_libs" = no; then # If there is no dlname, no dlopen support or we're linking # statically, we need to preload. We also need to preload any # dependent libraries so libltdl's deplib preloader doesn't @@ -2150,7 +2162,7 @@ if test "$pass" = dlpreopen; then if test -z "$libdir"; then $echo "$modename: cannot -dlpreopen a convenience library: \`$lib'" 1>&2 - exit 1 + exit $EXIT_FAILURE fi # Prefer using a static library (so that no silly _DYNAMIC symbols # are required to link). @@ -2177,7 +2189,7 @@ continue fi - + if test "$linkmode" = prog && test "$pass" != link; then newlib_search_path="$newlib_search_path $ladir" deplibs="$lib $deplibs" @@ -2264,17 +2276,18 @@ need_relink=yes fi # This is a shared library - - # Warn about portability, can't link against -module's on some systems (darwin) - if test "$shouldnotlink" = yes && test "$pass" = link ; then + + # Warn about portability, can't link against -module's on + # some systems (darwin) + if test "$shouldnotlink" = yes && test "$pass" = link ; then $echo if test "$linkmode" = prog; then $echo "*** Warning: Linking the executable $output against the loadable module" else $echo "*** Warning: Linking the shared library $output against the loadable module" fi - $echo "*** $linklib is not portable!" - fi + $echo "*** $linklib is not portable!" + fi if test "$linkmode" = lib && test "$hardcode_into_libs" = yes; then # Hardcode the library path. @@ -2372,9 +2385,9 @@ case $host in *-*-sco3.2v5* ) add_dir="-L$dir" ;; *-*-darwin* ) - # if the lib is a module then we can not link against it, someone - # is ignoring the new warnings I added - if /usr/bin/file -L $add 2> /dev/null | grep "bundle" >/dev/null ; then + # if the lib is a module then we can not link against + # it, someone is ignoring the new warnings I added + if /usr/bin/file -L $add 2> /dev/null | $EGREP "bundle" >/dev/null ; then $echo "** Warning, lib $linklib is a module, not a shared library" if test -z "$old_library" ; then $echo @@ -2382,7 +2395,7 @@ $echo "** The link will probably fail, sorry" else add="$dir/$old_library" - fi + fi fi esac elif test "$hardcode_minus_L" = no; then @@ -2424,7 +2437,7 @@ if test "$lib_linked" != yes; then $echo "$modename: configuration error: unsupported hardcode properties" - exit 1 + exit $EXIT_FAILURE fi if test -n "$add_shlibpath"; then @@ -2467,7 +2480,8 @@ esac add="-l$name" elif test "$hardcode_automatic" = yes; then - if test -n "$inst_prefix_dir" && test -f "$inst_prefix_dir$libdir/$linklib" ; then + if test -n "$inst_prefix_dir" && + test -f "$inst_prefix_dir$libdir/$linklib" ; then add="$inst_prefix_dir$libdir/$linklib" else add="$libdir/$linklib" @@ -2547,7 +2561,8 @@ if test "$linkmode" = lib; then if test -n "$dependency_libs" && - { test "$hardcode_into_libs" != yes || test "$build_old_libs" = yes || + { test "$hardcode_into_libs" != yes || + test "$build_old_libs" = yes || test "$link_static" = yes; }; then # Extract -R from dependency_libs temp_deplibs= @@ -2604,7 +2619,7 @@ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` if test -z "$libdir"; then $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 - exit 1 + exit $EXIT_FAILURE fi if test "$absdir" != "$libdir"; then $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 @@ -2614,7 +2629,8 @@ depdepl= case $host in *-*-darwin*) - # we do not want to link against static libs, but need to link against shared + # we do not want to link against static libs, + # but need to link against shared eval deplibrary_names=`${SED} -n -e 's/^library_names=\(.*\)$/\1/p' $deplib` if test -n "$deplibrary_names" ; then for tmp in $deplibrary_names ; do @@ -2622,7 +2638,7 @@ done if test -f "$path/$depdepl" ; then depdepl="$path/$depdepl" - fi + fi # do not add paths which are already there case " $newlib_search_path " in *" $path "*) ;; @@ -2632,33 +2648,32 @@ path="" ;; *) - path="-L$path" + path="-L$path" + ;; + esac ;; - esac - - ;; - -l*) + -l*) case $host in *-*-darwin*) - # Again, we only want to link against shared libraries - eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` - for tmp in $newlib_search_path ; do - if test -f "$tmp/lib$tmp_libs.dylib" ; then - eval depdepl="$tmp/lib$tmp_libs.dylib" - break - fi - done - path="" + # Again, we only want to link against shared libraries + eval tmp_libs=`$echo "X$deplib" | $Xsed -e "s,^\-l,,"` + for tmp in $newlib_search_path ; do + if test -f "$tmp/lib$tmp_libs.dylib" ; then + eval depdepl="$tmp/lib$tmp_libs.dylib" + break + fi + done + path="" ;; *) continue ;; - esac + esac ;; *) continue ;; esac case " $deplibs " in *" $depdepl "*) ;; - *) deplibs="$deplibs $depdepl" ;; - esac + *) deplibs="$depdepl $deplibs" ;; + esac case " $deplibs " in *" $path "*) ;; *) deplibs="$deplibs $path" ;; @@ -2748,7 +2763,8 @@ eval $var=\"$tmp_libs\" done # for var fi - # Last step: remove runtime libs from dependency_libs (they stay in deplibs) + # Last step: remove runtime libs from dependency_libs + # (they stay in deplibs) tmp_libs= for i in $dependency_libs ; do case " $predeps $postdeps $compiler_lib_search_path " in @@ -2808,19 +2824,19 @@ case $outputname in lib*) name=`$echo "X$outputname" | $Xsed -e 's/\.la$//' -e 's/^lib//'` - eval shared_ext=\"$shrext\" + eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" ;; *) if test "$module" = no; then $echo "$modename: libtool library \`$output' must begin with \`lib'" 1>&2 $echo "$help" 1>&2 - exit 1 + exit $EXIT_FAILURE fi if test "$need_lib_prefix" != no; then # Add the "lib" prefix for modules if required name=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` - eval shared_ext=\"$shrext\" + eval shared_ext=\"$shrext_cmds\" eval libname=\"$libname_spec\" else libname=`$echo "X$outputname" | $Xsed -e 's/\.la$//'` @@ -2831,7 +2847,7 @@ if test -n "$objs"; then if test "$deplibs_check_method" != pass_all; then $echo "$modename: cannot build libtool library \`$output' from non-libtool objects on this host:$objs" 2>&1 - exit 1 + exit $EXIT_FAILURE else $echo $echo "*** Warning: Linking the shared library $output against the non-libtool" @@ -2879,13 +2895,13 @@ if test -n "$8"; then $echo "$modename: too many parameters to \`-version-info'" 1>&2 $echo "$help" 1>&2 - exit 1 + exit $EXIT_FAILURE fi # convert absolute version numbers to libtool ages # this retains compatibility with .la files and attempts # to make the code below a bit more comprehensible - + case $vinfo_number in yes) number_major="$2" @@ -2929,7 +2945,7 @@ *) $echo "$modename: CURRENT \`$current' is not a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 + exit $EXIT_FAILURE ;; esac @@ -2938,7 +2954,7 @@ *) $echo "$modename: REVISION \`$revision' is not a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 + exit $EXIT_FAILURE ;; esac @@ -2947,14 +2963,14 @@ *) $echo "$modename: AGE \`$age' is not a nonnegative integer" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 + exit $EXIT_FAILURE ;; esac if test "$age" -gt "$current"; then $echo "$modename: AGE \`$age' is greater than the current interface number \`$current'" 1>&2 $echo "$modename: \`$vinfo' is not valid version information" 1>&2 - exit 1 + exit $EXIT_FAILURE fi # Calculate the version variables. @@ -3043,7 +3059,7 @@ *) $echo "$modename: unknown library version type \`$version_type'" 1>&2 $echo "Fatal configuration error. See the $PACKAGE docs for more information." 1>&2 - exit 1 + exit $EXIT_FAILURE ;; esac @@ -3097,9 +3113,11 @@ *.$objext) ;; $output_objdir/$outputname | $output_objdir/$libname.* | $output_objdir/${libname}${release}.*) - if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 - then - continue + if test "X$precious_files_regex" != "X"; then + if echo $p | $EGREP -e "$precious_files_regex" >/dev/null 2>&1 + then + continue + fi fi removelist="$removelist $p" ;; @@ -3580,7 +3598,7 @@ fi # Get the real and link names of the library. - eval shared_ext=\"$shrext\" + eval shared_ext=\"$shrext_cmds\" eval library_names=\"$library_names_spec\" set dummy $library_names realname="$2" @@ -3644,12 +3662,12 @@ for test_deplib in $deplibs; do case " $convenience " in *" $test_deplib "*) ;; - *) + *) tmp_deplibs="$tmp_deplibs $test_deplib" ;; esac done - deplibs="$tmp_deplibs" + deplibs="$tmp_deplibs" if test -n "$convenience"; then if test -n "$whole_archive_flag_spec"; then @@ -3832,7 +3850,6 @@ save_ifs="$IFS"; IFS='~' for cmd in $concat_cmds; do IFS="$save_ifs" - eval cmd=\"$cmd\" $show "$cmd" $run eval "$cmd" || exit $? done @@ -3879,7 +3896,7 @@ # Restore the uninstalled library and exit if test "$mode" = relink; then $run eval '(cd $output_objdir && $rm ${realname}T && $mv $realname ${realname}T && $mv "$realname"U $realname)' || exit $? - exit 0 + exit $EXIT_SUCCESS fi # Create links to the r... [truncated message content] |
From: <sv...@li...> - 2005-06-20 09:01:27
|
Author: nkukard Date: 2005-06-20 08:14:12 +0000 (Mon, 20 Jun 2005) New Revision: 76 Modified: trunk/README Log: * Added more info to readme Modified: trunk/README =================================================================== --- trunk/README 2005-06-20 06:35:53 UTC (rev 75) +++ trunk/README 2005-06-20 08:14:12 UTC (rev 76) @@ -18,16 +18,29 @@ Notes: ------ -1. When building BWM Tools with the --with-rrdtool-source option, you MUST +You need the development libraries and headers for rrdtool. Normally you can +download a package called rrdtool-devel for your distribution, install it +and everything should be fine. + +Alternatively, follow these instructions... +1. Download, uncompress and extract rrdtool-1.x.x to the top BWM Tools directory +2. Symlink it, like this -> ln -s rrdtool-1.x.x rrdtool +3. Re-run ./configure with -> --with-rrdtool-source + +For rrdtool-1.2.x you must add the --with-rrdtool2 flag and possibly +also the --disable-rrdcgi flag. + + +* When building BWM Tools with the --with-rrdtool-source option, you MUST run configure and make from the top_srcdir, due to a build flaw in rrdtool you CANNOT create a build directory, run ../configure --with-rrdtool-source and think it will work as expected. -2. If you're building BWM Tools with the --with-rrdtool-source options, and +* If you're building BWM Tools with the --with-rrdtool-source options, and you're using rrdtool 1.2.x you might need to add the --disable-rrdcgi option if the configure complains about cgilib. -3. Furthermore the rrdtool directory is only built, it is not cleaned when +* Furthermore the rrdtool directory is only built, it is not cleaned when running make clean, nor is it installed when running make install. If you need to run a make command on it, CD into it and do it from there. |
From: <sv...@li...> - 2005-05-04 10:33:07
|
Author: nkukard Date: 2005-05-04 10:31:43 +0000 (Wed, 04 May 2005) New Revision: 74 Modified: trunk/Makefile.am trunk/Makefile.in trunk/README trunk/bwm_firewall/Makefile.in trunk/bwm_graph/Makefile.am trunk/bwm_graph/Makefile.in trunk/bwm_graph/graph.c trunk/bwm_monitor/Makefile.in trunk/bwmd/Makefile.in trunk/configure trunk/configure.ac trunk/doc/Makefile.in trunk/lib/Makefile.in Log: * Fixed bug that prevented bwm_graph from being built without the build system including rrd.h * Documented rare build case in which rrdtool does not build Modified: trunk/Makefile.am =================================================================== --- trunk/Makefile.am 2005-04-20 06:53:04 UTC (rev 73) +++ trunk/Makefile.am 2005-05-04 10:31:43 UTC (rev 74) @@ -17,7 +17,7 @@ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -SUBDIRS=$(subdirs) lib bwm_firewall bwm_graph bwmd bwm_monitor doc +SUBDIRS=lib bwm_firewall bwm_graph bwmd bwm_monitor doc EXTRA_DIST=include/autoclass.h include/common.h include/flow.h include/flowControl.h include/ipq.h EXTRA_DIST+=include/libipq.h include/misc.h include/report.h include/xmlConf.h Modified: trunk/Makefile.in =================================================================== --- trunk/Makefile.in 2005-04-20 06:53:04 UTC (rev 73) +++ trunk/Makefile.in 2005-05-04 10:31:43 UTC (rev 74) @@ -146,7 +146,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ -RRDTOOL_LIBS = @RRDTOOL_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -199,7 +198,7 @@ subdirs = @subdirs@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ -SUBDIRS = $(subdirs) lib bwm_firewall bwm_graph bwmd bwm_monitor doc +SUBDIRS = lib bwm_firewall bwm_graph bwmd bwm_monitor doc EXTRA_DIST = include/autoclass.h include/common.h include/flow.h \ include/flowControl.h include/ipq.h include/libipq.h \ include/misc.h include/report.h include/xmlConf.h Modified: trunk/README =================================================================== --- trunk/README 2005-04-20 06:53:04 UTC (rev 73) +++ trunk/README 2005-05-04 10:31:43 UTC (rev 74) @@ -16,6 +16,14 @@ Bandwidth management daemon, used to manage flows and log traffic stats +Notes: +------ +When building BWM Tools with the --with-rrdtool-source option, you MUST +run configure and make from the top_srcdir, due to a build flaw in rrdtool +you CANNOT create a build directory, run ../configure --with-rrdtool-source +and think it will work as expected. + + Requirements ------------ GLib >= 2.4.0 Modified: trunk/bwm_firewall/Makefile.in =================================================================== --- trunk/bwm_firewall/Makefile.in 2005-04-20 06:53:04 UTC (rev 73) +++ trunk/bwm_firewall/Makefile.in 2005-05-04 10:31:43 UTC (rev 74) @@ -144,7 +144,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ -RRDTOOL_LIBS = @RRDTOOL_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ Modified: trunk/bwm_graph/Makefile.am =================================================================== --- trunk/bwm_graph/Makefile.am 2005-04-20 06:53:04 UTC (rev 73) +++ trunk/bwm_graph/Makefile.am 2005-05-04 10:31:43 UTC (rev 74) @@ -22,14 +22,21 @@ GLIB_LIBS=@GLIB_LIBS@ GLIB_CFLAGS=@GLIB_CFLAGS@ +RRDTOOL_INCLUDEDIR=@RRDTOOL_INCLUDEDIR@ RRDTOOL_LIBS=@RRDTOOL_LIBS@ +RRDTOOL_LDADDS=@RRDTOOL_LDADDS@ LOG_DIR=@localstatedir@/bwm_tools bin_PROGRAMS = bwm_graph bwm_graph_SOURCES = bwm_graph.c graph.c -bwm_graph_LDADD = $(top_builddir)/lib/libbwm.la -bwm_graph_CFLAGS = -I$(top_srcdir)/include $(GLIB_CFLAGS) -DLOG_DIR=\"$(LOG_DIR)\" $(AM_CFLAGS) +bwm_graph_DEPENDENCIES = $(RRDTOOL_LDADDS) +bwm_graph_LDADD = $(top_builddir)/lib/libbwm.la $(RRDTOOL_LDADDS) +bwm_graph_CFLAGS = $(RRDTOOL_INCLUDEDIR) -I$(top_srcdir)/include $(GLIB_CFLAGS) -DLOG_DIR=\"$(LOG_DIR)\" $(AM_CFLAGS) bwm_graph_LDFLAGS = $(GLIB_LIBS) $(RRDTOOL_LIBS) +# Build rrdtool if we need it +$(top_builddir)/rrdtool/src/.libs/librrd.a: + $(MAKE) $(AM_MAKEFLAGS) -C ../rrdtool + Modified: trunk/bwm_graph/Makefile.in =================================================================== --- trunk/bwm_graph/Makefile.in 2005-04-20 06:53:04 UTC (rev 73) +++ trunk/bwm_graph/Makefile.in 2005-05-04 10:31:43 UTC (rev 74) @@ -72,7 +72,7 @@ am_bwm_graph_OBJECTS = bwm_graph-bwm_graph.$(OBJEXT) \ bwm_graph-graph.$(OBJEXT) bwm_graph_OBJECTS = $(am_bwm_graph_OBJECTS) -bwm_graph_DEPENDENCIES = $(top_builddir)/lib/libbwm.la +am__DEPENDENCIES_1 = DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) depcomp = $(SHELL) $(top_srcdir)/depcomp am__depfiles_maybe = depfiles @@ -145,7 +145,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ -RRDTOOL_LIBS = @RRDTOOL_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ @@ -199,10 +198,14 @@ sysconfdir = @sysconfdir@ target_alias = @target_alias@ EXTRA_DIST = graph.h +RRDTOOL_INCLUDEDIR = @RRDTOOL_INCLUDEDIR@ +RRDTOOL_LIBS = @RRDTOOL_LIBS@ +RRDTOOL_LDADDS = @RRDTOOL_LDADDS@ LOG_DIR = @localstatedir@/bwm_tools bwm_graph_SOURCES = bwm_graph.c graph.c -bwm_graph_LDADD = $(top_builddir)/lib/libbwm.la -bwm_graph_CFLAGS = -I$(top_srcdir)/include $(GLIB_CFLAGS) -DLOG_DIR=\"$(LOG_DIR)\" $(AM_CFLAGS) +bwm_graph_DEPENDENCIES = $(RRDTOOL_LDADDS) +bwm_graph_LDADD = $(top_builddir)/lib/libbwm.la $(RRDTOOL_LDADDS) +bwm_graph_CFLAGS = $(RRDTOOL_INCLUDEDIR) -I$(top_srcdir)/include $(GLIB_CFLAGS) -DLOG_DIR=\"$(LOG_DIR)\" $(AM_CFLAGS) bwm_graph_LDFLAGS = $(GLIB_LIBS) $(RRDTOOL_LIBS) all: all-am @@ -505,6 +508,10 @@ pdf pdf-am ps ps-am tags uninstall uninstall-am \ uninstall-binPROGRAMS uninstall-info-am + +# Build rrdtool if we need it +$(top_builddir)/rrdtool/src/.libs/librrd.a: + $(MAKE) $(AM_MAKEFLAGS) -C ../rrdtool # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: Modified: trunk/bwm_graph/graph.c =================================================================== --- trunk/bwm_graph/graph.c 2005-04-20 06:53:04 UTC (rev 73) +++ trunk/bwm_graph/graph.c 2005-05-04 10:31:43 UTC (rev 74) @@ -35,6 +35,7 @@ #include <time.h> #include <unistd.h> #include <rrd.h> + #include "common.h" #include "graph.h" #include "misc.h" Modified: trunk/bwm_monitor/Makefile.in =================================================================== --- trunk/bwm_monitor/Makefile.in 2005-04-20 06:53:04 UTC (rev 73) +++ trunk/bwm_monitor/Makefile.in 2005-05-04 10:31:43 UTC (rev 74) @@ -145,7 +145,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ -RRDTOOL_LIBS = @RRDTOOL_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ Modified: trunk/bwmd/Makefile.in =================================================================== --- trunk/bwmd/Makefile.in 2005-04-20 06:53:04 UTC (rev 73) +++ trunk/bwmd/Makefile.in 2005-05-04 10:31:43 UTC (rev 74) @@ -147,7 +147,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ -RRDTOOL_LIBS = @RRDTOOL_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ Modified: trunk/configure =================================================================== --- trunk/configure 2005-04-20 06:53:04 UTC (rev 73) +++ trunk/configure 2005-05-04 10:31:43 UTC (rev 74) @@ -464,7 +464,7 @@ #endif" ac_subdirs_all="$ac_subdirs_all rrdtool" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL subdirs RRDTOOL! _LIBS ALLOCA LIBOBJS PKG_CONFIG GLIB_CFLAGS GLIB_LIBS GLIB_GENMARSHAL GOBJECT_QUERY GLIB_MKENUMS XML2_CONFIG XML_CPPFLAGS XML_LIBS XML_CFLAGS LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE build build_cpu build_vendor build_os host host_cpu host_vendor host_os EGREP LN_S ECHO AR ac_ct_AR RANLIB ac_ct_RANLIB CPP CXX CXXFLAGS ac_ct_CXX CXXDEPMODE am__fastdepCXX_TRUE am__fastdepCXX_FALSE CXXCPP F77 FFLAGS ac_ct_F77 LIBTOOL subdirs RRDTOOL! _LDADDS RRDTOOL_LIBS RRDTOOL_INCLUDEDIR ALLOCA LIBOBJS PKG_CONFIG GLIB_CFLAGS GLIB_LIBS GLIB_GENMARSHAL GOBJECT_QUERY GLIB_MKENUMS XML2_CONFIG XML_CPPFLAGS XML_LIBS XML_CFLAGS LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -19497,7 +19497,8 @@ subdirs="$subdirs rrdtool" - RRDTOOL_LIBS="\$(top_builddir)/rrdtool/src/.libs/librrd.a" + RRDTOOL_LDADDS="\$(top_builddir)/rrdtool/src/.libs/librrd.a" + RRDTOOL_INCLUDEDIR="-I\$(top_builddir)/rrdtool/src" else @@ -24122,7 +24123,9 @@ s,@ac_ct_F77@,$ac_ct_F77,;t t s,@LIBTOOL@,$LIBTOOL,;t t s,@subdirs@,$subdirs,;t t +s,@RRDTOOL_LDADDS@,$RRDTOOL_LDADDS,;t t s,@RRDTOOL_LIBS@,$RRDTOOL_LIBS,;t t +s,@RRDTOOL_INCLUDEDIR@,$RRDTOOL_INCLUDEDIR,;t t s,@ALLOCA@,$ALLOCA,;t t s,@LIBOBJS@,$LIBOBJS,;t t s,@PKG_CONFIG@,$PKG_CONFIG,;t t Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2005-04-20 06:53:04 UTC (rev 73) +++ trunk/configure.ac 2005-05-04 10:31:43 UTC (rev 74) @@ -46,7 +46,8 @@ [ --with-rrdtool-source Specify that you have the rrdtool sources in the main build dir], [ AC_CONFIG_SUBDIRS(rrdtool) - RRDTOOL_LIBS="\$(top_builddir)/rrdtool/src/.libs/librrd.a" + RRDTOOL_LDADDS="\$(top_builddir)/rrdtool/src/.libs/librrd.a" + RRDTOOL_INCLUDEDIR="-I\$(top_builddir)/rrdtool/src" ], [ AC_CHECK_LIB([rrd], [rrd_create],have_librrd=yes,,"-lm") @@ -68,7 +69,7 @@ fi RRDTOOL_LIBS="-lm -lrrd" ]) -AC_SUBST(RRDTOOL_LIBS) +AC_SUBST(RRDTOOL_LDADDS RRDTOOL_LIBS RRDTOOL_INCLUDEDIR) # Checks for header files. AC_HEADER_STDC Modified: trunk/doc/Makefile.in =================================================================== --- trunk/doc/Makefile.in 2005-04-20 06:53:04 UTC (rev 73) +++ trunk/doc/Makefile.in 2005-05-04 10:31:43 UTC (rev 74) @@ -136,7 +136,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ -RRDTOOL_LIBS = @RRDTOOL_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ Modified: trunk/lib/Makefile.in =================================================================== --- trunk/lib/Makefile.in 2005-04-20 06:53:04 UTC (rev 73) +++ trunk/lib/Makefile.in 2005-05-04 10:31:43 UTC (rev 74) @@ -149,7 +149,6 @@ PATH_SEPARATOR = @PATH_SEPARATOR@ PKG_CONFIG = @PKG_CONFIG@ RANLIB = @RANLIB@ -RRDTOOL_LIBS = @RRDTOOL_LIBS@ SET_MAKE = @SET_MAKE@ SHELL = @SHELL@ STRIP = @STRIP@ |
From: <sv...@li...> - 2005-04-20 06:53:29
|
Author: nkukard Date: 2005-04-20 06:53:04 +0000 (Wed, 20 Apr 2005) New Revision: 73 Modified: trunk/configure trunk/configure.ac Log: * Fixed bug where librrdtool.a was used instead of librrd.a Modified: trunk/configure =================================================================== --- trunk/configure 2005-04-20 06:49:54 UTC (rev 72) +++ trunk/configure 2005-04-20 06:53:04 UTC (rev 73) @@ -19497,7 +19497,7 @@ subdirs="$subdirs rrdtool" - RRDTOOL_LIBS="\$(top_builddir)/rrdtool/src/.libs/librrdtool.a" + RRDTOOL_LIBS="\$(top_builddir)/rrdtool/src/.libs/librrd.a" else Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2005-04-20 06:49:54 UTC (rev 72) +++ trunk/configure.ac 2005-04-20 06:53:04 UTC (rev 73) @@ -46,7 +46,7 @@ [ --with-rrdtool-source Specify that you have the rrdtool sources in the main build dir], [ AC_CONFIG_SUBDIRS(rrdtool) - RRDTOOL_LIBS="\$(top_builddir)/rrdtool/src/.libs/librrdtool.a" + RRDTOOL_LIBS="\$(top_builddir)/rrdtool/src/.libs/librrd.a" ], [ AC_CHECK_LIB([rrd], [rrd_create],have_librrd=yes,,"-lm") |
From: <sv...@li...> - 2005-04-20 06:50:43
|
Author: nkukard Date: 2005-04-20 06:49:54 +0000 (Wed, 20 Apr 2005) New Revision: 72 Modified: tags/v0.2.1/configure tags/v0.2.1/configure.ac tags/v0.2.1/doc/stamp-vti tags/v0.2.1/doc/version.texi Log: * Fixed configure bug where librrdtool.a was used instead of librrd.a Modified: tags/v0.2.1/configure =================================================================== --- tags/v0.2.1/configure 2005-04-20 06:43:23 UTC (rev 71) +++ tags/v0.2.1/configure 2005-04-20 06:49:54 UTC (rev 72) @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.59 for bwm_tools 0.2.0. +# Generated by GNU Autoconf 2.59 for bwm_tools 0.2.1. # # Copyright (C) 2003 Free Software Foundation, Inc. # This configure script is free software; the Free Software Foundation @@ -421,8 +421,8 @@ # Identity of this package. PACKAGE_NAME='bwm_tools' PACKAGE_TARNAME='bwm_tools' -PACKAGE_VERSION='0.2.0' -PACKAGE_STRING='bwm_tools 0.2.0' +PACKAGE_VERSION='0.2.1' +PACKAGE_STRING='bwm_tools 0.2.1' PACKAGE_BUGREPORT='' ac_unique_file="bwm_monitor/bwm_monitor.c" @@ -953,7 +953,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures bwm_tools 0.2.0 to adapt to many kinds of systems. +\`configure' configures bwm_tools 0.2.1 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1019,7 +1019,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of bwm_tools 0.2.0:";; + short | recursive ) echo "Configuration of bwm_tools 0.2.1:";; esac cat <<\_ACEOF @@ -1162,7 +1162,7 @@ test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -bwm_tools configure 0.2.0 +bwm_tools configure 0.2.1 generated by GNU Autoconf 2.59 Copyright (C) 2003 Free Software Foundation, Inc. @@ -1176,7 +1176,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by bwm_tools $as_me 0.2.0, which was +It was created by bwm_tools $as_me 0.2.1, which was generated by GNU Autoconf 2.59. Invocation command line was $ $0 $@ @@ -1830,7 +1830,7 @@ # Define the identity of the package. PACKAGE='bwm_tools' - VERSION='0.2.0' + VERSION='0.2.1' cat >>confdefs.h <<_ACEOF @@ -19497,7 +19497,7 @@ subdirs="$subdirs rrdtool" - RRDTOOL_LIBS="\$(top_builddir)/rrdtool/src/.libs/librrdtool.a" + RRDTOOL_LIBS="\$(top_builddir)/rrdtool/src/.libs/librrd.a" else @@ -23789,7 +23789,7 @@ } >&5 cat >&5 <<_CSEOF -This file was extended by bwm_tools $as_me 0.2.0, which was +This file was extended by bwm_tools $as_me 0.2.1, which was generated by GNU Autoconf 2.59. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -23852,7 +23852,7 @@ cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -bwm_tools config.status 0.2.0 +bwm_tools config.status 0.2.1 configured by $0, generated by GNU Autoconf 2.59, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" Modified: tags/v0.2.1/configure.ac =================================================================== --- tags/v0.2.1/configure.ac 2005-04-20 06:43:23 UTC (rev 71) +++ tags/v0.2.1/configure.ac 2005-04-20 06:49:54 UTC (rev 72) @@ -20,7 +20,7 @@ */ AC_PREREQ(2.57) -AC_INIT([bwm_tools],[0.2.0]) +AC_INIT([bwm_tools],[0.2.1]) AC_CONFIG_SRCDIR([bwm_monitor/bwm_monitor.c]) AC_CONFIG_HEADER([config.h]) @@ -46,7 +46,7 @@ [ --with-rrdtool-source Specify that you have the rrdtool sources in the main build dir], [ AC_CONFIG_SUBDIRS(rrdtool) - RRDTOOL_LIBS="\$(top_builddir)/rrdtool/src/.libs/librrdtool.a" + RRDTOOL_LIBS="\$(top_builddir)/rrdtool/src/.libs/librrd.a" ], [ AC_CHECK_LIB([rrd], [rrd_create],have_librrd=yes,,"-lm") Modified: tags/v0.2.1/doc/stamp-vti =================================================================== --- tags/v0.2.1/doc/stamp-vti 2005-04-20 06:43:23 UTC (rev 71) +++ tags/v0.2.1/doc/stamp-vti 2005-04-20 06:49:54 UTC (rev 72) @@ -1,4 +1,4 @@ -@set UPDATED 6 April 2005 +@set UPDATED 20 April 2005 @set UPDATED-MONTH April 2005 -@set EDITION devel -@set VERSION devel +@set EDITION 0.2.1 +@set VERSION 0.2.1 Modified: tags/v0.2.1/doc/version.texi =================================================================== --- tags/v0.2.1/doc/version.texi 2005-04-20 06:43:23 UTC (rev 71) +++ tags/v0.2.1/doc/version.texi 2005-04-20 06:49:54 UTC (rev 72) @@ -1,4 +1,4 @@ -@set UPDATED 6 April 2005 +@set UPDATED 20 April 2005 @set UPDATED-MONTH April 2005 -@set EDITION devel -@set VERSION devel +@set EDITION 0.2.1 +@set VERSION 0.2.1 |
From: <sv...@li...> - 2005-04-20 06:44:04
|
Author: nkukard Date: 2005-04-20 06:43:23 +0000 (Wed, 20 Apr 2005) New Revision: 71 Added: tags/v0.2.1/ Log: * Tagged v0.2.0 as v0.2.1 to commence bug fixing Copied: tags/v0.2.1 (from rev 70, tags/v0.2.0) |
From: <sv...@li...> - 2005-04-12 10:12:41
|
Author: nkukard Date: 2005-04-12 10:11:31 +0000 (Tue, 12 Apr 2005) New Revision: 69 Modified: trunk/configure trunk/configure.ac Log: * Small wording fix Modified: trunk/configure =================================================================== --- trunk/configure 2005-04-06 09:26:55 UTC (rev 68) +++ trunk/configure 2005-04-12 10:11:31 UTC (rev 69) @@ -1046,7 +1046,7 @@ both] --with-tags[=TAGS] include additional configurations [automatic] - --with-rrdtool-source Specify directory where rrdtool sources are + --with-rrdtool-source Specify that you have the rrdtool sources in the main build dir --with-xml-prefix=PFX Prefix where libxml is installed (optional) --with-xml-exec-prefix=PFX Exec prefix where libxml is installed (optional) @@ -19497,7 +19497,7 @@ subdirs="$subdirs rrdtool" - RRDTOOL_LIBS="$top_builddir/rrdtool/src/.libs/librrdtool.a" + RRDTOOL_LIBS="\$(top_builddir)/rrdtool/src/.libs/librrdtool.a" else Modified: trunk/configure.ac =================================================================== --- trunk/configure.ac 2005-04-06 09:26:55 UTC (rev 68) +++ trunk/configure.ac 2005-04-12 10:11:31 UTC (rev 69) @@ -43,10 +43,10 @@ AC_CHECK_LIB([panel], [panel_window]) AC_ARG_WITH([rrdtool-source], - [ --with-rrdtool-source Specify directory where rrdtool sources are], + [ --with-rrdtool-source Specify that you have the rrdtool sources in the main build dir], [ AC_CONFIG_SUBDIRS(rrdtool) - RRDTOOL_LIBS="$top_builddir/rrdtool/src/.libs/librrdtool.a" + RRDTOOL_LIBS="\$(top_builddir)/rrdtool/src/.libs/librrdtool.a" ], [ AC_CHECK_LIB([rrd], [rrd_create],have_librrd=yes,,"-lm") |
From: <sv...@li...> - 2005-04-06 09:27:23
|
Author: nkukard Date: 2005-04-06 09:26:55 +0000 (Wed, 06 Apr 2005) New Revision: 68 Modified: trunk/doc/bwmtools.texi Log: * Updated bwm-tools website to reflect new hosting provider Modified: trunk/doc/bwmtools.texi =================================================================== --- trunk/doc/bwmtools.texi 2005-04-06 09:14:20 UTC (rev 67) +++ trunk/doc/bwmtools.texi 2005-04-06 09:26:55 UTC (rev 68) @@ -143,7 +143,7 @@ @enumerate @item Download the latest version of BWM Tools, the latest version can be -found on the project homepage: @url{http://bwm-tools.lbsd.net} +found on the project homepage: @url{http://bwm-tools.pr.linuxrulz.org} @* @item Uncompress the archive using either @code{tar jxvf <archive name>.tar.bz2} |
From: <sv...@li...> - 2005-04-06 09:15:20
|
Author: nkukard Date: 2005-04-06 09:14:20 +0000 (Wed, 06 Apr 2005) New Revision: 67 Modified: trunk/TODO trunk/bwm_firewall/bwm_firewall.c trunk/doc/bwmtools.texi trunk/doc/stamp-vti trunk/doc/version.texi trunk/lib/xmlConf.c Log: * Added support for masq tag in NAT section for MASQUERADE support * Fixed some memory cleanup issues in xml parser * Removed xml library version checking * Added check for configuration file presense * Throw an error for invalid tags in <nat> section * Added checks for NAT tag parameter validity * Fixed some error messages that didn't have newlines at the end * Fixed bug where comments in the NAT section create an endless loop in bwm_firewall * Updated documentation to reflect changes * Updated TODO appropriately Modified: trunk/TODO =================================================================== --- trunk/TODO 2005-01-30 16:03:38 UTC (rev 66) +++ trunk/TODO 2005-04-06 09:14:20 UTC (rev 67) @@ -4,12 +4,8 @@ * Add limits on number of packets * Add graphing support to bwm_monitor * Add multiple views to bwm_monitor -* to-destination is invalid in snat section -* to-source is invalid in dnat section * Add checking for the port param in the xml file, proto must be specified * Totals option on graphing, aswell as a few more options: avg, time from, time to, totals -* Add a queue to bwmd of the incomming and one of the outgoing/dropped packets so we keep - netlink syn, not async * Add maxRate graphing to graph.c * Add shared mem resizing to stats.c * Add menu to bwm_monitor to which IP it wants to connect to, authentication aswell and default Modified: trunk/bwm_firewall/bwm_firewall.c =================================================================== --- trunk/bwm_firewall/bwm_firewall.c 2005-01-30 16:03:38 UTC (rev 66) +++ trunk/bwm_firewall/bwm_firewall.c 2005-04-06 09:14:20 UTC (rev 67) @@ -64,8 +64,9 @@ char *tableName; int i; char counters[7] = ""; + struct stat fstat; + - // Loop with a table void processTable(gpointer p_key, gpointer p_value, gpointer p_user_data) { @@ -128,12 +129,25 @@ } - + /* Don't test version, it displays a nasty error + LIBXML_TEST_VERSION + */ // COMPAT: Do not genrate nodes for formatting spaces - LIBXML_TEST_VERSION xmlKeepBlanksDefault(0); - - // FIXME - check if file exists + + /* Check if file exists */ + if (stat(filename,&fstat) != 0) + { + fprintf(stderr,"ERROR: Failed to stat configuration path \"%s\": %s",filename,strerror(errno)); + return NULL; + } + else + if (!S_ISREG(fstat.st_mode)) + { + fprintf(stderr,"ERROR: Specified configuration path \"%s\" is not a regular file",filename); + return NULL; + } + // Build an XML tree from a the file doc = xmlParseFile(filename); if (doc == NULL) @@ -184,13 +198,16 @@ // Try find sections if (!xmlStrcmp(cur->name, (const xmlChar *) "global")) classHash = parseGlobal(doc,cur); - if (!xmlStrcmp(cur->name, (const xmlChar *) "acl")) + else if (!xmlStrcmp(cur->name, (const xmlChar *) "acl")) parseACL(doc,cur,fwHash,classHash); - if (!xmlStrcmp(cur->name, (const xmlChar *) "nat")) + else if (!xmlStrcmp(cur->name, (const xmlChar *) "nat")) parseNAT(doc,cur,fwHash,classHash); - if (!xmlStrcmp(cur->name, (const xmlChar *) "traffic")) + else if (!xmlStrcmp(cur->name, (const xmlChar *) "traffic")) parseTraffic(doc,cur,fwHash,classHash); - + // Make sure this isn't a comment + else if (xmlStrcmp(cur->name, (const xmlChar *) "text")) + fprintf(stderr,"ERROR: Section <%s> not recognised, ignoring",cur->name); + // Next plz!! cur = cur->next; } Modified: trunk/doc/bwmtools.texi =================================================================== --- trunk/doc/bwmtools.texi 2005-01-30 16:03:38 UTC (rev 66) +++ trunk/doc/bwmtools.texi 2005-04-06 09:14:20 UTC (rev 67) @@ -499,6 +499,11 @@ traffic_to_webserver </rule> </dnat> + <masq> + <rule name="traf_to_from_inside"> + internal_dsl_ips + </rule> + </masq> </nat> . . @@ -506,11 +511,11 @@ </firewall> @end smallexample @* -There are 2 tags available, @code{<snat>} and @code{<dnat>}, these two -tags are used for soure network address translation and destination -address translation respectively. +There are 3 tags available, @code{<snat>}, @code{<dnat>} and @code{<masq>}, +these three tags are used for source network address translation, destination +address translation and masquerading respectively. @*@* -Valid options for these two tags are as follows@dots{} +Valid options for these tags are as follows@dots{} @* @itemize @item @@ -523,10 +528,10 @@ internet comming from the webservers internal IP 192.168.1.100 which is not going to work, the firewall translates 192.168.1.100 to a globally routable IP address. -@* +@*@* There are no parameters for this tag, although the following sub-tags and parameters are available@dots{} -@* +@*@* @itemize @item @cindex rule @@ -568,7 +573,7 @@ @*@* There are no parameters for this tag, although the following sub-tags and parameters are available@dots{} -@* +@*@* @itemize @item @cindex rule @@ -594,7 +599,48 @@ @*@* Multiple classes can be listed, one per line. @end itemize + +@* +@item +@cindex masq +Masquerading using @code{<masq>} +@*@* +Masquerading is normally used for source address translation in the +scenario where you have a dynamic IP and never know what address to do the +translation to. An example of which is a home PC acting as a DSL router. +@*@* +There are no parameters for this tag, although the following sub-tags and +parameters are available@dots{} +@*@* +@itemize +@item +@cindex rule +Specify a rule with @code{<rule> @dots{} </rule>} +@*@* +The @code{<rule>} tag is used to specify what classes apply to what rule, +and are in order inserted into the actual iptables chains as iptables rules. + +The @code{<rule>} tag takes the following parameters@dots{} +@* +@itemize +@item +@code{name="@dots{}"} - Optional name of rule +@* +@item +@cindex to-ports +@code{to-ports"@dots{}"} - This specifies a range of source ports to use, +overriding the default SNAT source port-selection heuristics. For this +parameter to work you MUST have defined a protocol in all the classes +specified. For example @code{proto="tcp"}. @end itemize + +Between the opening and closing tags, classes defined in the @code{<global>} +section are listed, these classify which traffic applies to which rule. +@*@* +Multiple classes can be listed, one per line. +@end itemize + +@end itemize @* An example using the above definitions would look something like this@dots{} @* @@ -626,8 +672,31 @@ </firewall> @end smallexample +@* +Here is an example if you pc is acting as a DSL router@dots{} +@* +@smallexample +<firewall> + # Global configuration and access classes + <global> + <class name="traf_going_to_dsl"> + <address src="192.168.0.0/24"/> + </class> + </global> + # Network address translation + <nat> + <masq> + <rule name="masq_traffic_going_out"> + traf_going_to_dsl + </rule> + </masq> + </nat> +</firewall> +@end smallexample + + @node Traffic @section The @code{<traffic>} section @cindex shaping Modified: trunk/doc/stamp-vti =================================================================== --- trunk/doc/stamp-vti 2005-01-30 16:03:38 UTC (rev 66) +++ trunk/doc/stamp-vti 2005-04-06 09:14:20 UTC (rev 67) @@ -1,4 +1,4 @@ -@set UPDATED 21 January 2005 -@set UPDATED-MONTH January 2005 +@set UPDATED 6 April 2005 +@set UPDATED-MONTH April 2005 @set EDITION devel @set VERSION devel Modified: trunk/doc/version.texi =================================================================== --- trunk/doc/version.texi 2005-01-30 16:03:38 UTC (rev 66) +++ trunk/doc/version.texi 2005-04-06 09:14:20 UTC (rev 67) @@ -1,4 +1,4 @@ -@set UPDATED 21 January 2005 -@set UPDATED-MONTH January 2005 +@set UPDATED 6 April 2005 +@set UPDATED-MONTH April 2005 @set EDITION devel @set VERSION devel Modified: trunk/lib/xmlConf.c =================================================================== --- trunk/lib/xmlConf.c 2005-01-30 16:03:38 UTC (rev 66) +++ trunk/lib/xmlConf.c 2005-04-06 09:14:20 UTC (rev 67) @@ -201,11 +201,14 @@ className = (char *) data; found = 0; - // Loop with class hash - g_hash_table_foreach(classHash,processClassHash,NULL); + // First check we have a classHash, if use didn't specify any, this will be NULL */ + if (classHash) + // Loop with class hash + g_hash_table_foreach(classHash,processClassHash,NULL); + // Check if we found it if (!found) - fprintf(stderr,"ERROR: Class %s invalid\n",className); + fprintf(stderr,"ERROR: Class %s invalid, ignoring\n",className); } @@ -334,7 +337,7 @@ } // Function which creates our "special" nat extra cmd_line options -static char *createNATRuleset(GHashTable *properties) +static char *createNATRuleset(char *target, GHashTable *properties) { char *buffer; char *tmp; @@ -353,16 +356,46 @@ // Processing time... if (!xmlStrcmp(key,"to-src") && !done) { - snprintf(tmp,BUFFER_SIZE,"--to-source %s ",value); - strncat(buffer,tmp,BUFFER_SIZE); + // Make sure to-src is only used in SNAT section + if ((strcmp(target, "SNAT") == 0)) + { + snprintf(tmp,BUFFER_SIZE,"--to-source %s ",value); + strncat(buffer,tmp,BUFFER_SIZE); + } + else + fprintf(stderr,"ERROR: Tag parameter \"to-src\" is only valid in the <snat> tag, ignoring\n"); + done = 1; } + if (!xmlStrcmp(key,"to-dst") && !done) { - snprintf(tmp,BUFFER_SIZE,"--to-destination %s ",value); - strncat(buffer,tmp,BUFFER_SIZE); + // Make sure to-dst is only used in DNAT section + if ((strcmp(target, "DNAT") == 0)) + { + snprintf(tmp,BUFFER_SIZE,"--to-destination %s ",value); + strncat(buffer,tmp,BUFFER_SIZE); + } + else + fprintf(stderr,"ERROR: Tag parameter \"to-dst\" is only valid in the <dnat> tag, ignoring\n"); + done = 1; } + + if (!xmlStrcmp(key,"to-ports") && !done) + { + // Make sure to-ports is only used in DNAT section + if ((strcmp(target, "MASQUERADE") == 0)) + { + snprintf(tmp,BUFFER_SIZE,"--to-ports %s ",value); + strncat(buffer,tmp,BUFFER_SIZE); + } + else + fprintf(stderr,"ERROR: Tag parameter \"to-ports\" is only valid in the <masq> tag, ignoring\n"); + + done = 1; + } + if (!xmlStrcmp(key,"name") && !done) // Ignore this one done = 1; @@ -383,7 +416,7 @@ // Free sum mem free(tmp); - // Return the string FIXME - free mem in parent? + // Return the string return buffer; } @@ -452,7 +485,7 @@ // Free sum mem free(tmp); - // Return the string FIXME - free mem in parent? + // Return the string return buffer; } @@ -508,19 +541,34 @@ xmlDocPtr doc; xmlNodePtr cur; GHashTable *moduleHash = NULL; - + struct stat fstat; + moduleHash = g_hash_table_new_full(g_str_hash,g_str_equal,free,free); + /* Don't test version, it displays a nasty error + LIBXML_TEST_VERSION + */ // COMPAT: Do not genrate nodes for formatting spaces - LIBXML_TEST_VERSION xmlKeepBlanksDefault(0); - // FIXME - check if file exists + // Check if config file exists + if (stat(filename,&fstat) != 0) + { + fprintf(stderr,"ERROR: Failed to stat configuration path \"%s\": %s\n",filename,strerror(errno)); + return NULL; + } + else + if (!S_ISREG(fstat.st_mode)) + { + fprintf(stderr,"ERROR: Specified configuration path \"%s\" is not a regular file\n",filename); + return NULL; + } + // Build an XML tree from a the file doc = xmlParseFile(filename); if (doc == NULL) - return(NULL); + return NULL; // Check the document is of the right kind cur = xmlDocGetRootElement(doc); @@ -528,15 +576,15 @@ { fprintf(stderr,"ERROR: Empty document\n"); xmlFreeDoc(doc); - return(NULL); + return NULL; } // Check if we have the right root element & block if (xmlStrcmp(cur->name, (const xmlChar *) "firewall")) { - fprintf(stderr,"ERROR: Document of the wrong type, root node != firewall"); + fprintf(stderr,"ERROR: Document of the wrong type, root node != firewall\n"); xmlFreeDoc(doc); - return(NULL); + return NULL; } @@ -1135,7 +1183,7 @@ // Check if we have the right root element & block if (xmlStrcmp(cur->name, (const xmlChar *) "firewall")) { - fprintf(stderr,"ERROR: Document of the wrong type, root node != firewall"); + fprintf(stderr,"ERROR: Document of the wrong type, root node != firewall\n"); xmlFreeDoc(doc); return(ret); } @@ -1232,6 +1280,12 @@ target = NULL; // Check if we found a table... + if (!xmlStrcmp(cur->name, (const xmlChar *) "masq")) + { + tableName = "nat"; + chainName = "POSTROUTING"; + target = "MASQUERADE"; + } if (!xmlStrcmp(cur->name, (const xmlChar *) "snat")) { tableName = "nat"; @@ -1276,13 +1330,13 @@ // Check if everything is ok if (tmpRule->target == NULL) { - fprintf(stderr,"ERROR: All rules MUST have a target!"); - // FIXME - add memory cleanup here + fprintf(stderr,"ERROR: Internal error, tag <%s> has no target!\n",cur->name); + free(tmpRule); } else { // Get our extra params - cmd_line = createNATRuleset(tmpProp); + cmd_line = createNATRuleset(tmpRule->target,tmpProp); // Build our ruleSet tmpChain->ruleset = g_list_concat(tmpChain->ruleset, createRuleset(classHash,tmpRule->classList, @@ -1290,13 +1344,15 @@ // Voila! we got it! ruleList = g_list_append(ruleList,tmpRule); } + } - // Advance table - chainNode = chainNode->next; - } - + // Advance table + chainNode = chainNode->next; } } + else + fprintf(stderr,"ERROR: Invalid tag used \"<%s>\" in NAT section, ignored\n",cur->name); + // Advance our NAT node cur = cur->next; } @@ -1363,8 +1419,8 @@ // Check if everything is ok if (tmpRule->target == NULL) { - fprintf(stderr,"ERROR: All rules MUST have a target!"); - // FIXME - add memory cleanup here + fprintf(stderr,"ERROR: All rules MUST have a target!\n"); + free(tmpRule); } else { @@ -1402,8 +1458,8 @@ // Check if everything is ok if (tmpRule->target == NULL) { - fprintf(stderr,"ERROR: All rules MUST have a target!"); - // FIXME - add memory cleanup here + fprintf(stderr,"ERROR: All rules MUST have a target!\n"); + free(tmpRule); } else { @@ -1612,8 +1668,8 @@ // Check if everything is ok if (tmpRule->target == NULL) { - fprintf(stderr,"ERROR: All rules MUST have a target!"); - // FIXME - add memory cleanup here + fprintf(stderr,"ERROR: All rules MUST have a target!\n"); + free(tmpRule); } else { |
From: SVN C. <sv...@li...> - 2005-01-30 16:04:15
|
Author: nkukard Date: 2005-01-30 18:03:38 +0200 (Sun, 30 Jan 2005) New Revision: 66 Modified: trunk/bwmd/autoclass.c trunk/bwmd/flow.c trunk/bwmd/ipq.c trunk/include/autoclass.h trunk/include/common.h trunk/include/flow.h Log: * Added ECN support Modified: trunk/bwmd/autoclass.c =================================================================== --- trunk/bwmd/autoclass.c 2005-01-26 16:29:04 UTC (rev 65) +++ trunk/bwmd/autoclass.c 2005-01-30 16:03:38 UTC (rev 66) @@ -161,11 +161,13 @@ { unsigned char prio = 0; // Get type of service - unsigned char tos = IPTOS_TOS(ip_packet->tos); +// unsigned char ecn = AUTOCLASS_TOS_ECN_MASK(ip_packet->tos); + unsigned char tos = AUTOCLASS_TOS_MASK(ip_packet->tos); +// unsigned char prec = AUTOCLASS_TOS_PREC_MASK(ip_packet->tos); // Decide what we doing... - if (tos == IPTOS_LOWDELAY) + if (tos == AUTOCLASS_TOS_LOWDELAY) { /* * 1. LOW DELAY @@ -174,7 +176,7 @@ */ prio = 10; } - else if (tos == IPTOS_THROUGHPUT) + else if (tos == AUTOCLASS_TOS_THROUGHPUT) { /* * 2. THROUGHPUT @@ -182,22 +184,13 @@ * - low drop probability */ } - else if (tos == IPTOS_RELIABILITY) + else if (tos == AUTOCLASS_TOS_RELIABILITY) { /* * 3. RELIABILITY * - low drop probability */ } - else if (tos == IPTOS_MINCOST) - { -/* - * 4. MIN COST - * - PRIO 90 - * - high drop probability - */ - prio = 90; - } return prio; } Modified: trunk/bwmd/flow.c =================================================================== --- trunk/bwmd/flow.c 2005-01-26 16:29:04 UTC (rev 65) +++ trunk/bwmd/flow.c 2005-01-30 16:03:38 UTC (rev 66) @@ -365,7 +365,18 @@ { // Re-inject packet for processing, check if it was ok... g_mutex_lock(runnerData->IPQLock); - status = ipq_set_verdict(runnerData->IPQHandle, PKT_ID(packet), NF_ACCEPT, 0, NULL); + + // Check if our packet was changed + if (packet->changed) + { + struct ip_packet_t *ip_packet = (struct ip_packet_t *) packet->payload->payload; + + // Send packet back modified + status = ipq_set_verdict(runnerData->IPQHandle, PKT_ID(packet), NF_ACCEPT, ip_packet->tot_len, (unsigned char *) ip_packet); + } + else + status = ipq_set_verdict(runnerData->IPQHandle, PKT_ID(packet), NF_ACCEPT, 0, NULL); + g_mutex_unlock(runnerData->IPQLock); if (status < 0) { Modified: trunk/bwmd/ipq.c =================================================================== --- trunk/bwmd/ipq.c 2005-01-26 16:29:04 UTC (rev 65) +++ trunk/bwmd/ipq.c 2005-01-30 16:03:38 UTC (rev 66) @@ -92,6 +92,7 @@ int status; int result; int drop = 0; + struct ip_packet_t *ip_packet = (struct ip_packet_t *) packet->payload->payload; // Our find functions @@ -138,15 +139,8 @@ // Now lets see if we don't have a queue... this means AUTO! if (!foundQueue) { - struct ip_packet_t *ip_packet = (struct ip_packet_t *) packet->payload->payload; unsigned char prio = 0; -/* - fprintf(stderr,"auto packet queue -> protocol = %i, src = %i.%i.%i.%i, dest = %i.%i.%i.%i, tos = 0x%x\n", ip_packet->protocol, - ip_packet->u_saddr.addr.a, ip_packet->u_saddr.addr.b, ip_packet->u_saddr.addr.c, ip_packet->u_saddr.addr.d, - ip_packet->u_daddr.addr.a, ip_packet->u_daddr.addr.b, ip_packet->u_daddr.addr.c, ip_packet->u_daddr.addr.d, - IPTOS_PREC(ip_packet->tos)); -*/ prio = autoClassify(ip_packet,foundFlow->prioClassifier); @@ -191,8 +185,24 @@ prob = avgProb + curProb; // Check if we should drop packet drop = drand < prob; + + // If queue is 10% full, set CE bit if we ECN capable + if (!drop && (avgQueueSize / curQueueSize) > 0.10) + { + unsigned char ecn = AUTOCLASS_TOS_ECN_MASK(ip_packet->tos); + + + // We are ECN capable + if (ecn < 3) + { + // Set CE codepoint to communicate congestion + ip_packet->tos |= AUTOCLASS_TOS_ECN_CE; + // Tell flowRunner we modified the packet + packet->changed = 1; + } + } } - + } // Check if we must pass the packet @@ -327,6 +337,9 @@ // Copy packet memcpy(packet->payload,m,pkt_len); + // Set packet as not changed + packet->changed = 0; + // Queue the packet... status = queuePacket(runnerData,packet->payload->mark,packet); if (status < 0) Modified: trunk/include/autoclass.h =================================================================== --- trunk/include/autoclass.h 2005-01-26 16:29:04 UTC (rev 65) +++ trunk/include/autoclass.h 2005-01-30 16:03:38 UTC (rev 66) @@ -35,6 +35,28 @@ #define AUTOCLASS_TOS 2 +// Type of Service / DSCP / ECN ... etc +#define AUTOCLASS_TOS_ECN_MASK(tos) ((tos) & 0x03) // Mask of all ECN bits +#define AUTOCLASS_TOS_ECN_ECT0 0x01 +#define AUTOCLASS_TOS_ECN_ECT1 0x02 +#define AUTOCLASS_TOS_ECN_CE 0x03 + +#define AUTOCLASS_TOS_MASK(tos) ((tos) & 0x1c) // Mask of all TOS bits +#define AUTOCLASS_TOS_RELIABILITY 0x04 // High Reliability +#define AUTOCLASS_TOS_THROUGHPUT 0x08 // High Throughput +#define AUTOCLASS_TOS_LOWDELAY 0x10 // Low Delay + +#define AUTOCLASS_TOS_PREC_MASK(tos) ((tos) & 0xe0) // Mask of all PREC bits +#define AUTOCLASS_TOS_PREC_ROUTINE 0x00 // Routine +#define AUTOCLASS_TOS_PREC_PRIORITY 0x20 // Priority +#define AUTOCLASS_TOS_PREC_IMMEDIATE 0x40 // Immediate +#define AUTOCLASS_TOS_PREC_FLASH 0x60 // Flash +#define AUTOCLASS_TOS_PREC_FLASH_OVERRIDE 0x80 // Flash Override +#define AUTOCLASS_TOS_PREC_CRITIC_ECP 0xa0 // Critic/ECP +#define AUTOCLASS_TOS_PREC_INTERNETWORK_CONTROL 0xc0 // Internetwork control +#define AUTOCLASS_TOS_PREC_NETWORK_CONTROL 0xe0 // Network control + + // Auto classify packet and return priority (1 - best, 100 - worst) unsigned char autoClassify(struct ip_packet_t *ip_packet, unsigned char prioClassifier); Modified: trunk/include/common.h =================================================================== --- trunk/include/common.h 2005-01-26 16:29:04 UTC (rev 65) +++ trunk/include/common.h 2005-01-30 16:03:38 UTC (rev 66) @@ -81,9 +81,11 @@ }; +// This is used in the queueing and is the item used in the queue struct packet_t { ipq_packet_msg_t *payload; + unsigned char changed; }; Modified: trunk/include/flow.h =================================================================== --- trunk/include/flow.h 2005-01-26 16:29:04 UTC (rev 65) +++ trunk/include/flow.h 2005-01-30 16:03:38 UTC (rev 66) @@ -176,12 +176,14 @@ int pktBursted); +// Message log facility +void logMessage(int priority, const char *fmt, ...); + + // Flow runner thread void *flowRunner(void *data); - - // Check if we will exceed flow queuing limits static inline int will_exceed_flow_queue(struct flow_t *flow, unsigned int pktSize) { @@ -189,7 +191,5 @@ (flow->curQueueSize + pktSize >= flow->maxQueueSize && flow->maxQueueSize != 0)); } -extern void logMessage(int priority, const char *fmt, ...); - #endif |