mirror of
https://github.com/boostorg/build.git
synced 2026-02-16 01:12:13 +00:00
Remove some more unused/obsolete files.
[SVN r20514]
This commit is contained in:
@@ -1,120 +0,0 @@
|
||||
I. Compiling FT Jam:
|
||||
--------------------
|
||||
|
||||
1. With a previous version of Jam:
|
||||
----------------------------------
|
||||
|
||||
The easiest way to compile Jam is to use a previous version of the
|
||||
program. If you already have one installed on your system, simply
|
||||
type "jam" in this directory.
|
||||
|
||||
This will create a new executable named "jam" or "jam.exe", located
|
||||
in a new system-dependent directory, whose name can be:
|
||||
|
||||
bin.ntx86\jam.exe
|
||||
bin.linux86\jam
|
||||
etc..
|
||||
|
||||
|
||||
2. Without jam:
|
||||
---------------
|
||||
|
||||
If you don't have a jam binary installed, you can still compile the
|
||||
program using one of these methods:
|
||||
|
||||
- on Unix systems, simply type "make" to use the "Makefile" provided
|
||||
in this directory. This should work flawlessly
|
||||
|
||||
- on other systems, you can also modify the content of "Makefile"
|
||||
to adapt it to your OS. Simply uncomment the lines specific to
|
||||
your system, and invoke your make tool
|
||||
|
||||
|
||||
Note that the Makefile is used to build a boot-strap version of jam,
|
||||
called "jam0". Once it is built, the "jam0" executable is called to
|
||||
re-build itself.
|
||||
|
||||
If this second pass doesn't work, this is probably because you didn't
|
||||
set some environment variable that indicates which compiler to use to
|
||||
Jam. Read the Jam documentation for more information on this..
|
||||
|
||||
|
||||
|
||||
3. With toolset-specific makefiles:
|
||||
-----------------------------------
|
||||
|
||||
You can also use one of the Makefiles located in the "builds"
|
||||
directory. Here's what you need to type on the command line,
|
||||
depending on your system and compiler:
|
||||
|
||||
|
||||
a. Windows + Visual C++:
|
||||
|
||||
set VISUALC=""/install/path/to/visual/compiler""
|
||||
set JAM_TOOLSET=VISUALC
|
||||
nmake -f builds\win32-visualc.mk
|
||||
|
||||
|
||||
b. Windows + Borland C++: (be sure to use the Borland "make" tool)
|
||||
|
||||
set BORLANDC=""/install/path/to/borland/compiler""
|
||||
set JAM_TOOLSET=BORLANDC
|
||||
make -f builds\win32-borlandc.mk
|
||||
|
||||
|
||||
c. Windows + Mingw (gcc):
|
||||
|
||||
set MINGW=""/install/path/to/gcc/compiler""
|
||||
set JAM_TOOLSET=MINGW
|
||||
make -f builds\win32-gcc.mk
|
||||
|
||||
|
||||
WE DO NOT PROVIDE PROJECT FILES FOR ANY SPECIFIC COMPILER/TOOLSET
|
||||
|
||||
|
||||
|
||||
|
||||
II. Installation:
|
||||
-----------------
|
||||
|
||||
For now, we do not provide any sophisticated
|
||||
installation pass. Simply copy the new jam executable
|
||||
to any directory in your current path.. and start
|
||||
using it !!
|
||||
|
||||
|
||||
III. Default files:
|
||||
-------------------
|
||||
|
||||
All default files for Jam are compiled within the
|
||||
executable itself.
|
||||
|
||||
There are no special configuration directory to
|
||||
place global or user preferences. Until further
|
||||
notice, all defaults can only be changed by using
|
||||
command line switches and setting environment
|
||||
variables..
|
||||
|
||||
|
||||
IV. Windows and OS/2 Binary packages:
|
||||
-------------------------------------
|
||||
|
||||
It's possible to create zip files of the binaries
|
||||
on Windows and OS/2 system by following these simple
|
||||
steps (you need to have the "zip" utility in your
|
||||
path !!):
|
||||
|
||||
1. build jam
|
||||
2. strip the jam.exe executable in bin.ntx86 when
|
||||
possible
|
||||
3. call "jam package"
|
||||
|
||||
you should see a file named "ftjam-xxxxx-win32.zip"
|
||||
or "ftjam-xxxxx-os2.zip" in the current directory,
|
||||
as well as "ftjam-xxxxx.zip" (containing the sources)
|
||||
|
||||
|
||||
Good luck,
|
||||
|
||||
|
||||
- David Turner, 28 Jul 2001
|
||||
@@ -1,319 +0,0 @@
|
||||
#
|
||||
# Jamfile to build Jam (a make(1)-like program)
|
||||
#
|
||||
# There are no user-serviceable parts in this file.
|
||||
#
|
||||
# Put executables in platform-specific subdirectory.
|
||||
|
||||
# compile without assertions by default
|
||||
CCFLAGS ?= -DNDEBUG ;
|
||||
|
||||
if $(VMS) { LOCATE_TARGET ?= [.binvms] ; }
|
||||
else if $(MAC) { LOCATE_TARGET ?= :bin.mac ; }
|
||||
else { LOCATE_TARGET ?= bin.$(OSFULL[1]:L) ; }
|
||||
|
||||
# Leave generated source in current directory; it would be nice to use
|
||||
# these lines below to build the source into the platform-specific
|
||||
# directory, but getting scan.c to include the right jambase.h is
|
||||
# hard: with ""'s, it always gets the bootstrap version; with <>'s,
|
||||
# it won't find the bootstrap version.
|
||||
|
||||
# SEARCH_SOURCE ?= $(LOCATE_TARGET) $(DOT) ;
|
||||
# LOCATE_SOURCE ?= $(LOCATE_TARGET) ;
|
||||
|
||||
#
|
||||
# We have some different files for UNIX, VMS, and NT.
|
||||
#
|
||||
|
||||
if $(NT) {
|
||||
code = execnt.c filent.c pathunix.c ;
|
||||
if $(OSTYPE) = cygwin
|
||||
{
|
||||
YACC ?= bison -t -d -l -v --yacc ;
|
||||
YACCFILES = y.tab ;
|
||||
}
|
||||
}
|
||||
else if $(OS2)
|
||||
{
|
||||
# special case for OS/2. When building Jam with GCC/EMX
|
||||
# we need to use the "fileunix.c" file
|
||||
#
|
||||
# when we build it with other toolsets, we use "fileos2.c"
|
||||
#
|
||||
code = execunix.c pathunix.c ;
|
||||
if $(TOOLSET) = EMX
|
||||
{
|
||||
CCFLAGS += -D__OS2__ ;
|
||||
code += fileunix.c ;
|
||||
}
|
||||
else
|
||||
{
|
||||
code += fileos2.c ;
|
||||
}
|
||||
}
|
||||
else if $(VMS) { code = execvms.c filevms.c pathvms.c ; }
|
||||
else if $(MAC) { code = execmac.c filemac.c pathmac.c ; }
|
||||
else { code = execunix.c fileunix.c pathunix.c ; }
|
||||
|
||||
# We have to signal jam.h for these
|
||||
|
||||
### LOCAL CHANGE
|
||||
#
|
||||
# The default NT CCFLAGS build jam with nothing but /DNT.
|
||||
# We want to optimize it as well.
|
||||
#
|
||||
|
||||
# Improvements grabbed from //guest/craig_mcpheeters/jam/src/ on the
|
||||
# Perforce public depot.
|
||||
LOCAL_DEFINES += OPT_HEADER_CACHE_EXT ;
|
||||
LOCAL_DEFINES += OPT_GRAPH_DEBUG_EXT ;
|
||||
LOCAL_DEFINES += OPT_SEMAPHORE ;
|
||||
|
||||
# Improvements developed locally.
|
||||
|
||||
# Bug fixes
|
||||
LOCAL_DEFINES += OPT_FIX_TARGET_VARIABLES_EXT ;
|
||||
|
||||
# Improvements
|
||||
LOCAL_DEFINES += OPT_IMPROVED_PATIENCE_EXT ;
|
||||
|
||||
if $(OS) = NT
|
||||
{
|
||||
if $(TOOLSET) = MINGW || $(TOOLSET) = LCC
|
||||
{
|
||||
CCFLAGS += -DNT ;
|
||||
}
|
||||
else
|
||||
{
|
||||
CCFLAGS += /DNT ;
|
||||
}
|
||||
}
|
||||
CCFLAGS += -D$(LOCAL_DEFINES) -DYYSTACKSIZE=5000 ;
|
||||
#
|
||||
### LOCAL CHANGE
|
||||
|
||||
# Do we know yacc?
|
||||
|
||||
if $(YACC) { code += jamgram.y ; }
|
||||
else { code += jamgram.c ; }
|
||||
|
||||
#
|
||||
# Build the jamgram.y from the jamgram.yy
|
||||
# yyacc is a slippery script that makes grammars a little
|
||||
# easier to read/maintain.
|
||||
#
|
||||
|
||||
rule MyChmod
|
||||
{
|
||||
if $(CHMOD) { MyChmod1 $(<) : $(>) ; }
|
||||
}
|
||||
|
||||
actions MyChmod1
|
||||
{
|
||||
$(CHMOD) $(MODE) $(>)
|
||||
}
|
||||
|
||||
if ( $(UNIX) || $(NT) ) && $(YACC)
|
||||
{
|
||||
local SUFEXE = ; # yyacc is a script with no suffix - this handles cygwin
|
||||
MODE = $(EXEMODE) ;
|
||||
MyChmod jamgram.y : ./yyacc ;
|
||||
GenFile jamgram.y jamgramtab.h : ./yyacc jamgram.yy ;
|
||||
}
|
||||
|
||||
#
|
||||
# How to build the compiled in jambase.
|
||||
#
|
||||
|
||||
Main mkjambase : mkjambase.c ;
|
||||
|
||||
#
|
||||
# The guts of the Jamfile: how to build Jam
|
||||
#
|
||||
|
||||
Main jam : jam.c jambase.c ;
|
||||
LinkLibraries jam : libjam.a ;
|
||||
GenFile jambase.c : mkjambase$(SUFEXE) Jambase ;
|
||||
{
|
||||
MakeLocate bjam$(SUFEXE) : $(LOCATE_TARGET) ;
|
||||
if $(UNIX)
|
||||
{
|
||||
HardLink bjam$(SUFEXE) : jam$(SUFEXE) ;
|
||||
}
|
||||
else
|
||||
{
|
||||
local FILEMODE = $(EXEMODE) ;
|
||||
File bjam$(SUFEXE) : jam$(SUFEXE) ;
|
||||
}
|
||||
}
|
||||
|
||||
Library libjam.a :
|
||||
command.c compile.c $(code) expand.c glob.c
|
||||
hash.c hcache.c headers.c hdrmacro.c lists.c make.c make1.c newstr.c
|
||||
option.c parse.c regexp.c rules.c scan.c search.c subst.c
|
||||
timestamp.c variable.c modules.c strings.c filesys.c
|
||||
builtins.c pwd.c ;
|
||||
|
||||
|
||||
if $(BINDIR) { InstallBin $(BINDIR) : jam bjam$(SUFEXE) ; }
|
||||
if $(DOCDIR) { InstallFile $(DOCDIR) : README RELNOTES Jam.html Jamfile.html Jambase.html ; }
|
||||
|
||||
#
|
||||
# Distribution making from here on out.
|
||||
#
|
||||
|
||||
ALLSOURCE =
|
||||
Build.com Build.mpw Jam.html Jambase Jambase.html Jamfile
|
||||
Jamfile.html Makefile Porting README RELNOTES
|
||||
builtins.c builtins.h command.c command.h compile.c compile.h
|
||||
execcmd.h execmac.c execnt.c execunix.c execvms.c expand.c expand.h
|
||||
filemac.c filent.c fileos2.c filesys.c filesys.h fileunix.c filevms.c
|
||||
frames.c frames.h glob.c hash.c hash.h hcache.c hcache.h hdrmacro.c hdrmacro.h headers.c
|
||||
headers.h jambase.c jambase.h jam.c jamgram.c jamgram.h jamgramtab.h
|
||||
jam.h lists.c lists.h make1.c make.c make.h mkjambase.c
|
||||
modules.c modules.h newstr.c newstr.h option.c option.h
|
||||
parse.c parse.h patchlevel.h pathmac.c pathsys.h pathunix.c pathvms.c
|
||||
pwd.c pwd.h regexp.c regexp.h rules.c rules.h scan.c scan.h
|
||||
search.c search.h strings.c strings.h subst.c timestamp.c timestamp.h
|
||||
variable.c variable.h
|
||||
yyacc jamgram.y jamgram.yy
|
||||
INSTALL
|
||||
common.mk
|
||||
builds/win32-visualc.mk
|
||||
builds/win32-borlandc.mk
|
||||
builds/win32-gcc.mk
|
||||
boost-jam.spec
|
||||
;
|
||||
|
||||
|
||||
rule Binary
|
||||
{
|
||||
NotFile package ;
|
||||
Depends package : $(<) ;
|
||||
|
||||
DEPENDS $(<) : $(>) ;
|
||||
|
||||
switch $(<)
|
||||
{
|
||||
case *-win32.zip : Zip-Exe $(<) : $(>) ;
|
||||
case *-os2.zip : Zip-Exe $(<) : $(>) ;
|
||||
case *-linux-libc6.tar : GZip-Exe $(<) : $(>) ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
rule Package
|
||||
{
|
||||
NotFile package ;
|
||||
Depends package : $(<) ;
|
||||
|
||||
DEPENDS $(<) : $(>) ;
|
||||
|
||||
switch $(<)
|
||||
{
|
||||
case *.tar : { Tar-Gz $(<) : $(>) ; Tar-Bz2 $(<) : $(>) ; }
|
||||
case *.zip : Zip $(<) : $(>) ;
|
||||
}
|
||||
}
|
||||
|
||||
VERSION = boost-jam-3.1.7 ;
|
||||
RELEASE = 1 ;
|
||||
|
||||
switch $(OSPLAT)
|
||||
{
|
||||
case X86 : RPMARCH ?= i386 ;
|
||||
case PPC : RPMARCH ?= ppc ;
|
||||
case AXP : RPMARCH ?= alpha ;
|
||||
# no guaranty for these:
|
||||
case IA64 : RPMARCH ?= ia64 ;
|
||||
case ARM : RPMARCH ?= arm ;
|
||||
case SPARC : RPMARCH ?= sparc ;
|
||||
case * : RPMARCH ?= other ;
|
||||
}
|
||||
|
||||
actions Tar-Gz
|
||||
{
|
||||
ln -s . $(VERSION)
|
||||
tar cvhf $(<) $(VERSION)/$(>)
|
||||
rm $(VERSION)
|
||||
rm -f $(<).gz
|
||||
gzip -9 $(<)
|
||||
}
|
||||
|
||||
actions Tar-Bz2
|
||||
{
|
||||
ln -s . $(VERSION)
|
||||
tar cvhf $(<) $(VERSION)/$(>)
|
||||
rm $(VERSION)
|
||||
rm -f $(<).bz2
|
||||
bzip2 -9 $(<)
|
||||
}
|
||||
|
||||
|
||||
actions Zip
|
||||
{
|
||||
zip -9r $(<) $(>)
|
||||
}
|
||||
|
||||
actions Zip-Exe
|
||||
{
|
||||
zip -9j $(<) $(LOCATE_TARGET)\jam.exe $(LOCATE_TARGET)\bjam.exe
|
||||
}
|
||||
|
||||
actions GZip-Exe
|
||||
{
|
||||
ln -s $(LOCATE_TARGET)/jam jam
|
||||
strip jam
|
||||
ln -s jam bjam
|
||||
tar chf $(<) jam bjam
|
||||
rm -f jam bjam
|
||||
gzip -9 $(<)
|
||||
}
|
||||
|
||||
rule Rpm
|
||||
{
|
||||
NOTFILE $(<) ;
|
||||
NOTFILE $(2) ;
|
||||
|
||||
local tar = $(2).tar ;
|
||||
local rpm = $(2)-$(3).$(RPMARCH).rpm ;
|
||||
local srpm = $(2)-$(3).src.rpm ;
|
||||
|
||||
local result = $(rpm) $(srpm) ;
|
||||
DEPENDS $(<) : $(result) ;
|
||||
DEPENDS $(result) : $(tar) ;
|
||||
|
||||
tar on $(1) = $(tar).bz2 ;
|
||||
rpm on $(1) = $(rpm) ;
|
||||
srpm on $(1) = $(srpm) ;
|
||||
}
|
||||
|
||||
actions Rpm
|
||||
{
|
||||
rpm -ta --target $(RPMARCH) $(2).tar.bz2 | tee rpm.out
|
||||
cp `grep -e '^Wrote:' rpm.out | sed 's/^Wrote: //'` .
|
||||
rm -f rpm.out
|
||||
}
|
||||
|
||||
if $(NT)
|
||||
{
|
||||
Binary $(VERSION)-win32.zip : $(ALLSOURCE) ;
|
||||
Package $(VERSION).zip : $(ALLSOURCE) ;
|
||||
}
|
||||
else if $(OS2)
|
||||
{
|
||||
Binary $(VERSION)-os2.zip : $(ALLSOURCE) ;
|
||||
Package $(VERSION).zip : $(ALLSOURCE) ;
|
||||
}
|
||||
else if $(OS) = LINUX
|
||||
{
|
||||
# how can we detect the C library version reliably ??
|
||||
# for now, this should only be used for convenience
|
||||
# purposes, until we add .rpm and .deb support in..
|
||||
|
||||
Binary $(VERSION)-linux-libc6.tar : jam ;
|
||||
|
||||
Package $(VERSION).tar : $(ALLSOURCE) ;
|
||||
Package $(VERSION).zip : $(ALLSOURCE) ;
|
||||
Rpm rpm : $(VERSION) : $(RELEASE) ;
|
||||
}
|
||||
@@ -1,91 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# yyacc - yacc wrapper
|
||||
#
|
||||
# Allows tokens to be written as `literal` and then automatically
|
||||
# substituted with #defined tokens.
|
||||
#
|
||||
# Usage:
|
||||
# yyacc file.y filetab.h file.yy
|
||||
#
|
||||
# inputs:
|
||||
# file.yy yacc grammar with ` literals
|
||||
#
|
||||
# outputs:
|
||||
# file.y yacc grammar
|
||||
# filetab.h array of string <-> token mappings
|
||||
#
|
||||
# 3-13-93
|
||||
# Documented and p moved in sed command (for some reason,
|
||||
# s/x/y/p doesn't work).
|
||||
# 10-12-93
|
||||
# Take basename as second argument.
|
||||
# 12-31-96
|
||||
# reversed order of args to be compatible with GenFile rule
|
||||
|
||||
outy=${1?}
|
||||
outh=${2?}
|
||||
in=${3?}
|
||||
out=`basename $in .yy`
|
||||
|
||||
T=/tmp/yy$$
|
||||
trap 'rm -f $T.*' 0
|
||||
|
||||
sed '
|
||||
: 1
|
||||
/`/{
|
||||
h
|
||||
s/[^`]*`\([^`]*\)`.*/\1/
|
||||
p
|
||||
g
|
||||
s/[^`]*`[^`]*`//
|
||||
b 1
|
||||
}
|
||||
d
|
||||
' $in | sort -u | sed '
|
||||
h
|
||||
y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/
|
||||
s/:/_COLON/
|
||||
s/!/_BANG/
|
||||
s/&&/_AMPERAMPER/
|
||||
s/&/_AMPER/
|
||||
s/+/_PLUS/
|
||||
s/||/_BARBAR/
|
||||
s/|/_BAR/
|
||||
s/;/_SEMIC/
|
||||
s/-/_MINUS/
|
||||
s/</_LANGLE/
|
||||
s/>/_RANGLE/
|
||||
s/\./_PERIOD/
|
||||
s/?/_QUESTION/
|
||||
s/=/_EQUALS/
|
||||
s/,/_COMMA/
|
||||
s/\[/_LBRACKET/
|
||||
s/]/_RBRACKET/
|
||||
s/{/_LBRACE/
|
||||
s/}/_RBRACE/
|
||||
s/(/_LPAREN/
|
||||
s/)/_RPAREN/
|
||||
s/.*/&_t/
|
||||
G
|
||||
s/\n/ /
|
||||
' > $T.1
|
||||
|
||||
sed '
|
||||
s:^\(.*\) \(.*\)$:s/`\2`/\1/g:
|
||||
s:\.:\\.:g
|
||||
s:\[:\\[:g
|
||||
' $T.1 > $T.s
|
||||
|
||||
rm -f $outy $outh
|
||||
|
||||
(
|
||||
sed 's:^\(.*\) \(.*\)$:%token \1:' $T.1
|
||||
sed -f $T.s $in
|
||||
) > $outy
|
||||
|
||||
(
|
||||
sed 's:^\(.*\) \(.*\)$: { "\2", \1 },:' $T.1
|
||||
) > $outh
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
bash -c "./yyacc %*"
|
||||
120
jam_src/INSTALL
120
jam_src/INSTALL
@@ -1,120 +0,0 @@
|
||||
I. Compiling FT Jam:
|
||||
--------------------
|
||||
|
||||
1. With a previous version of Jam:
|
||||
----------------------------------
|
||||
|
||||
The easiest way to compile Jam is to use a previous version of the
|
||||
program. If you already have one installed on your system, simply
|
||||
type "jam" in this directory.
|
||||
|
||||
This will create a new executable named "jam" or "jam.exe", located
|
||||
in a new system-dependent directory, whose name can be:
|
||||
|
||||
bin.ntx86\jam.exe
|
||||
bin.linux86\jam
|
||||
etc..
|
||||
|
||||
|
||||
2. Without jam:
|
||||
---------------
|
||||
|
||||
If you don't have a jam binary installed, you can still compile the
|
||||
program using one of these methods:
|
||||
|
||||
- on Unix systems, simply type "make" to use the "Makefile" provided
|
||||
in this directory. This should work flawlessly
|
||||
|
||||
- on other systems, you can also modify the content of "Makefile"
|
||||
to adapt it to your OS. Simply uncomment the lines specific to
|
||||
your system, and invoke your make tool
|
||||
|
||||
|
||||
Note that the Makefile is used to build a boot-strap version of jam,
|
||||
called "jam0". Once it is built, the "jam0" executable is called to
|
||||
re-build itself.
|
||||
|
||||
If this second pass doesn't work, this is probably because you didn't
|
||||
set some environment variable that indicates which compiler to use to
|
||||
Jam. Read the Jam documentation for more information on this..
|
||||
|
||||
|
||||
|
||||
3. With toolset-specific makefiles:
|
||||
-----------------------------------
|
||||
|
||||
You can also use one of the Makefiles located in the "builds"
|
||||
directory. Here's what you need to type on the command line,
|
||||
depending on your system and compiler:
|
||||
|
||||
|
||||
a. Windows + Visual C++:
|
||||
|
||||
set VISUALC=""/install/path/to/visual/compiler""
|
||||
set JAM_TOOLSET=VISUALC
|
||||
nmake -f builds\win32-visualc.mk
|
||||
|
||||
|
||||
b. Windows + Borland C++: (be sure to use the Borland "make" tool)
|
||||
|
||||
set BORLANDC=""/install/path/to/borland/compiler""
|
||||
set JAM_TOOLSET=BORLANDC
|
||||
make -f builds\win32-borlandc.mk
|
||||
|
||||
|
||||
c. Windows + Mingw (gcc):
|
||||
|
||||
set MINGW=""/install/path/to/gcc/compiler""
|
||||
set JAM_TOOLSET=MINGW
|
||||
make -f builds\win32-gcc.mk
|
||||
|
||||
|
||||
WE DO NOT PROVIDE PROJECT FILES FOR ANY SPECIFIC COMPILER/TOOLSET
|
||||
|
||||
|
||||
|
||||
|
||||
II. Installation:
|
||||
-----------------
|
||||
|
||||
For now, we do not provide any sophisticated
|
||||
installation pass. Simply copy the new jam executable
|
||||
to any directory in your current path.. and start
|
||||
using it !!
|
||||
|
||||
|
||||
III. Default files:
|
||||
-------------------
|
||||
|
||||
All default files for Jam are compiled within the
|
||||
executable itself.
|
||||
|
||||
There are no special configuration directory to
|
||||
place global or user preferences. Until further
|
||||
notice, all defaults can only be changed by using
|
||||
command line switches and setting environment
|
||||
variables..
|
||||
|
||||
|
||||
IV. Windows and OS/2 Binary packages:
|
||||
-------------------------------------
|
||||
|
||||
It's possible to create zip files of the binaries
|
||||
on Windows and OS/2 system by following these simple
|
||||
steps (you need to have the "zip" utility in your
|
||||
path !!):
|
||||
|
||||
1. build jam
|
||||
2. strip the jam.exe executable in bin.ntx86 when
|
||||
possible
|
||||
3. call "jam package"
|
||||
|
||||
you should see a file named "ftjam-xxxxx-win32.zip"
|
||||
or "ftjam-xxxxx-os2.zip" in the current directory,
|
||||
as well as "ftjam-xxxxx.zip" (containing the sources)
|
||||
|
||||
|
||||
Good luck,
|
||||
|
||||
|
||||
- David Turner, 28 Jul 2001
|
||||
319
jam_src/Jamfile
319
jam_src/Jamfile
@@ -1,319 +0,0 @@
|
||||
#
|
||||
# Jamfile to build Jam (a make(1)-like program)
|
||||
#
|
||||
# There are no user-serviceable parts in this file.
|
||||
#
|
||||
# Put executables in platform-specific subdirectory.
|
||||
|
||||
# compile without assertions by default
|
||||
CCFLAGS ?= -DNDEBUG ;
|
||||
|
||||
if $(VMS) { LOCATE_TARGET ?= [.binvms] ; }
|
||||
else if $(MAC) { LOCATE_TARGET ?= :bin.mac ; }
|
||||
else { LOCATE_TARGET ?= bin.$(OSFULL[1]:L) ; }
|
||||
|
||||
# Leave generated source in current directory; it would be nice to use
|
||||
# these lines below to build the source into the platform-specific
|
||||
# directory, but getting scan.c to include the right jambase.h is
|
||||
# hard: with ""'s, it always gets the bootstrap version; with <>'s,
|
||||
# it won't find the bootstrap version.
|
||||
|
||||
# SEARCH_SOURCE ?= $(LOCATE_TARGET) $(DOT) ;
|
||||
# LOCATE_SOURCE ?= $(LOCATE_TARGET) ;
|
||||
|
||||
#
|
||||
# We have some different files for UNIX, VMS, and NT.
|
||||
#
|
||||
|
||||
if $(NT) {
|
||||
code = execnt.c filent.c pathunix.c ;
|
||||
if $(OSTYPE) = cygwin
|
||||
{
|
||||
YACC ?= bison -t -d -l -v --yacc ;
|
||||
YACCFILES = y.tab ;
|
||||
}
|
||||
}
|
||||
else if $(OS2)
|
||||
{
|
||||
# special case for OS/2. When building Jam with GCC/EMX
|
||||
# we need to use the "fileunix.c" file
|
||||
#
|
||||
# when we build it with other toolsets, we use "fileos2.c"
|
||||
#
|
||||
code = execunix.c pathunix.c ;
|
||||
if $(TOOLSET) = EMX
|
||||
{
|
||||
CCFLAGS += -D__OS2__ ;
|
||||
code += fileunix.c ;
|
||||
}
|
||||
else
|
||||
{
|
||||
code += fileos2.c ;
|
||||
}
|
||||
}
|
||||
else if $(VMS) { code = execvms.c filevms.c pathvms.c ; }
|
||||
else if $(MAC) { code = execmac.c filemac.c pathmac.c ; }
|
||||
else { code = execunix.c fileunix.c pathunix.c ; }
|
||||
|
||||
# We have to signal jam.h for these
|
||||
|
||||
### LOCAL CHANGE
|
||||
#
|
||||
# The default NT CCFLAGS build jam with nothing but /DNT.
|
||||
# We want to optimize it as well.
|
||||
#
|
||||
|
||||
# Improvements grabbed from //guest/craig_mcpheeters/jam/src/ on the
|
||||
# Perforce public depot.
|
||||
LOCAL_DEFINES += OPT_HEADER_CACHE_EXT ;
|
||||
LOCAL_DEFINES += OPT_GRAPH_DEBUG_EXT ;
|
||||
LOCAL_DEFINES += OPT_SEMAPHORE ;
|
||||
|
||||
# Improvements developed locally.
|
||||
|
||||
# Bug fixes
|
||||
LOCAL_DEFINES += OPT_FIX_TARGET_VARIABLES_EXT ;
|
||||
|
||||
# Improvements
|
||||
LOCAL_DEFINES += OPT_IMPROVED_PATIENCE_EXT ;
|
||||
|
||||
if $(OS) = NT
|
||||
{
|
||||
if $(TOOLSET) = MINGW || $(TOOLSET) = LCC
|
||||
{
|
||||
CCFLAGS += -DNT ;
|
||||
}
|
||||
else
|
||||
{
|
||||
CCFLAGS += /DNT ;
|
||||
}
|
||||
}
|
||||
CCFLAGS += -D$(LOCAL_DEFINES) -DYYSTACKSIZE=5000 ;
|
||||
#
|
||||
### LOCAL CHANGE
|
||||
|
||||
# Do we know yacc?
|
||||
|
||||
if $(YACC) { code += jamgram.y ; }
|
||||
else { code += jamgram.c ; }
|
||||
|
||||
#
|
||||
# Build the jamgram.y from the jamgram.yy
|
||||
# yyacc is a slippery script that makes grammars a little
|
||||
# easier to read/maintain.
|
||||
#
|
||||
|
||||
rule MyChmod
|
||||
{
|
||||
if $(CHMOD) { MyChmod1 $(<) : $(>) ; }
|
||||
}
|
||||
|
||||
actions MyChmod1
|
||||
{
|
||||
$(CHMOD) $(MODE) $(>)
|
||||
}
|
||||
|
||||
if ( $(UNIX) || $(NT) ) && $(YACC)
|
||||
{
|
||||
local SUFEXE = ; # yyacc is a script with no suffix - this handles cygwin
|
||||
MODE = $(EXEMODE) ;
|
||||
MyChmod jamgram.y : ./yyacc ;
|
||||
GenFile jamgram.y jamgramtab.h : ./yyacc jamgram.yy ;
|
||||
}
|
||||
|
||||
#
|
||||
# How to build the compiled in jambase.
|
||||
#
|
||||
|
||||
Main mkjambase : mkjambase.c ;
|
||||
|
||||
#
|
||||
# The guts of the Jamfile: how to build Jam
|
||||
#
|
||||
|
||||
Main jam : jam.c jambase.c ;
|
||||
LinkLibraries jam : libjam.a ;
|
||||
GenFile jambase.c : mkjambase$(SUFEXE) Jambase ;
|
||||
{
|
||||
MakeLocate bjam$(SUFEXE) : $(LOCATE_TARGET) ;
|
||||
if $(UNIX)
|
||||
{
|
||||
HardLink bjam$(SUFEXE) : jam$(SUFEXE) ;
|
||||
}
|
||||
else
|
||||
{
|
||||
local FILEMODE = $(EXEMODE) ;
|
||||
File bjam$(SUFEXE) : jam$(SUFEXE) ;
|
||||
}
|
||||
}
|
||||
|
||||
Library libjam.a :
|
||||
command.c compile.c $(code) expand.c glob.c
|
||||
hash.c hcache.c headers.c hdrmacro.c lists.c make.c make1.c newstr.c
|
||||
option.c parse.c regexp.c rules.c scan.c search.c subst.c
|
||||
timestamp.c variable.c modules.c strings.c filesys.c
|
||||
builtins.c pwd.c ;
|
||||
|
||||
|
||||
if $(BINDIR) { InstallBin $(BINDIR) : jam bjam$(SUFEXE) ; }
|
||||
if $(DOCDIR) { InstallFile $(DOCDIR) : README RELNOTES Jam.html Jamfile.html Jambase.html ; }
|
||||
|
||||
#
|
||||
# Distribution making from here on out.
|
||||
#
|
||||
|
||||
ALLSOURCE =
|
||||
Build.com Build.mpw Jam.html Jambase Jambase.html Jamfile
|
||||
Jamfile.html Makefile Porting README RELNOTES
|
||||
builtins.c builtins.h command.c command.h compile.c compile.h
|
||||
execcmd.h execmac.c execnt.c execunix.c execvms.c expand.c expand.h
|
||||
filemac.c filent.c fileos2.c filesys.c filesys.h fileunix.c filevms.c
|
||||
frames.c frames.h glob.c hash.c hash.h hcache.c hcache.h hdrmacro.c hdrmacro.h headers.c
|
||||
headers.h jambase.c jambase.h jam.c jamgram.c jamgram.h jamgramtab.h
|
||||
jam.h lists.c lists.h make1.c make.c make.h mkjambase.c
|
||||
modules.c modules.h newstr.c newstr.h option.c option.h
|
||||
parse.c parse.h patchlevel.h pathmac.c pathsys.h pathunix.c pathvms.c
|
||||
pwd.c pwd.h regexp.c regexp.h rules.c rules.h scan.c scan.h
|
||||
search.c search.h strings.c strings.h subst.c timestamp.c timestamp.h
|
||||
variable.c variable.h
|
||||
yyacc jamgram.y jamgram.yy
|
||||
INSTALL
|
||||
common.mk
|
||||
builds/win32-visualc.mk
|
||||
builds/win32-borlandc.mk
|
||||
builds/win32-gcc.mk
|
||||
boost-jam.spec
|
||||
;
|
||||
|
||||
|
||||
rule Binary
|
||||
{
|
||||
NotFile package ;
|
||||
Depends package : $(<) ;
|
||||
|
||||
DEPENDS $(<) : $(>) ;
|
||||
|
||||
switch $(<)
|
||||
{
|
||||
case *-win32.zip : Zip-Exe $(<) : $(>) ;
|
||||
case *-os2.zip : Zip-Exe $(<) : $(>) ;
|
||||
case *-linux-libc6.tar : GZip-Exe $(<) : $(>) ;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
rule Package
|
||||
{
|
||||
NotFile package ;
|
||||
Depends package : $(<) ;
|
||||
|
||||
DEPENDS $(<) : $(>) ;
|
||||
|
||||
switch $(<)
|
||||
{
|
||||
case *.tar : { Tar-Gz $(<) : $(>) ; Tar-Bz2 $(<) : $(>) ; }
|
||||
case *.zip : Zip $(<) : $(>) ;
|
||||
}
|
||||
}
|
||||
|
||||
VERSION = boost-jam-3.1.7 ;
|
||||
RELEASE = 1 ;
|
||||
|
||||
switch $(OSPLAT)
|
||||
{
|
||||
case X86 : RPMARCH ?= i386 ;
|
||||
case PPC : RPMARCH ?= ppc ;
|
||||
case AXP : RPMARCH ?= alpha ;
|
||||
# no guaranty for these:
|
||||
case IA64 : RPMARCH ?= ia64 ;
|
||||
case ARM : RPMARCH ?= arm ;
|
||||
case SPARC : RPMARCH ?= sparc ;
|
||||
case * : RPMARCH ?= other ;
|
||||
}
|
||||
|
||||
actions Tar-Gz
|
||||
{
|
||||
ln -s . $(VERSION)
|
||||
tar cvhf $(<) $(VERSION)/$(>)
|
||||
rm $(VERSION)
|
||||
rm -f $(<).gz
|
||||
gzip -9 $(<)
|
||||
}
|
||||
|
||||
actions Tar-Bz2
|
||||
{
|
||||
ln -s . $(VERSION)
|
||||
tar cvhf $(<) $(VERSION)/$(>)
|
||||
rm $(VERSION)
|
||||
rm -f $(<).bz2
|
||||
bzip2 -9 $(<)
|
||||
}
|
||||
|
||||
|
||||
actions Zip
|
||||
{
|
||||
zip -9r $(<) $(>)
|
||||
}
|
||||
|
||||
actions Zip-Exe
|
||||
{
|
||||
zip -9j $(<) $(LOCATE_TARGET)\jam.exe $(LOCATE_TARGET)\bjam.exe
|
||||
}
|
||||
|
||||
actions GZip-Exe
|
||||
{
|
||||
ln -s $(LOCATE_TARGET)/jam jam
|
||||
strip jam
|
||||
ln -s jam bjam
|
||||
tar chf $(<) jam bjam
|
||||
rm -f jam bjam
|
||||
gzip -9 $(<)
|
||||
}
|
||||
|
||||
rule Rpm
|
||||
{
|
||||
NOTFILE $(<) ;
|
||||
NOTFILE $(2) ;
|
||||
|
||||
local tar = $(2).tar ;
|
||||
local rpm = $(2)-$(3).$(RPMARCH).rpm ;
|
||||
local srpm = $(2)-$(3).src.rpm ;
|
||||
|
||||
local result = $(rpm) $(srpm) ;
|
||||
DEPENDS $(<) : $(result) ;
|
||||
DEPENDS $(result) : $(tar) ;
|
||||
|
||||
tar on $(1) = $(tar).bz2 ;
|
||||
rpm on $(1) = $(rpm) ;
|
||||
srpm on $(1) = $(srpm) ;
|
||||
}
|
||||
|
||||
actions Rpm
|
||||
{
|
||||
rpm -ta --target $(RPMARCH) $(2).tar.bz2 | tee rpm.out
|
||||
cp `grep -e '^Wrote:' rpm.out | sed 's/^Wrote: //'` .
|
||||
rm -f rpm.out
|
||||
}
|
||||
|
||||
if $(NT)
|
||||
{
|
||||
Binary $(VERSION)-win32.zip : $(ALLSOURCE) ;
|
||||
Package $(VERSION).zip : $(ALLSOURCE) ;
|
||||
}
|
||||
else if $(OS2)
|
||||
{
|
||||
Binary $(VERSION)-os2.zip : $(ALLSOURCE) ;
|
||||
Package $(VERSION).zip : $(ALLSOURCE) ;
|
||||
}
|
||||
else if $(OS) = LINUX
|
||||
{
|
||||
# how can we detect the C library version reliably ??
|
||||
# for now, this should only be used for convenience
|
||||
# purposes, until we add .rpm and .deb support in..
|
||||
|
||||
Binary $(VERSION)-linux-libc6.tar : jam ;
|
||||
|
||||
Package $(VERSION).tar : $(ALLSOURCE) ;
|
||||
Package $(VERSION).zip : $(ALLSOURCE) ;
|
||||
Rpm rpm : $(VERSION) : $(RELEASE) ;
|
||||
}
|
||||
@@ -1,91 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
# yyacc - yacc wrapper
|
||||
#
|
||||
# Allows tokens to be written as `literal` and then automatically
|
||||
# substituted with #defined tokens.
|
||||
#
|
||||
# Usage:
|
||||
# yyacc file.y filetab.h file.yy
|
||||
#
|
||||
# inputs:
|
||||
# file.yy yacc grammar with ` literals
|
||||
#
|
||||
# outputs:
|
||||
# file.y yacc grammar
|
||||
# filetab.h array of string <-> token mappings
|
||||
#
|
||||
# 3-13-93
|
||||
# Documented and p moved in sed command (for some reason,
|
||||
# s/x/y/p doesn't work).
|
||||
# 10-12-93
|
||||
# Take basename as second argument.
|
||||
# 12-31-96
|
||||
# reversed order of args to be compatible with GenFile rule
|
||||
|
||||
outy=${1?}
|
||||
outh=${2?}
|
||||
in=${3?}
|
||||
out=`basename $in .yy`
|
||||
|
||||
T=/tmp/yy$$
|
||||
trap 'rm -f $T.*' 0
|
||||
|
||||
sed '
|
||||
: 1
|
||||
/`/{
|
||||
h
|
||||
s/[^`]*`\([^`]*\)`.*/\1/
|
||||
p
|
||||
g
|
||||
s/[^`]*`[^`]*`//
|
||||
b 1
|
||||
}
|
||||
d
|
||||
' $in | sort -u | sed '
|
||||
h
|
||||
y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/
|
||||
s/:/_COLON/
|
||||
s/!/_BANG/
|
||||
s/&&/_AMPERAMPER/
|
||||
s/&/_AMPER/
|
||||
s/+/_PLUS/
|
||||
s/||/_BARBAR/
|
||||
s/|/_BAR/
|
||||
s/;/_SEMIC/
|
||||
s/-/_MINUS/
|
||||
s/</_LANGLE/
|
||||
s/>/_RANGLE/
|
||||
s/\./_PERIOD/
|
||||
s/?/_QUESTION/
|
||||
s/=/_EQUALS/
|
||||
s/,/_COMMA/
|
||||
s/\[/_LBRACKET/
|
||||
s/]/_RBRACKET/
|
||||
s/{/_LBRACE/
|
||||
s/}/_RBRACE/
|
||||
s/(/_LPAREN/
|
||||
s/)/_RPAREN/
|
||||
s/.*/&_t/
|
||||
G
|
||||
s/\n/ /
|
||||
' > $T.1
|
||||
|
||||
sed '
|
||||
s:^\(.*\) \(.*\)$:s/`\2`/\1/g:
|
||||
s:\.:\\.:g
|
||||
s:\[:\\[:g
|
||||
' $T.1 > $T.s
|
||||
|
||||
rm -f $outy $outh
|
||||
|
||||
(
|
||||
sed 's:^\(.*\) \(.*\)$:%token \1:' $T.1
|
||||
sed -f $T.s $in
|
||||
) > $outy
|
||||
|
||||
(
|
||||
sed 's:^\(.*\) \(.*\)$: { "\2", \1 },:' $T.1
|
||||
) > $outh
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
bash -c "./yyacc %*"
|
||||
Reference in New Issue
Block a user