summaryrefslogtreecommitdiff
path: root/ipl/packs/loadfuncpp/doc/compile.htm
blob: 04a8514adc600817f9f4d2e1689e9c14042fd4d2 (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
52
53
54
55
56
57
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>

<HEAD>
	<META HTTP-EQUIV="Content-Type" CONTENT="text/html;CHARSET=iso-8859-1">
	<TITLE>loadfuncpp</TITLE>
	<LINK REL="stylesheet" TYPE="text/css" HREF="loadfuncpp.css">
</HEAD>

<BODY>

<H3></H3>
<CENTER>
<P>
<TABLE BORDER="0" WIDTH="700">
	<TR>
		<TD WIDTH="100%">
			<H1 ALIGN="CENTER"><BR>
			Loadfuncpp</H1>
			<H2 ALIGN="CENTER">Compiler Options</H2>
			<H3 ALIGN="CENTER">Carl Sturtivant, January 2009</H3>
			<BLOCKQUOTE>
				<BLOCKQUOTE>
					<P>When compiling a shared object (or dll) to dynamically load functions into Icon via loadfuncpp, try the following
					compilation options, which have been successfully used to build libraries with version 0.91alpha on the systems
					below. <BR>
					<BR>
					Everything is simplest if all shared objects are placed in the icon/bin directory and all linkable Icon (.u1/.u2
					files) are placed in the icon/lib directory.
				</BLOCKQUOTE>
				<H2>Linux</H2>
				<P><FONT SIZE="2" COLOR="black" FACE="Courier New, Courier">g++ -fPIC -shared -o </FONT><I><FONT SIZE="2" FACE="Courier New, Courier">file</FONT></I><FONT
				SIZE="2" COLOR="black" FACE="Courier New, Courier">.so </FONT><I><FONT SIZE="2" FACE="Courier New, Courier">file</FONT></I><FONT
				SIZE="2" COLOR="black" FACE="Courier New, Courier">.cpp</FONT></P>
				<H2>Cygwin</H2>
				<P><FONT SIZE="2" COLOR="black" FACE="Courier New, Courier">g++ -shared -o </FONT><I><FONT SIZE="2" FACE="Courier New, Courier">file</FONT></I><FONT
				SIZE="2" COLOR="black" FACE="Courier New, Courier">.so </FONT><I><FONT SIZE="2" FACE="Courier New, Courier">file</FONT></I><FONT
				SIZE="2" COLOR="black" FACE="Courier New, Courier">.cpp </FONT><I><FONT SIZE="2" FACE="Courier New, Courier">iload_so_directory</FONT></I><FONT
				SIZE="2" COLOR="black" FACE="Courier New, Courier">/iload.a</FONT></P>
				<H2>Macintosh</H2>
				<P><FONT SIZE="2" COLOR="black" FACE="Courier New, Courier">g++ -flat_namespace -bundle -undefined suppress -o
				</FONT><I><FONT SIZE="2" FACE="Courier New, Courier">file</FONT></I><FONT SIZE="2" COLOR="black" FACE="Courier New, Courier">.so
				</FONT><I><FONT SIZE="2" FACE="Courier New, Courier">file</FONT></I><FONT SIZE="2" COLOR="black" FACE="Courier New, Courier">.cpp</FONT>
				<H2>Solaris</H2>
				<P><FONT SIZE="2" COLOR="black" FACE="Courier New, Courier">g++ -fPIC -shared -o </FONT><I><FONT SIZE="2" FACE="Courier New, Courier">file</FONT></I><FONT
				SIZE="2" COLOR="black" FACE="Courier New, Courier">.so </FONT><I><FONT SIZE="2" FACE="Courier New, Courier">file</FONT></I><FONT
				SIZE="2" COLOR="black" FACE="Courier New, Courier">.cpp</FONT>
			</BLOCKQUOTE>
		</TD>
	</TR>
</TABLE>

</CENTER>

</BODY>

</HTML>