aboutsummaryrefslogtreecommitdiff
path: root/development/4th/readme_64-bit.txt
blob: 58e2a0f67ca57311c7727c4be9de623c5e5b26ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
If you're using 64-bit processor - which nowadays is quite common - you can
compile 4th as 64-bit compiler. To do this, just delete patch #02 before
compilation. But read the following excerpt from original 4th docs first:


25.7 <sec:64-bit-platforms>64-bit platforms

Although 4tH will work perfectly well on a 64-bit platform there 
are some disadvantages:

• HX files generated by this compiler are not portable to 32-bit 
  platforms

• Some 4tH library files may not work properly without some 
  modifications.

A quick fix is to change the size of a cell to a four byte 
datatype. The following procedure will usually work. Open 4th.h 
and change these lines:

#define CELL_MIN LONG_MIN

#define CELL_MAX LONG_MAX

  

typedef long cell;

To this:

#define CELL_MIN INT_MIN

#define CELL_MAX INT_MAX

  

typedef int cell;

Save 4th.h and compile as described in the previous sections. If 
you want a full 64-bit 4tH compiler, be aware that:

• You cannot compile 4tH as a shared library

• You have to regenerate the include files manually, unless 
  you're working with Linux.

Linux automatically recreates the include files each time you 
perform a compile. If you're working with a GNU toolset, you may 
try the Linux Makefile. If that doesn't work or isn't an option 
in your particular situation you'll have to perform the procedure 
listed in section [sec:Regenerating-the-include].