lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [6506] Abandon mpatrol


From: Greg Chicares
Subject: [lmi-commits] [6506] Abandon mpatrol
Date: Fri, 12 Feb 2016 20:21:45 +0000

Revision: 6506
          http://svn.sv.gnu.org/viewvc/?view=rev&root=lmi&revision=6506
Author:   chicares
Date:     2016-02-12 20:20:55 +0000 (Fri, 12 Feb 2016)
Log Message:
-----------
Abandon mpatrol

Modified Paths:
--------------
    lmi/trunk/ChangeLog
    lmi/trunk/GNUmakefile
    lmi/trunk/Makefile.am
    lmi/trunk/como.make
    lmi/trunk/configure.ac
    lmi/trunk/install_msw.sh
    lmi/trunk/msw_common.make
    lmi/trunk/objects.make
    lmi/trunk/workhorse.make

Removed Paths:
-------------
    lmi/trunk/install_mpatrol.make
    lmi/trunk/mpatrol-mingw-GNUmakefile
    lmi/trunk/mpatrol_1.4.8.patch
    lmi/trunk/mpatrol_patch_test.cpp

Modified: lmi/trunk/ChangeLog
===================================================================
--- lmi/trunk/ChangeLog 2016-02-12 12:48:06 UTC (rev 6505)
+++ lmi/trunk/ChangeLog 2016-02-12 20:20:55 UTC (rev 6506)
@@ -38620,3 +38620,19 @@
 Upgrade wx. See:
   http://lists.nongnu.org/archive/html/lmi/2016-02/msg00036.html
 
+20160212T2018Z <address@hidden> [454]
+
+  GNUmakefile
+  Makefile.am
+  como.make
+  configure.ac
+  install_mpatrol.make      [expunged]
+  install_msw.sh
+  mpatrol-mingw-GNUmakefile [expunged]
+  mpatrol_1.4.8.patch       [expunged]
+  mpatrol_patch_test.cpp    [expunged]
+  msw_common.make
+  objects.make
+  workhorse.make
+Abandon mpatrol.
+

Modified: lmi/trunk/GNUmakefile
===================================================================
--- lmi/trunk/GNUmakefile       2016-02-12 12:48:06 UTC (rev 6505)
+++ lmi/trunk/GNUmakefile       2016-02-12 20:20:55 UTC (rev 6506)
@@ -126,13 +126,9 @@
 
 # Multiple build directories.
 
-# $(build_type) distinguishes optimized 'ship' builds from 'mpatrol'
-# builds, which may be created by specifying 'build_type=mpatrol' on
-# the make command line. Because 'mpatrol' builds use an invasive
-# malloc debugger, they may run quite sluggishly, and they work poorly
-# with gdb. But 'ship' builds are designed to work with gdb.
-#
-# Of course, other build types may be defined.
+# $(build_type) distinguishes optimized 'ship' builds from 'so_test'
+# and 'safestdlib' builds, which may be created by specifying them on
+# the make command line. Of course, other build types may be defined.
 
 build_type ?= ship
 toolset ?= gcc
@@ -481,7 +477,6 @@
 
 .PHONY: test_various_build_types
 test_various_build_types: source_clean
-       -$(MAKE) all test build_type=mpatrol
        -$(MAKE) test build_type=safestdlib
        -$(MAKE) all cgi_tests cli_tests build_type=so_test USE_SO_ATTRIBUTES=1
        -$(MAKE) check_concinnity

Modified: lmi/trunk/Makefile.am
===================================================================
--- lmi/trunk/Makefile.am       2016-02-12 12:48:06 UTC (rev 6505)
+++ lmi/trunk/Makefile.am       2016-02-12 20:20:55 UTC (rev 6506)
@@ -117,7 +117,6 @@
     test_mc_enum \
     test_miscellany \
     test_mortality_rates \
-    test_mpatrol_patch \
     test_name_value_pairs \
     test_ncnnnpnn \
     test_numeric_io \
@@ -812,11 +811,6 @@
   mortality_rates_test.cpp
 test_mortality_rates_CXXFLAGS = $(AM_CXXFLAGS)
 
-test_mpatrol_patch_SOURCES = \
-  $(common_test_objects) \
-  mpatrol_patch_test.cpp
-test_mpatrol_patch_CXXFLAGS = $(AM_CXXFLAGS)
-
 test_name_value_pairs_SOURCES = \
   $(common_test_objects) \
   facets.cpp \

Modified: lmi/trunk/como.make
===================================================================
--- lmi/trunk/como.make 2016-02-12 12:48:06 UTC (rev 6505)
+++ lmi/trunk/como.make 2016-02-12 20:20:55 UTC (rev 6506)
@@ -182,9 +182,6 @@
   \\opt/lmi/local/lib/libxslt.dll.a \
   \\opt/lmi/local/lib/libxml2.dll.a \
 
-# SOMEDAY !! Use mpatrol.
-MPATROL_LIBS :=
-
 excluded_unit_test_targets := \
   regex_test \
   round_test \
@@ -240,7 +237,6 @@
                                         LD='$(LD)' \
                                    LDFLAGS='$(LDFLAGS)' \
                              REQUIRED_LIBS='$(REQUIRED_LIBS)' \
-                              MPATROL_LIBS='$(MPATROL_LIBS)' \
                           platform_defines='' \
                 excluded_unit_test_targets='$(excluded_unit_test_targets)' \
                                    GNU_CPP='$(GNU_CPP)' \

Modified: lmi/trunk/configure.ac
===================================================================
--- lmi/trunk/configure.ac      2016-02-12 12:48:06 UTC (rev 6505)
+++ lmi/trunk/configure.ac      2016-02-12 20:20:55 UTC (rev 6506)
@@ -98,17 +98,6 @@
                    *) AC_MSG_ERROR(bad value ${enableval} for 
--enable-profiling) ;;
              esac], [profiling_option=default])
 
