1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-30 12:21:25 -08:00

More build/install improvements:

1. Name the command-line tools with the "mps" prefix throughout, for consistency between build and installation.
2. Don't build "mpseventsql.exe" by default on Windows.
3. Instructions for building mpseventsql on the supported platforms.

Copied from Perforce
 Change: 180913
 ServerID: perforce.ravenbrook.com
This commit is contained in:
Gareth Rees 2013-02-05 15:43:41 +00:00
parent 2ffce9476e
commit bc4ccedc13
11 changed files with 131 additions and 75 deletions

View file

@ -30,7 +30,7 @@ install-make-build: make-install-dirs build-via-make
$(INSTALL_DATA) code/mps*.h $(prefix)/include/
$(INSTALL_DATA) code/$(MPS_TARGET_NAME)/cool/mps.a $(prefix)/lib/libmps-debug.a
$(INSTALL_DATA) code/$(MPS_TARGET_NAME)/hot/mps.a $(prefix)/lib/libmps.a
for PROGRAM in $(EXTRA_TARGETS); do $(INSTALL_PROGRAM) code/$(MPS_TARGET_NAME)/hot/$$PROGRAM $(prefix)/bin/mps$$PROGRAM; done
for PROGRAM in $(EXTRA_TARGETS); do $(INSTALL_PROGRAM) code/$(MPS_TARGET_NAME)/hot/$$PROGRAM $(prefix)/bin/$$PROGRAM; done
build-via-xcode:
xcodebuild -project code/mps.xcodeproj -config Release
@ -44,7 +44,7 @@ install-xcode-build: make-install-dirs build-via-xcode
$(INSTALL_DATA) code/mps*.h $(prefix)/include/
$(INSTALL_DATA) code/xc/Debug/libmps.a $(prefix)/lib/libmps-debug.a
$(INSTALL_DATA) code/xc/Release/libmps.a $(prefix)/lib/libmps.a
for PROGRAM in $(EXTRA_TARGETS); do $(INSTALL_PROGRAM) code/xc/Release/$$PROGRAM $(prefix)/bin/mps$$PROGRAM; done
for PROGRAM in $(EXTRA_TARGETS); do $(INSTALL_PROGRAM) code/xc/Release/$$PROGRAM $(prefix)/bin/$$PROGRAM; done
Makefile: Makefile.in config.status
./config.status Makefile

View file

@ -71,10 +71,10 @@ endif
# EXTRA TARGETS
#
# Don't build eventsql by default (might not have sqlite3 installed),
# but do build eventcnv and eventtxt.
# Don't build mpseventsql by default (might not have sqlite3 installed),
# but do build mpseventcnv and mpseventtxt.
EXTRA_TARGETS ?= eventcnv eventtxt
EXTRA_TARGETS ?= mpseventcnv mpseventtxt
#
@ -433,13 +433,13 @@ $(PFM)/$(VARIETY)/zcoll: $(PFM)/$(VARIETY)/zcoll.o \
$(PFM)/$(VARIETY)/zmess: $(PFM)/$(VARIETY)/zmess.o \
$(FMTDYTSTOBJ) $(TESTLIBOBJ) $(PFM)/$(VARIETY)/mps.a
$(PFM)/$(VARIETY)/eventcnv: $(PFM)/$(VARIETY)/eventcnv.o \
$(PFM)/$(VARIETY)/mpseventcnv: $(PFM)/$(VARIETY)/eventcnv.o \
$(PFM)/$(VARIETY)/eventpro.o $(PFM)/$(VARIETY)/mps.a
$(PFM)/$(VARIETY)/eventtxt: $(PFM)/$(VARIETY)/eventtxt.o \
$(PFM)/$(VARIETY)/mpseventtxt: $(PFM)/$(VARIETY)/eventtxt.o \
$(PFM)/$(VARIETY)/mps.a
$(PFM)/$(VARIETY)/eventsql: $(PFM)/$(VARIETY)/eventsql.o \
$(PFM)/$(VARIETY)/mpseventsql: $(PFM)/$(VARIETY)/eventsql.o \
$(PFM)/$(VARIETY)/mps.a
$(PFM)/$(VARIETY)/replay: $(PFM)/$(VARIETY)/replay.o \
@ -542,7 +542,7 @@ $(PFM)/$(VARIETY)/%:
$(ECHO) "$(PFM): $@"
$(CC) $(CFLAGS) $(LINKFLAGS) -o $@ $^ $(LIBS)
$(PFM)/$(VARIETY)/eventsql:
$(PFM)/$(VARIETY)/mpseventsql:
$(ECHO) "$(PFM): $@"
$(CC) $(CFLAGS) $(LINKFLAGS) -o $@ $^ $(LIBS) -lsqlite3

