Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: downloads/boost_1_33_1/tools/build/jam_src/Porting @ 12

Last change on this file since 12 was 12, checked in by landauf, 18 years ago

added boost

File size: 2.1 KB
Line 
1Notes on porting Jam - revised 12/31/2000
2
31) Working out system dependencies in the Jam code.
4
5    Jam's OS footprint is fairly small.  For OS independent work Jam
6    liberally uses standard libc functions like stdio, malloc, and
7    string.  The OS dependent interfaces are:
8
9        From filesys.h:
10
11            file_parse() - split a file name into dir/base/suffix/member
12            file_build() - build a filename given dir/base/suffix/member
13            file_dirscan() - scan a directory for files
14            file_archscan() - scan an archive for files
15            file_time() - get the timestamp of a file, if not already
16                          done by file_dirscan().
17
18        From execcmd.h:
19
20            execcmd() - execute a shell script
21            execwait() - wait for any outstanding execcmd()'s.
22
23    The current implementations are:
24
25            filemac.c - mac MPW
26            filent.c - NT
27            fileos2.c - OS/2
28            fileunix.c - all UNIX
29            filevms.c - VMS
30
31            execmac.c - mac MPW
32            execunix.c - UNIX, OS/2, NT
33            execvms.c - VMS
34
352) Defining OSMAJOR, OSMINOR in jam.h
36
37    So that the Jambase and Jamfile know their host, Jam defines $(OS)
38    to be something useful for each platform.  Make sure that there is
39    code in jam.h to generate a useful value for $(OS), and key it off
40    the platform specific C-preprocessor symbol.   If the C-preprocessor
41    doesn't itself defines such a symbol, add a define to the Makefile.
42
43    In addition to $(OS), you can also set $(OSPLAT) if the OS runs on
44    multiple platforms (like Linux or NT).
45
463) Working out system dependencies in the Jambase
47
48    With the value of $(OS) available, the Jambase can be extended to
49    support special variables or rules for new platforms.   See the
50    current support for VMS, NT, and Mac.
51
524) Yacc troubles
53
54    The generated files jamgram.h and jamgram.c are distributed for the
55    poor souls without yacc.
56
575) Known problematic systems:
58
59    - Pyramid has no malloc.h, memory.h
60
61    - Encore has no stdlib.h
62
63    - Bull DPX has sys/file.h problems
64
656) Send the results back.
66
67    If you do porting work, the result can be integrated into future
68    releases if you send it back to the author's address in the README.
Note: See TracBrowser for help on using the repository browser.