-AC_ARG_ENABLE(mpatrol,
-             [AC_HELP_STRING([--with-mpatrol],
-                             [use mpatrol for memory allocation debugging])],
-             [case "x${withvap}" in
-                   x) lmi_mpatrol_option=yes ;;
-                xyes) lmi_mpatrol_option=yes ;;
-                 xno) lmi_mpatrol_option=no ;;
-                   *) AC_MSG_ERROR(bad value ${withvap} for --with-mpatrol) ;;
-             esac], lmi_mpatrol_option=no)
-AM_CONDITIONAL(LMI_WITH_MEMORY_DEBUG, [ test "x$lmi_mpatrol_option" = "xyes" ])
-
 AC_ARG_ENABLE(cgicc,
              [AC_HELP_STRING([--enable-cgicc],
                              [build cgi targets using installed cgicc.])],

Deleted: lmi/trunk/install_mpatrol.make
===================================================================
--- lmi/trunk/install_mpatrol.make      2016-02-12 12:48:06 UTC (rev 6505)
+++ lmi/trunk/install_mpatrol.make      2016-02-12 20:20:55 UTC (rev 6506)
@@ -1,140 +0,0 @@
-# Install msw-native mpatrol with modifications suitable for lmi.
-#
-# Copyright (C) 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016 Gregory W. 
Chicares.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License version 2 as
-# published by the Free Software Foundation.
-#
-# 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
-#
-# http://savannah.nongnu.org/projects/lmi
-# email: <address@hidden>
-# snail: Chicares, 186 Belle Woods Drive, Glastonbury CT 06033, USA
-
-# $Id$
-
-# Configurable settings 
########################################################
-
-# By default, 'prefix' is the toolchain's own directory, because
-# mpatrol is really an auxiliary part of the toolchain and may be
-# sensitive to ABI changes (e.g., C++ name mangling).
-
-mpatrol_version := 1.4.8
-
-mingw_dir       := /MinGW_
-
-prefix          := $(mingw_dir)
-
-cache_dir       := /cache_for_lmi/downloads
-
-mpatrol_dir     := /opt/lmi/mpatrol-scratch
-
-sf_mirror       := http://downloads.sourceforge.net
-
-# URLs and archive md5sums 
#####################################################
-
-mpatrol_1.4.8-md5 := ada423c49bc5bfa7c3e7a80a711c2a1a
-
-mpatrol_archive        := mpatrol_$(mpatrol_version).tar.gz
-
-$(mpatrol_archive)-url := $(sf_mirror)/mpatrol/$(mpatrol_archive)
-
-$(mpatrol_archive)-md5 := $(mpatrol_$(mpatrol_version)-md5)
-
-mpatrol_md5            := $(mpatrol_$(mpatrol_version)-md5)
-
-# Variables that normally should be left alone 
#################################
-
-mingw_bin_dir    := $(mingw_dir)/bin
-
-build_dir        := $(mpatrol_dir)/mpatrol/build/windows
-
-mpatrol_makefile := mpatrol-mingw-GNUmakefile
-
-# SOMEDAY !! Replace $(mpatrol-mingw-GNUmakefile) with autotools.
-
-config_options = \
-  --prefix=$(prefix) \
-  --build=i686-pc-cygwin \
-  --host=i686-w64-mingw32 \
-  --other_options \
-       AR='$(mingw_bin_dir)/ar' \
-       AS='$(mingw_bin_dir)/as' \
-       CC='$(mingw_bin_dir)/gcc' \
-      CPP='$(mingw_bin_dir)/cpp' \
-      CXX='$(mingw_bin_dir)/g++' \
-  DLLTOOL='$(mingw_bin_dir)/dlltool' \
-       LD='$(mingw_bin_dir)/ld' \
-       NM='$(mingw_bin_dir)/nm' \
-  OBJDUMP='$(mingw_bin_dir)/objdump' \
-   RANLIB='$(mingw_bin_dir)/ranlib' \
-    STRIP='$(mingw_bin_dir)/strip' \
-  WINDRES='$(mingw_bin_dir)/windres' \
-
-# Utilities 
####################################################################
-
-CP     := cp
-ECHO   := echo
-MD5SUM := md5sum
-MKDIR  := mkdir
-PATCH  := patch
-RM     := rm
-TAR    := tar
-WGET   := wget
-
-# Targets 
######################################################################
-
-# Patch 'mpatrol_1.4.8.patch' is equivalent to:
-#   
http://sourceforge.net/tracker/download.php?group_id=19456&atid=319456&file_id=117735&aid=1112376
-# It suppresses diagnostics for zero-byte moves, whose behavior is
-# actually undefined according to C99 7.21.1/2; but wxWidgets and
-# libstdc++ rely on that behavior being benign.
-
-source_archives := $(mpatrol_archive)
-patchset        := mpatrol_$(mpatrol_version).patch
-
-.PHONY: all
-all: clobber $(source_archives)
-       -[ -e $(patchset) ] && $(PATCH) --directory=$(mpatrol_dir) --strip=1 
<$(patchset)
-       $(CP) --preserve $(mpatrol_makefile) $(build_dir)
-       export PATH=$(mingw_bin_dir):$$PATH ; $(MAKE) 
--file=$(mpatrol_makefile) --directory=$(build_dir) --jobs=1 prefix=$(prefix) 
all install
-
-# Simulated order-only prerequisites.
-$(source_archives): initial_setup
-initial_setup: clobber
-
-.PHONY: initial_setup
-initial_setup:
-       @$(MKDIR) --parents $(prefix)
-       @$(MKDIR) --parents $(cache_dir)
-       @$(MKDIR) --parents $(mpatrol_dir)
-
-WGETFLAGS :=
-
-TARFLAGS := --keep-old-files
-%.tar.bz2: TARFLAGS += --bzip2
-%.tar.gz:  TARFLAGS += --gzip
-
-.PHONY: %.tar.bz2 %.tar.gz
-%.tar.bz2 %.tar.gz:
-       cd $(cache_dir) && [ -e $@ ] || $(WGET) $(WGETFLAGS) $(address@hidden)
-       cd $(cache_dir) && $(ECHO) "$(address@hidden) *$@" | $(MD5SUM) --check
-       -$(TAR) --extract $(TARFLAGS) --directory=$(mpatrol_dir) 
--file=$(cache_dir)/$@
-
-.PHONY: mpatrol
-mpatrol:
-# SOMEDAY !! An autotools build system might be invoked here. E.g.:
-#   ../configure $(config_options) && $(MAKE) && $(MAKE) install
-
-.PHONY: clobber
-clobber:
-       -$(RM) --force --recursive $(mpatrol_dir)
-

Modified: lmi/trunk/install_msw.sh
===================================================================
--- lmi/trunk/install_msw.sh    2016-02-12 12:48:06 UTC (rev 6505)
+++ lmi/trunk/install_msw.sh    2016-02-12 20:20:55 UTC (rev 6506)
@@ -135,7 +135,6 @@
 rm --force --recursive scratch
 rm --force --recursive /MinGW_
 make $coefficiency --output-sync=recurse -f install_mingw.make
-make $coefficiency --output-sync=recurse -f install_mpatrol.make
 
 make $coefficiency --output-sync=recurse -f install_miscellanea.make clobber
 make $coefficiency --output-sync=recurse -f install_miscellanea.make

Deleted: lmi/trunk/mpatrol-mingw-GNUmakefile
===================================================================
--- lmi/trunk/mpatrol-mingw-GNUmakefile 2016-02-12 12:48:06 UTC (rev 6505)
+++ lmi/trunk/mpatrol-mingw-GNUmakefile 2016-02-12 20:20:55 UTC (rev 6506)
@@ -1,449 +0,0 @@
-# mpatrol
-# A library for controlling and tracing dynamic memory allocations.
-# Copyright (C) 1997-2002 Graeme S. Roy <address@hidden>
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Library General Public
-# License as published by the Free Software Foundation; either
-# version 2 of the License, or (at your option) any later version.
-#
-# This library 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
-# Library General Public License for more details.
-#
-# You should have received a copy of the GNU Library General Public License
-# along with this library; if not, write to the Free Software Foundation,
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
-
-# 2003-04-24 Gregory W. Chicares <address@hidden> modified
-# for mingw gcc and released under the same terms as Graeme S. Roy's
-# original, as quoted above. Modifications are extensive and
-# pervasive. Consult the original version in
-#   mpatrol/build/windows/Makefile
-# Any defect here should not reflect on Graeme S. Roy's reputation.
-#
-# 2005-01-29 Gregory W. Chicares <address@hidden> added an
-# 'install' target.
-#
-# For subsequent GWC modifications, see 'ChangeLog'.
-#
-# GWC modifications
-#   Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 
2014, 2015, 2016 Gregory W. Chicares
-# and released under the same terms as Graeme S. Roy's original.
-#
-# http://savannah.nongnu.org/projects/lmi
-# email: <address@hidden>
-# snail: Chicares, 186 Belle Woods Drive, Glastonbury CT 06033, USA
-
-# GNU Makefile to compile on msw with mingw gcc.
-
-# $Id$
-
-# Definitions
-
-SHELL = sh
-CC    = gcc
-AR    = ar
-LD    = gcc
-RANLIB = ranlib
-
-SOURCE = ../../src
-TOOLS  = ../../tools
-VPATH  = $(SOURCE):$(TOOLS)
-
-CFLAGS = -I$(SOURCE) -I$(TOOLS)
-ARFLAGS = ruv
-OFLAGS = -O2
-# The gcc manual documents '-mthreads' as implemented for mingw only.
-TFLAGS = -DMP_THREADS_SUPPORT -mthreads
-
-MPATROL = mpatrol
-MPALLOC = mpalloc
-MPTOOLS = mptools
-
-ARCHIVE_MPTOBJS = list.o tree.o slots.o utils.o memory.o heap.o \
-                  alloc.o info.o stack.o addr.o strtab.o symbol.o \
-                  signals.o diag.o option.o leaktab.o profile.o \
-                  trace.o inter.o malloc.o cplus.o sbrk.o version.o
-SHARED_MPTOBJS  = list.o tree.o slots.o utils.o memory.o heap.o \
-                  alloc.o info.o stack.o addr.o strtab.o symbol.o \
-                  signals.o diag.o option.o leaktab.o profile.o \
-                  trace.o inter.o malloc.o cplus.o sbrk.o main.o \
-                  version.o
-ARCHTS_MPTOBJS  = list.ts.o tree.ts.o slots.ts.o utils.ts.o \
-                  memory.ts.o heap.ts.o alloc.ts.o info.ts.o \
-                  stack.ts.o addr.ts.o strtab.ts.o symbol.ts.o \
-                  signals.ts.o mutex.ts.o diag.ts.o option.ts.o \
-                  leaktab.ts.o profile.ts.o trace.ts.o inter.ts.o \
-                  malloc.ts.o cplus.ts.o sbrk.ts.o version.ts.o
-SHARTS_MPTOBJS  = list.ts.o tree.ts.o slots.ts.o utils.ts.o \
-                  memory.ts.o heap.ts.o alloc.ts.o info.ts.o \
-                  stack.ts.o addr.ts.o strtab.ts.o symbol.ts.o \
-                  signals.ts.o mutex.ts.o diag.ts.o option.ts.o \
-                  leaktab.ts.o profile.ts.o trace.ts.o inter.ts.o \
-                  malloc.ts.o cplus.ts.o sbrk.ts.o main.ts.o \
-                  version.ts.o
-ARCHIVE_MPAOBJS = mpalloc.o mpfailure.o mpsetfail.o mpmalloc.o \
-                  mpcalloc.o mpstrdup.o mprealloc.o
-SHARED_MPAOBJS  = mpalloc.o mpfailure.o mpsetfail.o mpmalloc.o \
-                  mpcalloc.o mpstrdup.o mprealloc.o main2.o
-ARCHIVE_MPLOBJS = dbmalloc.o dmalloc.o heapdiff.o mgauge.o mtrace.o
-
-ARCHIVE_MPATROL = lib$(MPATROL).a
-SHARED_MPATROL  = $(MPATROL).dll
-IMPLIB_MPATROL  = lib$(MPATROL)_dll.a
-OBJECT_MPATROL  = lib$(MPATROL).o
-ARCHTS_MPATROL  = lib$(MPATROL)mt.a
-SHARTS_MPATROL  = $(MPATROL)mt.dll
-IMPLTS_MPATROL  = lib$(MPATROL)mt_dll.a
-OBJTS_MPATROL   = lib$(MPATROL)mt.o
-
-ARCHIVE_MPALLOC = lib$(MPALLOC).a
-SHARED_MPALLOC  = $(MPALLOC).dll
-IMPLIB_MPALLOC  = lib$(MPALLOC)_dll.dll
-OBJECT_MPALLOC  = lib$(MPALLOC).o
-
-ARCHIVE_MPTOOLS = lib$(MPTOOLS).a
-
-ifeq ($(CC),gcc)
-  gcc_version := $(shell $(CC) -dumpversion)
-endif
-
-# libiberty requires libintl for at least some MinGW gcc-4.x releases.
-
-ifneq (,$(findstring x4,x$(gcc_version)))
-  libiberty_requirements := -lintl
-endif
-
-# Rules
-
-.SUFFIXES: .c .o .ts.o
-
-.c.o:
-       $(CC) $(CFLAGS) $(OFLAGS) -c -o$@ $<
-
-.c.ts.o:
-       $(CC) $(CFLAGS) $(OFLAGS) $(TFLAGS) -c -o$@ $<
-
-all: $(ARCHIVE_MPATROL) $(SHARED_MPATROL) $(ARCHTS_MPATROL) $(SHARTS_MPATROL) \
-       $(ARCHIVE_MPALLOC) $(SHARED_MPALLOC) $(ARCHIVE_MPTOOLS) \
-       mpatrol.exe mprof.exe mptrace.exe mleak.exe
-       @echo 'compiler: $(CC); gcc version: $(gcc_version)'
-
-$(ARCHIVE_MPATROL): $(ARCHIVE_MPTOBJS)
-       $(AR) $(ARFLAGS) $@ $(ARCHIVE_MPTOBJS)
-       $(RANLIB) $@
-
-$(SHARED_MPATROL): $(SHARED_MPTOBJS)
-       $(LD) -shared \
-         -Wl,--out-implib=$(IMPLIB_MPATROL) \
-         -Wl,--allow-multiple-definition \
-         -o$@ $(SHARED_MPTOBJS) \
-         -lbfd -liberty $(libiberty_requirements) -limagehlp
-
-$(OBJECT_MPATROL): $(SOURCE)/library.c
-       $(CC) $(CFLAGS) $(OFLAGS) -c -o$@ $<
-
-$(ARCHTS_MPATROL): $(ARCHTS_MPTOBJS)
-       $(AR) $(ARFLAGS) $@ $(ARCHTS_MPTOBJS)
-       $(RANLIB) $@
-
-$(SHARTS_MPATROL): $(SHARTS_MPTOBJS) $(MPATROL)mt.def
-       $(LD) -shared \
-         -Wl,--out-implib=$(IMPLTS_MPATROL) \
-         -Wl,--allow-multiple-definition \
-         -o$@ $(SHARTS_MPTOBJS) \
-         -lbfd -liberty $(libiberty_requirements) -limagehlp
-
-$(OBJTS_MPATROL): $(SOURCE)/library.c
-       $(CC) $(CFLAGS) $(OFLAGS) $(TFLAGS) -c -o$@ $<
-
-$(ARCHIVE_MPALLOC): $(ARCHIVE_MPAOBJS)
-       $(AR) $(ARFLAGS) $@ $(ARCHIVE_MPAOBJS)
-       $(RANLIB) $@
-
-$(SHARED_MPALLOC): $(SHARED_MPAOBJS) $(MPALLOC).def
-       $(LD) -shared \
-         -Wl,--out-implib=$(IMPLIB_MPALLOC) \
-         -o$@ $(SHARED_MPAOBJS) \
-
-$(OBJECT_MPALLOC): $(SOURCE)/library2.c
-       $(CC) $(CFLAGS) $(OFLAGS) -c -o$@ $<
-
-$(ARCHIVE_MPTOOLS): $(ARCHIVE_MPLOBJS)
-       $(AR) $(ARFLAGS) $@ $(ARCHIVE_MPLOBJS)
-       $(RANLIB) $@
-
-mpatrol.exe: mpatrol.o getopt.o version.o
-       $(CC) -o$@ $(CFLAGS) $(OFLAGS) mpatrol.o getopt.o version.o
-
-mprof.exe: mprof.o graph.o getopt.o list.o tree.o version.o
-       $(CC) -o$@ $(CFLAGS) $(OFLAGS) mprof.o graph.o getopt.o list.o tree.o 
version.o
-
-mptrace.exe: mptrace.o getopt.o tree.o slots.o utils.o version.o
-       $(CC) -o$@ $(CFLAGS) $(OFLAGS) mptrace.o getopt.o tree.o slots.o 
utils.o version.o
-
-mleak.exe: mleak.o getopt.o tree.o version.o
-       $(CC) -o$@ $(CFLAGS) $(OFLAGS) mleak.o getopt.o tree.o version.o
-
-clean:
-       -@ rm -f $(ARCHIVE_MPTOBJS) $(ARCHTS_MPTOBJS) 2>&1 >/dev/null
-       -@ rm -f $(SHARED_MPTOBJS) $(SHARTS_MPTOBJS) 2>&1 >/dev/null
-       -@ rm -f $(ARCHIVE_MPAOBJS) $(SHARED_MPAOBJS) 2>&1 >/dev/null
-       -@ rm -f $(ARCHIVE_MPLOBJS) 2>&1 >/dev/null
-       -@ rm -f mpatrol.o mprof.o mptrace.o mleak.o graph.o getopt.o 2>&1 
>/dev/null
-
-clobber: clean
-       -@ rm -f $(ARCHIVE_MPATROL) $(ARCHTS_MPATROL) 2>&1 >/dev/null
-       -@ rm -f $(SHARED_MPATROL) $(SHARTS_MPATROL) 2>&1 >/dev/null
-       -@ rm -f $(IMPLIB_MPATROL) $(IMPLTS_MPATROL) 2>&1 >/dev/null
-       -@ rm -f $(OBJECT_MPATROL) $(OBJTS_MPATROL) 2>&1 >/dev/null
-       -@ rm -f $(ARCHIVE_MPALLOC) $(SHARED_MPALLOC) 2>&1 >/dev/null
-       -@ rm -f $(IMPLIB_MPALLOC) 2>&1 >/dev/null
-       -@ rm -f $(OBJECT_MPALLOC) 2>&1 >/dev/null
-       -@ rm -f $(ARCHIVE_MPTOOLS) 2>&1 >/dev/null
-       -@ rm -f mpatrol.exe mprof.exe mptrace.exe mleak.exe 2>&1 >/dev/null
-
-# Dependencies
-
-list.o list.ts.o: $(SOURCE)/list.c $(SOURCE)/list.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h
-tree.o tree.ts.o: $(SOURCE)/tree.c $(SOURCE)/tree.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h
-slots.o slots.ts.o: $(SOURCE)/slots.c $(SOURCE)/slots.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h $(SOURCE)/utils.h
-utils.o utils.ts.o: $(SOURCE)/utils.c $(SOURCE)/utils.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h
-memory.o memory.ts.o: $(SOURCE)/memory.c $(SOURCE)/memory.h \
-       $(SOURCE)/config.h $(SOURCE)/target.h $(SOURCE)/stack.h \
-       $(SOURCE)/utils.h
-heap.o heap.ts.o: $(SOURCE)/heap.c $(SOURCE)/heap.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h $(SOURCE)/memory.h $(SOURCE)/slots.h \
-       $(SOURCE)/tree.h $(SOURCE)/trace.h $(SOURCE)/utils.h
-alloc.o alloc.ts.o: $(SOURCE)/alloc.c $(SOURCE)/alloc.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h $(SOURCE)/heap.h $(SOURCE)/memory.h \
-       $(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h $(SOURCE)/utils.h
-info.o: $(SOURCE)/info.c $(SOURCE)/info.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h $(SOURCE)/addr.h $(SOURCE)/heap.h \
-       $(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h \
-       $(SOURCE)/stack.h $(SOURCE)/alloc.h $(SOURCE)/signals.h \
-       $(SOURCE)/symbol.h $(SOURCE)/strtab.h $(SOURCE)/diag.h \
-       $(SOURCE)/utils.h $(SOURCE)/profile.h $(SOURCE)/trace.h \
-       $(SOURCE)/leaktab.h
-info.ts.o: $(SOURCE)/info.c $(SOURCE)/info.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h $(SOURCE)/addr.h $(SOURCE)/heap.h \
-       $(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h \
-       $(SOURCE)/stack.h $(SOURCE)/alloc.h $(SOURCE)/signals.h \
-       $(SOURCE)/symbol.h $(SOURCE)/strtab.h $(SOURCE)/diag.h \
-       $(SOURCE)/mutex.h $(SOURCE)/utils.h $(SOURCE)/profile.h \
-       $(SOURCE)/trace.h $(SOURCE)/leaktab.h
-stack.o stack.ts.o: $(SOURCE)/stack.c $(SOURCE)/stack.h $(SOURCE)/memory.h \
-       $(SOURCE)/machine.h $(SOURCE)/config.h $(SOURCE)/target.h
-addr.o addr.ts.o: $(SOURCE)/addr.c $(SOURCE)/addr.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h $(SOURCE)/heap.h $(SOURCE)/memory.h \
-       $(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h $(SOURCE)/stack.h \
-       $(SOURCE)/utils.h
-strtab.o strtab.ts.o: $(SOURCE)/strtab.c $(SOURCE)/strtab.h \
-       $(SOURCE)/config.h $(SOURCE)/target.h $(SOURCE)/heap.h \
-       $(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h \
-       $(SOURCE)/utils.h
-symbol.o symbol.ts.o: $(SOURCE)/symbol.c $(SOURCE)/symbol.h \
-       $(SOURCE)/config.h $(SOURCE)/target.h $(SOURCE)/heap.h \
-       $(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h \
-       $(SOURCE)/strtab.h $(SOURCE)/diag.h $(SOURCE)/info.h $(SOURCE)/addr.h \
-       $(SOURCE)/list.h $(SOURCE)/stack.h $(SOURCE)/alloc.h \
-       $(SOURCE)/signals.h $(SOURCE)/utils.h $(SOURCE)/profile.h \
-       $(SOURCE)/trace.h $(SOURCE)/leaktab.h
-signals.o: $(SOURCE)/signals.c $(SOURCE)/signals.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h $(SOURCE)/diag.h $(SOURCE)/info.h $(SOURCE)/addr.h \
-       $(SOURCE)/heap.h $(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h \
-       $(SOURCE)/list.h $(SOURCE)/stack.h $(SOURCE)/alloc.h \
-       $(SOURCE)/symbol.h $(SOURCE)/strtab.h $(SOURCE)/inter.h \
-       $(SOURCE)/profile.h $(SOURCE)/trace.h $(SOURCE)/leaktab.h
-signals.ts.o: $(SOURCE)/signals.c $(SOURCE)/signals.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h $(SOURCE)/diag.h $(SOURCE)/info.h $(SOURCE)/addr.h \
-       $(SOURCE)/heap.h $(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h \
-       $(SOURCE)/list.h $(SOURCE)/stack.h $(SOURCE)/alloc.h \
-       $(SOURCE)/symbol.h $(SOURCE)/strtab.h $(SOURCE)/inter.h \
-       $(SOURCE)/profile.h $(SOURCE)/trace.h $(SOURCE)/leaktab.h \
-       $(SOURCE)/mutex.h
-mutex.ts.o: $(SOURCE)/mutex.c $(SOURCE)/mutex.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h
-diag.o: $(SOURCE)/diag.c $(SOURCE)/diag.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h $(SOURCE)/info.h $(SOURCE)/addr.h $(SOURCE)/heap.h \
-       $(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h \
-       $(SOURCE)/stack.h $(SOURCE)/alloc.h $(SOURCE)/signals.h \
-       $(SOURCE)/symbol.h $(SOURCE)/strtab.h $(SOURCE)/utils.h \
-       $(SOURCE)/profile.h $(SOURCE)/trace.h $(SOURCE)/leaktab.h \
-       $(SOURCE)/version.h
-diag.ts.o: $(SOURCE)/diag.c $(SOURCE)/diag.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h $(SOURCE)/info.h $(SOURCE)/addr.h $(SOURCE)/heap.h \
-       $(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h \
-       $(SOURCE)/stack.h $(SOURCE)/alloc.h $(SOURCE)/signals.h \
-       $(SOURCE)/mutex.h $(SOURCE)/symbol.h $(SOURCE)/strtab.h \
-       $(SOURCE)/utils.h $(SOURCE)/profile.h $(SOURCE)/trace.h \
-       $(SOURCE)/leaktab.h $(SOURCE)/version.h
-option.o option.ts.o: $(SOURCE)/option.c $(SOURCE)/option.h \
-       $(SOURCE)/config.h $(SOURCE)/target.h $(SOURCE)/info.h \
-       $(SOURCE)/addr.h $(SOURCE)/heap.h $(SOURCE)/memory.h $(SOURCE)/slots.h \
-       $(SOURCE)/tree.h $(SOURCE)/list.h $(SOURCE)/stack.h $(SOURCE)/alloc.h \
-       $(SOURCE)/signals.h $(SOURCE)/symbol.h $(SOURCE)/strtab.h \
-       $(SOURCE)/diag.h $(SOURCE)/utils.h $(SOURCE)/profile.h \
-       $(SOURCE)/trace.h $(SOURCE)/leaktab.h
-leaktab.o leaktab.ts.o: $(SOURCE)/leaktab.c $(SOURCE)/leaktab.h \
-       $(SOURCE)/config.h $(SOURCE)/target.h $(SOURCE)/list.h \
-       $(SOURCE)/heap.h $(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h \
-       $(SOURCE)/utils.h
-profile.o profile.ts.o: $(SOURCE)/profile.c $(SOURCE)/profile.h \
-       $(SOURCE)/config.h $(SOURCE)/target.h $(SOURCE)/alloc.h \
-       $(SOURCE)/heap.h $(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h \
-       $(SOURCE)/list.h $(SOURCE)/info.h $(SOURCE)/addr.h $(SOURCE)/stack.h \
-       $(SOURCE)/signals.h $(SOURCE)/symbol.h $(SOURCE)/strtab.h \
-       $(SOURCE)/diag.h $(SOURCE)/utils.h $(SOURCE)/trace.h \
-       $(SOURCE)/leaktab.h $(SOURCE)/version.h
-trace.o trace.ts.o: $(SOURCE)/trace.c $(SOURCE)/trace.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h $(SOURCE)/memory.h $(SOURCE)/diag.h \
-       $(SOURCE)/info.h $(SOURCE)/alloc.h $(SOURCE)/heap.h $(SOURCE)/slots.h \
-       $(SOURCE)/tree.h $(SOURCE)/list.h $(SOURCE)/addr.h $(SOURCE)/stack.h \
-       $(SOURCE)/profile.h $(SOURCE)/symbol.h $(SOURCE)/strtab.h \
-       $(SOURCE)/signals.h $(SOURCE)/leaktab.h $(SOURCE)/utils.h \
-       $(SOURCE)/version.h
-inter.o: $(SOURCE)/inter.c $(SOURCE)/inter.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h $(SOURCE)/info.h $(SOURCE)/addr.h $(SOURCE)/heap.h \
-       $(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h \
-       $(SOURCE)/stack.h $(SOURCE)/alloc.h $(SOURCE)/signals.h \
-       $(SOURCE)/symbol.h $(SOURCE)/strtab.h $(SOURCE)/diag.h \
-       $(SOURCE)/option.h $(SOURCE)/sbrk.h $(SOURCE)/profile.h \
-       $(SOURCE)/trace.h $(SOURCE)/leaktab.h $(SOURCE)/machine.h \
-       $(SOURCE)/version.h
-inter.ts.o: $(SOURCE)/inter.c $(SOURCE)/inter.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h $(SOURCE)/info.h $(SOURCE)/addr.h $(SOURCE)/heap.h \
-       $(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h \
-       $(SOURCE)/stack.h $(SOURCE)/alloc.h $(SOURCE)/signals.h \
-       $(SOURCE)/symbol.h $(SOURCE)/strtab.h $(SOURCE)/diag.h \
-       $(SOURCE)/mutex.h $(SOURCE)/option.h $(SOURCE)/sbrk.h \
-       $(SOURCE)/profile.h $(SOURCE)/trace.h $(SOURCE)/leaktab.h \
-       $(SOURCE)/machine.h $(SOURCE)/version.h
-malloc.o malloc.ts.o: $(SOURCE)/malloc.c $(SOURCE)/inter.h \
-       $(SOURCE)/config.h $(SOURCE)/target.h $(SOURCE)/info.h \
-       $(SOURCE)/addr.h $(SOURCE)/heap.h $(SOURCE)/memory.h $(SOURCE)/slots.h \
-       $(SOURCE)/tree.h $(SOURCE)/list.h $(SOURCE)/stack.h $(SOURCE)/alloc.h \
-       $(SOURCE)/signals.h $(SOURCE)/symbol.h $(SOURCE)/strtab.h \
-       $(SOURCE)/profile.h $(SOURCE)/trace.h $(SOURCE)/leaktab.h \
-       $(SOURCE)/diag.h
-cplus.o: $(SOURCE)/cplus.c $(SOURCE)/inter.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h $(SOURCE)/info.h $(SOURCE)/addr.h $(SOURCE)/heap.h \
-       $(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h \
-       $(SOURCE)/stack.h $(SOURCE)/alloc.h $(SOURCE)/signals.h \
-       $(SOURCE)/symbol.h $(SOURCE)/strtab.h $(SOURCE)/profile.h \
-       $(SOURCE)/trace.h $(SOURCE)/diag.h $(SOURCE)/leaktab.h
-cplus.ts.o: $(SOURCE)/cplus.c $(SOURCE)/inter.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h $(SOURCE)/info.h $(SOURCE)/addr.h $(SOURCE)/heap.h \
-       $(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h \
-       $(SOURCE)/stack.h $(SOURCE)/alloc.h $(SOURCE)/signals.h \
-       $(SOURCE)/symbol.h $(SOURCE)/strtab.h $(SOURCE)/profile.h \
-       $(SOURCE)/trace.h $(SOURCE)/diag.h $(SOURCE)/leaktab.h $(SOURCE)/mutex.h
-sbrk.o sbrk.ts.o: $(SOURCE)/sbrk.c $(SOURCE)/sbrk.h $(SOURCE)/config.h \
-        $(SOURCE)/target.h $(SOURCE)/memory.h $(SOURCE)/utils.h
-main.o main.ts.o: main.c $(SOURCE)/inter.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h $(SOURCE)/info.h $(SOURCE)/addr.h $(SOURCE)/heap.h \
-       $(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h \
-       $(SOURCE)/stack.h $(SOURCE)/alloc.h $(SOURCE)/signals.h \
-       $(SOURCE)/symbol.h $(SOURCE)/strtab.h $(SOURCE)/profile.h \
-       $(SOURCE)/trace.h $(SOURCE)/leaktab.h $(SOURCE)/diag.h
-version.o version.ts.o: $(SOURCE)/version.c $(SOURCE)/version.h \
-       $(SOURCE)/config.h $(SOURCE)/target.h
-mpalloc.o: $(SOURCE)/mpalloc.c $(SOURCE)/inter.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h $(SOURCE)/info.h $(SOURCE)/alloc.h $(SOURCE)/heap.h \
-       $(SOURCE)/memory.h $(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h \
-       $(SOURCE)/addr.h $(SOURCE)/stack.h $(SOURCE)/profile.h \
-       $(SOURCE)/symbol.h $(SOURCE)/strtab.h $(SOURCE)/trace.h \
-       $(SOURCE)/leaktab.h $(SOURCE)/signals.h $(SOURCE)/diag.h \
-       $(SOURCE)/mpalloc.h $(SOURCE)/version.h
-mpfailure.o: $(SOURCE)/mpfailure.c $(SOURCE)/mpalloc.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h
-mpsetfail.o: $(SOURCE)/mpsetfail.c $(SOURCE)/mpalloc.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h
-mpmalloc.o: $(SOURCE)/mpmalloc.c $(SOURCE)/mpalloc.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h
-mpcalloc.o: $(SOURCE)/mpcalloc.c $(SOURCE)/mpalloc.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h
-mpstrdup.o: $(SOURCE)/mpstrdup.c $(SOURCE)/mpalloc.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h
-mprealloc.o: $(SOURCE)/mprealloc.c $(SOURCE)/mpalloc.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h
-main2.o: main2.c $(SOURCE)/config.h $(SOURCE)/target.h
-$(OBJECT_MPATROL): $(SOURCE)/library.c $(SOURCE)/config.h $(SOURCE)/target.h \
-       $(SOURCE)/list.c $(SOURCE)/list.h $(SOURCE)/tree.c $(SOURCE)/tree.h \
-       $(SOURCE)/slots.c $(SOURCE)/slots.h $(SOURCE)/utils.h \
-       $(SOURCE)/utils.c $(SOURCE)/memory.c $(SOURCE)/memory.h \
-       $(SOURCE)/stack.h $(SOURCE)/heap.c $(SOURCE)/heap.h $(SOURCE)/alloc.c \
-       $(SOURCE)/alloc.h $(SOURCE)/info.c $(SOURCE)/info.h $(SOURCE)/addr.h \
-       $(SOURCE)/signals.h $(SOURCE)/symbol.h $(SOURCE)/strtab.h \
-       $(SOURCE)/diag.h $(SOURCE)/stack.c $(SOURCE)/addr.c $(SOURCE)/strtab.c \
-       $(SOURCE)/symbol.c $(SOURCE)/signals.c $(SOURCE)/inter.h \
-       $(SOURCE)/diag.c $(SOURCE)/version.h $(SOURCE)/option.c \
-       $(SOURCE)/option.h $(SOURCE)/inter.c $(SOURCE)/malloc.c \
-       $(SOURCE)/cplus.c $(SOURCE)/sbrk.h $(SOURCE)/sbrk.c \
-       $(SOURCE)/leaktab.c $(SOURCE)/leaktab.h $(SOURCE)/profile.c \
-       $(SOURCE)/profile.h $(SOURCE)/trace.c $(SOURCE)/trace.h \
-       $(SOURCE)/machine.h $(SOURCE)/version.c
-$(OBJTS_MPATROL): $(SOURCE)/library.c $(SOURCE)/config.h $(SOURCE)/target.h \
-       $(SOURCE)/list.c $(SOURCE)/list.h $(SOURCE)/tree.c $(SOURCE)/tree.h \
-       $(SOURCE)/slots.c $(SOURCE)/slots.h $(SOURCE)/utils.h \
-       $(SOURCE)/utils.c $(SOURCE)/memory.c $(SOURCE)/memory.h \
-       $(SOURCE)/stack.h $(SOURCE)/heap.c $(SOURCE)/heap.h $(SOURCE)/alloc.c \
-       $(SOURCE)/alloc.h $(SOURCE)/info.c $(SOURCE)/info.h $(SOURCE)/addr.h \
-       $(SOURCE)/signals.h $(SOURCE)/symbol.h $(SOURCE)/strtab.h \
-       $(SOURCE)/diag.h $(SOURCE)/mutex.h $(SOURCE)/stack.c $(SOURCE)/addr.c \
-       $(SOURCE)/strtab.c $(SOURCE)/symbol.c $(SOURCE)/signals.c \
-       $(SOURCE)/inter.h $(SOURCE)/mutex.c $(SOURCE)/diag.c \
-       $(SOURCE)/version.h $(SOURCE)/option.c $(SOURCE)/option.h \
-       $(SOURCE)/inter.c $(SOURCE)/malloc.c $(SOURCE)/cplus.c \
-       $(SOURCE)/sbrk.h $(SOURCE)/sbrk.c $(SOURCE)/leaktab.c \
-       $(SOURCE)/leaktab.h $(SOURCE)/profile.c $(SOURCE)/profile.h \
-       $(SOURCE)/trace.c $(SOURCE)/trace.h $(SOURCE)/machine.h \
-       $(SOURCE)/version.c
-$(OBJECT_MPALLOC): $(SOURCE)/library2.c $(SOURCE)/config.h $(SOURCE)/target.h \
-       $(SOURCE)/mpalloc.c $(SOURCE)/inter.h $(SOURCE)/info.h \
-       $(SOURCE)/alloc.h $(SOURCE)/heap.h $(SOURCE)/memory.h \
-       $(SOURCE)/slots.h $(SOURCE)/tree.h $(SOURCE)/list.h $(SOURCE)/addr.h \
-       $(SOURCE)/stack.h $(SOURCE)/profile.h $(SOURCE)/symbol.h \
-       $(SOURCE)/strtab.h $(SOURCE)/trace.h $(SOURCE)/signals.h \
-       $(SOURCE)/diag.h $(SOURCE)/leaktab.h $(SOURCE)/mpalloc.h \
-       $(SOURCE)/mpfailure.c $(SOURCE)/mpsetfail.c $(SOURCE)/mpmalloc.c \
-       $(SOURCE)/mpcalloc.c $(SOURCE)/mpstrdup.c $(SOURCE)/mprealloc.c
-mpatrol.o: $(SOURCE)/mpatrol.c $(SOURCE)/getopt.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h $(SOURCE)/version.h
-mprof.o: $(SOURCE)/mprof.c $(SOURCE)/getopt.h $(SOURCE)/tree.h \
-       $(SOURCE)/graph.h $(SOURCE)/list.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h $(SOURCE)/version.h
-mptrace.o: $(SOURCE)/mptrace.c $(SOURCE)/getopt.h $(SOURCE)/tree.h \
-       $(SOURCE)/slots.h $(SOURCE)/config.h $(SOURCE)/target.h \
-       $(SOURCE)/utils.h $(SOURCE)/version.h
-mleak.o: $(SOURCE)/mleak.c $(SOURCE)/getopt.h $(SOURCE)/tree.h \
-       $(SOURCE)/config.h $(SOURCE)/target.h $(SOURCE)/version.h
-graph.o: $(SOURCE)/graph.c $(SOURCE)/graph.h $(SOURCE)/list.h \
-       $(SOURCE)/config.h $(SOURCE)/target.h
-getopt.o: $(SOURCE)/getopt.c $(SOURCE)/getopt.h $(SOURCE)/config.h \
-       $(SOURCE)/target.h
-dbmalloc.o: $(TOOLS)/dbmalloc.c $(TOOLS)/dbmalloc.h $(SOURCE)/mpatrol.h \
-       $(SOURCE)/config.h $(SOURCE)/target.h
-dmalloc.o: $(TOOLS)/dmalloc.c $(TOOLS)/dmalloc.h $(SOURCE)/mpatrol.h \
-       $(SOURCE)/config.h $(SOURCE)/target.h
-heapdiff.o: $(TOOLS)/heapdiff.c $(TOOLS)/heapdiff.h $(SOURCE)/mpatrol.h \
-       $(SOURCE)/config.h $(SOURCE)/target.h
-mgauge.o: $(TOOLS)/mgauge.c $(TOOLS)/mgauge.h $(SOURCE)/mpatrol.h \
-       $(SOURCE)/config.h $(SOURCE)/target.h
-mtrace.o: $(TOOLS)/mtrace.c $(TOOLS)/mtrace.h $(SOURCE)/mpatrol.h \
-       $(SOURCE)/config.h $(SOURCE)/target.h
-
-prefix ?= /usr/local
-
-install:
-       @mkdir --parents $(prefix)/lib
-       @cp --force --preserve lib*.a $(prefix)/lib
-       @mkdir --parents $(prefix)/bin
-       @cp --force --preserve *.dll  $(prefix)/bin
-

Deleted: lmi/trunk/mpatrol_1.4.8.patch
===================================================================
--- lmi/trunk/mpatrol_1.4.8.patch       2016-02-12 12:48:06 UTC (rev 6505)
+++ lmi/trunk/mpatrol_1.4.8.patch       2016-02-12 20:20:55 UTC (rev 6506)
@@ -1,71 +0,0 @@
-diff --recursive --unified=3 original/mpatrol/src/malloc.c 
modified/mpatrol/src/malloc.c
---- original/mpatrol/src/malloc.c      2002-01-08 20:14:00.000000000 +0000
-+++ modified/mpatrol/src/malloc.c      2009-04-26 22:58:37.991952000 +0000
-@@ -26,6 +26,19 @@
-  * haven't already been overridden by the mpatrol.h header file.
-  */
- 
-+/*
-+ * Modified 2003-05-16 by Gregory W. Chicares to prevent mpatrol from
-+ * issuing a diagnostic for memmove() with a third argument of zero,
-+ * even if that would mean moving zero bytes between freed blocks of
-+ * memory. A test case is given here:
-+ *   http://groups.yahoo.com/group/mpatrol/message/796
-+ *
-+ * Modified 2004-05-13 by Gregory W. Chicares to fix an error in my
-+ * 2003-05-16 modification noted by Paul Dubuc <address@hidden>.
-+ *
-+ * Modified 2005-01-29 by Gregory W. Chicares to fix a similar
-+ * problem for memcpy().
-+ */
- 
- #include "inter.h"
- 
-@@ -749,7 +762,10 @@
- void *
- memcpy(void *q, MP_CONST void *p, size_t l)
- {
--    return __mp_copymem((void *) p, q, l, 0, AT_MEMCPY, NULL, NULL, 0, 1);
-+    if(0 == l)
-+        return q;
-+    else
-+        return __mp_copymem((void *) p, q, l, 0, AT_MEMCPY, NULL, NULL, 0, 1);
- }
- 
- 
-@@ -758,7 +774,10 @@
- void *
- MP_ALTFUNCNAME(memcpy)(void *q, MP_CONST void *p, size_t l)
- {
--    return __mp_copymem((void *) p, q, l, 0, AT_MEMCPY, NULL, NULL, 0, 1);
-+    if(0 == l)
-+        return q;
-+    else
-+        return __mp_copymem((void *) p, q, l, 0, AT_MEMCPY, NULL, NULL, 0, 1);
- }
- #endif /* MP_ALTFUNCNAMES */
- 
-@@ -774,7 +793,10 @@
- void *
- memmove(void *q, MP_CONST void *p, size_t l)
- {
--    return __mp_copymem((void *) p, q, l, 0, AT_MEMMOVE, NULL, NULL, 0, 1);
-+    if(0 == l)
-+        return q;
-+    else
-+        return __mp_copymem((void *) p, q, l, 0, AT_MEMMOVE, NULL, NULL, 0, 
1);
- }
- 
- 
-@@ -783,7 +805,10 @@
- void *
- MP_ALTFUNCNAME(memmove)(void *q, MP_CONST void *p, size_t l)
- {
--    return __mp_copymem((void *) p, q, l, 0, AT_MEMMOVE, NULL, NULL, 0, 1);
-+    if(0 == l)
-+        return q;
-+    else
-+        return __mp_copymem((void *) p, q, l, 0, AT_MEMMOVE, NULL, NULL, 0, 
1);
- }
- #endif /* MP_ALTFUNCNAMES */
- 

Deleted: lmi/trunk/mpatrol_patch_test.cpp
===================================================================
--- lmi/trunk/mpatrol_patch_test.cpp    2016-02-12 12:48:06 UTC (rev 6505)
+++ lmi/trunk/mpatrol_patch_test.cpp    2016-02-12 20:20:55 UTC (rev 6506)
@@ -1,66 +0,0 @@
-// Patch for mpatrol-1.4.8: unit test.
-//
-// Copyright (C) 2003, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 
2014, 2015, 2016 Gregory W. Chicares.
-//
-// This program is free software; you can redistribute it and/or modify
-// it under the terms of the GNU General Public License version 2 as
-// published by the Free Software Foundation.
-//
-// 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
-//
-// http://savannah.nongnu.org/projects/lmi
-// email: <address@hidden>
-// snail: Chicares, 186 Belle Woods Drive, Glastonbury CT 06033, USA
-
-// $Id$
-
-#ifdef __BORLANDC__
-#   include "pchfile.hpp"
-#   pragma hdrstop
-#endif // __BORLANDC__
-
-#include "test_tools.hpp"
-
-#include <cstdlib>
-#include <cstring>
-
-// References:
-//   http://groups.yahoo.com/group/mpatrol/message/796
-//   
http://sf.net/tracker/index.php?func=detail&aid=1112376&group_id=19456&atid=319456
-
-void test_zero_byte_moves()
-{
-    void* a = std::malloc(1);
-    void* b = std::malloc(1);
-    std::free(a);
-    std::free(b);
-    volatile std::size_t zero(0);
-    std::memcpy (a, b, zero);
-    std::memmove(a, b, zero);
-}
-
-void test_failure_0()
-{
-    char* p = (char*) std::malloc(16);
-    std::memset(p - 1, 0, 18);
-    std::free(p);
-    p[8] = '\0';
-}
-
-int test_main(int, char*[])
-{
-    test_zero_byte_moves();
-    // Compiling with this test enabled demonstrates whether mpatrol
-    // is working.
-//    test_failure_0();
-
-    return 0;
-}
-

Modified: lmi/trunk/msw_common.make
===================================================================
--- lmi/trunk/msw_common.make   2016-02-12 12:48:06 UTC (rev 6505)
+++ lmi/trunk/msw_common.make   2016-02-12 20:20:55 UTC (rev 6506)
@@ -48,9 +48,6 @@
   -lxslt \
   -lxml2 \
 
-platform_mpatrol_libraries := \
-  -limagehlp \
-
 platform_wx_libraries := \
   -lwx_new \
   -lwxmsw25d \

Modified: lmi/trunk/objects.make
===================================================================
--- lmi/trunk/objects.make      2016-02-12 12:48:06 UTC (rev 6505)
+++ lmi/trunk/objects.make      2016-02-12 20:20:55 UTC (rev 6506)
@@ -386,17 +386,14 @@
 
 # Override this variable to exclude tests that are inappropriate in
 # context--e.g., tests that don't even compile with a particular
-# toolchain.
+# toolchain. For example:
 #
-# 'calendar_date_test' is excluded for mpatrol builds because it takes
-# too long to run: at least fifteen minutes on my machine in 2009.
+# ifeq (foobar,$(build_type))
+#   excluded_unit_test_targets += calendar_date_test
+# endif
 
 excluded_unit_test_targets :=
 
-ifeq (mpatrol,$(build_type))
-  excluded_unit_test_targets += calendar_date_test
-endif
-
 unit_test_targets := \
   account_value_test \
   actuarial_table_test \
@@ -431,7 +428,6 @@
   mc_enum_test \
   miscellany_test \
   mortality_rates_test \
-  mpatrol_patch_test \
   name_value_pairs_test \
   ncnnnpnn_test \
   numeric_io_test \
@@ -735,10 +731,6 @@
   ihs_mortal.o \
   mortality_rates_test.o \
 
-mpatrol_patch_test$(EXEEXT): \
-  $(common_test_objects) \
-  mpatrol_patch_test.o \
-
 name_value_pairs_test$(EXEEXT): \
   $(boost_filesystem_objects) \
   $(common_test_objects) \

Modified: lmi/trunk/workhorse.make
===================================================================
--- lmi/trunk/workhorse.make    2016-02-12 12:48:06 UTC (rev 6505)
+++ lmi/trunk/workhorse.make    2016-02-12 20:20:55 UTC (rev 6506)
@@ -103,8 +103,7 @@
 endif
 
 # The product_files target doesn't build with shared-library
-# 'attributes'. It can be built with mpatrol, but the resulting binary
-# segfaults. This matters little because that target is deprecated.
+# 'attributes'.
 #
 # TODO ?? The gpt server, however, is important; it needs work anyway.
 
@@ -118,7 +117,7 @@
     generate_passkey$(EXEEXT) \
     ihs_crc_comp$(EXEEXT) \
 
-  ifneq (mpatrol,$(findstring mpatrol,$(build_type)))
+  ifneq (so_test,$(findstring so_test,$(build_type)))
     default_targets += \
       product_files$(EXEEXT) \
 
@@ -547,7 +546,6 @@
 
 # Build type governs
 #  - optimization flags
-#  - mpatrol
 #  - gprof
 #  - libstdc++ debugging and concept-checking macros
 
@@ -563,28 +561,17 @@
   -D_GLIBCPP_DEBUG -D_GLIBCPP_DEBUG_PEDANTIC -D_GLIBCPP_CONCEPT_CHECKS \
                    -D_GLIBXX_DEBUG_PEDANTIC \
 
-MPATROL_LDFLAGS :=
-MPATROL_LIBS    :=
-
 test_targets := unit_tests cgi_tests cli_tests
 
-ifeq (mpatrol,$(findstring mpatrol,$(build_type)))
-  ifeq (3.4.4,$(gcc_version))
-    MPATROL_LDFLAGS := -Wl,--allow-multiple-definition
-  endif
+ifeq (gprof,$(findstring gprof,$(build_type)))
   optimization_flag := -O0
-  MPATROL_LIBS := -lmpatrol -lbfd -liberty $(platform_mpatrol_libraries)
+  gprof_flag := -pg
 else
-  ifeq (gprof,$(findstring gprof,$(build_type)))
+  ifeq (safestdlib,$(findstring safestdlib,$(build_type)))
     optimization_flag := -O0
-    gprof_flag := -pg
+    libstdcxx_warning_macros := $(every_libstdcxx_warning_macro)
   else
-    ifeq (safestdlib,$(findstring safestdlib,$(build_type)))
-      optimization_flag := -O0
-      libstdcxx_warning_macros := $(every_libstdcxx_warning_macro)
-    else
-      optimization_flag := -O2
-    endif
+    optimization_flag := -O2
   endif
 endif
 
@@ -732,11 +719,11 @@
 # subdirectories seem to be the most popular choices, and usage
 # varies, at least for msw:
 #  - wx-2.7.0 built with autotools puts its dll in lib/
-#  - libxml2 and mpatrol put their dlls in bin/
+#  - libxml2 and libxslt put their dlls in bin/
 # It is crucial to list these two subdirectories in exactly the order
 # given. If they were specified in reverse order, then gnu 'ld' would
 # find a dll before its import library, which latter would therefore
-# be ignored--and that would prevent mpatrol from working correctly.
+# be ignored--and that prevented mpatrol from working correctly.
 
 all_library_directories := \
   . \
@@ -746,13 +733,10 @@
 
 EXTRA_LDFLAGS :=
 
-# Keep mpatrol at the end of the library list.
 REQUIRED_LDFLAGS = \
   $(addprefix -L , $(all_library_directories)) \
   $(EXTRA_LDFLAGS) \
   $(REQUIRED_LIBS) \
-  $(MPATROL_LDFLAGS) \
-  $(MPATROL_LIBS) \
 
 # The '--use-temp-file' windres option seems to be often helpful and
 # never harmful. The $(subst) workaround for '-I' isn't needed with
@@ -832,13 +816,6 @@
 lib%.a              : lmi_so_attributes :=
 lib%$(SHREXT)       : lmi_so_attributes := -DLMI_BUILD_SO
 
-# Don't use mpatrol when building a shared library to be used by an
-# application that uses mpatrol. See my postings to the mpatrol
-# mailing list.
-
-lib%$(SHREXT)       : MPATROL_LIBS :=
-wx_new$(SHREXT)     : MPATROL_LIBS :=
-
 wx_new$(SHREXT)     : EXTRA_LDFLAGS :=
 
                       lmi_wx_new_so_attributes := -DLMI_WX_NEW_USE_SO
@@ -1152,23 +1129,13 @@
 .PHONY: run_unit_tests
 run_unit_tests: unit_tests_not_built $(addsuffix -run,$(unit_test_targets))
 
-# Create 'mpatrol.log' if it doesn't already exist, so that it can be
-# parsed for diagnostics unconditionally when unit tests are run.
-
-mpatrol.log:
-       @$(TOUCH) $@
-
 # MSYS !! The initial ';' in the first $(SED) command works around a
 # problem caused by MSYS.
 
 .PHONY: %$(EXEEXT)-run
-%$(EXEEXT)-run: mpatrol.log
+%$(EXEEXT)-run:
        @$(ECHO) -e "\nRunning $*:"
        @-./$* --accept
-       @[ -f mpatrol.log ] \
-         && <mpatrol.log $(SED) \
-           -e ';/^total warnings\|^total errors/!d' \
-           -e 's/^\(.*$$\)/  mpatrol: \1/' \
 
 
################################################################################
 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]