View file

@ -19,7 +19,7 @@ all: mpmss.exe amcss.exe amsss.exe amssshe.exe segsmss.exe awlut.exe awluthe.exe
arenacv.exe bttest.exe teletest.exe \
abqtest.exe cbstest.exe btcv.exe mv2test.exe messtest.exe steptest.exe \
locbwcss.exe locusss.exe zcoll.exe zmess.exe \
eventcnv.exe eventtxt.exe eventsql.exe \
mpseventcnv.exe mpseventtxt.exe \
mps.lib
@ -37,7 +37,7 @@ mpmss.exe amcss.exe amcsshe.exe amsss.exe amssshe.exe segsmss.exe awlut.exe awlu
abqtest.exe cbstest.exe btcv.exe mv2test.exe messtest.exe steptest.exe \
walkt0.exe locbwcss.exe locusss.exe \
exposet0.exe zcoll.exe zmess.exe \
replay.exe replaysw.exe eventcnv.exe eventtxt.exe eventsql.exe \
replay.exe replaysw.exe mpseventcnv.exe mpseventtxt.exe mpseventsql.exe \
mps.lib:
!IFDEF VARIETY
$(MAKE) /nologo /f $(PFM).nmk TARGET=$@ variety
@ -231,13 +231,13 @@ $(PFM)\$(VARIETY)\zmess.exe: $(PFM)\$(VARIETY)\zmess.obj \
$(PFM)\$(VARIETY)\mps.lib $(FMTTESTOBJ) \
$(TESTLIBOBJ)
$(PFM)\$(VARIETY)\eventcnv.exe: $(PFM)\$(VARIETY)\eventcnv.obj \
$(PFM)\$(VARIETY)\mpseventcnv.exe: $(PFM)\$(VARIETY)\eventcnv.obj \
$(PFM)\$(VARIETY)\eventpro.obj $(PFM)\$(VARIETY)\mps.lib
$(PFM)\$(VARIETY)\eventtxt.exe: $(PFM)\$(VARIETY)\eventtxt.obj \
$(PFM)\$(VARIETY)\mpseventtxt.exe: $(PFM)\$(VARIETY)\eventtxt.obj \
$(PFM)\$(VARIETY)\mps.lib
$(PFM)\$(VARIETY)\eventsql.exe: $(PFM)\$(VARIETY)\eventsql.obj \
$(PFM)\$(VARIETY)\mpseventsql.exe: $(PFM)\$(VARIETY)\eventsql.obj \
$(PFM)\$(VARIETY)\sqlite3.obj $(PFM)\$(VARIETY)\mps.lib
$(PFM)\$(VARIETY)\replay.exe: $(PFM)\$(VARIETY)\replay.obj \

View file

@ -207,14 +207,14 @@
containerPortal = 31EEABDA156AAE9E00714D05 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 2D604B9B16514B1A003AAF46;
remoteInfo = eventtxt;
remoteInfo = mpseventtxt;
};
2D07B9781636FCBD00DB751B /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 31EEABDA156AAE9E00714D05 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 2D07B9701636FC9900DB751B;
remoteInfo = eventsql;
remoteInfo = mpseventsql;
};
3104AFC0156D35AE000A585A /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@ -529,7 +529,7 @@
containerPortal = 31EEABDA156AAE9E00714D05 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 3114A6C5156E9815001E0AA3;
remoteInfo = eventcnv;
remoteInfo = mpseventcnv;
};
31A47BA9156C210D0039B1C2 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
@ -938,9 +938,9 @@
/* Begin PBXFileReference section */
2D07B96C1636FC7200DB751B /* eventsql.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = eventsql.c; sourceTree = "<group>"; };
2D07B9711636FC9900DB751B /* eventsql */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = eventsql; sourceTree = BUILT_PRODUCTS_DIR; };
2D07B9711636FC9900DB751B /* mpseventsql */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = mpseventsql; sourceTree = BUILT_PRODUCTS_DIR; };
2D07B97B163705E400DB751B /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = usr/lib/libsqlite3.dylib; sourceTree = SDKROOT; };
2D604B9C16514B1A003AAF46 /* eventtxt */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = eventtxt; sourceTree = BUILT_PRODUCTS_DIR; };
2D604B9C16514B1A003AAF46 /* mpseventtxt */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = mpseventtxt; sourceTree = BUILT_PRODUCTS_DIR; };
2D604BA416514C4F003AAF46 /* eventtxt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = eventtxt.c; sourceTree = "<group>"; };
3104AFA5156D27E7000A585A /* ssixi6.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ssixi6.c; sourceTree = "<group>"; };
3104AFB3156D357B000A585A /* apss */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = apss; sourceTree = BUILT_PRODUCTS_DIR; };
@ -982,7 +982,7 @@
3114A69F156E9725001E0AA3 /* messtest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = messtest.c; sourceTree = "<group>"; };
3114A6AC156E9759001E0AA3 /* walkt0 */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = walkt0; sourceTree = BUILT_PRODUCTS_DIR; };
3114A6BA156E9768001E0AA3 /* walkt0.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = walkt0.c; sourceTree = "<group>"; };
3114A6C6156E9815001E0AA3 /* eventcnv */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = eventcnv; sourceTree = BUILT_PRODUCTS_DIR; };
3114A6C6156E9815001E0AA3 /* mpseventcnv */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = mpseventcnv; sourceTree = BUILT_PRODUCTS_DIR; };
3114A6D0156E9829001E0AA3 /* eventcnv.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = eventcnv.c; sourceTree = "<group>"; };
3114A6D9156E9950001E0AA3 /* eventpro.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = eventpro.c; sourceTree = "<group>"; };
3124CAB8156BE3EC00753214 /* awlut */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = awlut; sourceTree = BUILT_PRODUCTS_DIR; };
@ -1335,20 +1335,20 @@
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
2D07B96A1636FC4C00DB751B /* eventsql */ = {
2D07B96A1636FC4C00DB751B /* mpseventsql */ = {
isa = PBXGroup;
children = (
2D07B96C1636FC7200DB751B /* eventsql.c */,
);
name = eventsql;
name = mpseventsql;
sourceTree = "<group>";
};
2D604B971651433C003AAF46 /* eventtxt */ = {
2D604B971651433C003AAF46 /* mpseventtxt */ = {
isa = PBXGroup;
children = (
2D604BA416514C4F003AAF46 /* eventtxt.c */,
);
name = eventtxt;
name = mpseventtxt;
sourceTree = "<group>";
};
3114A647156E956C001E0AA3 /* Mysterious */ = {
@ -1363,20 +1363,20 @@
3114A6D6156E9846001E0AA3 /* Tools */ = {
isa = PBXGroup;
children = (
2D604B971651433C003AAF46 /* eventtxt */,
2D07B96A1636FC4C00DB751B /* eventsql */,
3114A6D8156E9942001E0AA3 /* eventcnv */,
2D604B971651433C003AAF46 /* mpseventtxt */,
2D07B96A1636FC4C00DB751B /* mpseventsql */,
3114A6D8156E9942001E0AA3 /* mpseventcnv */,
);
name = Tools;
sourceTree = "<group>";
};
3114A6D8156E9942001E0AA3 /* eventcnv */ = {
3114A6D8156E9942001E0AA3 /* mpseventcnv */ = {
isa = PBXGroup;
children = (
3114A6D9156E9950001E0AA3 /* eventpro.c */,
3114A6D0156E9829001E0AA3 /* eventcnv.c */,
);
name = eventcnv;
name = mpseventcnv;
sourceTree = "<group>";
};
3124CAB3156BE1B700753214 /* Tests */ = {
@ -1493,9 +1493,9 @@
3114A67C156E9668001E0AA3 /* mv2test */,
3114A695156E971B001E0AA3 /* messtest */,
3114A6AC156E9759001E0AA3 /* walkt0 */,
3114A6C6156E9815001E0AA3 /* eventcnv */,
2D07B9711636FC9900DB751B /* eventsql */,
2D604B9C16514B1A003AAF46 /* eventtxt */,
3114A6C6156E9815001E0AA3 /* mpseventcnv */,
2D07B9711636FC9900DB751B /* mpseventsql */,
2D604B9C16514B1A003AAF46 /* mpseventtxt */,
);
name = Products;
sourceTree = "<group>";
@ -1595,9 +1595,9 @@
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
2D07B9701636FC9900DB751B /* eventsql */ = {
2D07B9701636FC9900DB751B /* mpseventsql */ = {
isa = PBXNativeTarget;
buildConfigurationList = 2D07B9741636FC9900DB751B /* Build configuration list for PBXNativeTarget "eventsql" */;
buildConfigurationList = 2D07B9741636FC9900DB751B /* Build configuration list for PBXNativeTarget "mpseventsql" */;
buildPhases = (
2D07B96D1636FC9900DB751B /* Sources */,
2D07B96E1636FC9900DB751B /* Frameworks */,
@ -1607,14 +1607,14 @@
);
dependencies = (
);
name = eventsql;
productName = eventsql;
productReference = 2D07B9711636FC9900DB751B /* eventsql */;
name = mpseventsql;
productName = mpseventsql;
productReference = 2D07B9711636FC9900DB751B /* mpseventsql */;
productType = "com.apple.product-type.tool";
};
2D604B9B16514B1A003AAF46 /* eventtxt */ = {
2D604B9B16514B1A003AAF46 /* mpseventtxt */ = {
isa = PBXNativeTarget;
buildConfigurationList = 2D604BA216514B59003AAF46 /* Build configuration list for PBXNativeTarget "eventtxt" */;
buildConfigurationList = 2D604BA216514B59003AAF46 /* Build configuration list for PBXNativeTarget "mpseventtxt" */;
buildPhases = (
2D604B9816514B1A003AAF46 /* Sources */,
2D604B9916514B1A003AAF46 /* Frameworks */,
@ -1624,9 +1624,9 @@
);
dependencies = (
);
name = eventtxt;
productName = eventtxt;
productReference = 2D604B9C16514B1A003AAF46 /* eventtxt */;
name = mpseventtxt;
productName = mpseventtxt;
productReference = 2D604B9C16514B1A003AAF46 /* mpseventtxt */;
productType = "com.apple.product-type.tool";
};
3104AFB2156D357B000A585A /* apss */ = {
@ -1971,9 +1971,9 @@
productReference = 3114A6AC156E9759001E0AA3 /* walkt0 */;
productType = "com.apple.product-type.tool";
};
3114A6C5156E9815001E0AA3 /* eventcnv */ = {
3114A6C5156E9815001E0AA3 /* mpseventcnv */ = {
isa = PBXNativeTarget;
buildConfigurationList = 3114A6CD156E9815001E0AA3 /* Build configuration list for PBXNativeTarget "eventcnv" */;
buildConfigurationList = 3114A6CD156E9815001E0AA3 /* Build configuration list for PBXNativeTarget "mpseventcnv" */;
buildPhases = (
3114A6C2156E9815001E0AA3 /* Sources */,
3114A6C3156E9815001E0AA3 /* Frameworks */,
@ -1984,9 +1984,9 @@
dependencies = (
3114A6D3156E9834001E0AA3 /* PBXTargetDependency */,
);
name = eventcnv;
productName = eventcnv;
productReference = 3114A6C6156E9815001E0AA3 /* eventcnv */;
name = mpseventcnv;
productName = mpseventcnv;
productReference = 3114A6C6156E9815001E0AA3 /* mpseventcnv */;
productType = "com.apple.product-type.tool";
};
3124CAB7156BE3EC00753214 /* awlut */ = {
@ -2237,9 +2237,9 @@
3114A67B156E9668001E0AA3 /* mv2test */,
3114A694156E971B001E0AA3 /* messtest */,
3114A6AB156E9759001E0AA3 /* walkt0 */,
3114A6C5156E9815001E0AA3 /* eventcnv */,
2D07B9701636FC9900DB751B /* eventsql */,
2D604B9B16514B1A003AAF46 /* eventtxt */,
3114A6C5156E9815001E0AA3 /* mpseventcnv */,
2D07B9701636FC9900DB751B /* mpseventsql */,
2D604B9B16514B1A003AAF46 /* mpseventtxt */,
);
};
/* End PBXProject section */
@ -2595,12 +2595,12 @@
/* Begin PBXTargetDependency section */
22E16A8916C141020090AD9F /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 2D604B9B16514B1A003AAF46 /* eventtxt */;
target = 2D604B9B16514B1A003AAF46 /* mpseventtxt */;
targetProxy = 22E16A8816C141020090AD9F /* PBXContainerItemProxy */;
};
2D07B9791636FCBD00DB751B /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 2D07B9701636FC9900DB751B /* eventsql */;
target = 2D07B9701636FC9900DB751B /* mpseventsql */;
targetProxy = 2D07B9781636FCBD00DB751B /* PBXContainerItemProxy */;
};
3104AFC1156D35AE000A585A /* PBXTargetDependency */ = {
@ -2825,7 +2825,7 @@
};
3114A6D5156E9839001E0AA3 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 3114A6C5156E9815001E0AA3 /* eventcnv */;
target = 3114A6C5156E9815001E0AA3 /* mpseventcnv */;
targetProxy = 3114A6D4156E9839001E0AA3 /* PBXContainerItemProxy */;
};
31A47BAA156C210D0039B1C2 /* PBXTargetDependency */ = {
@ -3809,7 +3809,7 @@
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
2D07B9741636FC9900DB751B /* Build configuration list for PBXNativeTarget "eventsql" */ = {
2D07B9741636FC9900DB751B /* Build configuration list for PBXNativeTarget "mpseventsql" */ = {
isa = XCConfigurationList;
buildConfigurations = (
2D07B9751636FC9900DB751B /* Debug */,
@ -3819,7 +3819,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
2D604BA216514B59003AAF46 /* Build configuration list for PBXNativeTarget "eventtxt" */ = {
2D604BA216514B59003AAF46 /* Build configuration list for PBXNativeTarget "mpseventtxt" */ = {
isa = XCConfigurationList;
buildConfigurations = (
2D604B9F16514B1A003AAF46 /* Debug */,
@ -4029,7 +4029,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
3114A6CD156E9815001E0AA3 /* Build configuration list for PBXNativeTarget "eventcnv" */ = {
3114A6CD156E9815001E0AA3 /* Build configuration list for PBXNativeTarget "mpseventcnv" */ = {
isa = XCConfigurationList;
buildConfigurations = (
3114A6CE156E9815001E0AA3 /* Debug */,

4
mps/configure vendored
View file

@ -2922,7 +2922,7 @@ CFLAGS_GC="-ansi -pedantic -Wall -Werror -Wpointer-arith \
-Wcast-qual -Wshadow -Wstrict-aliasing=2 -O -g3"
CFLAGS_LL="$CFLAGS_GC -Wno-extended-offsetof"
EXTRA_TARGETS="eventcnv eventtxt"
EXTRA_TARGETS="mpseventcnv mpseventtxt"
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
@ -3323,7 +3323,7 @@ done
ac_fn_c_check_header_mongrel "$LINENO" "sqlite3.h" "ac_cv_header_sqlite3_h" "$ac_includes_default"
if test "x$ac_cv_header_sqlite3_h" = xyes; then :
EXTRA_TARGETS+=" eventsql"
EXTRA_TARGETS+=" mpseventsql"
fi

View file

@ -37,8 +37,8 @@ CFLAGS_GC="-ansi -pedantic -Wall -Werror -Wpointer-arith \
-Wcast-qual -Wshadow -Wstrict-aliasing=2 -O -g3"
CFLAGS_LL="$CFLAGS_GC -Wno-extended-offsetof"
EXTRA_TARGETS="eventcnv eventtxt"
AC_CHECK_HEADER([sqlite3.h], [EXTRA_TARGETS+=" eventsql"])
EXTRA_TARGETS="mpseventcnv mpseventtxt"
AC_CHECK_HEADER([sqlite3.h], [EXTRA_TARGETS+=" mpseventsql"])
AC_CANONICAL_HOST
AC_MSG_CHECKING([target platform])

View file

@ -153,18 +153,18 @@ Running make
............
To build all MPS targets on Unix-like platforms, change to the ``code``
directory and type::
directory and run the command::
make -f <makefile>
where ``make`` is the command for GNU Make. (Sometimes this will be
``gmake`` or ``gnumake``.)
To build just one target, type::
To build just one target, run::
make -f <makefile> <target>
To build a restricted set of targets for just one variety, type::
To build a restricted set of targets for just one variety, run::
make -f <makefile> 'VARIETY=<variety>' <target>
@ -174,7 +174,7 @@ FreeBSD::
gmake -f fri3gc.gmk VARIETY=cool amcss
On Windows platforms you need to run the "Visual Studio Command Prompt"
from the Start menu. Then type::
from the Start menu. Then run one of these commands::
nmake /f w3i3mv.nmk (32-bit)
nmake /f w3i6mv.nmk (64-bit)
@ -183,7 +183,7 @@ You will need to switch your build environment between 32-bit and
64-bit using Microsoft's ``setenv`` command, for example, ``setenv
/x86`` or ``setenv /x64``.
To build just one target, type::
To build just one target, run the command::
nmake /f w3i3mv.nmk <target>
@ -199,7 +199,7 @@ equivalent, a library of object code which you can link with your
application, subject to the :ref:`MPS licensing conditions <license>`.
It also generates a number of test programs, such as ``amcss`` (a
stress test for the Automatic Mostly-Copying pool class) and tools
such as ``eventcnv`` (for decoding telemetry logs).
such as ``mpseventcnv`` (for decoding telemetry logs).
Installing the Memory Pool System
@ -223,3 +223,31 @@ with ``mps`` to ``/usr/local/include``.
Note, however, that you may get better performance by using the method
described in the section "Optimizing for your object format" above.
mpseventsql
...........
The MPS Kit can build a command-line program ``mpseventsql`` that
loads a diagnostic stream of events into a :ref:`SQLite3
<http://www.sqlite.org/>` database for processing. In order to build
this program, you need to install the SQLite3 development resources.
On Mac OS X, SQLite3 is pre-installed, so this tool builds by default.
On Linux, you need to install the ``libsqlite3-dev`` package::
apt-get install libsqlite3-dev
and then re-run ``./configure`` and ``make`` as described above.
On Windows, you should visit the :ref:`SQLite Download Page
<http://www.sqlite.org/download.html>` and download the
``sqlite-amalgamation`` ZIP archive. (At time of writing this is the
first download on the page.) When you unzip the archive, you'll find
it contains files named ``sqlite3.c`` and ``sqlite3.h``. Copy these
two files into the ``code`` directory in the MPS Kit. Then in the
"Visual Studio Command Prompt", visit the ``code`` directory and run
the command::
nmake /f w3i3mv.nmk mpseventsql.exe

View file

@ -242,17 +242,17 @@ these platforms or any new platforms, please contact Ravenbrook at
<div class="section" id="running-make">
<h3>2.3.3. Running make<a class="headerlink" href="#running-make" title="Permalink to this headline"></a></h3>
<p>To build all MPS targets on Unix-like platforms, change to the <tt class="docutils literal"><span class="pre">code</span></tt>
directory and type:</p>
directory and run the command:</p>
<div class="highlight-c"><div class="highlight"><pre><span class="n">make</span> <span class="o">-</span><span class="n">f</span> <span class="o">&lt;</span><span class="n">makefile</span><span class="o">&gt;</span>
</pre></div>
</div>
<p>where <tt class="docutils literal"><span class="pre">make</span></tt> is the command for GNU Make. (Sometimes this will be
<tt class="docutils literal"><span class="pre">gmake</span></tt> or <tt class="docutils literal"><span class="pre">gnumake</span></tt>.)</p>
<p>To build just one target, type:</p>
<p>To build just one target, run:</p>
<div class="highlight-c"><div class="highlight"><pre><span class="n">make</span> <span class="o">-</span><span class="n">f</span> <span class="o">&lt;</span><span class="n">makefile</span><span class="o">&gt;</span> <span class="o">&lt;</span><span class="n">target</span><span class="o">&gt;</span>
</pre></div>
</div>
<p>To build a restricted set of targets for just one variety, type:</p>
<p>To build a restricted set of targets for just one variety, run:</p>
<div class="highlight-c"><pre>make -f &lt;makefile&gt; 'VARIETY=&lt;variety&gt;' &lt;target&gt;</pre>
</div>
<p>For example, to build just the &#8220;cool&#8221; variety of the <tt class="docutils literal"><span class="pre">amcss</span></tt> test on
@ -261,7 +261,7 @@ FreeBSD:</p>
</pre></div>
</div>
<p>On Windows platforms you need to run the &#8220;Visual Studio Command Prompt&#8221;
from the Start menu. Then type:</p>
from the Start menu. Then run one of these commands:</p>
<div class="highlight-c"><div class="highlight"><pre><span class="n">nmake</span> <span class="o">/</span><span class="n">f</span> <span class="n">w3i3mv</span><span class="p">.</span><span class="n">nmk</span> <span class="p">(</span><span class="mi">32</span><span class="o">-</span><span class="n">bit</span><span class="p">)</span>
<span class="n">nmake</span> <span class="o">/</span><span class="n">f</span> <span class="n">w3i6mv</span><span class="p">.</span><span class="n">nmk</span> <span class="p">(</span><span class="mi">64</span><span class="o">-</span><span class="n">bit</span><span class="p">)</span>
</pre></div>
@ -269,7 +269,7 @@ from the Start menu. Then type:</p>
<p>You will need to switch your build environment between 32-bit and
64-bit using Microsoft&#8217;s <tt class="docutils literal"><span class="pre">setenv</span></tt> command, for example, <tt class="docutils literal"><span class="pre">setenv</span>
<span class="pre">/x86</span></tt> or <tt class="docutils literal"><span class="pre">setenv</span> <span class="pre">/x64</span></tt>.</p>
<p>To build just one target, type:</p>
<p>To build just one target, run the command:</p>
<div class="highlight-c"><div class="highlight"><pre><span class="n">nmake</span> <span class="o">/</span><span class="n">f</span> <span class="n">w3i3mv</span><span class="p">.</span><span class="n">nmk</span> <span class="o">&lt;</span><span class="n">target</span><span class="o">&gt;</span>
</pre></div>
</div>
@ -285,7 +285,7 @@ equivalent, a library of object code which you can link with your
application, subject to the <a class="reference internal" href="../copyright.html#license"><em>MPS licensing conditions</em></a>.
It also generates a number of test programs, such as <tt class="docutils literal"><span class="pre">amcss</span></tt> (a
stress test for the Automatic Mostly-Copying pool class) and tools
such as <tt class="docutils literal"><span class="pre">eventcnv</span></tt> (for decoding telemetry logs).</p>
such as <tt class="docutils literal"><span class="pre">mpseventcnv</span></tt> (for decoding telemetry logs).</p>
</div>
</div>
<div class="section" id="installing-the-memory-pool-system">
@ -305,6 +305,28 @@ make to, for example, <tt class="docutils literal"><span class="pre">/usr/local/
with <tt class="docutils literal"><span class="pre">mps</span></tt> to <tt class="docutils literal"><span class="pre">/usr/local/include</span></tt>.</p>
<p>Note, however, that you may get better performance by using the method
described in the section &#8220;Optimizing for your object format&#8221; above.</p>
<div class="section" id="mpseventsql">
<h3>2.4.1. mpseventsql<a class="headerlink" href="#mpseventsql" title="Permalink to this headline"></a></h3>
<p>The MPS Kit can build a command-line program <tt class="docutils literal"><span class="pre">mpseventsql</span></tt> that
loads a diagnostic stream of events into a <em class="xref std std-ref">SQLite3</em> database for processing. In order to build
this program, you need to install the SQLite3 development resources.</p>
<p>On Mac OS X, SQLite3 is pre-installed, so this tool builds by default.</p>
<p>On Linux, you need to install the <tt class="docutils literal"><span class="pre">libsqlite3-dev</span></tt> package:</p>
<div class="highlight-c"><div class="highlight"><pre><span class="n">apt</span><span class="o">-</span><span class="n">get</span> <span class="n">install</span> <span class="n">libsqlite3</span><span class="o">-</span><span class="n">dev</span>
</pre></div>
</div>
<p>and then re-run <tt class="docutils literal"><span class="pre">./configure</span></tt> and <tt class="docutils literal"><span class="pre">make</span></tt> as described above.</p>
<p>On Windows, you should visit the <em class="xref std std-ref">SQLite Download Page</em> and download the
<tt class="docutils literal"><span class="pre">sqlite-amalgamation</span></tt> ZIP archive. (At time of writing this is the
first download on the page.) When you unzip the archive, you&#8217;ll find
it contains files named <tt class="docutils literal"><span class="pre">sqlite3.c</span></tt> and <tt class="docutils literal"><span class="pre">sqlite3.h</span></tt>. Copy these
two files into the <tt class="docutils literal"><span class="pre">code</span></tt> directory in the MPS Kit. Then in the
&#8220;Visual Studio Command Prompt&#8221;, visit the <tt class="docutils literal"><span class="pre">code</span></tt> directory and run
the command:</p>
<div class="highlight-c"><div class="highlight"><pre><span class="n">nmake</span> <span class="o">/</span><span class="n">f</span> <span class="n">w3i3mv</span><span class="p">.</span><span class="n">nmk</span> <span class="n">mpseventsql</span><span class="p">.</span><span class="n">exe</span>
</pre></div>
</div>
</div>
</div>
</div>
@ -334,7 +356,10 @@ described in the section &#8220;Optimizing for your object format&#8221; above.<
<li><a class="reference internal" href="#running-make">2.3.3. Running make</a></li>
</ul>
</li>
<li><a class="reference internal" href="#installing-the-memory-pool-system">2.4. Installing the Memory Pool System</a></li>
<li><a class="reference internal" href="#installing-the-memory-pool-system">2.4. Installing the Memory Pool System</a><ul>
<li><a class="reference internal" href="#mpseventsql">2.4.1. mpseventsql</a></li>
</ul>
</li>
</ul>
</li>
</ul>

View file

@ -77,7 +77,10 @@
<li class="toctree-l3"><a class="reference internal" href="build.html#running-make">2.3.3. Running make</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="build.html#installing-the-memory-pool-system">2.4. Installing the Memory Pool System</a></li>
<li class="toctree-l2"><a class="reference internal" href="build.html#installing-the-memory-pool-system">2.4. Installing the Memory Pool System</a><ul>
<li class="toctree-l3"><a class="reference internal" href="build.html#mpseventsql">2.4.1. mpseventsql</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="lang.html">3. Garbage collecting a language with the Memory Pool System</a><ul>

Binary file not shown.

File diff suppressed because one or more lines are too long